#
1.1 |
|
22-Feb-2020 |
roy |
zfs: build a ramdisk on amd64 with enough to mount rpool/ROOT on /
Until we get ZFS integrated into our boot loader, this is the next best thing. The idea is simple - have a small FFS partition with a kernel, modules and this ramdisk. Once the ramdisk boots it will mount the FFS partition read only, copy the needed ZFS modules to the ramdisk and then unmount the partition. Then we import the ZFS root pool, mount the ZFS root filesystem and then pivot to it.
Because the initial FFS partition is not mounted at this point, we can mount it in /altroot so we can replace the kernel and modules with newer ones so it's easily maintainable.
This ZFS boot strapper currently makes the following assumptions: * The device NAME=boot is the FFS with kernel, modules and this ramdisk. * The ZFS root pool and root filesystem are called rpool/ROOT.
A boot.cfg menu entry can then be added like so: menu=Boot ZFS root:fs /ramdisk-zfsroot.fs;boot
|
#
1.1 |
|
22-Feb-2020 |
roy |
zfs: build a ramdisk on amd64 with enough to mount rpool/ROOT on /
Until we get ZFS integrated into our boot loader, this is the next best thing. The idea is simple - have a small FFS partition with a kernel, modules and this ramdisk. Once the ramdisk boots it will mount the FFS partition read only, copy the needed ZFS modules to the ramdisk and then unmount the partition. Then we import the ZFS root pool, mount the ZFS root filesystem and then pivot to it.
Because the initial FFS partition is not mounted at this point, we can mount it in /altroot so we can replace the kernel and modules with newer ones so it's easily maintainable.
This ZFS boot strapper currently makes the following assumptions: * The device NAME=boot is the FFS with kernel, modules and this ramdisk. * The ZFS root pool and root filesystem are called rpool/ROOT.
A boot.cfg menu entry can then be added like so: menu=Boot ZFS root:fs /ramdisk-zfsroot.fs;boot
|