Skip to content

Conversation

@zeha
Copy link
Member

@zeha zeha commented Dec 11, 2025

known todos:

  • theme image is slightly wrong, needs redo
  • help texts need rewriting
  • test results on arm64
  • test on amd64
  • memtest and other addons need efi/bios conditionalizing was already in place
  • grml2usb!

out of scope: hi-res screens

@zeha zeha self-assigned this Dec 11, 2025
@github-actions
Copy link

🐳 Docker image for this PR is available:

docker pull ghcr.io/grml/grml-live:pr-459

@github-actions
Copy link

github-actions bot commented Dec 12, 2025

@zeha zeha force-pushed the grublegacyboot branch 2 times, most recently from 7280b56 to 8ccf4af Compare December 12, 2025 00:24
@mika
Copy link
Member

mika commented Dec 12, 2025

Very nice starting point, thanks!

GRUB bootloader shows up in BIOS mode, but without any nice graphics:

screenshot 2025-12-12T01-21-29

What enables graphical menu is manually executing in GRUB console (press c to get there and escape key once the commands have been executed):

insmod terminal
set gfxmode=auto
insmod gfxterm
insmod vga
terminal_output gfxterm

Once it's loaded it shows:

screenshot 2025-12-12T01-24-18

But showing this menu is incredibly slow and unuseable as such, needs further work (and of course replace the grub theme to not display UEFI Boot).

@zeha zeha force-pushed the grublegacyboot branch 3 times, most recently from 4e635cd to 8e768a5 Compare December 12, 2025 02:03
@zeha
Copy link
Member Author

zeha commented Dec 12, 2025

...
insmod vga

But showing this menu is incredibly slow and unuseable as such, needs further work (and of course replace the grub theme to not display UEFI Boot).

I think vga is the source of slowness here. Loading vbe (too) makes it fast for me.

@zeha zeha force-pushed the grublegacyboot branch 4 times, most recently from 6aefe48 to aff4a0c Compare December 12, 2025 11:29
@zeha zeha moved this from Accepted to HighPrio in Grml Release Dec 12, 2025
@zeha
Copy link
Member Author

zeha commented Dec 13, 2025

% sudo ./grml2usb --format ../build-daily/results/grml_isos/*iso /dev/sda1
Executing grml2usb version v0.20.10-6-g3f0401e (git)
Choosing syslinux as bootloader
Using syslinux as bootloader
Checking for boot flag
Are you sure you want to format the specified partition? y/N y
Note: you can skip this question using the option --force
Formatting partition using mkfs.vfat
mkfs.fat 4.2 (2021-01-31)
Using ISO ../build-daily/results/grml_isos/grml-full-daily20251213build0testing-amd64.iso
Identified grml flavour "grml-full-amd64".
Copying files. This might take a while....
Fatal: Required file logo.16 not found in /tmp/grml2usb22amox5t

@zeha
Copy link
Member Author

zeha commented Dec 13, 2025

Provided one has grub-pc installed, qemu can boot the result of either of the following commands.

% sudo ./grml2usb --format --force --grub ../build-daily/results/grml_isos/*iso /dev/sda1
Executing grml2usb version v0.20.10-6-g3f0401e (git)
Using grub as bootloader
Checking for boot flag
Forcing mkfs.vfat on /dev/sda1 as requested via option --force.
Formatting partition using mkfs.vfat
mkfs.fat 4.2 (2021-01-31)
Using ISO ../build-daily/results/grml_isos/grml-full-daily20251213build0testing-amd64.iso
Identified grml flavour "grml-full-amd64".
Copying files. This might take a while....
No /boot/grub/grub.cfg found inside EFI image, looks like Secure Boot support is missing.
Skipping syslinux installation, ISO does not support it
Synching data (this might take a while)
Installing default MBR
Installing grub as bootloader
Installing for i386-pc platform.
/usr/sbin/grub-install: warning: File system `fat' doesn't support embedding.
/usr/sbin/grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
/usr/sbin/grub-install: error: will not proceed with blocklists.
Installing for i386-pc platform.
/usr/sbin/grub-install: warning: File system `fat' doesn't support embedding.
/usr/sbin/grub-install: warning: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.
Note: grml flavour grml-full-amd64 was installed as the default booting system.
Note: you can boot flavour grml-full-amd64 using 'grml-full-amd64' on the commandline.
Finished execution of grml2usb (v0.20.10-6-g3f0401e (git)). Have fun with your Grml system.
% sudo ./grml2usb --format --force --grub --grub-mbr ../build-daily/results/grml_isos/*iso /dev/sda1
Executing grml2usb version v0.20.10-6-g3f0401e (git)
Using grub as bootloader
Checking for boot flag
Forcing mkfs.vfat on /dev/sda1 as requested via option --force.
Formatting partition using mkfs.vfat
mkfs.fat 4.2 (2021-01-31)
Using ISO ../build-daily/results/grml_isos/grml-full-daily20251213build0testing-amd64.iso
Identified grml flavour "grml-full-amd64".
Copying files. This might take a while....
No /boot/grub/grub.cfg found inside EFI image, looks like Secure Boot support is missing.
Skipping syslinux installation, ISO does not support it
Synching data (this might take a while)
Installing default MBR
Installing grub as bootloader
Installing for i386-pc platform.
Installation finished. No error reported.
Note: grml flavour grml-full-amd64 was installed as the default booting system.
Note: you can boot flavour grml-full-amd64 using 'grml-full-amd64' on the commandline.
Finished execution of grml2usb (v0.20.10-6-g3f0401e (git)). Have fun with your Grml system.

@mika
Copy link
Member

mika commented Jan 4, 2026

grml-terminalserver also seems to use isolinux files like logo.16 + boot.msg for its setup, so when dropping isolinux/syslinux and fully replacing it with GRUB we should also look into this (noted while looking into grml/grml-terminalserver#17)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: HighPrio

Development

Successfully merging this pull request may close these issues.

3 participants