Raspberry Pi: har den BIOS?

Raspberry Pi BIOS

Vissa användare undrar om Raspberry Pi har BIOS eller UEFI, liksom andra datorer, eftersom UEFI, som ni vet, även stöds på armbaserade datorer, vilket är fallet med denna SBC så populär och billig. Men sanningen är att hallonkillarna har valt en annan alternativ lösning.

Här får du lära dig vad den lösningen är och varför använder inte denna firmware, förutom att visa hur vissa konfigurationer görs på Raspberry Pi när det inte finns någon inställningsmeny som på datorer...

Varför använder inte Raspberry Pi BIOS/UEFI?

Hallon Pi 4

Som ni vet är BIOS eller UEFI är en firmware som finns i en mängd datorer, både stationära, bärbara datorer, AIO, servrar, arbetsstationer, etc. Det finns dock inte på Raspberry Pi, trots att det är en SBC (Single Board Computer), till skillnad från andra x86 SBC:er som använder den här firmware för uppstartsprocessen och systemkontrollen. Och det beror inte på att Raspberry Pi är ARM-baserad, eftersom många ARM-datorer också har BIOS/UEFI.

Å andra sidan måste det sägas att denna firmware är designad så att bagageutrymmet enklare från lagringsmediet där operativsystemet finns, förutom att kunna styra många andra inställningar. Det är här han ger oss ledtrådar om varför Raspberry Pi inte använder BIOS. Å ena sidan, eftersom den bara kan starta enheter från samma medium, som SD-kort, och inte på andra sätt. Och å andra sidan för att antalet kringutrustning och funktioner i en Raspberry Pi är mer begränsat.

Detta är dock inte helt en anledning att inte använda BIOS eller UEFI. Faktum är att om vi analyserar noggrant Raspberry Pi:s ARM SoC använder sin egen interna firmware för att starta processorn till ett korrekt tillstånd och resten av systemet utan att behöva ett separat BIOS-chip. Men... varför kan du då inte komma åt BIOS Setup eller BIOS-menyn? Å ena sidan, eftersom denna firmware är mycket begränsad och inte lika komplex som BIOS/UEFI, så skulle en meny för att konfigurera parametrar vara meningslös, och å andra sidan, på grund av vad som tidigare nämnts, att den bara kan starta från ett standardlagringsmedium. , liksom SD-kortet.

Utvecklarna av Raspberry Pi har av denna anledning föredragit att använda denna grundläggande firmware för initialisering och uppstart från ett SD-kort snarare än att använda ett rom-chip med mer komplex firmware installerad på PCB:n. Och det är att, om du tittar, mobila enheter inte har BIOS / UEFI heller, eftersom de bara kan starta Android (eller ett annat operativsystem), från internminnet.

På så sätt sparas å ena sidan det ytterligare chipet på kortet, och å andra sidan elimineras också behovet av att inkludera flashminne för lagring. skulle göra Raspberry Pi dyrare. Du måste köpa SD-kortet separat.

Det måste dock sägas att i Raspberry Pi 3 lades experimentellt stöd för starta från USB-media som måste vara uttryckligen aktiverat och inte kan inaktiveras. Detta är inkluderat i den inbäddade firmwaren för SoC i den nya versionen, men det här var lite mer komplicerat, vilket förmodligen var anledningen till att de till en början bestämde sig för att börja med de enkla sakerna och bara använda uppstart från SD-minneskort.

Vad använde Raspberry Pi istället?

Rasbperry Pi 4 Power

Raspberry Pi har inte något BIOS eller UEFI som man förstår i PC-världen, till exempel, men den har en fast programvara med stängd källkod i SoC som jag nämnde ovan. Detta chip är designat av Broadcom-företaget, som levererar BCM till dessa Raspberry Pi Foundation-kort.

I SoC (System on a Chip) Den integrerar en ARM Cortex-A Series CPU, en VideoCore GPU, en DSP för digital signalbehandling, SDRAM-minne som delas av CPU och GPU, och kontroller som USB, etc. Dessutom innehåller den även ett ROM-minne i vilket den firmware vi pratar om är integrerad och som är nödvändig för uppstart.

startproceduren

mycket steg som följer denna firmware är:

  1. Denna firmware tar hand om starta bootloader av operativsystemet som finns på SD-kortet. Som du vet monterar starthanteraren FAT32-partitionen på SD-minneskortet och går till det andra startsteget, som är programmerat i SoC och kan inte ändras.
  2. I det andra steget, en fil känd som bootcode.bin, där GPU-firmware förbereds och startas. Den här filen kan bara lagras på SD-kortet, så startprioriteten kan inte ändras som i en konventionell BIOS/UEFI på en PC, och den kommer bara att starta därifrån. Men, som sagt, på Pi 3 lades även möjligheten att starta från USB experimentellt till.
  3. Sedan kommer ett tredje steg där man använder filen start.elf, som startar upp processorn, och en fil som heter fixup.dat, som används för att skapa den nödvändiga partitionen i SDRAM så att den kan börja användas av CPU och GPU.
  4. Slutligen exekveras användarkoden, som vanligtvis är de körbara binärfilerna eller bilderna av Linux-kärna, som kernel.img, eller från andra operativsystem som stöds av Raspberry Pi, och det är så här operativsystemet startar upp så att du kan använda det...

