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

RFE: Unified Kernel Images with Secure Boot #297

Open
tblancher opened this issue Feb 11, 2024 · 1 comment
Open

RFE: Unified Kernel Images with Secure Boot #297

tblancher opened this issue Feb 11, 2024 · 1 comment
Milestone

Comments

@tblancher
Copy link

Here's the output of needrestart -v |& head on Arch Linux:

[main] eval /etc/needrestart/needrestart.conf
[main] needrestart v3.6
[main] running in user mode
[Core] Using UI 'NeedRestart::UI::stdio'...
[main] systemd detected
[main] #1516 uses deleted /usr/lib/libexpat.so.1.8.10
[main] #4924 uses deleted /usr/lib/libexpat.so.1.8.10
[main] #4933 uses deleted /usr/lib/libexpat.so.1.8.10
[main] #4950 uses deleted /usr/lib/libexpat.so.1.8.10
[main] #4951 uses obsolete binary /usr/bin/python3.11
...

I get the following message when running sudo needrestart:

...
Failed to retrieve available kernel versions.
...

I have a Unified Kernel Image, signed by sbctl for Secure Boot, and the full path to the kernel is:

/efi/EFI/Linux/490336ad3ce04b7bae989340da3fe01b-6.7.4-arch1-1.efi

My Perl is perennially so rusty I'm not sure where to begin to draft commits for a PR against needrestart. I think the first step is to configure needrestart to have alternate paths for the kernel, instead of only /boot. I'm willing to help test this, since this setup is very specific to my new laptop.

I believe it finds the CPU microcode image since for whatever reason Arch still deploys it to /boot/intel-ucode.img, but that's the only file in there.

@liske
Copy link
Owner

liske commented Mar 3, 2024

Yes, it is currently not possible to add additional paths for kernel images. There are some hard coded globs:

my %kfiles = map {
$_ => 1,
} grep {
# whitelist kernel images
m/$filter/;
}
grep {
# filter initrd images
(!m@^/boot/init@);
} (</boot/vmlinu*>, </boot/*.img>, </boot/kernel*>);

Should be possible to configure custom paths to be open for various EFI setups.

@liske liske modified the milestones: v3.9, v3.10 Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants