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