grub2: Supported kernels
1
1 21 Supported boot targets
1 *************************
1
1 X86 support is summarised in the following table. "Yes" means that the
1 kernel works on the given platform, "crashes" means an early kernel
1 crash which we hope will be fixed by concerned kernel developers. "no"
1 means GRUB doesn't load the given kernel on a given platform.
1 "headless" means that the kernel works but lacks console drivers (you
1 can still use serial or network console). In case of "no" and "crashes"
1 the reason is given in footnote.
1 BIOS Coreboot
1 BIOS chainloading yes no (1)
1 NTLDR yes no (1)
1 Plan9 yes no (1)
1 Freedos yes no (1)
1 FreeBSD bootloader yes crashes (1)
1 32-bit kFreeBSD yes crashes (5)
1 64-bit kFreeBSD yes crashes (5)
1 32-bit kNetBSD yes crashes (1)
1 64-bit kNetBSD yes crashes
1 32-bit kOpenBSD yes yes
1 64-bit kOpenBSD yes yes
1 Multiboot yes yes
1 Multiboot2 yes yes
1 32-bit Linux (legacy protocol) yes no (1)
1 64-bit Linux (legacy protocol) yes no (1)
1 32-bit Linux (modern protocol) yes yes
1 64-bit Linux (modern protocol) yes yes
1 32-bit XNU yes ?
1 64-bit XNU yes ?
1 32-bit EFI chainloader no (2) no (2)
1 64-bit EFI chainloader no (2) no (2)
1 Appleloader no (2) no (2)
1
1 Multiboot Qemu
1 BIOS chainloading no (1) no (1)
1 NTLDR no (1) no (1)
1 Plan9 no (1) no (1)
1 FreeDOS no (1) no (1)
1 FreeBSD bootloader crashes (1) crashes (1)
1 32-bit kFreeBSD crashes (5) crashes (5)
1 64-bit kFreeBSD crashes (5) crashes (5)
1 32-bit kNetBSD crashes (1) crashes (1)
1 64-bit kNetBSD yes yes
1 32-bit kOpenBSD yes yes
1 64-bit kOpenBSD yes yes
1 Multiboot yes yes
1 Multiboot2 yes yes
1 32-bit Linux (legacy protocol) no (1) no (1)
1 64-bit Linux (legacy protocol) no (1) no (1)
1 32-bit Linux (modern protocol) yes yes
1 64-bit Linux (modern protocol) yes yes
1 32-bit XNU ? ?
1 64-bit XNU ? ?
1 32-bit EFI chainloader no (2) no (2)
1 64-bit EFI chainloader no (2) no (2)
1 Appleloader no (2) no (2)
1
1 ia32 EFI amd64 EFI
1 BIOS chainloading no (1) no (1)
1 NTLDR no (1) no (1)
1 Plan9 no (1) no (1)
1 FreeDOS no (1) no (1)
1 FreeBSD bootloader crashes (1) crashes (1)
1 32-bit kFreeBSD headless headless
1 64-bit kFreeBSD headless headless
1 32-bit kNetBSD crashes (1) crashes (1)
1 64-bit kNetBSD yes yes
1 32-bit kOpenBSD headless headless
1 64-bit kOpenBSD headless headless
1 Multiboot yes yes
1 Multiboot2 yes yes
1 32-bit Linux (legacy protocol) no (1) no (1)
1 64-bit Linux (legacy protocol) no (1) no (1)
1 32-bit Linux (modern protocol) yes yes
1 64-bit Linux (modern protocol) yes yes
1 32-bit XNU yes yes
1 64-bit XNU yes (4) yes
1 32-bit EFI chainloader yes no (3)
1 64-bit EFI chainloader no (3) yes
1 Appleloader yes yes
1
1 ia32 IEEE1275
1 BIOS chainloading no (1)
1 NTLDR no (1)
1 Plan9 no (1)
1 FreeDOS no (1)
1 FreeBSD bootloader crashes (1)
1 32-bit kFreeBSD crashes (5)
1 64-bit kFreeBSD crashes (5)
1 32-bit kNetBSD crashes (1)
1 64-bit kNetBSD ?
1 32-bit kOpenBSD ?
1 64-bit kOpenBSD ?
1 Multiboot ?
1 Multiboot2 ?
1 32-bit Linux (legacy protocol) no (1)
1 64-bit Linux (legacy protocol) no (1)
1 32-bit Linux (modern protocol) ?
1 64-bit Linux (modern protocol) ?
1 32-bit XNU ?
1 64-bit XNU ?
1 32-bit EFI chainloader no (2)
1 64-bit EFI chainloader no (2)
1 Appleloader no (2)
1
1 1. Requires BIOS
1 2. EFI only
1 3. 32-bit and 64-bit EFI have different structures and work in
1 different CPU modes so it's not possible to chainload 32-bit
1 bootloader on 64-bit platform and vice-versa
1 4. Some modules may need to be disabled
1 5. Requires ACPI
1
1 PowerPC, IA64 and Sparc64 ports support only Linux. MIPS port
1 supports Linux and multiboot2.
1
1 21.1 Boot tests
1 ===============
1
1 As you have seen in previous chapter the support matrix is pretty big
1 and some of the configurations are only rarely used. To ensure the
1 quality bootchecks are available for all x86 targets except EFI
1 chainloader, Appleloader and XNU. All x86 platforms have bootcheck
1 facility except ieee1275. Multiboot, multiboot2, BIOS chainloader,
1 ntldr and freebsd-bootloader boot targets are tested only with a fake
1 kernel images. Only Linux is tested among the payloads using Linux
1 protocols.
1
1 Following variables must be defined:
1
1 GRUB_PAYLOADS_DIR directory containing the required kernels
1 GRUB_CBFSTOOL cbfstool from Coreboot package (for coreboot
1 platform only)
1 GRUB_COREBOOT_ROM empty Coreboot ROM
1 GRUB_QEMU_OPTS additional options to be supplied to QEMU
1
1 Required files are:
1
1 kfreebsd_env.i386 32-bit kFreeBSD device hints
1 kfreebsd.i386 32-bit FreeBSD kernel image
1 kfreebsd.x86_64, same from 64-bit kFreeBSD
1 kfreebsd_env.x86_64
1 knetbsd.i386 32-bit NetBSD kernel image
1 knetbsd.miniroot.i386 32-bit kNetBSD miniroot.kmod.
1 knetbsd.x86_64, same from 64-bit kNetBSD
1 knetbsd.miniroot.x86_64
1 kopenbsd.i386 32-bit OpenBSD kernel bsd.rd image
1 kopenbsd.x86_64 same from 64-bit kOpenBSD
1 linux.i386 32-bit Linux
1 linux.x86_64 64-bit Linux
1