Missing installkernel utility
With a recent Tumbleweed snapshot (probably 20211023), the utility installkernel was removed from /usr/sbin. Without this code, a kernel 'make install' returns "Cannot find LILO.". I could not tell if I was in a decades-long time warp, or if Linda Walsh had gained control. Copying the one from my Leap 15.3 partition restored the functionality. In Leap 15.3, this file is in the dracut package, but definitey missing in Tumbleweed. Larry
On 26/10/2021 02.54, Larry Finger wrote:
With a recent Tumbleweed snapshot (probably 20211023), the utility installkernel was removed from /usr/sbin. Without this code, a kernel 'make install' returns "Cannot find LILO.". I could not tell if I was in a decades-long time warp, or if Linda Walsh had gained control. Copying the one from my Leap 15.3 partition restored the functionality.
In Leap 15.3, this file is in the dracut package, but definitey missing in Tumbleweed.
https://code.opensuse.org/package/dracut/c/c7b5d678046f286e9c963d05e7706ddbe... has remove /sbin/installkernel script from dracut package That came in via https://build.opensuse.org/request/show/923450 but unfortunately, not with a good git-style commit message that explains the "Why?" I wonder if a symlink of installkernel to /usr/bin/true would also work. Ciao Bernhard M.
On 26.10.2021 06:14, Bernhard M. Wiedemann wrote:
On 26/10/2021 02.54, Larry Finger wrote:
With a recent Tumbleweed snapshot (probably 20211023), the utility installkernel was removed from /usr/sbin. Without this code, a kernel 'make install' returns "Cannot find LILO.". I could not tell if I was in a decades-long time warp, or if Linda Walsh had gained control. Copying
This is default fallback in arch/x86/boot/install.sh if installkernel is not present.
the one from my Leap 15.3 partition restored the functionality.
In Leap 15.3, this file is in the dracut package, but definitey missing in Tumbleweed.
https://code.opensuse.org/package/dracut/c/c7b5d678046f286e9c963d05e7706ddbe...
has remove /sbin/installkernel script from dracut package
That came in via https://build.opensuse.org/request/show/923450 but unfortunately, not with a good git-style commit message that explains the "Why?"
https://github.com/openSUSE/dracut/commit/8c93cf30948522308bfd7bd02aa882eb09... revert: remove /sbin/installkernel script from dracut package Nowadays, /sbin/installkernel is only used by developers who compile their own kernels on the target system. It doesn't need to be part of dracut any more. This commit partially reverts dc98785 ("Add suse specific files"). BTW subject is certainly misleading. "Revert: remove /sbin/installkernel" implies that this commit reverts *removal* of /sbin/installkernel thus restoring this file.
I wonder if a symlink of installkernel to /usr/bin/true would also work.
It will shut up the warning, but it will not make new kernel available which is the purpose of this script. Removed script generated initrd and called update-bootloader, making new kernel available for booting.
On 26.10.21 at 07:31, Andrei Borzenkov wrote:
On 26.10.2021 06:14, Bernhard M. Wiedemann wrote:
On 26/10/2021 02.54, Larry Finger wrote:
With a recent Tumbleweed snapshot (probably 20211023), the utility installkernel was removed from /usr/sbin. Without this code, a kernel 'make install' returns "Cannot find LILO.".
Honestly, I don't get the point of the commit message:
Nowadays, /sbin/installkernel is only used by developers who compile their own kernels on the target system.
Are developers compiling their own kernels no longer welcome or no longer supported? Obviously, a couple of tumbleweed users ("only developers") will now have to dig out the script from github or an old rpm (like I did). Wouldn't it be possible to keep the source file "dracut-installkernel" e.g. in /usr/lib/dracut/ as a template? Or put it in a devel package, as I understand that development files don't necessarily have to come with the dracut main package. Kind regards Bernhard
On 10/26/21 05:24, Bernhard Held wrote:
On 26.10.21 at 07:31, Andrei Borzenkov wrote:
On 26.10.2021 06:14, Bernhard M. Wiedemann wrote:
On 26/10/2021 02.54, Larry Finger wrote:
With a recent Tumbleweed snapshot (probably 20211023), the utility installkernel was removed from /usr/sbin. Without this code, a kernel 'make install' returns "Cannot find LILO.".
Honestly, I don't get the point of the commit message:
Nowadays, /sbin/installkernel is only used by developers who compile their own kernels on the target system.
Are developers compiling their own kernels no longer welcome or no longer supported? Obviously, a couple of tumbleweed users ("only developers") will now have to dig out the script from github or an old rpm (like I did).
Wouldn't it be possible to keep the source file "dracut-installkernel" e.g. in /usr/lib/dracut/ as a template? Or put it in a devel package, as I understand that development files don't necessarily have to come with the dracut main package.
File "installkernel" does not have to be part of dracut. Putting it in the kernel-devel package would make a lot of sense as you need that one to build your own kernel. That utility is essential on my system. When a new kernel merge starts, that is the time to start testing the KMP builds for VirtualBox. Some cycles, it requires a lot of time to figure out what API changes are coming so that VB is ready when Kernel_HEAD_standard releases kernel X.Y.0-rc1. Perhaps that is not necessary, but I take great pride in being ready. My experience is that Oracle cannot be trusted to have the necessary patches ready in time. As was pointed out, installkernel must do real work. A dummy link would still result in the LILO not found message. Larry
On 26.10.21 17:48, Larry Finger wrote:
On 10/26/21 05:24, Bernhard Held wrote:
On 26.10.21 at 07:31, Andrei Borzenkov wrote:
On 26.10.2021 06:14, Bernhard M. Wiedemann wrote:
On 26/10/2021 02.54, Larry Finger wrote:
With a recent Tumbleweed snapshot (probably 20211023), the utility installkernel was removed from /usr/sbin. Without this code, a kernel 'make install' returns "Cannot find LILO.".
Honestly, I don't get the point of the commit message:
Nowadays, /sbin/installkernel is only used by developers who compile their own kernels on the target system.
Are developers compiling their own kernels no longer welcome or no longer supported? Obviously, a couple of tumbleweed users ("only developers") will now have to dig out the script from github or an old rpm (like I did).
Wouldn't it be possible to keep the source file "dracut-installkernel" e.g. in /usr/lib/dracut/ as a template? Or put it in a devel package, as I understand that development files don't necessarily have to come with the dracut main package.
File "installkernel" does not have to be part of dracut.
You are right here, having it in some separate package (either a sub-package of dracut or elsewhere). Yet the question here for me is: Is the script connected to some high-maintanance burden? If not, i do not see a real reason why this can not stay within dracut. Looking into the git repo for opensuse dracut - https://github.com/openSUSE/dracut.git, the file "dracut-installkernel" was created 2018-04-20 and one line was changed in 2020-02-18.
Putting it in the kernel-devel package would make a lot of sense as you need that one to build your own kernel. That utility is essential on my system.
This would actually make no sense to me, as building a non-opensuse, e.g. a upstream from git (kernel.org) does not require this package. Having a smaller package with only the installkernel around, would be preferable in my eyes.
When a new kernel merge starts, that is the time to start testing the KMP builds for VirtualBox. Some cycles, it requires a lot of time to figure out what API changes are coming so that VB is ready when Kernel_HEAD_standard releases kernel X.Y.0-rc1. Perhaps that is not necessary, but I take great pride in being ready. My experience is that Oracle cannot be trusted to have the necessary patches ready in time.
As was pointed out, installkernel must do real work. A dummy link would still result in the LILO not found message.
Larry
Greetings, Tobias
On 10/26/21 12:03, Tobias Klausmann wrote:
On 26.10.21 17:48, Larry Finger wrote:
On 10/26/21 05:24, Bernhard Held wrote:
On 26.10.21 at 07:31, Andrei Borzenkov wrote:
On 26.10.2021 06:14, Bernhard M. Wiedemann wrote:
On 26/10/2021 02.54, Larry Finger wrote:
With a recent Tumbleweed snapshot (probably 20211023), the utility installkernel was removed from /usr/sbin. Without this code, a kernel 'make install' returns "Cannot find LILO.".
Honestly, I don't get the point of the commit message:
Nowadays, /sbin/installkernel is only used by developers who compile their own kernels on the target system.
Are developers compiling their own kernels no longer welcome or no longer supported? Obviously, a couple of tumbleweed users ("only developers") will now have to dig out the script from github or an old rpm (like I did).
Wouldn't it be possible to keep the source file "dracut-installkernel" e.g. in /usr/lib/dracut/ as a template? Or put it in a devel package, as I understand that development files don't necessarily have to come with the dracut main package.
File "installkernel" does not have to be part of dracut.
You are right here, having it in some separate package (either a sub-package of dracut or elsewhere). Yet the question here for me is: Is the script connected to some high-maintanance burden? If not, i do not see a real reason why this can not stay within dracut. Looking into the git repo for opensuse dracut - https://github.com/openSUSE/dracut.git, the file "dracut-installkernel" was created 2018-04-20 and one line was changed in 2020-02-18.
Putting it in the kernel-devel package would make a lot of sense as you need that one to build your own kernel. That utility is essential on my system.
This would actually make no sense to me, as building a non-opensuse, e.g. a upstream from git (kernel.org) does not require this package. Having a smaller package with only the installkernel around, would be preferable in my eyes.
You are correct that kernel-devel does not make sense. I did not look at the file list before making that suggestion. I have no objections to the script staying in dracut. It is only 3800 bytes, thus not a large disk waster, and clearly, the maintenance burden is minimal. For the record, almost all my home-built kernels come from kernel.org sources. Larry
Hi guys, On Tue, 2021-10-26 at 19:03 +0200, Tobias Klausmann wrote:
On 26.10.21 17:48, Larry Finger wrote:
On 10/26/21 05:24, Bernhard Held wrote:
Wouldn't it be possible to keep the source file "dracut-installkernel" e.g. in /usr/lib/dracut/ as a template? Or put it in a devel package, as I understand that development files don't necessarily have to come with the dracut main package.
File "installkernel" does not have to be part of dracut.
You are right here, having it in some separate package (either a sub-package of dracut or elsewhere). Yet the question here for me is: Is the script connected to some high-maintanance burden? If not, i do not see a real reason why this can not stay within dracut. Looking into the git repo for opensuse dracut - https://github.com/openSUSE/dracut.git, the file "dracut-installkernel" was created 2018-04-20 and one line was changed in 2020-02-18.
you need that one to build your own kernel. That utility is essential on my system.
This would actually make no sense to me, as building a non-opensuse, e.g. a upstream from git (kernel.org) does not require this package. preferable in my eyes.
sorry for replying late, and for any mischief this change has caused. Right now, the best way to obtain /sbin/installkernel is to grab the "kernel-install-tools" package from home:jeffmahoney:Kernel. It's currently on its way to Kernel:tools, and hopefully from there to factory soon (https://build.opensuse.org/request/show/929047). "kernel-install-tools" is exactly that small separate package you've been talking about. If you look at https://github.com/jeffmahoney/kernel-install-tools, you'll see that it actually provides an improvement for people who build their own kernels. It doesn't only contain "installkernel", but also scripts for creating and deploying proper UEFI SecureBoot certificates for self-built kernels. This will simplify matters for people who compile their own kernels while using SecureBoot. The idea is to move /sbin/installkernel to this package. File conflict avoidance in rpm mandates that if we do this, we have to remove the file from dracut first (as noted in this thread, dracut has never been the most natural place for it), and that's what my dracut PR was made for. The timing was admittedly bad, for various reasons. We should have made sure that the new package entered Factory more quickly. So sorry again, and please provide feedback about the new tools if you have time to try them. Regards Martin
Hi Am 03.11.21 um 16:43 schrieb Martin Wilck:
Hi guys,
On Tue, 2021-10-26 at 19:03 +0200, Tobias Klausmann wrote:
On 26.10.21 17:48, Larry Finger wrote:
On 10/26/21 05:24, Bernhard Held wrote:
Wouldn't it be possible to keep the source file "dracut-installkernel" e.g. in /usr/lib/dracut/ as a template? Or put it in a devel package, as I understand that development files don't necessarily have to come with the dracut main package.
File "installkernel" does not have to be part of dracut.
You are right here, having it in some separate package (either a sub-package of dracut or elsewhere). Yet the question here for me is: Is the script connected to some high-maintanance burden? If not, i do not see a real reason why this can not stay within dracut. Looking into the git repo for opensuse dracut - https://github.com/openSUSE/dracut.git, the file "dracut-installkernel" was created 2018-04-20 and one line was changed in 2020-02-18.
you need that one to build your own kernel. That utility is essential on my system.
This would actually make no sense to me, as building a non-opensuse, e.g. a upstream from git (kernel.org) does not require this package. preferable in my eyes.
sorry for replying late, and for any mischief this change has caused.
Right now, the best way to obtain /sbin/installkernel is to grab the "kernel-install-tools" package from home:jeffmahoney:Kernel. It's currently on its way to Kernel:tools, and hopefully from there to factory soon (https://build.opensuse.org/request/show/929047).
"kernel-install-tools" is exactly that small separate package you've been talking about.
If you look at https://github.com/jeffmahoney/kernel-install-tools, you'll see that it actually provides an improvement for people who build their own kernels. It doesn't only contain "installkernel", but also scripts for creating and deploying proper UEFI SecureBoot certificates for self-built kernels. This will simplify matters for people who compile their own kernels while using SecureBoot.
The idea is to move /sbin/installkernel to this package. File conflict avoidance in rpm mandates that if we do this, we have to remove the file from dracut first (as noted in this thread, dracut has never been the most natural place for it), and that's what my dracut PR was made for. The timing was admittedly bad, for various reasons. We should have made sure that the new package entered Factory more quickly.
So sorry again, and please provide feedback about the new tools if you have time to try them.
Martin, thank you so much for this information! I've been bitten by this problem this week, but getting better support for other boot features sounds like a win in the end. Best regards Thomas
Regards Martin
-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 Nürnberg, Germany (HRB 36809, AG Nürnberg) Geschäftsführer: Ivo Totev
On 26.10.21 at 07:31, Andrei Borzenkov wrote:
On 26.10.2021 06:14, Bernhard M. Wiedemann wrote:
On 26/10/2021 02.54, Larry Finger wrote:
With a recent Tumbleweed snapshot (probably 20211023), the utility installkernel was removed from /usr/sbin. Without this code, a kernel 'make install' returns "Cannot find LILO.".
Honestly, I don't get the point of the commit message:
Nowadays, /sbin/installkernel is only used by developers who compile their own kernels on the target system.
Are developers compiling their own kernels no longer welcome or no longer supported? Obviously, a couple of tumbleweed users ("only developers") will now have to dig out the script from github or an old rpm (like I did). Wouldn't it be possible to keep the source file "dracut-installkernel" e.g. in /usr/lib/dracut/ as a template? Or put it in a devel package, as I understand that development files don't necessarily have to come with the dracut main package. Kind regards Bernhard
On 26.10.21 at 07:31, Andrei Borzenkov wrote:
On 26.10.2021 06:14, Bernhard M. Wiedemann wrote:
On 26/10/2021 02.54, Larry Finger wrote:
With a recent Tumbleweed snapshot (probably 20211023), the utility installkernel was removed from /usr/sbin. Without this code, a kernel 'make install' returns "Cannot find LILO.".
Honestly, I don't get the point of the commit message:
Nowadays, /sbin/installkernel is only used by developers who compile their own kernels on the target system.
Are developers compiling their own kernels no longer welcome or no longer supported? Obviously, a couple of tumbleweed users ("only developers") will now have to dig out the script from github or an old rpm (like I did). Wouldn't it be possible to keep the source file "dracut-installkernel" e.g. in /usr/lib/dracut/ as a template? Or put it in a devel package, as I understand that development files don't necessarily have to come with the dracut main package. Kind regards Bernhard
On Tuesday, 26 October 2021 4:01:08 PM ACDT Andrei Borzenkov wrote:
On 26.10.2021 06:14, Bernhard M. Wiedemann wrote:
On 26/10/2021 02.54, Larry Finger wrote:
With a recent Tumbleweed snapshot (probably 20211023), the utility installkernel was removed from /usr/sbin. Without this code, a kernel 'make install' returns "Cannot find LILO.". I could not tell if I was in a decades-long time warp, or if Linda Walsh had gained control. Copying
This is default fallback in arch/x86/boot/install.sh if installkernel is not present.
the one from my Leap 15.3 partition restored the functionality.
In Leap 15.3, this file is in the dracut package, but definitey missing in Tumbleweed.
https://code.opensuse.org/package/dracut/c/c7b5d678046f286e9c963d05e7706dd be05b5a31?branch=master
has
remove /sbin/installkernel script from dracut package
That came in via https://build.opensuse.org/request/show/923450 but unfortunately, not with a good git-style commit message that explains the "Why?"
https://github.com/openSUSE/dracut/commit/8c93cf30948522308bfd7bd02aa882eb09 e79609
revert: remove /sbin/installkernel script from dracut package Nowadays, /sbin/installkernel is only used by developers who compile their own kernels on the target system. It doesn't need to be part of dracut any more. This commit partially reverts dc98785 ("Add suse specific files").
BTW subject is certainly misleading. "Revert: remove /sbin/installkernel" implies that this commit reverts *removal* of /sbin/installkernel thus restoring this file.
I wonder if a symlink of installkernel to /usr/bin/true would also work.
It will shut up the warning, but it will not make new kernel available which is the purpose of this script. Removed script generated initrd and called update-bootloader, making new kernel available for booting.
This would explain why I ended up with a non-bootable system after re-building my kernel to include an out-of-tree I2C driver that's for some reason not yet included in the stock kernel (required for OpenRGB to talk to NCT6775 I2C RGB controllers on some motherboards). Building kernel 5.14.11-2 is the first time I've ever had a failure of 'make install", and now I know why. I had to manually copy vmlinuz-5.14.11-2-default to vmlinuz-5.14.11-2-default.old (along with its associated system.map file), rename 'vmlinuz' (apparently localversion was ignored during the build) to vmlinuz-5.14.11-2-default and create a symlink for vmlinuz pointing to that kernel image. This was all previously done by 'make install'. -- ================================================================================================================== Rodney Baker rodney.baker@iinet.net.au ==================================================================================================================
participants (8)
-
Andrei Borzenkov
-
Bernhard Held
-
Bernhard M. Wiedemann
-
Larry Finger
-
Martin Wilck
-
Rodney Baker
-
Thomas Zimmermann
-
Tobias Klausmann