Skip to content
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

dracut: include modprobed modules into initrd #4407

Closed

Conversation

mikhailnov
Copy link
Contributor

anaconda-modprobe.sh tries to load some modules, but everything relies on them being included into initrd by any other ways, not directly.

It leads to warnings printed on LiveCD startup that modules have not been found. Kernel 5.15.74-generic-1rosa2021.1-x86_64 is built with CONFIG_ISCSI_TCP=m, CONFIG_ISCSI_IBFT=m, but dracut module 90multipath did not include these modules into initrd.

A better way would be to somehow avoid duplicating lists of modules in 2 files, but I don't have ideas how to implement it beautifully.

Before:

2022-10-28_16-30

After:

2022-10-29_14-18

anaconda-modprobe.sh tries to load some modules, but everything relies on them
being included into initrd by any other ways, not directly.

It leads to warnings printed on LiveCD startup that modules have not been found.
Kernel 5.15.74-generic-1rosa2021.1-x86_64 is built with CONFIG_ISCSI_TCP=m, CONFIG_ISCSI_IBFT=m,
but dracut module 90multipath did not include these modules into initrd.

A better way would be to somehow avoid duplicating lists of modules in 2 files,
but I don't have ideas how to implement it beautifully.
@jstodola
Copy link
Contributor

I wonder how this can happen in the first place. anaconda-modprobe.sh is part of the anaconda-dracut RPM, which requires the dracut-network RPM, which contains the 95iscsi module, where module-setup.sh installs both iscsi_tcp and iscsi_ibft. Or did I miss anything?

And I also do not like this duplication.

@mikhailnov
Copy link
Contributor Author

mikhailnov commented Oct 30, 2022

I wonder how this can happen in the first place. anaconda-modprobe.sh is part of the anaconda-dracut RPM, which requires the dracut-network RPM, which contains the 95iscsi module, where module-setup.sh installs both iscsi_tcp and iscsi_ibft. Or did I miss anything?

That's a good question. dracut module anaconda does not have a dependency from either multipath or iscsi dracut modules. multipath-tools was installed, the check() function of 90multipath/module-setup.sh returned true, but open-iscsi was not installed and the check() function of 95iscsi/module-setup.sh returned false.

I have to also have open-iscsi installed. Thanks for noting this!

@mikhailnov
Copy link
Contributor Author

Do kernel modules really have to be modprobed by anaconda dracut module?

@jstodola
Copy link
Contributor

The binaries required by the check() function from the 95iscsi module are provided by the iscsi-initiator-utils package - so make sure it is installed.

@mikhailnov
Copy link
Contributor Author

mikhailnov commented Oct 31, 2022

iscsi-initiator-utils is called open-iscsi in ROSA Linux where it was run

@VladimirSlavik VladimirSlavik added the f38 Fedora 38 label Oct 31, 2022
@VladimirSlavik
Copy link
Contributor

/kickstart-test --testtype smoke

@VladimirSlavik
Copy link
Contributor

@rhinstaller/employees any volunteer to handle this?

@mikhailnov
Copy link
Contributor Author

I am now not sure that it is a good solution, I see at least 3 possible ways to go:

  1. this one
  2. make anaconda dracut module depend from iscsi and multipath
  3. make anaconda dracut module depend from iscsi and multipath and remove this modprobe-releated hackery

It was wrote long time ago, I am not sure that dracut, udev and kernel cannot load these modules themselves. However, I don't have a test iSCSI server, unfortunately. If it can be virtualized, it would be good to document it.

@jkonecny12
Copy link
Member

I like the third option. Just use module dependencies to get these parts in. However, it needs a lot of discovery and testing to do that step.

@github-actions
Copy link

This PR is stale because it has been open 60 days with no activity.
Remove stale label or comment or this will be closed in 30 days.

@github-actions github-actions bot added the stale label Jan 15, 2023
@github-actions
Copy link

This PR was closed because it has been stalled for 30 days with no activity.

@github-actions github-actions bot closed this Feb 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
f38 Fedora 38 stale
4 participants