Good day! I am trying to ensure the best feature set for a GRUB2 secondary payload of SeaBIOS. First of all, I checked what GRUB2 modules I have in a fully-updated Artix (arch without systemd) installation:
ls -al /boot/grub/i386-pc/ | cut -c44- | awk '{ print substr( $0, 1, length($0)-4 ) }' | tr '\n' ' '
Then I tried using this list as a value for CONFIG_GRUB2_EXTRA_MODULES (could not set it with 'make menuconfig' because it was way too long, so had to edit a ./coreboot/.config manually) - but for some reason not all GRUB2 modules are available: while trying to build, I constantly got the errors like: ... config.status: creating grub ./grub-mkstandalone: error: cannot open `grub-core//pxechain.mod': No such file or directory. make[2]: *** [Makefile:15040: default_payload.elf] Error 1 make[1]: *** [Makefile:45: grub2] Error 2 make: *** [payloads/external/Makefile.mk:276: grub2] Error 2
- and had to remove the "missing modules" from this variable one-by-one. Eventually I got the max possible GRUB2 module set - please see attachments (without any modules at all, img/grub2 occupies 472 KB at CBFS; with all these modules - 710 KB). However, what worries me is why these modules are unavailable at coreboot+SeaBIOS version of GRUB2 :
biosdisk bufio cacheinfo cbtable command core drivemap font freedos fs gfxterm legacycfg legacy_password_test load lsapm moddep modinf ntldr partmap plan9 pxechain pxe sendkey truecrypt vbe vga vga_text video_fb video
Some of those missing ones could be valuable - like a truecrypt module... Do you know why they are missing and how to debug this?