Raspberry Pi: ali ima BIOS?

Raspberry Pi BIOS

Nekateri uporabniki sprašujem se, ali ima Raspberry Pi BIOS ali UEFI, tako kot drugi računalniki, saj je UEFI, kot veste, podprt tudi na računalnikih, ki temeljijo na Armu, tako kot v primeru ta SBC tako priljubljen in poceni. A resnica je, da so se malinovci odločili za drugo alternativno rešitev.

Tukaj boste izvedeli, kakšna je ta rešitev in zakaj ne uporablja te vdelane programske opreme, poleg tega, da vam pokaže, kako se naredijo nekatere konfiguracije na Raspberry Pi, ko ni nastavitvenega menija kot na računalnikih ...

Zakaj Raspberry Pi ne uporablja BIOS/UEFI?

Raspberry Pi 4

Kot veste, BIOS ali UEFI je vdelana programska oprema ki je prisoten v številnih računalnikih, tako namiznih, prenosnih, AIO, strežnikih, delovnih postajah itd. Vendar ga ni na Raspberry Pi, čeprav je SBC (Single Board Computer), za razliko od drugih x86 SBC, ki uporabljajo to vdelano programsko opremo za postopek zagona in preverjanje sistema. In to ne zato, ker Raspberry Pi temelji na ARM, saj ima veliko računalnikov ARM tudi BIOS/UEFI.

Po drugi strani pa je treba povedati, da je ta vdelana programska oprema zasnovana tako, da prtljažnik lažje iz pomnilniškega medija, kjer se nahaja operacijski sistem, poleg tega pa lahko nadzorujete številne druge nastavitve. Tukaj nam daje namige, zakaj Raspberry Pi ne uporablja BIOS-a. Po eni strani zato, ker lahko zažene samo naprave z istega medija, kot so kartice SD, in ne na druge načine. In po drugi strani zato, ker je število perifernih naprav in funkcij v Raspberry Pi bolj omejeno.

Vendar to ni povsem razlog, da ne uporabljate BIOS-a ali UEFI. Pravzaprav, če natančno analiziramo, ARM SoC za Raspberry Pi uporablja lastno notranjo vdelano programsko opremo za zagon CPE v pravilno stanje in preostali sistem brez potrebe po ločenem čipu BIOS-a. Toda ... zakaj potem ne morete dostopati do menija BIOS Setup ali BIOS? Po eni strani zato, ker je ta vdelana programska oprema zelo omejena in ni tako zapletena kot BIOS/UEFI, zato bi bil meni za konfiguracijo parametrov nesmiseln, po drugi strani pa zaradi prej omenjenega, da se lahko zažene le iz privzeti medij za shranjevanje, kot je kartica SD.

Razvijalci Raspberry Pi so zaradi tega raje uporabili to osnovno vdelano programsko opremo za inicializacijo in zagon s kartice SD, namesto da bi uporabili rom čip z bolj zapleteno strojno programsko opremo, nameščeno na PCB. In to je, da če pogledate, tudi mobilne naprave nimajo BIOS-a / UEFI, saj lahko zaženejo samo Android (ali drug operacijski sistem) iz notranjega pomnilnika.

Na ta način se po eni strani prihrani tisti dodatni čip na plošči, po drugi strani pa tudi odpade vključevanje flash pomnilnika za shranjevanje. bi Raspberry Pi podražil. Kartico SD morate kupiti posebej.

Vendar je treba povedati, da je bila v Raspberry Pi 3 dodana eksperimentalna podpora za zagon z medija USB ki mora biti izrecno omogočen in ga ni mogoče onemogočiti. To je vključeno v vdelano programsko opremo SoC nove različice, vendar je bilo nekoliko bolj zapleteno, zato so se verjetno sprva odločili začeti z enostavnimi stvarmi in uporabiti samo zagon s pomnilniških kartic SD.

Kaj je namesto tega uporabljal Raspberry Pi?

Rasbperry Pi 4 Power

