Raspberry Pi: ima li BIOS?

Raspberry Pi BIOS

Neki korisnici Pitam se da li Raspberry Pi ima BIOS ili UEFI, kao i drugi računari, pošto je UEFI, kao što znate, podržan i na računarima zasnovanim na Arm, kao što je slučaj sa 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 firmver, pored toga što vam pokazuje kako se prave neke konfiguracije na Raspberry Pi kada nema menija za podešavanje kao na računarima...

Zašto Raspberry Pi ne koristi BIOS/UEFI?

Malina Pi 4

Kao što znate, BIOS ili UEFI je firmver koji je prisutan u mnoštvu računara, kako desktopa, tako i laptopa, AIO, servera, radnih stanica itd. Međutim, on nije na Raspberry Pi, iako je SBC (Single Board Computer), za razliku od drugih x86 SBC-ova koji koriste ovaj firmver za proces pokretanja i provjeru sistema. I nije zato što je Raspberry Pi baziran na ARM-u, jer mnogi ARM računari takođe imaju BIOS/UEFI.

S druge strane, mora se reći da je ovaj firmver tako dizajniran čizma lakše sa medijuma za skladištenje gde se nalazi operativni sistem, pored toga što možete da kontrolišete mnoga druga podešavanja. Ovdje nam daje naznake zašto Raspberry Pi ne koristi BIOS. S jedne strane, jer može pokrenuti samo uređaje sa istog medija, kao što su SD kartice, a ne na druge načine. A s druge strane zato što su broj perifernih uređaja i funkcija u Raspberry Pi-u ograničeniji.

Međutim, to nije u potpunosti razlog da ne koristite BIOS ili UEFI. U stvari, ako pažljivo analiziramo, Raspberry Pi-jev ARM SoC koristi sopstveni interni firmver da pokrenete CPU u ispravno stanje i ostatak sistema bez potrebe za posebnim BIOS čipom. Ali... zašto onda ne možete pristupiti BIOS Setup-u ili BIOS meniju? S jedne strane, jer je ovaj firmver veoma ograničen, i nije tako složen kao BIOS/UEFI, pa bi meni za konfigurisanje parametara bio besmislen, as druge, zbog prethodno pomenutog, da se može pokrenuti samo sa podrazumevani medij za skladištenje. , kao i SD kartica.

Programeri Raspberry Pi-a su iz tog razloga radije koristili ovaj osnovni firmver za inicijalizaciju i pokretanje sa SD kartice umjesto da koriste rom čip sa složenijim firmverom instaliranim na PCB. A to je da, ako pogledate, ni mobilni uređaji nemaju BIOS/UEFI, jer mogu samo pokrenuti Android (ili drugi operativni sistem), iz interne memorije.

Na ovaj način se, s jedne strane, štedi taj dodatni čip na ploči, a sa druge strane eliminiše se i potreba za uključivanjem fleš memorije za skladištenje. bi poskupio Raspberry Pi. SD karticu morate kupiti posebno.

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

Šta je Raspberry Pi koristio umjesto toga?

Rasbperry Pi 4 Power

Raspberry Pi nema BIOS ili UEFI kako se to podrazumeva u svetu računara, na primer, ali ima firmver zatvorenog koda u SoC-u kao što sam pomenuo gore. Ovaj čip je dizajnirala kompanija Broadcom, koja isporučuje BCM-ove za ove ploče Raspberry Pi Foundation.

U SoC (sistem na čipu) Integriše ARM Cortex-A seriju CPU, VideoCore GPU, DSP za digitalnu obradu signala, SDRAM memoriju koju dijele CPU i GPU, i kontrolere kao što su USB, itd. Osim toga, uključuje i ROM memoriju u koju je integriran firmver o kojem govorimo i koji je neophodan za pokretanje.

postupak pokretanja

u koraci koji prati ovaj firmver su:

  1. Ovaj firmver brine o tome pokrenite bootloader operativnog sistema koji se nalazi na SD kartici. Kao što znate, bootloader montira FAT32 particiju SD memorijske kartice i ide u drugu fazu pokretanja, koja je programirana u SoC-u i ne može se mijenjati.
  2. U drugoj fazi, fajl poznat kao bootcode.bin, u kojem se priprema i pokreće firmver GPU-a. Ova datoteka se može pohraniti samo na SD karticu, tako da se prioritet pokretanja ne može promijeniti kao u konvencionalnom BIOS-u/UEFI računaru, i samo će se pokrenuti odatle. Međutim, kao što sam rekao, na Pi 3 je eksperimentalno dodana i mogućnost pokretanja s USB-a.
  3. Zatim dolazi treća faza u kojoj se koristi datoteka start.elf, koja pokreće CPU, i datoteka koja se zove fixup.dat, koja se koristi za kreiranje potrebne particije u SDRAM-u kako bi se mogla početi koristiti od strane CPU-a i GPU-a.
  4. Konačno, izvršava se korisnički kod, koji su obično izvršne binarne datoteke ili slike Linux kernel, kao što je kernel.img, ili iz drugih operativnih sistema koje podržava Raspberry Pi, a ovako se operativni sistem pokreće tako da ga možete koristiti...

