# ROM d'arrencada

La ROM d'arrencada és un tipus de ROM que s'utilitza per arrencar un sistema informàtic. Hi ha dos tipus: una ROM d'arrencada de màscara que no es pot canviar després i una EEPROM d'arrencada, que pot contenir una implementació UEFI.

## Propòsit

Quan s'engega, el maquinari normalment comença sense inicialitzar. Per continuar arrencant, és possible que el sistema hagi de llegir un carregador d'arrencada des d'algun dispositiu perifèric. Sovint és més fàcil implementar rutines per llegir des de dispositius d'emmagatzematge externs al programari que al maquinari. Una ROM d'arrencada proporciona un lloc per emmagatzemar aquest codi de càrrega inicial, en una ubicació fixa immediatament disponible per al processador quan comença l'execució.

## Funcionament

La ROM d'arrencada s'assigna a la memòria en una ubicació fixa i el processador està dissenyat per començar a executar-se des d'aquesta ubicació després del reinici. Normalment, es col·loca a la mateixa matriu que la CPU, però també pot ser un xip ROM extern, com és habitual en sistemes més antics.
Aleshores, la ROM d'arrencada inicialitzarà els busos de maquinari i els perifèrics necessaris per arrencar. En alguns casos, la ROM d'arrencada és capaç d'inicialitzar la memòria RAM, i en altres casos depèn del carregador d'arrencada fer-ho.
Al final de la inicialització del maquinari, la ROM d'arrencada intentarà carregar un carregador d'arrencada des de perifèrics externs (com un eMMC, una targeta microSD, una EEPROM externa, etc.) o mitjançant protocols específics en un bus. per a la transmissió de dades (com USB, UART, etc.).
En molts sistemes en un xip, es poden configurar els perifèrics o busos des dels quals la ROM d'arrencada intenta carregar el carregador d'arrencada (com ara eMMC per al carregador d'arrencada incrustat o EEPROM externa per a la implementació UEFI) i l'ordre en què es carreguen. Aquesta configuració es pot fer bufant alguns fusibles electrònics dins del sistema en un xip per codificar aquesta informació, o tenint pins o ponts específics del sistema en un xip alt o baix.
Algunes ROM d'arrencada són capaços de comprovar la signatura digital del carregador d'arrencada i es negaran a executar el carregador d'arrencada i aturaran l'arrencada si la signatura no és vàlida o no s'ha signat amb una clau autoritzada. Amb algunes ROM d'arrencada, el hash de la clau pública necessària per verificar les signatures està codificat en fusibles electrònics dins del sistema en un xip. Alguns sistemes d'arrencada ROM d'un xip també admeten una infraestructura de clau pública i el hash de la clau pública de l'autoritat de certificació (CA) es codifica als fusibles electrònics, i la ROM d'arrencada podrà comprovar si el carregador d'arrencada està signat per un clau autoritzada verificant aquesta clau amb la clau pública CA (el hash de la qual està codificat als fusibles electrònics).
Aleshores, aquesta característica es pot utilitzar per implementar funcions de seguretat o com a arrel de maquinari de confiança en una cadena de confiança, però un cop configurada, els usuaris se'ls nega la llibertat de substituir el carregador d'arrencada pel que vulguin. A causa d'això, la funció ha suscitat una forta preocupació per part de la comunitat de programari lliure.
Just abans de saltar al carregador d'arrencada, alguns sistemes d'un xip també eliminen la ROM d'arrencada de l'assignació de memòria, mentre que d'altres no, la qual cosa permet bolcar la ROM d'arrencada d'una anàlisi posterior. Si la ROM d'arrencada encara és visible, els carregadors d'arrencada també poden trucar al codi de la ROM d'arrencada (que de vegades està documentat).

## Referències

* ↑ Bin, Niu. «Research and design of Bootrom supporting secure boot mode». A: 2020 International Symposium on Computer Engineering and Intelligent Communications (ISCEIC) (en anglès), August 2020, p. 5–8. DOI 10.1109/ISCEIC51027.2020.00009. ISBN 978-1-7281-8171-4.
* ↑ Hoffman, Chris. «How to Boot Your Computer From a Disc or USB Drive» (en anglès), 12-06-2017. [Consulta: 28 desembre 2023].
* ↑ «Proceso de arranque para dispositivos iOS y iPadOS» (en anglès). [Consulta: 28 desembre 2023].
* ↑ Costa, Andre Da. «BIOS/UEFI Setup Guide: Boot from a CD, DVD, USB Drive or SD Card» (en anglès americà), 17-01-2017. [Consulta: 28 desembre 2023].