Likely to be down to
?
Iâll look into this as soon as possible.
But until the reason is found, we can consider grub-silent and grub-tools âconflictingâ.
Packages grub-silent
and grub-tools
may not be fully compatible. Especially future changes of grub-silent
may complicate things further because grub-silent
and grub-tools
have (partially) been changing the same grub source code files.
Anyway, after replacing grub
with grub-silent
, you should run commands
grub-fix-initrd-generation grub-mkconfig -o /boot/grub/grub.cfg
to make grub-silent and grub-tools work together (but no guarantees!).
And if you update grub-silent
later, you may need to run those commands again.
EDIT: as mentioned below by @mireiner , grub-fix-initrd-generation
will update grub, so a separate command for updating grub is not needed.
Hello Manuel,
thank you for the fix. It works!
I suspect that you can skip the âgrub-mkconfig -o /boot/grub/grub.cfgâ command. Because I got the impression that the command âgrub-fix-initrd-generationâ already does a grub update as last step.
When I saw this when running the command âgrub-fix-initrd-generationâ I didnât run the ânormalâ grub update after that. And it worked.
So I suspect if you have grub-silent installed you just have to run âgrub-fix-initrd-generationâ to update grub instead of âgrub-mkconfig -o /boot/grub/grub.cfgâ and youâre done.
In the long run the ideal solution might be to include the code of grub-silent into EndeavourOS grub-tools - or make it in some way optional.
Thanks again,
mireiner
Thatâs true! I had already forgot it, as the initial version of grub-fix-initrd-generation did not update grub.
Anyway, thanks for reminding!
By the way, welcome aboard! :
Hello Manual & Pudge,
thank you both for your welcome.
I have to correct myself. Now as the first kernel update came in I saw that âgrub-fix-initrd-generationâ didnât automatically call âgrub-mkconfig -o /boot/grub/grub.cfgâ. Probably itâs doing this only for a fresh grub install.
So itâs just as Manual stated: Both commands have to be called after another if the kernel has updated. A bash alias can make it more handy:
alias update-grub=âsudo grub-fix-initrd-generation && sudo grub-mkconfig -o /boot/grub/grub.cfgâ
A pacman hook
/etc/pacman.d/hooks/grub-update-after-kernel.hook
calls grub-mkconfig ...
when a kernel or microcode is installed or removed.
Grub doesnât need to be updated if kernel is updated.
Another pacman hook
/etc/pacman.d/hooks/grub-fix-initrd-generation.hook
calls grub-fix-initrd-generation
when either grub
or os-prober
is updated.
is this solved?
Yes (so far) in the 4th post here. Just need to run those 2 commands as root after installing or updating grub-silent.
The problem is in the grub-silent package.
Edit: in fact Iâll add grub-silent
to the same hook as grub
currently is.