Raspberry Pi nima BIOS-a ali UEFI, kot se na primer razume v svetu osebnih računalnikov, ima pa zaprtokodna firmware v SoC, kot sem omenil zgoraj. Ta čip je oblikovalo podjetje Broadcom, ki dobavlja BCM za te plošče Raspberry Pi Foundation.

V SoC (sistem na čipu) Vključuje CPE serije ARM Cortex-A, GPE VideoCore, DSP za digitalno obdelavo signalov, pomnilnik SDRAM, ki si ga delita CPE in GPE, ter krmilnike, kot je USB itd. Poleg tega vključuje tudi pomnilnik ROM, v katerega je integrirana vdelana programska oprema, o kateri govorimo, in ki je potrebna za zagon.

postopek zagona

P koraki ki sledi tej vdelani programski opremi, so:

  1. Ta firmware poskrbi za zaženite zagonski nalagalnik operacijskega sistema, ki je na kartici SD. Kot veste, zagonski nalagalnik namesti particijo FAT32 pomnilniške kartice SD in preide na drugo stopnjo zagona, ki je programirana v SoC in je ni mogoče spreminjati.
  2. V drugi fazi se datoteka, znana kot zagonska koda.bin, v katerem se pripravi in ​​zažene vdelana programska oprema GPE. To datoteko je mogoče shraniti samo na kartico SD, zato prioritete zagona ni mogoče spremeniti kot v običajnem BIOS-u/UEFI računalnika, in zagnal se bo samo od tam. Vendar, kot sem rekel, je bila na Pi 3 poskusno dodana tudi možnost zagona z USB-ja.
  3. Nato pride tretja stopnja, v kateri se uporabita datoteka start.elf, ki zažene CPE, in datoteka, imenovana fixup.dat, ki se uporablja za ustvarjanje potrebne particije v SDRAM-u, da se lahko začne uporabljati s strani CPU in GPU.
  4. Nazadnje se izvede uporabniška koda, ki so običajno izvršljive binarne datoteke ali slike Jedro Linuxa, kot je kernel.img, ali iz drugih operacijskih sistemov, ki jih podpira Raspberry Pi, in tako se operacijski sistem zažene, da ga lahko uporabljate ...

Kot ste videli, je to preprost postopek, vendar nekoliko čuden, če ga primerjamo z osebnim računalnikom ali drugimi računalniki. In to je, da v primeru Raspberry Pi namesto zagona CPU, kot v drugih primerih, GPU se najprej zažene. Pravzaprav bo ta grafični procesor Broadcomo zadolžen za izvajanje nekakšnega vgrajenega operacijskega sistema v SoC, ki je zelo preprost, a potreben za delovanje. Znan je kot VCOS (Video Core Operating System) in bo komuniciral z Linuxom. To je zelo redko, a resnica je, da grafični procesor Pi ni zadolžen le za grafiko in zagon, temveč tudi za sistem za nadzor ure in zvoka.

Načeloma se zdi, da po tem povedanem lahko malo storimo spremenite konfiguracijo zagonaA resnica je, da ni povsem tako. In to je, da obstaja datoteka, imenovana config.txt, ki se nahaja v imeniku /boot/ sistema in če jo odprete z urejevalnikom besedil, je njeno vsebino mogoče enostavno spremeniti, da spremenite zagon in ga konfigurirate z določenimi parametri .

ta datoteka config.txt prebral ga bo GPU po zagonu jedra ARM in vsebuje navodila za SoC, da ve, kaj mora storiti med zagonom sistema. Na primer, lahko spremenimo namenski pomnilnik v njem, osvežitev pomnilnika, onemogočimo dostop do predpomnilnika L2, spremenimo konfiguracijo CMA, omogočimo ali onemogočimo LED za kamero, spremenimo možnosti video načina, kodeke, nekatere možnosti zagona, overclocking itd.

