[CentOS] C8.1 Grub problem

Tue Apr 7 08:14:17 UTC 2020
Alessandro Baggi <alessandro.baggi at gmail.com>

Il 06/04/20 20:51, Jonathan Billings ha scritto:
> On Mon, Apr 06, 2020 at 04:03:53PM +0200, Alessandro Baggi wrote:
>> I'm on 8.1. I'm searching help to see if this is a bug or error by me but
>> can't find nothing.
>> Currently I used grubby but it does not write any file that I know like
>> /boot/efi/EFI/centos/grub.cfg (I tried to remove and add arg but nothing
>> changed on files), so I don't know where it make update.
>> I never got a problem using grub2-mkconfig -o file on C7 (last used was 7.5)
>> It always worked as expected to me (for example when I installed nvidia
>> driver using NVIDIA package to blacklist nouveau manually).
> In CentOS 8, GRUB2 uses 'blscfg' to store bootloader-independent boot
> entries in /boot/loader/entries (by default).  grub2-mkconfig
> generates an initial configuration but grubby modifies the individual
> bootloader spec files in the entries directory.  After It's updated
> the kernel arguments, it overrides the kernelopts in the grub.cfg and
> hard-codes them per-spec file.
> In addition to providing a bootloader-agnostic config file, another
> benefit of blscfg is that the EFI volume is usually a FAT32 filesystem
> and can't recover easily from filesystem errors.  We want to avoid
> writing to the EFI volume repeatedly, so we write a single
> configuration once and it should remain static.  New kernel entries
> create new bootloader spec files in /boot/loader/entries/, which is on
> the /boot filesystem, which is normally a journaled EXT4 or XFS
> filesystem, which can recover better from failures.
Hi Jonathan,

thank you for your explanation. So in el8 grubby should be used to 
update kernel opts and grub2-mkconfig is used to generate an initial config.

If I'm not wrong, grubby updates every single (sperated) entries on 
/boot/loader/entries and then generate the /boot/efi/EFI/centos/grub.cfg?

Suppose that I want use only grub2-mkconfig to generate the grub.cfg 
what other operation are needed to make it working?

Thank you in advance.