Re: FreeBSD/powerpc64 (POWER9) with ZFS on /
Sean Bruno <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.ppc |
|---|---|
| Message-ID | <[email protected]> |
On 11/5/18 2:45 AM, Piotr Kubaj wrote: > ZFS is by default not available for partitioning in bsdinstall. We can, > however, use manual partitioning in shell to make ZFS partitions. > > But what if we want to do ZFS on /? This is currently not supported > out-of-the-box. The reason is that Petitboot, used on POWER9 to boot > kernel, doesn't support loading modules (at least when booting FreeBSD). > ZFS is by default distributed only as a module, to overcome licensing > issues. > > There are two ways to boot ZFS on root with Petitboot: > 1. We can use initramfs, which will load necessary modules. It's said to > be supported on FreeBSD/powerpc64, but no one knows how to create one > for FreeBSD :) > 2. We can actually compile a custom kernel with ZFS in it (not as a > module). This the approach that I use. Unfortunately, I can't > redistribute this kernel, because of ZFS's license. I created a custom > installation iso, which uses my kernel with ZFS included. > > Here are the steps to do it (on an installed powerpc64 system, but > should be possible on other architectures after redefining TARGET and > TARGET_ARCH): > 1. cd /usr/src/sys/powerpc/conf > 2. cat << EOF > ZFS > include GENERIC64 > options ZFS > EOF > 3. cd ../../../ > 3. make buildworld buildkernel KERNCONF=ZFS > 4. cd release > 5. make release > > When it's done, there will be iso files in > /usr/obj/usr/src/powerpc.powerpc64/release. > > You can use it to install ZFS on root. > > Note that you need a FAT32 partition to mount on /boot. > This partition needs to have /boot/etc/kboot.conf file, with a line like: > FreeBSD='/kernel/kernel kernelname=/boot/kernel/kernel > vfs.root.mountfrom=zfs:zroot/ROOT/default' > > You also need the appriopriate /etc/fstab: > /dev/nda0p1 /boot msdosfs rw 2 2 > > Other than that, howto at > https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot#Create_Partitions (from > point 2., omit 1.) is totally ok to follow. > > Thanks to mmacy for informing me about this little trick with including > ZFS to kernel. > I'd recommend adding a default to the kboot.conf so that your machine doesn't hang at petitboot forever. # cat /mnt/etc/kboot.conf default=FreeBSD_boot FreeBSD_boot='/kernel/kernel vfs.root.mountfrom=zfs:zroot kernelname=/kernel/kernel' The Power8 machines in the freebsd cluster use a statically built kernel with no modules. sean (trimmed cc list)
signature.asc
(application/pgp-signature, 618 B)
-----BEGIN PGP SIGNATURE----- iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAlvgZFlfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 /LYZuAf/avKBLiMC/xVV10ukDwLpyrJ5tN20TtHTL9CfLfndSfKkCzmvu4FNKmD0 apWySGX8sX87pljWSFrm5nhCS99Srd/017fQfZkz7Vynut0vBJZem485gKP17AY5 FIVlMJ4LGUefjdKueZaVAPwUVI/yjVfqbuu9L/uwFIKlSgTQ+VuJos3sQp03SNdh SXXnA5MeE2+TwbTCVju/v459h/RfRgLGp+MvyOIX+MR3QNJz+aOQl1TWp6ZPNCBG 7xbsyXDuOTlAcV00sbAoB9YMWHq+ehdtdd2DZLCtcQE/1Pq0EplArnEKklpOTZNk I03g5BzuusDGN1QpyDfSMguL0Vcw1A== =Q/ma -----END PGP SIGNATURE-----