-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Various Packaging issues on Debian (Stretch/Buster) and likely Ubuntu #6606
Comments
The paths for the cache file and binaries is different in the systemd file because when not specified otherwise, |
If --prefix defaults to
I rebuilt the binaries with the following ./configure options:
As noted above, the resulting *.deb files do not contain systemd unit files despite using |
I confirm that systemd is not installed even with --enable-systemd option. I've to run following command to install systemd zfs/zpool service and be able to import zfs pool on boot: cd zfs/etc/systemd/ |
Note: I'm not using ZFS 0.7.1 because of #6577.
Describe the problem you're observing
I've experienced multiple packaging issues building custom kmod packages on Debian which are not documented on either the custom build howto or in the Debian-specific section.
systemd unit files are not packaged by default, and ./configure --enable-systemd is ignored ZFS does not package systemd unit files in Debian even with --enable-systemd #6591. The default directory,
/usr/lib/systemd/
is not used by Debian or Ubuntu. Rather, both distributions use/lib/systemd/
While this should be trivial to change manually with a ./configure option, it's not clear whether the option is respected, given that the systemd unit files aren't packaged at all.The systemd unit files won't work on Debian (they shouldn't work on Ubuntu either) because the paths for the binaries and cache files are different.
For example, the systemd files reference
/usr/local/etc/zfs/zpool.cache
,/usr/local/sbin/zpool
,/usr/local/sbin/zfs
, and/usr/local/zed
. The corresponding locations on Debian are/etc/zfs/zpool.cache
,/sbin/zpool
,/sbin/zfs
, and/usr/sbin/zed
./usr/share/initramfs-tools/conf.d/zfs
which is required to provide ZFS support in the initramfs.Workaround
Use the following guide to compile and install the SPL and ZFS packages. However, prior to running
./configure
for SPL and ZFS, runautoreconf --force --install
to regenerate the configure script using Debian's version of libtool. This resolves Issue #6577.Copy systemd unit files and config files from Debian's zfsutils-linux package. Specifically, I copied the unit files to
/lib/systemd/system
, the default configuration to/lib/systemd/system-preset
and the module config to/lib/modules-load.d/
. The paths are the same as indicated here.Unmask all the systemd services with
systemctl unmask
To boot off a ZFS root pool, create
/usr/share/initramfs-tools/conf.d/zfs
with the following content:Then update the initramfs by running
update-initramfs -u -k all
It would be nice to include these workarounds either on the Custom Build Howto page or on a separate page related to Debian/Ubuntu specifically, at least until these issues are resolved.
The text was updated successfully, but these errors were encountered: