Coreboot

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 7. juli 2022; verifikation kræver 1 redigering .

coreboot
Type indlejret software , operativsystemindlæser og gratis og open source-software
Forfatter Ronald G. Minnich, Eric Biederman, Li-Ta (Ollie) Lo, Stefan Reinauer og coreboot-fællesskabet
Skrevet i C og assemblersprog
Første udgave september 1999 [2]
Hardware platform ARM , IA-32 og x86_64
nyeste version
Stat up-to-date, under udvikling
Licens GNU GPL 2
Internet side coreboot.org
 Mediefiler på Wikimedia Commons

coreboot (tidligere LinuxBIOS [3] ) er et gratis firmwareprojekt til en række pc'er godkendt af Free Software Foundation . Målet med projektet er at erstatte de proprietære og lukkede BIOS- og UEFI -systemer, der bruges af de fleste personlige computere , med et letvægts-system, der udelukkende er designet til at starte og køre moderne 32-bit og 64-bit operativsystemer .

Da coreboot initialiserer hardwaren, skal designet skræddersyes til hvert chipset og hvert bundkort . Som følge heraf er coreboot kun tilgængelig for et begrænset antal hardwareplatforme og bundkortmodeller.

En variant af coreboot er Libreboot , en variant af coreboot, der har til formål at eliminere proprietær firmware (Blobs) helt .

Generel information

Den typiske opgave for coreboot er at indlæse Linux -kernen , men derudover kan coreboot indlæse og køre ELF - eksekverbare filer , almindeligvis omtalt som payloads .  Nyttelasten kan for eksempel være Etherboot , som er i stand til at starte Linux over netværket, eller SeaBIOS  , en gratis BIOS-implementering, der giver dig mulighed for at starte Windows 2000/XP/Vista/7 og *BSD-systemer (tidligere blev ADLO- belastning brugt for dette ). Coreboot kan starte operativsystemet fra enhver understøttet enhed såsom Myrinet , QsNet eller SCSI .

Coreboot udfører hardwareinitialisering, som operativsystemet ikke kan udføre fuldt ud, hvorefter det overfører kontrol til Payload-modulet, som kan udføre yderligere OS-indlæsning eller udføre nogle andre nyttige handlinger.

Coreboot understøtter x86 , x86-64 , ARM , ARM64, MIPS og RISC-V arkitekturer .

Forskellen mellem coreboot og Legacy BIOS er, at x86-versionen starter i beskyttet tilstand efter kun at have udført seksten processorinstruktioner, mens typiske x86 BIOS'er for det meste kører i processorens rigtige tilstand. Kombinationen af ​​disse faktorer og enkelheden i det interne design gør opstart fra Coreboot meget hurtig (i øjeblikket er koldstartsrekorden med CoreBoot ca. 3 sekunder).

Selvom LinuxBIOS havde ordet Linux i sit navn, kunne LinuxBIOS også indlæse andre styresystemkerner. For eksempel kunne LinuxBIOS indlæse Plan 9 -kernen direkte . Derfor er den blevet omdøbt til coreboot .

Nyttelast

Selve Coreboot er kun et lille program, der initialiserer hardwaren på bundkortet, hvorefter kontrollen overføres til et af nyttelastprogrammerne:

Udvikling og fejlretning af coreboot

Da coreboot skal initialisere hardwaren, skal den tilpasses til at understøtte hver systemcontroller ( chipsæt ) og hvert kort baseret på en sådan controller. Tilføjelse af understøttelse for ethvert nyt board er kompliceret af fejlfindingsproblemer: fejlretningsinformation udlæses ved hjælp af denne eller hin hardware, men hvordan organiserer man outputtet, når outputmidlerne endnu ikke er blevet initialiseret?

Coreboot bruger flere enheder og tricks til at gøre fejlfinding lettere:

RAM-initialisering

Den mest komplekse del af coreboot er koden, der initialiserer RAM og RAM-controlleren. Faktum er, at indtil RAM'en er initialiseret, kan den ikke bruges. Den oplagte måde at initialisere RAM-controlleren og selve RAM på uden at få adgang til den er at bruge processorens generelle formålsregistre. For at forenkle denne komplekse opgave blev der udviklet en speciel C -sprog-compiler  - romcc ( eng.  romcc ) , som genererer kode, der ikke giver RAM-adgang under arbejdet. romcc kompilerer kode, der initialiserer RAM ved at få adgang til SPD ROM på DIMM'er over SMBus . Efter at have udført denne kode, kan RAM bruges.

Se også

Noter

  1. Roth M. annoncerer coreboot 4.1 - 2022.
  2. https://www.linuxjournal.com/article/7170
  3. [LinuxBIOS] Velkommen til coreboot (12. januar 2008). Hentet 2. juli 2019. Arkiveret fra originalen 1. juni 2013.
  4. Arkiveret kopi . Hentet 18. marts 2012. Arkiveret fra originalen 23. april 2012.

Links