Raspberrypi boot loader still using extlinux

For a while I had both:

boot.loader.generic-extlinux-compatible.enable = true;
boot.loader.raspberryPi.enable = true;

and lately got a message since 22.05 about this duplicate not being checked until recently.

I disabled generic-extlinux-compatible, but in the boot process I still see a message about /boot/extlinux/extlinux.conf being loaded and the boot menu shows some older non-recent generations even though newer generations appear in /boot/old. If I re-enable generic-extlinux-compatible, the boot menu gets refreshed and I see the most recent generation available. I’d like to use the raspberryPi boot loader though. How do I switch to it? I tried just deleting /boot/extlinux but this led to an unbootable system.

With help of @vivy my question has basically been answered here: Raspberry pi boot.loader.raspberrypi.firmwareConfig not taking effect

The standard sdimage makes a small vfat where the boot stuff goes. This probably never gets mounted, depending on your config. With generic-extlinux-compatible still enabled, the extlinux.conf on the main partition gets updated and somehow still read before Nix even boots. To manage config.txt and and the bootloader files from configuration.nix, you need to get the /boot in vfat mounted when you’re running nixos-rebuild switch. But, with the standard sdimage, the partition is probably too small. I made a custom image instead.

Hosted by Flying Circus.