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