close
Vés al contingut

Coreboot

De la Viquipèdia, l'enciclopèdia lliure
ImageCoreboot
Image Modifica el valor a Wikidata
Image Modifica el valor a Wikidata
Tipusmicroprogramari, bootloader i programari lliure i de codi obert Modifica el valor a Wikidata
Versió inicial
setembre 1999 Modifica el valor a Wikidata
Versió estable
25.12 (26 desembre 2025) Modifica el valor a Wikidata
LlicènciaGNU GPL 2.0 Modifica el valor a Wikidata
Part deSoftware Freedom Conservancy Modifica el valor a Wikidata
Característiques tècniques
Plataformax86
Escrit enC i llenguatge assemblador Modifica el valor a Wikidata
Equip
Creador/sRonald G. Minnich, Eric Biederman, Olli Lo, Stefan Reinauer, comunidad coreboot
Desenvolupador(s)Patrick Georgi i Kyösti Mälkki Modifica el valor a Wikidata
Més informació
Lloc webcoreboot.org (anglès) Modifica el valor a Wikidata
Free Software Directorycoreboot Modifica el valor a Wikidata

GitHub: coreboot
X: coreboot_org Mastodon: coreboot@fosstodon.org LinkedIn (empresa): coreboot Modifica el valor a Wikidata

El coreboot (abans anomenat LinuxBIOS ) és un projecte dirigit a reemplaçar el firmware no lliure dels BIOS propietaris, trobats en la majoria dels computadors, per un BIOS lliure i lleuger dissenyat per realitzar només el mínim de tasques necessàries per carregar i córrer un sistema operatiu modern de 32 bits o de 64 bits . coreboot és recolzat per la Free Software Foundation (FSF).[1]

La seva existència no es basa en una necessitat tecnològica, sinó en un motiu ètic, ja que per als membres de la FSF és important que tot el programari del PC sigui lliure, i el BIOS ha estat l'únic que ha quedat oblidat. Els autors esperen que en els propers anys alguns fabricants estiguin disposats a distribuir-lo en les seves màquines, atès el seu caràcter gratuït.

Història

[modifica]
Image
Creixement de coreboot des de 2002 a 2007.

El projecte coreboot va ser iniciat l'hivern de 1999 en el Advanced Computing Laboratory de Los Alamos National Laboratory, i el 2006 es va alliberar la seva primera versió estable, llista per a la seva producció.[2] Està llicenciat sota la GNU GPL. Els contribuents principals han estat LANL, AMD, coresystems gmbH i Linux Networx, Inc, així com els fabricants de plaques base MSI, Gigaoctet i Tyan, oferint coreboot al costat del BIOS propietari estàndard o proporcionant les especificacions de les interfícies del maquinari per algunes de les seves plaques base recents. No obstant això, Tyan sembla haver abandonat el suport per coreboot, però en canvi cal dir que Google és patrocinador del projecte coreboot.[3]

Informació general

[modifica]

El coreboot va ser creat al principi per arrencar sistemes operatius amb nucli Linux, però actualment pot carregar qualsevol altre executable stand-alone (independent) d' ELF, com per exemple l' Etherboot, que pot carregar Linux des d'un servidor de carregador o d'un ADLO que pot carregar Microsoft Windows 2000, OpenBSD . coreboot també pot carregar gestors d'arrencada, com LILO, GNU GRUB o altres firmware com OpenBIOS, Open Firmware o SmartFirmware, i gairebé qualsevol sistema operatiu de qualsevol dispositiu suportat, com Myrinet, Quadrics, o interconnexions de cluster SCI. Alguns sistemes operatius requereixen funcions heretades del BIOS (com Windows XP) i no correran sense una adaptació.

El Coreboot fa qualsevol inicialització del maquinari que Linux no fa i deixa al Linux finalitzar la inicialització del maquinari.

Una notable característica única de coreboot és que la versió x86 corre en mode de 32 bits després d'executar només setze instruccions (gairebé tots els altres BIOS de x86 corren exclusivament en mode de 16 bits ). S'ha creat amb la intenció que realitzi la seva comesa en el mínim d'instruccions possible. En treballar en mode de 32 bits fa que corri molt ràpid, el seu rècord actual d' arrencada en fred és de 3 segons fins a la interfície d'ordres..

El Coreboot pot carregar altres nuclis que no siguin Linux, o, en lloc d'això, pot passar el control a un carregador per arrencar un nucli o imatge. coreboot també pot carregar directament el nucli Pla 9.

Desenvolupament i depuració de coreboot

[modifica]

Com que coreboot ha d'inicialitzar des de la placa mare ha de ser adaptat a tots els chipset de plaques base que suporti. Abans d'inicialitzar la RAM, coreboot inicialitza el port sèrie (direccionant només la memòria cau i els registres), de manera que pugui enviar text de depuració a un emulador de terminal connectat. Coreboot també pot enviar codis de bytes al port 0x80 que es mostren en una pantalla de dos dígits hexadecimals d'una targeta POST connectada. Una altra ajuda és el BIOS Savior, que és una combinació de dos dispositius de BIOS que s'endollen al sòcol del BIOS i tenen un interruptor manual per seleccionar entre ells. Una alternativa més costosa és un programador EPROM / flaix . Hi ha també emuladors de CPU que, o substitueixen al CPU, o es connecten mitjançant un port de JTAG . El codi es pot construir o descarregar als emuladors del BIOS en lloc de flashejar-lo al dispositiu BIOS.

Inicialització de la memòria DRAM

[modifica]

L'element més difícil que inicialitza coreboot és el controlador de DRAM i la memòria DRAM . En alguns casos, la documentació tècnica de com fer-ho no està disponible o està protegida per un NDA (acord de confidencialitat ), per això, fent impossible construir un coreboot. La disposició de la memòria RAM és particularment difícil perquè fins que la RAM sigui inicialitzada, no hi ha RAM disponible per ser utilitzada. La forma d'inicialitzar els controladors de la DRAM sense fer servir la memòria RAM (pel programa) és utilitzar els registres de propòsit general de la unitat central de processament . Per facilitar aquesta tasca, es va desenvolupar un compilador de C, anomenat romcc, que utilitza els registres en comptes de la RAM. Usant romcc, és relativament fàcil fer els accessos de SMBus a les ROM de SPD dels mòduls de DRAM, cosa que permet que la RAM sigui utilitzada. Amb recents processadors x86, la memòria cau del processador pot ser usat com a RAM fins que és inicialitzada la DRAM. El cau del processador també ha de ser inicialitzat en el mode Caché-com-RAM, però això necessita menys instruccions que la inicialització de la DRAM.

Vegeu també

[modifica]

Referències

[modifica]

Enllaços externs

[modifica]
  • Lloc web oficial de coreboot (anglès)
  • LinuxBIOS ready to go mainstream", by Bruce Byfield
  • Web Coreboot.org