Systemd-boot - Kernel Version in Boot Entry


Another systemd-boot question. I’ve exclusively used Grub for over a decade. So all this is new for me.

I noticed when booting to EOS using systemd-boot, the kernel version shows up in the boot entry. I have a 2nd system with just vanilla Arch Linux installed. This machine doesn’t have the kernel version listed here. It just says “Arch Linux” or something similar with nothing else.

I find this to a be a super cool feature of EOS. I’m just curious how this works. Is there a way for me to modify my Arch system so it also shows the kernel version like my EOS machine? I dug into the loader.conf file on both systems, but I can’t piece together what makes this all work.

Thanks in advance!

It is because we use kernel-install. The is in the entries.

Your other Arch system is probably using a static entry since the kernel names don’t change.

With kernel-install, it creates new entries whenever it is run so they have the name in them.

You can, of course, use kernel-install on an Arch-based system if you would like. I maintain an AUR package called kernel-install-mkinitcpio which provides automation for kernel-install when using mkinitcpio.

Of course, it might take a little bit of conversion work to switch.

1 Like

Insightful answer, thank you! Much more complex than what I was imagining. Systemd-boot seems a lot more monolithic than Grub. Coming from Grub, I’m used to being able to customize almost everything that appears on that boot loader screen fairly easily. I was imagining it was just like an attribute tag you could place at the end of the menu entry or something. I was way off!

I installed your AUR package, but didn’t get too much further than that. Played around with the mkinitcpio and kernel-install commands, but only really managed to generate some binary files that appear fairly useless for what I’m trying to accomplish. From what I can tell, you’re saying that the kernel version gets added to the boot entry as part of the process of preparing the EOS .ISO files for distribution. But this happens because of the framework that you maintain. Making this modification to an existing install is clearly well beyond my skill or knowledge.

Appreciate the answer. Gave me something to chew on at least. Might just switch this other machine to EOS if I decide I really care that much. Like to switch back and fourth between vanilla Arch Linux and EOS to see if I can spot some of the differences. Always interesting to see what goes into creating these distributions. Definitely appreciate the work you all put in.

Thanks again!

1 Like

It is probably just a matter of installing the package, running sudo reinstall-kernels and then deleting the extra stuff you don’t need anymore like the extra kernels/initrams in /boot and the old entries.

That being said, it isn’t life changing or anything so if what you have works, it is all good. :slightly_smiling_face:

1 Like

Oh, wow! Yep, that did the trick. Happened exactly as you described. Running that command with kernel-install-mkinitcpio installed created the Arch Linux entry in the systemd-boot menu with the kernel version at the end. That’s what I was hoping for.

There is some extra entries in there I’ll have to go in and try to remove. It does make me wonder what will happen the next time I do a kernel update. Will it just keep creating new entries with the latest version number or does it “overwrite” the old one?

You’ve already done way more than enough so please don’t feel obligated to respond. Hopefully I should be able to figure out the rest. Glad it ended up being a little easier than what I was thinking when I read your original response. The framework you maintain in the AUR is really neat.

Thank you!

There is an entries directory in the same place as loader.conf. Delete the extra entries from there.

It will remove the old entries and replace them with the new entries.

1 Like

Yes, correct! The directory is /boot/loader/entries for me. I just deleted the files that were created before today. Cleaned it up really nice. Here’s what it looks like now

. Nice and clean. I’m sure most people would find it kind of silly, but I like the visual of seeing the kernel version number before the system starts up. Gives me a nice cozy feeling haha.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.