Upgrading kernel frem 6.3 to 7

Hi!

At first i would like to say that i'm realy glad because this forum was launched. :)

Also have a question.

I intend to upgrade my Freebsd box (6.3-STABLE) to newer version of kernel 7 (stable). I wish that won't have any kind of problems (like kernel panic, you know... :e ) because this box is main gateway...

I use cvsup and this is my src-supfile

*default host=cvsup.FreeBSD.org
*default prefix=/usr
*default base=/var/db
*default release=cvs tag=RELENG_7
*default delete use-rel-suffix
*default compress
src-all

What can I expect ?
 
Everything should be fine. Two things, though: First, on operating systems other than Linux, you don't upgrade the kernel itself - you upgrade the whole operating system; in this case, both the kernel and the 'world', which is a FreeBSD name for parts of the system that are not kernel. Please follow the instructions in http://www.freebsd.org/doc/en/books/handbook/makeworld.html.

Second thing is, there is a tool named 'csup' in the base system now; you no longer have to install cvsup from ports.
 
Thanks for quick replay.

What do you mean is run of mergemaster -p needed before the buildworld step ?
 
sniper007 said:
I intend to upgrade my Freebsd box (6.3-STABLE) to newer version of kernel 7 (stable). I wish that won't have any kind of problems (like kernel panic, you know... :e ) because this box is main gateway...

I would go for 7 stable:

*default release=cvs tag=RELENG_7_0

My 2 cts.

Peter
 
thanks marino to inform me that this script exist but i'm not enthusiastic about scripts because it can work something what i don't want... like windows wizard :\
 
sniper007 said:
Hi!

I wish that won't have any kind of problems (like kernel panic, you know... :e ) because this box is main gateway...

Just make a backup to another HDD, then nothing to worry about. Your dog now can eat your old data for breakfast!

Your build and install world and kernel processes should be done without any problem, but just be aware with port upgrading. New version are worst than old ones and broken dependencies are likely to happen.
 
RELENG_7 is the 7 branch, which is becoming 7.1. RELENG_7_0 is the 7.0 security branch like 7.0-RELEASE-p5.
 
I'd backup all config files and other data and install 7 from scratch. The partition sizes (most notably for /) have increased a bit. 7 needs a bit more space. It's also a good way to get rid of all the 'old' stuff ;)
 
True.. But it's kind of dangerous to run out of disk space halfway through installworld ;)
 
marino said:
Are you saying that the upgrade script distributed with FreeBSD 6.3 and FreeBSD 7 is not official?

It's official; it's just not officially supported for use with cvsup, which the original poster indicated was the case.
 
Before doing anything read /usr/src/UPDATING and backup data including config and sql database. Once done sync source code:
Code:
csup /path/to/your/supfile
T to build base system:
Code:
cd /usr/src
make buildworld
Next, kernel
Code:
make buildkernel
make installkernel

You may need to specify connfig file using KERNCONF option:
Code:
make kernel KERNCONF={NAME}
Reboot system and boot into a single user mode :
Code:
cd /usr/src
mergemaster -p
Accept the changes as promoted as per your configuration.
Code:
make installworld
Finally, merge your configuration files, enter:
Code:
mergemaster -i
Reboot one more time. Finally, upgrade apps too
Code:
portsnap fetch extract
portversion
portupgrade -a

This is what I do everytime I upgrade my box. Hope this helps!
 
the requirement is only related to the kernel - if you do not build modules, you don't have to worry about this so much.
 
WuzWuz said:
I would go for 7 stable:

*default release=cvs tag=RELENG_7_0

RELENG_7 == 7-STABLE
RELENG_7_0 == 7.0 security branch (aka 7.0-RELEASE + patches)
RELENG_7_0_0_RELEASE == 7.0-RELEASE (all the same bits you get on the install CD)
 
Hi,

For the minor updates, when already running v7.x, any risk of running after csup entire update together with installworld in the same line and then rebooting only once ? :

Code:
cd /usr/src && make buildworld && make buildkernel && make installkernel \
&& make installworld && reboot
 
It's strongly recommended that the "make installworld" step takes place in single user mode. But no matter how you do it, it should be done after you've booted into the new kernel (especially after a major version upgrade). New world running on an old kernel making new kernel calls = bad mojo.
 
trasz@ said:
Everything should be fine. Two things, though: First, on operating systems other than Linux, you don't upgrade the kernel itself - you upgrade the whole operating system; in this case, both the kernel and the 'world', which is a FreeBSD name for parts of the system that are not kernel. Please follow the instructions in http://www.freebsd.org/doc/en/books/handbook/makeworld.html.

Second thing is, there is a tool named 'csup' in the base system now; you no longer have to install cvsup from ports.

Why? Upgrading the kernel without the world is quite possible. You don't even need to use the make buildworld or make buildkernel commands. Just enter the source directory of the part you want to compile and type make && make install.

Ofcourse the 7.0 kernel might encounter problems running with a 6.3 or earlier userland because some new things aren't there yet, but just for testing I don't see any real problems here. And at last you can always manually load any kernel from the bootloader menu.
 
MG said:
Why? Upgrading the kernel without the world is quite possible. You don't even need to use the make buildworld or make buildkernel commands. Just enter the source directory of the part you want to compile and type make && make install.

Ofcourse the 7.0 kernel might encounter problems running with a 6.3 or earlier userland because some new things aren't there yet, but just for testing I don't see any real problems here. And at last you can always manually load any kernel from the bootloader menu.

It is possible, but it's not safe, unless you are really sure there were no changes that could break binary compatibility with parts of userland. Given that buildworld takes just a few hours running with low priority in the background, it's just not worth the risk for the ordinary user or sysadmin.
 
That reminds me - the mergemaster tool is really confusing. So: when given the choice of either 'i'nstall or 'd'elete, keep in mind that it really means 'replace with new one' and 'keep the old one', respectively. To get the new version from FreeBSD sources (/usr/src/etc/), use 'i'. To keep the current version, use 'd'.

These should be renamed in the mergemaster source, imho.

Also, remember that instead of upgrading from sources, you can use freebsd-upgrade. It's a binary upgrade that's much faster than source upgrade; it has one drawback, however - it works only with released versions (i.e. not with STABLE) and with stock kernels.
 
Back
Top