Hi,
I'm trying to install FreeBSD with ZFS on a
- Pentium 4 3.0 GHz
- 2 GB RAM
- 3x 40 GB HDD
Unfortunately, without EFI there is no way to have GPTs, so I tried to mix the howtos from http://wiki.freebsd.org/RootOnZFS to create a mirrored zpool and a RAIDZ1 one as zfsboot is only able to boot from a mirrored zpool.
For this reason, I created one slice with three partitions (1 GB ZFS for root, 4 GB for swap, the rest for ZFS usr and stuff) on each disk and created two zpools with
which worked flawlessly. Then it starts to get complicated. Mostly, I followed the article about installing on GPT RAIDZ1 (http://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/RAIDZ1), namely
- setting fletcher4 on both pools
- creating tmp, usr, var with complete hierarchy on zpayload
- cd'ing to /dist/8.0-*
- exporting DESTDIR=/zpayload, completing all steps to the kernel installation
- exporting DESTDIR=/zroot, installing the kernel and copying stuff to /zroot/boot/kernel/
- setting readonly for zpayload/var/empty
- chroot'ing to /zpayload
- creating /etc/rc.conf and /boot/loader.conf (with vfs.root.mountfrom="zfs:zroot")
- making the bootloader
- executing passwd and tzsetup, creating mail aliases
- exiting chroot
- moving /zpayload/boot to /zroot/boot
- copying /boot/zfs/zpool.cache to /zroot/boot/zfs/zpool.cache
- creating the fstab
- setting LD_LIBRARY_PATH
- unmounting filesystems
and executing
Rebooting the machine results in a kernel panic stating that init cannot be found when 'vfs.root.mountfrom="zfs:zroot"' is set and a prompt to select the shell and the ZFS mounted r/o when using 'vfs.root.mountfrom="zfs:zpayload"'.
Now, where is the problem?
I know that there are some additional commands to execute when using UFS for boot but then, things are a bit different with ZFS only...
Kind regards
Thomas
I'm trying to install FreeBSD with ZFS on a
- Pentium 4 3.0 GHz
- 2 GB RAM
- 3x 40 GB HDD
Unfortunately, without EFI there is no way to have GPTs, so I tried to mix the howtos from http://wiki.freebsd.org/RootOnZFS to create a mirrored zpool and a RAIDZ1 one as zfsboot is only able to boot from a mirrored zpool.
For this reason, I created one slice with three partitions (1 GB ZFS for root, 4 GB for swap, the rest for ZFS usr and stuff) on each disk and created two zpools with
Code:
zpool create zroot mirror /dev/ad4s1a /dev/ad5s1a /dev/ad6s1a
zpool create zpayload raidz1 /dev/ad4s4a /dev/ad5s4a /dev/ad6s4a
which worked flawlessly. Then it starts to get complicated. Mostly, I followed the article about installing on GPT RAIDZ1 (http://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/RAIDZ1), namely
- setting fletcher4 on both pools
- creating tmp, usr, var with complete hierarchy on zpayload
- cd'ing to /dist/8.0-*
- exporting DESTDIR=/zpayload, completing all steps to the kernel installation
- exporting DESTDIR=/zroot, installing the kernel and copying stuff to /zroot/boot/kernel/
- setting readonly for zpayload/var/empty
- chroot'ing to /zpayload
- creating /etc/rc.conf and /boot/loader.conf (with vfs.root.mountfrom="zfs:zroot")
- making the bootloader
- executing passwd and tzsetup, creating mail aliases
- exiting chroot
- moving /zpayload/boot to /zroot/boot
- copying /boot/zfs/zpool.cache to /zroot/boot/zfs/zpool.cache
- creating the fstab
- setting LD_LIBRARY_PATH
- unmounting filesystems
and executing
Code:
zfs set mountpoint=legacy zroot
zfs set mountpoint=/tmp zpayload/tmp
zfs set mountpoint=/usr zpayload/usr
zfs set mountpoint=/var zpayload/var
Rebooting the machine results in a kernel panic stating that init cannot be found when 'vfs.root.mountfrom="zfs:zroot"' is set and a prompt to select the shell and the ZFS mounted r/o when using 'vfs.root.mountfrom="zfs:zpayload"'.
Now, where is the problem?
Kind regards
Thomas