Kao što ste vidjeli, to je jednostavan proces, ali pomalo čudan ako ga uporedimo sa PC ili drugim računarima. A to je da, u slučaju Raspberry Pi, umjesto pokretanja CPU-a, kao u drugim slučajevima, GPU se prvo pokreće. Zapravo, ovaj Broadcomo GPU će biti zadužen za izvršavanje neke vrste ugrađenog operativnog sistema u SoC koji je vrlo jednostavan, ali neophodan za funkcioniranje. Poznat je kao VCOS (Video Core Operating System) i komuniciraće sa Linuxom. Ovo je vrlo rijetko, ali istina je da GPU Pi nije samo zadužen za grafiku i početak, već je zadužen i za sistem upravljanja satom i zvukom.

U principu, s obzirom na ovo, čini se da malo toga možemo učiniti modificirati konfiguraciju pokretanjaAli istina je da nije sasvim tako. A to je da postoji datoteka koja se zove config.txt koja se nalazi u /boot/ direktoriju sistema i ako se otvori u uređivaču teksta, njen sadržaj se može lako modificirati kako bi se izmijenilo pokretanje i konfigurisalo sa određenim parametrima .

Este config.txt fajl pročitaće ga GPU nakon pokretanja ARM kernela, a sadrži uputstva za SoC da zna šta da radi tokom pokretanja sistema. Na primjer, možemo modificirati namjensku memoriju u njoj, osvježiti memoriju, onemogućiti pristup L2 kešu, izmijeniti CMA konfiguraciju, uključiti ili onemogućiti LED kamere, promijeniti opcije video moda, kodeke, neke opcije pokretanja, overklokiranje itd.

Ovaj fajl ima a sintaksa prilično neobičan, pa se mora poštovati kako bi se izbjegli problemi pri pokretanju. A ako želite više informacija o tome, možete pročitajte wiki koji vam ostavljam na ovom linku.

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, a na kartici Boot možete pronaći parametre koje možete mijenjati za pokretanje sa tvrdog diska, optičkog medija , USB, mreža itd. umjesto toga, na Raspberry Pi to nije tako lako. Podrazumevano će uvijek pokrenuti OS sa SD memorijske kartice umetnute u SBC. Zapravo, čak i nakon verzije 3, ako su umetnute i SD kartica i USB stick, sistem će se i dalje prvo pokrenuti sa SD-a. Ako se SD izvadi i ostane samo USB, onda će to biti urađeno preko USB-a.

Ali ovaj redoslijed se može promijeniti. za to morate start raspbian, na primjer, i uradite sljedeće:

  • Otvorite Raspberry Pi podešavanje 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 SD kartice- Ova opcija je podrazumevano već omogućena na vašem Raspberry Pi uređaju i ako istovremeno umetnete SD karticu i USB, sistem će koristiti SD karticu kao podrazumevanu opciju pokretanja osim ako je ne uklonite.
    • usb boot: Ako želite koristiti USB kao primarni uređaj za pokretanje, možete odabrati ovu opciju, koja radi kada imate USB uređaj umetnut u Raspberry Pi. U suprotnom, ne biste trebali umetati SD karticu da biste pokrenuli sistem.
    • mrežno pokretanje: Ova opcija pokretanja je korisna ako vaša Raspberry Pi SD kartica iz nekog razloga ne radi ili ako postoji problem s vašim operativnim sistemom. U tom slučaju, koristit će Imager alat za ponovno instaliranje sistema na SD karticu.

Kada završite, možete ponovo pokrenite raspberry pi da primenite promene...

Dijagnosticirajte probleme s Raspberry Pi (POST)

Konačno, znat ćete da u BIOS-u/UEFI postoji korak koji se zove POST koji se izvodi prije pokretanja operativnog sistema i koji će provjeriti status različitih komponenti. Ako je sve u redu, pokrenut će se OS. Ali ako otkrije bilo kakav problem, zaustavlja se i prikazuje poruku o grešci na ekranu ili emituje neki zvučni bip kod da identifikuje u čemu je problem.

Ni ovo na Raspberry Pi ne postoji. Međutim, SoC firmver ima metodu za pokušaj označavanja problema koji se mogu pojaviti radi lakše dijagnoze. I to preko njegove LED diode za napajanje. Na primjer, za Raspberry Pi 4, svjetlosni kodovi koje LED emituje da ukaže na probleme su:

dugi bljeskovi kratki bljeskovi Status
0 3 Opšti kvar prilikom pokretanja
0 4 start*.elf nije pronađen
0 7 Slika kernela nije pronađena
0 8 Kvar SDRAM-a
0 9 nedovoljno SDRAM-a
0 10 u HALT stanju
2 1 Particija nije FAT (nije podržana)
2 2 Čitanje particije nije uspjelo
2 3 ne-FAT proširena particija
2 4 Hash ili potpis se ne podudaraju
3 1 SPI-EEPROM greška
3 2 SPI EEPROM zaštićen od pisanja
3 3 I2C greška
4 4 Tip ploče nije podržan
4 5 fatalna greška firmvera
4 6 Tip A Misfire
4 7 Tip B Misfire

Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  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 obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.