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