CAPTCHA
Image CAPTCHA
Enter the characters shown in the image.
This question is for testing whether or not you are human.
  • Create new account
  • Reset your password

User account menu

Home
The Hyperlogos
Read Everything

Main navigation

  • Home
  • My Resumé
  • blog
  • Howtos
  • Pages
  • Contact
  • Search

Devuan 4 root on ZFS

Breadcrumb

  • Home
  • User Blogs
  • User Blog
  • Devuan 4 root on ZFS
By drink | Sun February 12, 2023

This is based on a number of documents, beginning with OpenZFS Debian Bullseye Root on ZFS. There are some notable changes. View the original document and follow along:

1.2: different contents for sources.list
deb http://deb.devuan.org/merged chimaera main contrib non-free
deb http://deb.devuan.org/merged chimaera-updates main contrib non-free
deb http://deb.devuan.org/merged chimaera-security main contrib non-free
deb http://deb.devuan.org/merged chimaera-backports main contrib non-free

1.6: before this step:

apt install --yes linux-headers-`uname -r`

otherwise you can't dkms build the zfs module, and zfs utils won't install

3.3: just a reminder from the docs:
"Note: If you separate a directory required for booting (e.g. /etc) into its own dataset, you must add it to ZFS_INITRD_ADDITIONAL_DATASETS in /etc/default/zfs. Datasets with canmount=off (like rpool/usr above) do not matter for this."
This bit me on my first install when I decided to separate /var
On my second go I decided not to in order to just KISS.
On my third try I used dracut for some reason and /etc/default/zfs INITRD_ADDITIONAL_DATASETS did nothing.
I fixed it by going back to using mkinitrd (apt install zfs-initramfs) and regenerating the initrd (update-initramfs -k all -c) and adjusted my instructions accordingly.

3.5: change command
bootstrap chimaera /mnt

4.3: use this command instead for this step
cp /etc/apt/sources.list /mnt/etc/apt/sources.list

4.5: immediately after apt update, do apt upgrade before you continue
4.5: when doing "dpkg-reconfigure locales..." I install all of the en_us locales, and then set default to en_US.UTF-8

4.6: before this step:

apt install firmware-linux firmware-linux-nonfree firmware-realtek

4.8: change command here to use ntp

apt install openntpd

4.12: This point needs some help.
My bpool seems to be getting imported late, as /boot/efi is going unmounted. There are no other apparent symptoms. Right now I am working around this by mounting it with this script in /etc/boot.d. I am fiddling with an init script solution. This may be incompatible with secure boot, but I haven't tested that theory yet.

#!/bin/bash
if [ -d /boot/efi -a ! -d /boot/efi/EFI ]; then
  mount /boot/efi
fi

4.13: instead add this line to /etc/fstab:

tmpfs /tmp tmpfs size=1g 0 0

4.15: I skipped this for my desktop, may mess with it later

Final bits of the install

Since you don't have systemd, you need some other way to start run-and-done daemons, I suggest xinetd

apt install xinetd tcpd
touch /etc/inetd.conf 

You can use itox to generate entries to put in /etc/xinetd.d when daemons install themselves into inetd.conf:

itox -daemon_dir /usr/sbin/tcpd < /etc/inetd.conf

There are also some assorted other additional things which need installing before you have a system. Some of this might be optional to you; use your judgement.

apt install sudo iw rfkill lshw aptitude debootstrap linux-image-amd64
apt install xorg pm-utils hdparm cpufrequtils acpid cpulimit alsa-utils\
 rxvt-unicode htop elinks links2 gparted bash-completion xcape kbd less\
  acpi elogind libpam-elogind pciutils usbutils
apt install atool mediainfo jhead exiftool feh imagemagick zip unzip\
 bzip2 p7zip-full ntfs-3g blktool dosfstools mtools testdisk partclone\
  sshfs locate git cups gpa ntp yad rpl bluetooth mtp-tools go-mtpfs\
  adb pmount udiskie gvfs cdrdao discover rename apt-file xbacklight
linux
ZFS
howto
  • Log in or register to post comments

Footer menu

  • Contact
Powered by Drupal

Copyright © 2025 Martin Espinoza - All rights reserved