Updating 7.1 kernel using zfs root

Andrew Moran amoran at forsythia.net
Fri Feb 27 01:14:04 PST 2009


Hey guys,


I'm currently running on FreeBSD 7.1 AMD64 using a ZFS filesystem, but  
my /boot folder is linked to a UFS filesytem (/bootdir).     I set it  
up following the instructions here:
http://www.ish.com.au/solutions/articles/freebsdzfs

In a nut shell:   Install a minimal FreeBSd 7.1 from CDs onto a UFS  
partition, boot into single user mode, create your ZFS partitions, and  
copy stuff over onto ZFS, and link back to the UFS boot's folder for / 
boot.

So:

celebrian# ls -ld /boot
lrwxr-xr-x  1 root  wheel  12 Feb 25 19:52 /boot -> bootdir/boot
celebrian# df
Filesystem     1K-blocks      Used     Avail Capacity  Mounted on
tonk/root      572796032    817920 571978112     0%    /
devfs                  1         1         0   100%    /dev
/dev/ad10s1a     1012974    560070    371868    60%    /bootdir
tonk/home      699041408 127063296 571978112    18%    /home
tonk/tmp       571979264      1152 571978112     0%    /tmp
tonk/usr       575095040   3116928 571978112     1%    /usr
tonk/usr/local 572981248   1003136 571978112     0%    /usr/local
tonk/var       572786432    808320 571978112     0%    /var
celebrian#


All is working now  except when trying to recompile the kernel.  I  
csup the latest 7.1 kernel (cvs tag RELENG_7), and I do the whole  
buildworld, buildkernel, installkernel, shutdown, installworld dance..  
everything builds and installs fine.   I do see it installs into /boot/ 
kernel (which is really /bootdir/boot/kernel) and moves aside the old  
kernel.   When I reboot, it kernel panics pretty quickly (it spits out  
a whole bunch of weird stuff including strange symbols) shortly after  
the boot loader.  Fortunately, I'm able to boot into the kernel.old  
kernel (the one from the CDs) just fine.

Is there some extra step I need to do in this kind of setup to update  
the kernel that I'm missing?

Any clues would be appreciated.

--Andy


More information about the freebsd-questions mailing list