Ta datoteka ima a sintakso precej nenavaden, zato ga je treba spoštovati, da se izognemo težavam ob zagonu. In če želite več informacij o tem, lahko preberite wiki, ki vam ga pustim na tej povezavi.

Spremenite prednost zagona na Raspberry Pi

NOOBS config.txt

Ko spremenite zagonski vrstni red ali prioriteto na osebnem računalniku, je vse zelo preprosto, vstopiti morate v BIOS/UEFI in na zavihku Boot najdete parametre, ki jih lahko spremenite za zagon s trdega diska, optičnega medija. , USB, omrežje itd. Namesto tega na Raspberry Pi ni tako enostavno. Privzeto bo vedno zagnal OS s pomnilniške kartice SD, vstavljene v SBC. Pravzaprav se bo sistem tudi po različici 3, če sta vstavljena kartica SD in ključek USB, še vedno najprej zagnal s kartice SD. Če SD odstranite in ostane samo USB, bo to storjeno prek USB-ja.

Toda ta vrstni red je mogoče spremeniti. za to morate zaženite raspbian, na primer, in naredite naslednje:

  • Odprite nastavitev Raspberry Pi z ukazom:
sudo raspi-config
  • Pojdite na razdelek »Napredne možnosti«. (opozorilo, meni je v angleščini)
  • Nato v tem razdelku pritisnite ENTER na možnosti "Boot Order".
  • Zdaj bi morali videti tri različne možnosti, med katerimi lahko izbirate:
    • Zagon s kartice SD- Privzeto je ta možnost že omogočena v vaši napravi Raspberry Pi in če hkrati vstavite kartico SD in USB, bo sistem uporabil kartico SD kot privzeto možnost zagona, razen če je odstranite.
    • zagon z USB: Če želite uporabiti USB kot primarno napravo za zagon, lahko izberete to možnost, ki deluje, ko imate napravo USB vstavljeno v Raspberry Pi. V nasprotnem primeru ne smete vstaviti kartice SD za zagon sistema.
    • omrežni zagon: Ta možnost zagona je uporabna, če vaša SD kartica Raspberry Pi iz nekega razloga ne deluje ali če je težava z vašim operacijskim sistemom. V tem primeru bo uporabil orodje Imager za ponovno namestitev sistema na kartico SD.

Ko končaš, lahko znova zaženite malino pi za uporabo sprememb ...

Diagnosticiranje težav z Raspberry Pi (POST)

Končno boste vedeli, da je v BIOS-u/UEFI korak, imenovan POST, ki se izvede pred zagonom operacijskega sistema in ki bo preveril stanje različnih komponent. Če je vse v redu, bo zagnal OS. Če pa zazna kakršno koli težavo, se ustavi in ​​na zaslonu prikaže sporočilo o napaki ali odda kodo z zvočnim piskom, da ugotovi, v čem je težava.

Tudi tega na Raspberry Piju ni. Vendar pa ima vdelana programska oprema SoC metodo za označevanje težav, ki se lahko pojavijo, za enostavno diagnozo. In to prek LED za napajanje. Na primer, za Raspberry Pi 4 so svetlobne kode, ki jih oddaja LED za označevanje težav, naslednje:

dolgi utripi kratki utrinki Status
0 3 Splošna okvara med zagonom
0 4 start*.elf ni mogoče najti
0 7 Slike jedra ni mogoče najti
0 8 Napaka SDRAM
0 9 premalo SDRAM
0 10 v stanju HALT
2 1 Particija ni FAT (ni podprto)
2 2 Branje particije ni uspelo
2 3 razširjena particija brez FAT
2 4 Hash ali podpis se ne ujemata
3 1 Napaka SPI-EEPROM
3 2 SPI EEPROM zaščiten pred pisanjem
3 3 Napaka I2C
4 4 Vrsta plošče ni podprta
4 5 usodna napaka strojne programske opreme
4 6 Neuspel vžig tipa A
4 7 Neuspel vžig tipa B

Bodite prvi komentar

Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.