Date: Mon, 7 Aug 2023 08:51:55 -0700 From: Kevin Oberman <rkoberman@gmail.com> To: Tim Kellers <smsdtv@gmail.com> Cc: Matthias Apitz <guru@unixarea.de>, freebsd-current@freebsd.org Subject: Re: Has the update procedure changed? Message-ID: <CAN6yY1teCLbtaN6V-fQqa0WTvrbWaOjy%2BB7F=bSq3t0Ue_ROVw@mail.gmail.com> In-Reply-To: <7A0E604D-EF40-4F10-B597-F1F076507192@gmail.com> References: <CAN6yY1tiq4XQT_apnLo_aDgoMPEZ%2BZ4PfB8uqfMw3PeJbMGMqw@mail.gmail.com> <7A0E604D-EF40-4F10-B597-F1F076507192@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] On Sun, Aug 6, 2023 at 9:51 AM Tim Kellers <smsdtv@gmail.com> wrote: > > > On Aug 6, 2023, at 11:05 AM, Kevin Oberman <rkoberman@gmail.com> wrote: > > > On Sat, Aug 5, 2023 at 10:51 PM Matthias Apitz <guru@unixarea.de> wrote: > >> In the past I was used to use the following procedure to install a new >> kernel and world: >> >> # cd /usr/src >> # make installkernel >> # shutdown -r now >> >> boot -s from the loader prompt >> >> # adjkerntz -i >> # mount -a -t ufs >> # mergemaster -p >> # cd /usr/src >> # make installworld >> # mergemaster >> # yes | make delete-old >> # yes | make delete-old-libs >> >> # reboot >> >> Now the handbook >> https://docs.freebsd.org/en/books/handbook/cutting-edge/#makeworld >> says only: >> >> # cd /usr/src >> # make installkernel >> # shutdown -r now >> # cd /usr/src >> # make installworld >> # shutdown -r now >> >> Has this changed in past two years? >> >> Thanks >> >> matthias >> -- >> Matthias Apitz, ✉ guru@unixarea.de, http://www.unixarea.de/ >> +49-176-38902045 >> Public GnuPG key: http://www.unixarea.de/key.pub >> > > Wow! Several obvious reasons that this looks just wrong. (Then again, so > is yours in one case.) > 1. "mergemaster -p" MUST be run before you build the kernel. (Actually, > hte man page says it should be run BEFORE buildworld and that is what I've > always done although I have never seen a case where it was needed until > buildkernel. > 2. While mergemaster(8) is still in the system, you really should be using > etcupdate(8). You also need to understand how a three-way merge is done and > that you often need to edit the merged file when first running it. It's > pretty simple to run and rarely is needed after the first run, but it is > critical to do this for /etc files that you have modified. It's generally > just picking which of the two (original/yours) you want in the final file. > The big win with etcupdate(8) is that it only needs to be run once for > modified files in almost all cases. > 3. Where is "make check-old" and the other tests to get rid of old files. > Leaving these around can lead to serious issues. > 4. If you don't do adjkerntz -i, you might find files installed in the > future which can get REALLY confusing! > > Historically, the final source of truth for all of this is > /usr/src/UPDATING. It has been updated for etcupdate(8) and is handled by > imp@, so I tend to believe it is correct. > > OK. Everyone who knows better, please explain why. I didn't mention "fsck > -p" but I'm really paranoid and it really, really should not be needed > unless something goes wrong in the shutdown after installing the new kernel. > -- > Kevin Oberman, Part time kid herder and retired Network Engineer > E-mail: rkoberman@gmail.com > PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683 > > > I’ve always used the procedure listed at line 90 of the Makefile in > /usr/src as the source of truth. Has that changed? > > Tim > UPDATING seems to match the Makefile except that Makefile is far less detailed. The Makefile even says "See src/UPDATING `COMMON ITEMS' for more complete information." I am more confused about "etcupdate -p". Both files put it after the kernel installation and reboot but before the installworld. The man page for etcupdate says that '-p' it should be run before "make buildworld" and I have always followed the man pages. -- Kevin Oberman, Part time kid herder and retired Network Engineer E-mail: rkoberman@gmail.com PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683 [-- Attachment #2 --] <div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">On Sun, Aug 6, 2023 at 9:51 AM Tim Kellers <<a href="mailto:smsdtv@gmail.com">smsdtv@gmail.com</a>> wrote:</div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="ltr"></div><div dir="ltr"><br></div><div dir="ltr"><br><blockquote type="cite">On Aug 6, 2023, at 11:05 AM, Kevin Oberman <<a href="mailto:rkoberman@gmail.com" target="_blank">rkoberman@gmail.com</a>> wrote:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-family:tahoma,sans-serif;font-size:small">On Sat, Aug 5, 2023 at 10:51 PM Matthias Apitz <<a href="mailto:guru@unixarea.de" target="_blank">guru@unixarea.de</a>> wrote:</div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">In the past I was used to use the following procedure to install a new<br> kernel and world:<br> <br> # cd /usr/src<br> # make installkernel<br> # shutdown -r now<br> <br> boot -s from the loader prompt<br> <br> # adjkerntz -i<br> # mount -a -t ufs<br> # mergemaster -p<br> # cd /usr/src<br> # make installworld<br> # mergemaster<br> # yes | make delete-old<br> # yes | make delete-old-libs<br> <br> # reboot<br> <br> Now the handbook <a href="https://docs.freebsd.org/en/books/handbook/cutting-edge/#makeworld" rel="noreferrer" target="_blank">https://docs.freebsd.org/en/books/handbook/cutting-edge/#makeworld</a><br> says only:<br> <br> # cd /usr/src<br> # make installkernel<br> # shutdown -r now<br> # cd /usr/src<br> # make installworld<br> # shutdown -r now<br> <br> Has this changed in past two years?<br> <br> Thanks<br> <br> matthias<br> -- <br> Matthias Apitz, ✉ <a href="mailto:guru@unixarea.de" target="_blank">guru@unixarea.de</a>, <a href="http://www.unixarea.de/" rel="noreferrer" target="_blank">http://www.unixarea.de/</a> +49-176-38902045<br> Public GnuPG key: <a href="http://www.unixarea.de/key.pub" rel="noreferrer" target="_blank">http://www.unixarea.de/key.pub</a><br></blockquote><div> </div></div><div style="font-family:tahoma,sans-serif;font-size:small">Wow! Several obvious reasons that this looks just wrong. (Then again, so is yours in one case.)</div><div style="font-family:tahoma,sans-serif;font-size:small">1. "mergemaster -p" MUST be run before you build the kernel. (Actually, hte man page says it should be run BEFORE buildworld and that is what I've always done although I have never seen a case where it was needed until buildkernel.</div><div style="font-family:tahoma,sans-serif;font-size:small">2. While mergemaster(8) is still in the system, you really should be using etcupdate(8). You also need to understand how a three-way merge is done and that you often need to edit the merged file when first running it. It's pretty simple to run and rarely is needed after the first run, but it is critical to do this for /etc files that you have modified. It's generally just picking which of the two (original/yours) you want in the final file. The big win with etcupdate(8) is that it only needs to be run once for modified files in almost all cases.</div><div style="font-family:tahoma,sans-serif;font-size:small">3. Where is "make check-old" and the other tests to get rid of old files. Leaving these around can lead to serious issues.</div><div style="font-family:tahoma,sans-serif;font-size:small">4. If you don't do adjkerntz -i, you might find files installed in the future which can get REALLY confusing! <br></div><div style="font-family:tahoma,sans-serif;font-size:small"><br></div><div style="font-family:tahoma,sans-serif;font-size:small">Historically, the final source of truth for all of this is /usr/src/UPDATING. It has been updated for etcupdate(8) and is handled by imp@, so I tend to believe it is correct.</div><div style="font-family:tahoma,sans-serif;font-size:small"><br></div><div style="font-family:tahoma,sans-serif;font-size:small">OK. Everyone who knows better, please explain why. I didn't mention "fsck -p" but I'm really paranoid and it really, really should not be needed unless something goes wrong in the shutdown after installing the new kernel.<br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Kevin Oberman, Part time kid herder and retired Network Engineer<br>E-mail: <a href="mailto:rkoberman@gmail.com" target="_blank">rkoberman@gmail.com</a><br></div><div>PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683</div></div></div></div></div></div></div></div></div> </div></blockquote><br><div>I’ve always used the procedure listed at line 90 of the Makefile in /usr/src as the source of truth. Has that changed?</div><div><br></div><div>Tim</div></div></blockquote><div> </div></div><div style="font-family:tahoma,sans-serif;font-size:small" class="gmail_default">UPDATING seems to match the Makefile except that Makefile is far less detailed. The Makefile even says "See src/UPDATING `COMMON ITEMS' for more complete information."</div><div style="font-family:tahoma,sans-serif;font-size:small" class="gmail_default"><br></div><div style="font-family:tahoma,sans-serif;font-size:small" class="gmail_default">I am more confused about "etcupdate -p". Both files put it after the kernel installation and reboot but before the installworld. The man page for etcupdate says that '-p' it should be run before "make buildworld" and I have always followed the man pages.<br></div><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Kevin Oberman, Part time kid herder and retired Network Engineer<br>E-mail: <a href="mailto:rkoberman@gmail.com" target="_blank">rkoberman@gmail.com</a><br></div><div>PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683</div></div></div></div></div></div></div></div></div>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAN6yY1teCLbtaN6V-fQqa0WTvrbWaOjy%2BB7F=bSq3t0Ue_ROVw>
