> Date: Tue, 12 Feb 2008 16:34:57 -0800 > From: "Chris H." <[EMAIL PROTECTED]> > Sender: [EMAIL PROTECTED] > > Quoting Gavin Spomer <[EMAIL PROTECTED]>: > > > Please forgive me if this is not the appropriate list to post this > > on. If this is a topic for another, more appropriate FreeBSD list, > > then would someone please kindly point this guy in the right > > direction? :) > > > > I'm on the security advisory list too and got 2 emails about patches > > about a month ago. They came with instructions to follow for > > patching... excellent! Then, the last step has a link to the FreeBSD > > Handbook's Rebuilding world. Yes, I admit, it's taken me almost a > > month to get the courage (and find the time) to do this. I'm usually > > pretty fearless when exploring computer things. I don't really have > > the best way to backup either. I finally just made tarballs of > > important directories and scp'd them to one of my Linux machines. I > > finally got to the point where I booted to single user mode (first > > time for me) and that's where my problems began. It might be useful > > to note on the instructions page that you don't have to type "boot > > -s" to go into single user mode; it's easier to to just select option > > #4. > > > > First, let me note that step one in rebuilding world should be "cd > > /usr/src", not "make buildworld". I guess I was supposed to know that > > for some reason. Having said that, I figured I would also have to be > > in /usr/src for the "make installworld" step. But I couldn't do that! > > Why? I could cd to /usr, but not /usr/src! > > > > So, I decided to go ahead and try the "mergemaster -p" step. I was > > given an error that was something like "cannot find mergemaster". So > > I thought that maybe in single user mode my $PATH isn't set, so I > > thought about entering "/sbin/mergemaster -p", but I didn't know if > > that was the path or not and I chickened out. :( Maybe the fact that > > I hit Return to choose /bin/sh while going into single user mode > > instead of my preferred bash had something to do with it? > > > > Here's a slightly dumb question: when I get this all figured out, do > > I have to start all over from "make buildworld" or can I just > > continue with booting in single user mode and "mergemaster -p"? I'm > > guessing I can just continue, but I thought it was important to ask. > > > > Here's a little more intelligent question or two. ;) Is there a way > > to do this while logged in via ssh? I don't mind making the trip to > > our computer room so I can select #4 at the FreeBSD prompt, but it's > > not all that convenient. Also, how long (in general) do the steps > > "mergemaster -p" through the final reboot take? I am running FreeBSD > > on a test server, but if I were to use it for my production servers > > (which I am considering), the down-time of being in single user mode > > would be a concern. > > > > Thanks to everyone who takes the time to read this. :) > Gavin and Chris,
It's clearly time to fix this and this is a pretty good start. While it is not the most readable document, the procedure in src/UPDATING is what I always recommend to people as it is going to be rebuilding a system and the handbook is always be bit behind the times. There are also possible differences between , for example, V6.3 vs. V7.0. Comments are interspersed in the document (which I like). > Greetings Gavin, > Yes, you're quite correct on all accounts. The doc's are a bit terse > in these areas. Which, as I read your email, reminds me why I _should_ > send-pr a patch with some additional info in these areas. I guess I'm > like so many others - once I figured it all out, I got so involved > with it all, I completely forgot there was some issues with the docs. > NOTE: I'm not the author of the documentation. :) > OK I'm going to give you a "cheat sheet" that I hope you'll find > helpful in the future - be aware, this is NOT an excuse to ignore > the /usr/src/UPDATING file, as THAT document will QUITE likely > contain more timely information regarding little, but important > changes, that can make all the difference. > > That said, here goes: > > -------------------------------------------------------- > * On an initial install ALWAYS buildworld BEFORE buildkernel And, if you think this does not apply to you, look up ALWAYS in your favorite dictionary! > * Unless having troubles building a kernel, it is usually > best to ensure /etc/make.conf is empty Note that, once Perl is installed, you need to have the three lines it adds in make.conf. I also believe defining KERNCONF in make.conf is a good idea. > * If REbuilding world/kernel it is usually a good idea to > perform the following: > > cd /usr/obj > chflags -R noschg * > rm -rf * Should never be needed on an initial install, but I don't know of a reason not to. > > (see chflags(1) for more information) > -------------------------------------------------------- > OK here we go: > > cd /usr/src/sys/<ARCH>/conf > cp ./GENERIC ./YOUR_CHOSEN_NAME > edit ./YOUR_CHOSEN_NAME and adjust as necessary I would recommend adding KERNCONF=YOUR_CHOSEN_NAME to make.conf > cd /usr/src > make buildworld > > * * * * OPTIONAL * * * * > NOTE: SINGLE CPU: > make -j4 buildworld > > NOTE: MULTI CPU: > make -j(6 through 10) buildworld Where did these values come from? The only actual test results I have seen for -j values showed that the sweet spot was nCPUs+1, but I can't say it was definitive. > * * * * * * * * * * * * > > make buildkernel KERNCONF=YOUR_KERNEL_HERE > make installkernel KERNCONF=YOUR_KERNEL_HERE If you put KERNCONF into make.conf, you can simplify it to: make kernel > reboot (in single user mode) > > fsck -p (optional, but a good idea) A total waste of time, but I do it anyway since I am paranoid. adjkerntz -i This command has no impact if the hardware clock is set to UTC/GMT, but it is often not, especially if the system is dual boot with Windows. > mount -u / Since the next command does this, the is no need for this, even for the paranoid. > mount -a -t ufs > swapon -a (most cases; optional) > > cd /usr/src > mergemaster -p > make installworld > mergemaster While not in src/UPDATING, I always urge people to use the -iU options to save a LOT of time on future builds. > reboot > > That was simply a QUICK cheat sheet, and does not > replace good research. But I hope it helps. :) Thanks for posting this. Maybe it will lead to some documentation updates. -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: [EMAIL PROTECTED] Phone: +1 510 486-8634 Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751
pgpVDCqqyAncE.pgp
Description: PGP signature