Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

Installing Funtoo on ZFS



Trying to follow up the installation process as described in <http://www.funtoo.org/ZFS_Install_Guide>.


Only yesterday, however, I discovered the tutorial at <http://www.funtoo.org/Install_ZFS_root%26boot_File_System>. I think I understand, now, after reading the notes there-in the problem I am stuck on (read below).  But don't know how to work-it-around. I use(d) sysresccd-4.7.0_zfs_0.6.5.4.  After staging and installing portage (both funtoo-stable), I am to the point of confirming that the zfs pool can be read.


I get the following error:

The device /dev/zfs is missing and must be created.
Try running 'udevadm trigger' as root to create it.

The `/dev/zfs` exists however.  And outside of the "chroot", the pool and the datasets are correctly reported.
I guess this all boils down to "5. Upgrading to zfs version >=" as per the notes in <http://www.funtoo.org/Install_ZFS_root%26boot_File_System>.

I did install zfs and zfs-kmod version (this is the one installed when requesting for emerge sys-zfs/zfs- at the moment). And still, the zpool utility does not work.

Since the
initramfs/kernel in sysresccd-4.7.0_zfs_0.6.5.4 is pre zfs- and does not understand zfs- (!?), how does an update of the kernel and initramfs, using genkernel, e.g.
# genkernel all --zfs --no-clean --kerneldir=/usr/src/linux -- kernel-config=/usr/src/<path_to_config> --callback="emerge -1 spl zfs-kmod zfs"

will solve the issue, if I can't "boot this kernel"?


I opted for having a dedicated boot partition (/dev/sda1) and not installing everything on ZFS.

Still, I can't make any use of grub, i.e. install it in /dev/sda. The command `grub-install` does respond with


Installing for x86_64-efi platform.

grub-install: error: cannot find EFI directory.



Any pointers?

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

I used to run ZFS as root on Gentoo. I have not tried for Funtoo and I know that there are differences in the initramfs-file.


The setup I had was:

/dev/sda1     etx2 boot

/dev/sda2     zpool


I was using grub-legacy and sadly I am no friend of grub 2, it just won't work for me and I am not able to write my own grub-config any more.


The key to success was to create a initramfs with ZFS enabled. To do that I used genkernel --zfs but I did not use genkernel to build the actual kernel.

One thing though. The ZFS cache file /etc/zfs...something is included in the initramfs and used to automaticalle import the zpool and mount the root.


Another thing is that all cached volumes are mounted at initramfs-time. I use to have an exported pool (not the same pool as root). As the pool was imported before NFS was started it never exported the file systems. I wrote a hack in /etc/init.d/zfs to fix this and you annyhow need to add that to the open-rc.


There are some boot parameters needed as well. I recall dozfs nad some aditional ZFS-related flags. I sugest looking into the genkernel initramfs scipt for this.


And by the way, I have never manage to get EFI and those things working.


I now use BTRFS as root using the very same concept I had with ZFS.



Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...