Raspberry Pi: ima li BIOS?

Raspberry Pi BIOS

Neki korisnici Pitam se ima li Raspberry Pi BIOS ili UEFI, kao i druga računala, budući da je UEFI, kao što znate, također podržan na Arm računalima, kao što je slučaj s ovaj SBC tako popularan i jeftin. Ali istina je da su se malinari odlučili za drugo alternativno rješenje.

Ovdje ćete saznati koje je to rješenje i razloge zašto ne koristi ovaj firmware, osim što vam pokazuje kako se rade neke konfiguracije na Raspberry Pi kada nema Setup Menu kao na računalima...

Zašto Raspberry Pi ne koristi BIOS/UEFI?

Raspberry Pi 4

Kao što znate, BIOS ili UEFI je firmware koji je prisutan u mnoštvu računala, stolnih, prijenosnih, AIO, poslužitelja, radnih stanica itd. Međutim, nema ga na Raspberry Piju, unatoč tome što je SBC (Single Board Computer), za razliku od drugih x86 SBC-ova koji koriste ovaj firmware za proces pokretanja i provjeru sustava. I nije zato što je Raspberry Pi baziran na ARM-u, jer mnoga ARM računala također imaju BIOS/UEFI.

S druge strane, mora se reći da je ovaj firmware dizajniran tako da čizma lakše s medija za pohranu na kojem se nalazi operativni sustav, osim što možete kontrolirati mnoge druge postavke. Ovdje nam daje naznake zašto Raspberry Pi ne koristi BIOS. S jedne strane, jer može pokrenuti samo uređaje s istog medija, poput SD kartica, a ne na druge načine. A s druge strane jer je broj perifernih uređaja i funkcija u Raspberry Piju ograničeniji.

Međutim, to nije u potpunosti razlog da ne koristite BIOS ili UEFI. Zapravo, ako pažljivo analiziramo, ARM SoC za Raspberry Pi koristi vlastiti interni firmware za podizanje CPU-a u ispravno stanje i ostatak sustava bez potrebe za zasebnim BIOS čipom. Ali... zašto onda ne možete pristupiti BIOS postavkama ili BIOS izborniku? S jedne strane, jer je ovaj firmware vrlo ograničen i nije tako složen kao BIOS/UEFI, pa bi izbornik za konfiguraciju parametara bio besmislen, a s druge strane, zbog prethodno navedenog, da se može dignuti samo s zadani medij za pohranu, kao što je SD kartica.

Razvojni programeri Raspberry Pija radije su koristili ovaj osnovni firmware za inicijalizaciju i dizanje sa SD kartice umjesto korištenja rom čip sa složenijim firmwareom instaliranim na PCB. A to je da, ako pogledate, ni mobilni uređaji nemaju BIOS / UEFI, budući da mogu pokrenuti samo Android (ili neki drugi operativni sustav) iz interne memorije.

Na taj način se s jedne strane štedi onaj dodatni čip na ploči, a s druge strane također se eliminira potreba uključivanja flash memorije za pohranu. učinilo bi Raspberry Pi skupljim. SD karticu morate kupiti zasebno.

Međutim, mora se reći da je u Raspberry Pi 3 dodana eksperimentalna podrška pokretanje s USB medija koji mora biti izričito omogućen i ne može se onemogućiti. Ovo je uključeno u ugrađeni firmware SoC-a nove verzije, ali ovo je bilo malo kompliciranije, što je vjerojatno razlog zašto su u početku odlučili početi s lakšim stvarima i koristiti dizanje samo sa SD memorijskih kartica.

Što je Raspberry Pi koristio umjesto toga?

Rasbperry Pi 4 Snaga

Raspberry Pi nema BIOS ili UEFI kako se to razumije u svijetu računala, na primjer, ali ima firmware zatvorenog koda u SoC-u kao što sam već spomenuo. Ovaj čip dizajnirala je tvrtka Broadcom, koja isporučuje BCM-ove za ove Raspberry Pi Foundation ploče.

