- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| completions | ||
| scripts | ||
| services | ||
| install-devuan-zfs.sh | ||
| README.md | ||
Devuan installer
- Installation
- Update provided scripts and such
- Switch to unstable "ceres"
- Using the system
- Provided services
- Optimisations
- Good to remember with ZFS
Features:
- Devuan stable by default
- ZFS on boot and root
- GCC as default C compiler
- SysVinit/OpenRC amalgamation as init system
- XLibre by default
- Bectl to manage boot environments
- pkg wrapper (BSD style) (pkg install, pkg search etc...)
- sysrc to manage services (sysrc ssh_enable="YES")
Installation
Get yourself a devuan stable image from: https://mirror.leaseweb.com/devuan/ Latest stable: Excalibur
after booting into the installer, clone this repo and excute the install script as root
git clone https://git.iostria.org/Katacc/devuan
sudo ./install-devuan-zfs.sh
If you want more minimal installation without anything, run it with this:
INSTALL_XLIBRE=0 \
INSTALL_DWM_DEPS=0 \
INSTALL_EXTRAS=0 \
sudo ./install-devuan-zfs.sh
This installs the system without any extra packages I install on a desktop system.
This is good for servers, or if you want to build yourself
Answer the prompts in the installer.
Update provided scripts and such
sudo devuan-update
Switch to unstable "ceres"
Create a boot environment to fall back to:
sudo bectl create pre-ceres
Set your /etc/apt/sources.list into the following:
# /etc/apt/sources.list
deb http://deb.devuan.org/merged ceres main non-free contrib non-free-firmware
deb-src http://deb.devuan.org/merged ceres main non-free contrib non-free-firmware
and run
sudo pkg update
sudo pkg install zfs-dkms zfsutils-linux zfs-initramfs
sudo pkg full-upgrade
Upgrade ZFS on its own first. In a single full-upgrade the new kernel is set up
before zfs-dkms, so DKMS tries to build the old (stable) ZFS for the new kernel,
fails, and dpkg stops half way. The new ZFS still builds for the running kernel,
so installing it first lets the new kernel build it too.
If the upgrade stops with a dpkg error anyway, finish it with:
sudo dpkg --configure -a
Do not reboot until the new kernel has the ZFS module, or it cannot import the pool:
ls /lib/modules/ # the new kernel version
modinfo -k <version> zfs # must print the module, not an error
If it never builds, reboot into pre-ceres from the GRUB menu.
Using the system
To manage applications:
sudo pkg search <application(s)>
sudo pkg install <application(s)>
sudo pkg list
sudo pkg remove <application(s)>
sudo pkg purge <application(s)>
Updates:
sudo pkg upgrade --update
Create a system snapshots before upgrades
sudo bectl create prior-upgrade
sudo zfs snapshot rpool/home@2026-09-27
Update the tools this installer provides from this repo:
sudo devuan-update # everything
sudo devuan-update scripts # bectl, pkg, sysrc, devuan-update (scripts/ in this repo) + zsh completions and services/
sudo devuan-update bootenv # bectl + the GRUB boot environment menu
sudo devuan-update -f chimerautils # rebuild even if unchanged
If update fails, you can boot into the boot-environment you created, or this command To make it the new default.
sudo bectl activate prior-upgrade
Activate ssh:
sudo pkg install openssh-server
sudo sysrc ssh_enable="YES"
sudo service ssh start
Provided services
To enable provided services, run
sudo sysrc SERVICE-NAME_enable="YES"
sudo service SERVICE-NAME start
To disable:
sudo sysrc SERVICE-NAME_enable="NO"
sudo service SERVICE-NAME stop
List of provided services
- power-profiles-daemon
Optimisations
ZFS ARC takes normally a lot of memory to minimize disk reads, to set it to more reasonable number:
# Set to 4gb for this session
echo $((4*1024**3)) | sudo tee /sys/module/zfs/parameters/zfs_arc_max
To make it permanent, modify /etc/modprobe.d/zfs.conf
# /etc/modprobe.d/zfs.conf
options zfs zfs_arc_max=4294967296
Afterwards:
sudo update-iniramfs -u -k all
Good to remember with ZFS
To check your real disk health and usage:
zpool list
Trim your rpool every once in a while:
sudo zpool trim arpool
Backup your home:
sudo zfs snapshot rpool/home@desc
Make a new boot environment:
sudo bectl create desc