Date: Mon, 15 Jan 2007 04:44:09 +0800 From: kbtrace <kbtrace@gmail.com> To: Giorgos Keramidas <keramida@ceid.upatras.gr> Cc: freebsd-questions@freebsd.org Subject: Re: advice on compiling a new kernel & upgrading to the latest sources Message-ID: <45AA9619.8050103@gmail.com> In-Reply-To: <20070114202517.GA3404@kobe.laptop> References: <73161.84816.qm@web51108.mail.yahoo.com> <20070114202517.GA3404@kobe.laptop>
next in thread | previous in thread | raw e-mail | index | archive | help
Giorgos Keramidas wrote: > On 2007-01-14 11:56, Dino Vliet <dino_vliet@yahoo.com> wrote: > >> Hi folks, >> from different sources I have written my steps to compile a new kernel >> & upgrade to the latest sources. >> > > Your instructions, however, are different from what /usr/src/UPDATING > contains. > > Please, make *sure* you read `/usr/src/UPDATING' very carefully. > Especially the commands of the section ``To upgrade in-place ...'' > and *all* the footnotes they reference. > > >> Can anyone have a look into them and tell me if I won't run into >> troubles or if there are better ways to achieve the same? >> >> Upgrade procedure to the newest freebsd kernel and userland. >> >> 1.Make sure that the cvsup file (src-supfile) is adjusted in the right >> way. >> > > That's ok. > > >> 2. Cd /usr/src/sys/amd64/conf which contains the file MYKERNEL >> > > No it doesn't. CVSup will delete the files it doesn't know about, so > you should *SAVE a copy* of your favorite kernel config file outside of > the source tree and *copy* it into `/usr/src/sys/amd64/conf' after CVSup > finishes updates the sources. > But in my practice, CVSup did nothing with my own kernel config file. In my memory, cvs did nothing with the files not in the source tree. >> 3.MYKERNEL is then adjusted, if necessary and copied to >> root/kernels/MYKERNEL >> > > Nice :) > > >> 4.Copy everything under /etc to /root/etc >> > > Why? This isn't mentioned in `/usr/src/UPDATING' and it doesn't really > help much if you manage to trash your /lib and /usr/lib trees. A better > suggestion is to ``make sure you have good level 0 dumps'', as suggested > by ``/usr/src/UPDATING''. > > >> 5.cvsup -g -L 2 src-supfile >> > > You've deleted "MYKERNEL" here. > > >> 6. cd /usr/src >> 7. make cleanworld >> > > The ``make cleanworld'' command is unnecessary if you haven't been > building stuff manually inside the tree. > > >> 8. make buildworld >> 9. make buildkernel KERNCONF=MYKERNEL >> > > You can do both at the same time, with: > > # cd /usr/src > # make KERNCONF=MYKERNEL buildworld buildkernel > > >> 10. Go into single user mode >> > > You forgot to install the new kernel *before* rebooting here. This > should be done with: > > # cd /usr/src > # make KERNCONF=MYKERNEL installkernel > > >> 11. If the new kernel doesn't boot reboot and hit the space bar at the >> boot prompt and boot kernel.old If the new kernel boots OK mount -a >> > > No, "mount -a" is not enough. Please read the `UPDATING' file. The > full sequence of commands would be something like: > > (escape to loader prompt) > (at the OK prompt of the boot loader, type): > > boot -s > > Then, when the system starts a /bin/sh shell instance, type: > > # adjkerntz -i > # fsck -p > # mount -u / > # mount -a > > >> 12. cd /usr/src >> 13. make installkernel KERNCONF=MYKERNEL >> > > It is too late to install a new kernel here, if you didn't do it > *before* rebooting into single user mode. The whole 'exercise' of > installing the new kernel and booting into single user mode is meant to > provide a level of testing for the new kernel. > > If you haven't installed it and booted into the old kernel, some things > may fail to install later on, you don't know if the new kernel actually > works, etc. > > >> 14. Go into single user mode >> > > You *ARE* in single-user mode already. > > >> 15. cd /usr/src >> 16. mergemaster -p >> 17. make installworld >> 18. mergemaster -i >> 19. exit and reboot >> > > These look fine. > > >> Is this ok? Or have I forgot about something? I'm running a freebsd >> 6.1 machine on a amd64 system with an adjusted kernel called MYKERNEL. >> > > Please read ``/usr/src/UPDATING''. Then read it again. Let the text > and all its footnotes sink in, and if you don't understand *why* a > particular step exists, or what a specific step is supposed to do, feel > free to ask. > > We are here to help you update the system, but we are *also* here to > help you understand the why, when, how and what for of each step of the > process :-) > > - Giorgos > > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org" > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45AA9619.8050103>