grub2: Platform limitations
1
1 19 Platform limitations
1 ***********************
1
1 GRUB2 is designed to be portable and is actually ported across
1 platforms. We try to keep all platforms at the level. Unfortunately
1 some platforms are better supported than others. This is detailed in
1 current and 2 following sections.
1
1 ARC platform is unable to change datetime (firmware doesn't seem to
1 provide a function for it). EMU has similar limitation.
1
1 On EMU platform no serial port is available.
1
1 Console charset refers only to firmware-assisted console. gfxterm is
1 always Unicode (see Internationalisation section for its limitations).
1 Serial is configurable to UTF-8 or ASCII (see Internationalisation). In
1 case of qemu and coreboot ports the refered console is vga_text.
1 Loongson always uses gfxterm.
1
1 Most limited one is ASCII. CP437 provides additionally
1 pseudographics. GRUB2 doesn't use any language characters from CP437 as
1 often CP437 is replaced by national encoding compatible only in
1 pseudographics. Unicode is the most versatile charset which supports
1 many languages. However the actual console may be much more limited
1 depending on firmware
1
1 On BIOS network is supported only if the image is loaded through
1 network. On sparc64 GRUB is unable to determine which server it was
1 booted from.
1
1 Direct ATA/AHCI support allows to circumvent various firmware
1 limitations but isn't needed for normal operation except on baremetal
1 ports.
1
1 AT keyboard support allows keyboard layout remapping and support for
1 keys not available through firmware. It isn't needed for normal
1 operation except baremetal ports.
1
1 Speaker allows morse and spkmodem communication.
1
1 USB support provides benefits similar to ATA (for USB disks) or AT
1 (for USB keyboards). In addition it allows USBserial.
1
1 Chainloading refers to the ability to load another bootloader through
1 the same protocol
1
1 Hints allow faster disk discovery by already knowing in advance which
1 is the disk in question. On some platforms hints are correct unless you
1 move the disk between boots. On other platforms it's just an educated
1 guess. Note that hint failure results in just reduced performance, not
1 a failure
1
1 BadRAM is the ability to mark some of the RAM as "bad". Note: due to
1 protocol limitations mips-loongson (with Linux protocol) and
1 mips-qemu_mips can use only memory up to first hole.
1
1 Bootlocation is ability of GRUB to automatically detect where it
1 boots from. "disk" means the detection is limited to detecting the disk
1 with partition being discovered on install time. "partition" means that
1 disk and partiton can be automatically discovered. "file" means that
1 boot image file name as well as disk and partition can be discovered.
1 For consistency default install ignores partition and relies solely on
1 disk detection. If no bootlocation discovery is available or boot and
1 grub-root disks are different, UUID is used instead. On ARC if no
1 device to install to is specified, UUID is used instead as well.
1
1 BIOS Coreboot Multiboot Qemu
1 video yes yes yes yes
1 console CP437 CP437 CP437 CP437
1 charset
1 network yes (*) no no no
1 ATA/AHCI yes yes yes yes
1 AT keyboard yes yes yes yes
1 Speaker yes yes yes yes
1 USB yes yes yes yes
1 chainloader local yes yes no
1 cpuid partial partial partial partial
1 hints guess guess guess guess
1 PCI yes yes yes yes
1 badram yes yes yes yes
1 compression always pointless no no
1 exit yes no no no
1 bootlocation disk no no no
1
1 ia32 EFI amd64 EFI ia32 Itanium
1 IEEE1275
1 video yes yes no no
1 console Unicode Unicode ASCII Unicode
1 charset
1 network yes yes yes yes
1 ATA/AHCI yes yes yes no
1 AT keyboard yes yes yes no
1 Speaker yes yes yes no
1 USB yes yes yes no
1 chainloader local local no local
1 cpuid partial partial partial no
1 hints guess guess good guess
1 PCI yes yes yes no
1 badram yes yes no yes
1 compression no no no no
1 exit yes yes yes yes
1 bootlocation file file file, file
1 ignored
1
1 Loongson sparc64 Powerpc ARC
1 video yes no yes no
1 console N/A ASCII ASCII ASCII
1 charset
1 network no yes (*) yes no
1 ATA/AHCI yes no no no
1 AT keyboard yes no no no
1 Speaker no no no no
1 USB yes no no no
1 chainloader yes no no no
1 cpuid no no no no
1 hints good good good no
1 PCI yes no no no
1 badram yes (*) no no no
1 compression configurable no no configurable
1 exit no yes yes yes
1 bootlocation no partition file file (*)
1
1 MIPS qemu emu xen
1 video no yes no
1 console CP437 Unicode (*) ASCII
1 charset
1 network no yes no
1 ATA/AHCI yes no no
1 AT keyboard yes no no
1 Speaker no no no
1 USB N/A yes no
1 chainloader yes no yes
1 cpuid no no yes
1 hints guess no no
1 PCI no no no
1 badram yes (*) no no
1 compression configurable no no
1 exit no yes no
1 bootlocation no file no
1