advice on compiling a new kernel & upgrading to the
latest sources
kbtrace
kbtrace at gmail.com
Sun Jan 14 20:44:33 UTC 2007
Giorgos Keramidas wrote:
> On 2007-01-14 11:56, Dino Vliet <dino_vliet at 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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
>
More information about the freebsd-questions
mailing list