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
 | |
| 
 |