Jump to content
  • 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?

Share this post

Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

I got past the problem with zfs. I can see the zpool status report. The only missing part is to install grub. I don't understand why `grub-install` does not find the EFI directory.  There is a valid partition marked as EF02. I guess I have to report this with more details.

Share this post

Link to post
Share on other sites
  • 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.



Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...