Som du har sett är det en enkel process, men något konstigt om vi jämför med en PC eller andra datorer. Och det är det, i fallet med Raspberry Pi, istället för att starta processorn, som i andra fall, GPU startar först. Faktum är att denna Broadcomo GPU kommer att vara ansvarig för att exekvera ett slags inbäddat operativsystem i SoC som är väldigt enkelt, men nödvändigt för att fungera. Det är känt som VCOS (Video Core Operating System), och det kommer att kommunicera med Linux. Detta är mycket sällsynt, men sanningen är att Pi GPU:n inte bara ansvarar för grafik och start, den ansvarar också för kontrollsystemets klocka och ljud.

I princip, efter att ha sagt detta, verkar det som att det finns lite vi kan göra åt ändra startkonfigurationenMen sanningen är att det inte är helt så. Och det är att det finns en fil som heter config.txt som finns i /boot/-katalogen i systemet och om den öppnas med en textredigerare kan dess innehåll enkelt modifieras för att ändra uppstarten och konfigurera den med vissa parametrar .

detta config.txt-filen den kommer att läsas av GPU:n efter att ARM-kärnan har startat, och den innehåller instruktioner för att SoC ska veta vad den ska göra under systemstart. Till exempel kan vi modifiera det dedikerade minnet i det, minnesuppdateringen, inaktivera åtkomst till L2-cachen, ändra CMA-konfigurationen, aktivera eller inaktivera kamerans LED, ändra videolägesalternativ, codecs, vissa alternativ uppstart, överklockning, etc.

Den här filen har en syntax ganska märkligt, så det måste respekteras för att undvika problem vid start. Och om du vill ha mer information om det kan du läs wikin som jag lämnar till dig i denna länk.

Ändra startprioritet på Raspberry Pi

NOOBS config.txt

När du ändrar startordning eller prioritet på en PC är allt väldigt enkelt, du behöver bara gå in i BIOS/UEFI, och på fliken Boot kan du hitta parametrarna som du kan variera för att starta från hårddisken, ett optiskt medium , USB, nätverk, etc. Istället, på Raspberry Pi är det inte så lätt. Som standard kommer det alltid att starta operativsystemet från SD-minneskortet som är isatt i SBC. Faktum är att även efter version 3, om både ett SD-kort och ett USB-minne är isatt, kommer systemet fortfarande att starta från SD först. Om SD-kortet tas bort och bara USB-enheten finns kvar, kommer det att göras via USB.

Men denna ordning kan ändras. för det måste du börja raspbian, till exempel, och gör följande:

  • Öppna Raspberry Pi-installationen med kommandot:
sudo raspi-config
  • Gå till avsnittet "Avancerade alternativ". (observera, menyn är på engelska)
  • Tryck sedan på ENTER på alternativet "Boot Order" i det här avsnittet.
  • Du bör nu se tre olika alternativ att välja mellan:
    • Start av SD-kort- Som standard är det här alternativet redan aktiverat på din Raspberry Pi-enhet och om du sätter i ett SD-kort och USB samtidigt kommer systemet att använda SD-kortet som ett standardstartalternativ om du inte tar bort det.
    • USB-start: Om du vill använda USB som primär enhet för uppstart kan du välja det här alternativet, vilket fungerar när du har en USB-enhet insatt i Raspberry Pi. Annars bör du inte sätta i ett SD-kort för att starta upp systemet.
    • nätverksstart: Det här startalternativet är användbart om ditt Raspberry Pi SD-kort inte fungerar av någon anledning eller om det finns ett problem med ditt operativsystem. I så fall kommer den att använda Imager-verktyget för att installera om systemet på SD-kortet.

När du är klar kan du starta om raspberry pi för att tillämpa ändringarna...

Diagnostisera Raspberry Pi-problem (POST)

Slutligen kommer du att veta att det i en BIOS/UEFI finns ett steg som kallas POST som utförs innan operativsystemet startar och som kommer att kontrollera statusen för de olika komponenterna. Om allt är OK kommer det att starta operativsystemet. Men om den upptäcker något problem, stannar den och visar ett felmeddelande på skärmen eller avger någon ljudsignal för att identifiera vad problemet är.

Detta på Raspberry Pi finns inte heller. SoC-firmwaren har dock en metod för att försöka flagga problem som kan uppstå för enkel diagnos. Och det är genom dess power LED. Till exempel, för Raspberry Pi 4, är ljuskoderna som lysdioden avger för att indikera problem:

långa blixtar korta blixtar status
0 3 Allmänt fel under uppstart
0 4 start*.elf hittades inte
0 7 Det gick inte att hitta kärnbilden
0 8 SDRAM-fel
0 9 otillräckligt SDRAM
0 10 i HALT-tillstånd
2 1 Partitionen är inte FAT (stöds inte)
2 2 Det gick inte att läsa partitionen
2 3 icke-FAT utökad partition
2 4 Hash eller signatur matchar inte
3 1 SPI-EEPROM-fel
3 2 SPI EEPROM skrivskyddad
3 3 I2C-fel
4 4 Korttyp stöds inte
4 5 allvarligt firmware-fel
4 6 Typ A Feltändning
4 7 Typ B feltändning

Bli först att kommentera

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.