U SoC (sustav na čipu) Integrira ARM Cortex-A Series CPU, VideoCore GPU, DSP za digitalnu obradu signala, SDRAM memoriju koju dijele CPU i GPU te kontrolere kao što je USB, itd. Osim toga, uključuje i ROM memoriju u koju je ugrađen firmware o kojem govorimo i koji je neophodan za dizanje sustava.

pokretanje postupka

The koraci koji slijede ovaj firmware su:

  1. Ovaj firmware se brine za pokreni bootloader operativnog sustava koji se nalazi na SD kartici. Kao što znate, bootloader postavlja FAT32 particiju SD memorijske kartice i prelazi na drugu fazu pokretanja, koja je programirana u SoC-u i ne može se mijenjati.
  2. U drugoj fazi, datoteka poznata kao bootcode.bin, u kojem se priprema i pokreće GPU firmware. Ova se datoteka može pohraniti samo na SD karticu, tako da se prioritet pokretanja ne može mijenjati kao u konvencionalnom BIOS-u/UEFI računala, te će se pokrenuti samo od tamo. Međutim, kao što sam rekao, na Pi 3 eksperimentalno je dodana i mogućnost dizanja s USB-a.
  3. Zatim dolazi treća faza u kojoj se koristi datoteka start.elf, koja pokreće CPU, i datoteka nazvana fixup.dat, koja se koristi za stvaranje potrebne particije u SDRAM-u kako bi se mogla početi koristiti pomoću CPU-a i GPU-a.
  4. Na kraju se izvršava korisnički kod, koji su obično izvršne binarne datoteke ili slike Linux kernel, kao što je kernel.img, ili iz drugih operativnih sustava koje podržava Raspberry Pi, a ovo je način na koji se operativni sustav pokreće da ga možete koristiti...

Kao što ste vidjeli, to je jednostavan proces, ali pomalo čudan ako ga usporedimo s osobnim računalom ili drugim računalima. I to je da, u slučaju Raspberry Pi, umjesto pokretanja CPU-a, kao u drugim slučajevima, Prvo se pokreće GPU. Zapravo, ovaj Broadcomo GPU bit će zadužen za izvršavanje neke vrste ugrađenog operativnog sustava u SoC koji je vrlo jednostavan, ali neophodan za funkcioniranje. Poznat je kao VCOS (Video Core Operating System), a komunicirat će s Linuxom. Ovo je vrlo rijetko, ali istina je da GPU Pi nije samo zadužen za grafiku i pokretanje, on je također zadužen za sat i audio sustava upravljanja.

U principu, nakon što smo to rekli, čini se da malo toga možemo učiniti izmijeniti konfiguraciju pokretanjaNo istina je da nije u potpunosti tako. A radi se o tome da postoji datoteka pod nazivom config.txt koja se nalazi u /boot/ direktoriju sustava i ako se otvori s uređivačem teksta, njezin se sadržaj može lako modificirati kako bi se promijenilo pokretanje i konfiguriralo s određenim parametrima .

ovo config.txt datoteku pročitat će ga GPU nakon pokretanja ARM kernela i sadrži upute za SoC da zna što treba učiniti tijekom pokretanja sustava. Na primjer, možemo modificirati namjensku memoriju u njemu, osvježiti memoriju, onemogućiti pristup L2 predmemorije, promijeniti CMA konfiguraciju, omogućiti ili onemogućiti LED za kameru, promijeniti opcije video moda, kodeke, neke opcije dizanja, overclocking, itd.

Ova datoteka ima sintaksa prilično neobičan, pa ga se mora poštivati ​​kako bi se izbjegli problemi pri pokretanju. A ako želite više informacija o tome, možete pročitajte wiki koji vam ostavljam na ovoj vezi.

