Platform limitations: Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== 20 Plattformbegränsningar == GRUB2 är designad för att vara portabel och är faktiskt porterad över olika plattformar. Vi försöker hålla alla plattformar på samma nivå. Tyvärr är vissa plattformar bättre stödda än andra. Detta beskrivs i denna och de två följande sektionerna. Alla plattformar har en konstgjord GRUB-pålagd diskstorleksbegränsning på 1 EiB. I vissa fall kan större diskar användas, men åtkomst kommer inte att tillåtas bortom 1 Ei...')
(Ingen skillnad)

Versionen från 18 september 2024 kl. 16.41

20 Plattformbegränsningar

GRUB2 är designad för att vara portabel och är faktiskt porterad över olika plattformar. Vi försöker hålla alla plattformar på samma nivå. Tyvärr är vissa plattformar bättre stödda än andra. Detta beskrivs i denna och de två följande sektionerna.

Alla plattformar har en konstgjord GRUB-pålagd diskstorleksbegränsning på 1 EiB. I vissa fall kan större diskar användas, men åtkomst kommer inte att tillåtas bortom 1 EiB.

LUKS2-enheter med storlek större än 16 EiB stöds för närvarande inte. De kan inte skapas som kryptoenheter av `cryptomount`, så de kan inte ens läsas delvis. LUKS har inga andra begränsningar än de som påläggs av formatet.

ARC-plattformen kan inte ändra datum och tid (firmware verkar inte tillhandahålla en funktion för det). EMU har en liknande begränsning.

På EMU-plattformen finns ingen seriell port tillgänglig.

Teckenuppsättningen för konsolen hänvisar endast till firmware-assisterad konsol. `gfxterm` är alltid Unicode (se avsnittet Internationalisation för dess begränsningar). Seriell är konfigurerbar till UTF-8 eller ASCII (se Internationalisation). I fallet med QEMU- och Coreboot-portar är den refererade konsolen `vga_text`. Loongson använder alltid `gfxterm`.

Den mest begränsade är ASCII. CP437 ger dessutom pseudografik. GRUB2 använder inte några språkkaraktärer från CP437 eftersom CP437 ofta ersätts av nationell kodning som bara är kompatibel i pseudografik. Unicode är den mest mångsidiga teckenuppsättningen som stöder många språk. Men den faktiska konsolen kan vara mycket mer begränsad beroende på firmware.

På BIOS stöds nätverk endast om bilden laddas via nätverket. På sparc64 kan GRUB inte bestämma vilken server den startades från.

Direkt ATA/AHCI-stöd gör det möjligt att kringgå olika firmwarebegränsningar men behövs inte för normal drift förutom på baremetal-portar.

AT-tangentbordsstöd tillåter ommappning av tangentbordslayout och stöd för tangenter som inte är tillgängliga via firmware. Det behövs inte för normal drift förutom på baremetal-portar.

Högtalaren möjliggör morse- och spkmodem-kommunikation.

USB-stöd ger fördelar liknande ATA (för USB-diskar) eller AT (för USB-tangentbord). Dessutom möjliggör det USB-seriell kommunikation.

Chainloading hänvisar till förmågan att ladda en annan bootloader genom samma protokoll.

Tips tillåter snabbare diskupptäckt genom att redan veta i förväg vilken disk det handlar om. På vissa plattformar är tipsen korrekta om du inte flyttar disken mellan omstarter. På andra plattformar är det bara en kvalificerad gissning. Observera att misslyckande av tips resulterar i endast reducerad prestanda, inte ett fel.

BadRAM är förmågan att markera en del av RAM-minnet som "dåligt". Observera: på grund av protokollbegränsningar kan mips-loongson (med Linux-protokoll) och mips-qemu_mips endast använda minne upp till första hålet.

Bootlocation är GRUBs förmåga att automatiskt upptäcka varifrån den startar. "disk" betyder att upptäckten är begränsad till att upptäcka disken med partition som upptäcks vid installation. "partition" betyder att disk och partition kan upptäckas automatiskt. "file" betyder att startbildsfilnamnet samt disk och partition kan upptäckas. För konsekvensens skull ignorerar standardinstallationen partitionen och förlitar sig enbart på diskuppptäckt. Om ingen bootlocation-upptäckt är tillgänglig eller om boot- och grub-root-diskarna är olika, används UUID istället. På ARC, om ingen enhet att installera till anges, används UUID också istället.

Plattformsspecifika funktioner

Funktion BIOS Coreboot Multiboot QEMU
video ja ja ja ja
teckenuppsättning för konsol CP437 CP437 CP437 CP437
nätverk ja (*) nej nej nej
ATA/AHCI ja ja ja ja
AT-tangentbord ja ja ja ja
högtalare ja ja ja ja
USB ja ja ja ja
chainloader lokal ja ja nej
cpuid delvis delvis delvis delvis
rdmsr delvis delvis delvis delvis
wrmsr delvis delvis delvis delvis
tips gissning gissning gissning gissning
PCI ja ja ja ja
badram ja ja ja ja
komprimering alltid meningslös nej nej
exit ja nej nej nej
bootlocation disk nej nej nej
Funktion ia32 EFI amd64 EFI ia32 IEEE1275 Itanium
video ja ja nej nej
teckenuppsättning för konsol Unicode Unicode ASCII Unicode
nätverk ja ja ja ja
ATA/AHCI ja ja ja nej
AT-tangentbord ja ja ja nej
högtalare ja ja ja nej
USB ja ja ja nej
chainloader lokal lokal nej lokal
cpuid delvis delvis delvis nej
rdmsr delvis delvis delvis nej
wrmsr delvis delvis delvis nej
tips gissning gissning bra gissning
PCI ja ja ja nej
badram ja ja nej ja
komprimering nej nej nej nej
exit ja ja ja ja
bootlocation fil fil fil, ignorerad fil
Funktion Loongson sparc64 PowerPC ARC
video ja nej ja nej
teckenuppsättning för konsol N/A ASCII ASCII ASCII
nätverk nej ja (*) ja nej
ATA/AHCI ja nej nej nej
AT-tangentbord ja nej nej nej
högtalare nej nej nej nej
USB ja nej nej nej
chainloader ja nej nej nej
cpuid nej nej nej nej
rdmsr nej nej nej nej
wrmsr nej nej nej nej
tips bra bra bra nej
PCI ja nej nej nej
badram ja (*) nej nej nej
komprimering konfigurerbar nej nej konfigurerbar
exit nej ja ja ja
bootlocation nej partition fil fil (*)
Funktion MIPS QEMU EMU Xen
video nej ja nej
teckenuppsättning för konsol CP437 Unicode (*) ASCII
nätverk nej ja nej
ATA/AHCI ja nej nej
AT-tangentbord ja nej nej
högtalare nej nej nej
USB N/A ja nej
chainloader ja nej ja
cpuid nej nej ja
rdmsr nej nej ja
wrmsr nej nej ja
tips gissning nej nej
PCI nej nej nej
badram ja (*) nej nej
komprimering konfigurerbar nej nej
exit nej ja nej
bootlocation nej fil nej