Bug 1219799 - Installing custom kernel package fails because zfs package
Summary: Installing custom kernel package fails because zfs package
Status: RESOLVED INVALID
: 1226809 (view as bug list)
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Kernel:Filesystems (show other bugs)
Version: Current
Hardware: Other Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Kernel Filesystems
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-02-11 09:36 UTC by Edwin KM
Modified: 2024-06-22 12:15 UTC (History)
4 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Edwin KM 2024-02-11 09:36:27 UTC
While investigating my instability issue in ticket https://bugzilla.opensuse.org/show_bug.cgi?id=1219522#c15 if got the request to update to a custom kernel.
So i downloaded "kernel-default-6.8~rc3-1.1.gae4495f.x86_64.rpm".
This installation consistently failed.
Only after remove package "zfs" (in Yast) i could install this kernel.

Maybe those URLs are related?
https://forums.opensuse.org/t/upgrade-to-kernel-default-6-5-4-1-1-fails-on-zfs-module-install/169706/5
https://github.com/openzfs/zfs/issues/13573


sudo rpm -i kernel-default-6.8~rc3-1.1.gae4495f.x86_64.rpm
warning: kernel-default-6.8~rc3-1.1.gae4495f.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 03579c1d: NOKEY
dracut[I]: Executing: /usr/bin/dracut -f /boot/initrd-6.8.0-rc3-1.gae4495f-default 6.8.0-rc3-1.gae4495f-default
dracut[I]: Module 'systemd-pcrphase' will not be installed, because command '/usr/lib/systemd/systemd-pcrphase' could not be found!
dracut[I]: Module 'systemd-portabled' will not be installed, because command 'portablectl' could not be found!
dracut[I]: Module 'systemd-portabled' will not be installed, because command '/usr/lib/systemd/systemd-portabled' could not be found!
dracut[I]: Module 'systemd-repart' will not be installed, because command 'systemd-repart' could not be found!
dracut[I]: Module 'dbus-broker' will not be installed, because command 'dbus-broker' could not be found!
dracut[I]: Module 'rngd' will not be installed, because command 'rngd' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmand' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmanctl' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmand-wait-online' could not be found!
dracut[I]: Module 'tpm2-tss' will not be installed, because command 'tpm2' could not be found!
dracut[I]: Module 'nvmf' will not be installed, because command 'nvme' could not be found!
dracut[I]: Module 'biosdevname' will not be installed, because command 'biosdevname' could not be found!
dracut[I]: Module 'memstrack' will not be installed, because command 'memstrack' could not be found!
dracut[I]: memstrack is not available
dracut[I]: If you need to use rd.memdebug>=4, please install memstrack and procps-ng
dracut[I]: Module 'squash' will not be installed, because command 'mksquashfs' could not be found!
dracut[I]: Module 'squash' will not be installed, because command 'unsquashfs' could not be found!
dracut[I]: Module 'systemd-pcrphase' will not be installed, because command '/usr/lib/systemd/systemd-pcrphase' could not be found!
dracut[I]: Module 'systemd-portabled' will not be installed, because command 'portablectl' could not be found!
dracut[I]: Module 'systemd-portabled' will not be installed, because command '/usr/lib/systemd/systemd-portabled' could not be found!
dracut[I]: Module 'systemd-repart' will not be installed, because command 'systemd-repart' could not be found!
dracut[I]: Module 'dbus-broker' will not be installed, because command 'dbus-broker' could not be found!
dracut[I]: Module 'rngd' will not be installed, because command 'rngd' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmand' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmanctl' could not be found!
dracut[I]: Module 'connman' will not be installed, because command 'connmand-wait-online' could not be found!
dracut[I]: Module 'tpm2-tss' will not be installed, because command 'tpm2' could not be found!
dracut[I]: Module 'nvmf' will not be installed, because command 'nvme' could not be found!
dracut[I]: Module 'memstrack' will not be installed, because command 'memstrack' could not be found!
dracut[I]: memstrack is not available
dracut[I]: If you need to use rd.memdebug>=4, please install memstrack and procps-ng
dracut[I]: Module 'squash' will not be installed, because command 'mksquashfs' could not be found!
dracut[I]: Module 'squash' will not be installed, because command 'unsquashfs' could not be found!
dracut[I]: *** Including module: systemd ***
dracut[I]: *** Including module: systemd-initrd ***
dracut[I]: *** Including module: i18n ***
dracut[I]: *** Including module: drm ***
dracut[I]: *** Including module: plymouth ***
dracut[I]: *** Including module: btrfs ***
dracut[I]: *** Including module: kernel-modules ***
dracut[I]: *** Including module: kernel-modules-extra ***
dracut[I]: *** Including module: zfs ***
dracut-install: Failed to find module 'zfs'
dracut[E]: FAILED:  /usr/lib/dracut/dracut-install -D /var/tmp/dracut.uflnAv/initramfs -H -N ^i2o_scsi$ --kerneldir /lib/modules/6.8.0-rc3-1.gae4495f-default/ -m zfs
dracut[F]: installkernel failed in module zfs
warning: %post(kernel-default-6.8~rc3-1.1.gae4495f.x86_64) scriptlet failed, exit status 1
Comment 1 David Disseldorp 2024-02-11 23:36:41 UTC
Thanks for the report, Edwin...

