Saturday, 5 May 2012

Joggler: booting Linux directly

This is part of my series on running an unmodified Debian on the Joggler. See here for other posts on the same topic.

Thanks to Ben Hutchings (see this bug), the standard Debian kernels in unstable now have the EFI boot stub enabled. This means that you can boot them directly on the Joggler without needing to use a bootloader at all. This isn't all that great for regular booting, because there's no sensible way to pass a command line to the kernel without typing it manually on the shell, but it works very well for debian-installer. All you need to do is download the latest kernel and initrd.gz from the d-i nightly site, rename the kernel from "linux" to "linux.efi", put them on a FAT-formatted stick, and create a file on the stick called boot.nsh containing:
fs1:
linux initrd=\initrd.gz
and then the Joggler should boot directly to the installer. The issue with the keyboard not working when booting from boot.nsh doesn't apply, because Linux doesn't depend on EFI services for input. It also gets loaded at a suitable address without any issues.

For the actual installed system, GRUB is still preferable, since it allows much more flexible boot configuration; my plan there is to wait until GRUB 2.00 is released and makes it into Debian so that it can be installed with the regular grub-efi package.