
22.02.2025 16:22, Stefan Seyfried via openSUSE Factory wrote:
Hi Andrei,
Am 22.02.25 um 14:13 schrieb Andrei Borzenkov:
22.02.2025 12:16, Stefan Seyfried via openSUSE Factory wrote:
IIUC, e.g. blscfg on x86 is only possible with UEFI
That's incorrect as was already mentioned in this very discussion. grub2 does not care where boot entries come from as long as it can read them.
Ok, but probably not in a simple "no grub.cfg needed at all" configuration as seems to be envisioned for the UEFI case.
blscfg defaults to scanning the device defined as $root which by default points to your /boot. It does mean that distribution needs to maintain two locations of the BLS entries depending on the current boot mode (or currently selected bootloader). It also means you cannot share BLS entries between installed instances (which could be considered an advantage :) ) Finally, nothing stops you from using whatever location you like and embedding its discovery in the grub binary. It does mean more maintenance work. But from end-user (end-admin) PoV it eliminates grub.cfg.
(I know that it is possible, as it clearly is on RHEL's powerpc installation ;-)
As long as syslinux is still available and the kernel installation still creates a /boot/vmlinuz and /boot/initrd, we can always boot using extlinux from an ext3 partition or similar.
The challenge is not to load kernel but to maintain the list of available kernels. You can always set "no bootloader" in YaST Bootloader and install whatever you like; but it also stops refreshing your bootloader configuration on kernel installation/removal.
Yes, that's something that's simply not possbile anymore. Or has to be handled by the users on their own. It's no longer $YAST_SUCCESSOR's business. Maybe the linux kernel installation scripts could be amended to not only create "/boot/vmlinuz" symlink but also "vmlinuz.old"
With perl-Bootloader converted to the simple plugin based architecture, you can drop your scripts under /usr/lib/bootloader. It will not be manageable by YaST, but should otherwise work. I wish SUSE used installkernel as the single entry point, but it does not.