29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
|
How to setup a zfs root filesystem using dracut
|
||
|
-----------------------------------------------
|
||
|
|
||
|
1) Install the zfs-dracut package. This package adds a zfs dracut module
|
||
|
to the /usr/share/dracut/modules.d/ directory which allows dracut to
|
||
|
create an initramfs which is zfs aware.
|
||
|
|
||
|
2) Set the bootfs property for the bootable dataset in the pool. Then set
|
||
|
the dataset mountpoint property to '/'.
|
||
|
|
||
|
$ zpool set bootfs=pool/dataset
|
||
|
$ zfs set mountpoint=/ pool/dataset
|
||
|
|
||
|
Alternately, legacy mountpoints can be used by setting the 'root=' option
|
||
|
on the kernel line of your grub.conf/menu.lst configuration file. Then
|
||
|
set the dataset mountpoint property to 'legacy'.
|
||
|
|
||
|
$ grub.conf/menu.lst: kernel ... root=ZFS=pool/dataset
|
||
|
$ zfs set mountpoint=legacy pool/dataset
|
||
|
|
||
|
3) To set zfs module options put them in /etc/modprobe.d/zfs.conf file.
|
||
|
The complete list of zfs module options is available by running the
|
||
|
_modinfo zfs_ command. Commonly set options include: zfs_arc_min,
|
||
|
zfs_arc_max, zfs_prefetch_disable, and zfs_vdev_max_pending.
|
||
|
|
||
|
4) Finally, create your new initramfs by running dracut.
|
||
|
|
||
|
$ dracut --force /path/to/initramfs kernel_version
|