(In reply to Edwin KM from comment #0)
...
> dracut[I]: *** Including module: zfs ***
> dracut-install: Failed to find module 'zfs'
> dracut[E]: FAILED:  /usr/lib/dracut/dracut-install -D
> /var/tmp/dracut.uflnAv/initramfs -H -N ^i2o_scsi$ --kerneldir
> /lib/modules/6.8.0-rc3-1.gae4495f-default/ -m zfs
> dracut[F]: installkernel failed in module zfs
> warning: %post(kernel-default-6.8~rc3-1.1.gae4495f.x86_64) scriptlet failed,
> exit status 1

Your system is configured to place zfs driver dependencies in the initramfs image, likely for the purpose of booting from zfs formatted root devices. Dracut fails as it can't locate the zfs module.
zfs is an out of tree module which we don't support as part of openSUSE Tumbleweed, so I'd suggest raising this with whoever provided you with the zfs package.
If you don't plan on booting from a zfs device then you should be able to remove the Dracut module.
Comment 2 Edwin KM 2024-02-12 09:53:55 UTC
(In reply to David Disseldorp from comment #1)


> Tumbleweed, so I'd suggest raising this with whoever provided you with the
> zfs package.

This is the Suse package manager. I do not think it should break stuff?
(That said, normal kernel installs seems to work but only the manual downloaded rpm seems to fail)

> If you don't plan on booting from a zfs device then you should be able to
> remove the Dracut module.

AFAIK i never added this. I think i only installed the ZFS package to mount a external ZFS disk.
Comment 3 Edwin KM 2024-02-12 12:04:57 UTC
Verified in a VM. Seems i once installed https://en.opensuse.org/OpenZFS.
I only wanted to mount ZFS. I never asked it to boot from ZFS.
Not sure where i should report the bug.
Comment 4 David Disseldorp 2024-02-12 12:31:14 UTC
(In reply to Edwin KM from comment #3)
> Verified in a VM. Seems i once installed https://en.opensuse.org/OpenZFS.
> I only wanted to mount ZFS. I never asked it to boot from ZFS.

Hmm, I can understand why one could assume official ZFS support in openSUSE - "The ZFS packages are maintained by the filesystem project and are not part of the official openSUSE project." is buried a long way down the page . IMO there really should be a big warning at the top of the page.

> Not sure where i should report the bug.

I'd suggest contacting the packagers listed in the zfs changelog at https://build.opensuse.org/package/view_file/filesystems/zfs/zfs.changes?expand=1 (I've cc'ed some in this bug)

The upstream project is probably the best place to track these kinds of issues.
Comment 5 Dominik Heidler 2024-02-12 12:58:12 UTC
I think the problem here is that there is no zfs kernel module built for the kernel, that you are trying to build an initrd for.

The problem is that the current release of upstream zfs doesn't support even kernel 6.7 yet.

So build for tumbleweed at https://build.opensuse.org/package/show/filesystems/zfs is currently failing.
That resulted in you not getting an up to date zfs kernel module.
It might still have failed when trying to install a 6.8 kernel which is not yet used to build zfs against.



The problem that you are experiencing here could be circumvented by adding a
Requires: zfs-kmp-default
to the zfs package (which contains the dracut hook that expects the kernel module to be in place.).
Comment 6 Dominik Heidler 2024-02-12 13:12:18 UTC
https://build.opensuse.org/request/show/1146181
Comment 7 hui 2024-06-22 12:15:01 UTC
*** Bug 1226809 has been marked as a duplicate of this bug. ***