Skip site navigation (1)Skip section navigation (2)
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>