Promijenite prioritet pokretanja na Raspberry Pi

NOOBS config.txt

Kada promijenite redoslijed pokretanja ili prioritet na PC-u, sve je vrlo jednostavno, samo trebate ući u BIOS/UEFI, au kartici Boot možete pronaći parametre koje možete mijenjati za pokretanje s tvrdog diska, optičkog medija , USB, mreža itd. umjesto toga, na Raspberry Piju to nije tako jednostavno. Prema zadanim postavkama uvijek će pokrenuti OS sa SD memorijske kartice umetnute u SBC. Zapravo, čak i nakon verzije 3, ako su umetnute i SD kartica i USB stick, sustav će se i dalje prvo pokretati sa SD kartice. Ako se SD izvadi i ostane samo USB, onda će to biti učinjeno preko USB-a.

Ali ovaj redoslijed se može promijeniti. za to morate pokrenite raspbian, na primjer, i učinite sljedeće:

  • Otvorite postavku Raspberry Pi naredbom:
sudo raspi-config
  • Idite na odjeljak "Napredne opcije". (napomena, meni je na engleskom)
  • Zatim, unutar ovog odjeljka, pritisnite ENTER na opciji "Boot Order".
  • Sada biste trebali vidjeti tri različite opcije za odabir:
    • Pokretanje sa SD kartice- Prema zadanim postavkama, ova opcija je već omogućena na vašem Raspberry Pi uređaju i ako umetnete SD karticu i USB istovremeno, sustav će koristiti SD karticu kao zadanu opciju pokretanja osim ako je ne uklonite.
    • usb pokretanje: Ako želite koristiti USB kao primarni uređaj za dizanje, možete odabrati ovu opciju, koja radi kada imate USB uređaj umetnut u Raspberry Pi. Inače, ne biste trebali umetnuti SD karticu za pokretanje sustava.
    • mrežno pokretanje: Ova je opcija pokretanja korisna ako vaša Raspberry Pi SD kartica ne radi iz nekog razloga ili ako postoji problem s vašim operativnim sustavom. U tom slučaju, koristit će se alatom Imager za ponovno instaliranje sustava na SD karticu.

Kad završiš, možeš ponovno pokrenite raspberry pi za primjenu promjena...

Dijagnosticirajte probleme s Raspberry Pi (POST)

Konačno, znat ćete da u BIOS-u/UEFI postoji korak koji se zove POST koji se provodi prije pokretanja operativnog sustava i koji će provjeriti status različitih komponenti. Ako je sve u redu, pokrenut će OS. Ali ako otkrije bilo kakav problem, zaustavlja se i prikazuje poruku o pogrešci na zaslonu ili emitira neki zvučni zvučni kod kako bi identificirao u čemu je problem.

Ovo na Raspberry Piju također ne postoji. Međutim, firmware SoC-a ima metodu kojom pokušava označiti probleme koji se mogu pojaviti radi lakše dijagnoze. I to kroz LED diodu napajanja. Na primjer, za Raspberry Pi 4, svjetlosni kodovi koje LED emitira za označavanje problema su:

dugi bljeskovi kratki bljeskovi status
0 3 Opći kvar tijekom pokretanja
0 4 start*.elf nije pronađen
0 7 Slika kernela nije pronađena
0 8 SDRAM kvar
0 9 nedovoljno SDRAM-a
0 10 u HALT stanju
2 1 Particija nije FAT (nije podržano)
2 2 Neuspješno čitanje particije
2 3 non-FAT proširena particija
2 4 Hash ili potpis ne odgovaraju
3 1 SPI-EEPROM pogreška
3 2 SPI EEPROM zaštićen od pisanja
3 3 I2C greška
4 4 Vrsta ploče nije podržana
4 5 fatalna greška firmvera
4 6 Zatajenje paljenja tipa A
4 7 Tip B Preskakanje paljenja

Budite prvi koji će komentirati

Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.