Raspberry Pi: kas sellel on BIOS?

Raspberry Pi BIOS

Mõned kasutajad ei tea, kas Raspberry Pi-l on BIOS või UEFI, nagu ka teised arvutid, kuna nagu teate, toetatakse UEFI-d ka Arm-põhistes arvutites, nagu see on see SBC nii populaarne ja odav. Kuid tõde on see, et vaarikapoisid on valinud teise alternatiivse lahenduse.

Siit saate teada, mis see lahendus on ja miks ei kasuta seda püsivara, lisaks näitab teile, kuidas Raspberry Pi mõningaid konfiguratsioone tehakse, kui häälestusmenüüd pole nagu arvutites...

Miks Raspberry Pi ei kasuta BIOS-i/UEFI-d?

Raspberry Pi 4

Nagu teate, BIOS või UEFI on püsivara mis on olemas paljudes arvutites, nii lauaarvutites, sülearvutites, AIO-s, serverites, tööjaamades jne. Seda pole aga Raspberry Pi-s, hoolimata sellest, et tegemist on SBC-ga (Single Board Computer), erinevalt teistest x86 SBC-dest, mis kasutavad seda püsivara alglaadimiseks ja süsteemi kontrollimiseks. Ja see ei tulene sellest, et Raspberry Pi on ARM-põhine, kuna paljudel ARM-arvutitel on ka BIOS/UEFI.

Teisest küljest tuleb öelda, et see püsivara on loodud nii saabas lihtsam salvestusmeediumilt, kus operatsioonisüsteem asub, lisaks on võimalik juhtida paljusid muid sätteid. Siin annab ta meile vihjeid selle kohta, miks Raspberry Pi ei kasuta BIOS-i. Ühelt poolt sellepärast, et sellega saab käivitada ainult samalt andmekandjal olevaid seadmeid, näiteks SD-kaarte, ja mitte muul viisil. Ja teisest küljest seetõttu, et Raspberry Pi välisseadmete ja funktsioonide arv on piiratum.

Kuid see ei ole täiesti põhjus BIOS-i või UEFI-i mitte kasutada. Tegelikult, kui me hoolikalt analüüsime, Raspberry Pi ARM SoC kasutab oma sisemist püsivara CPU ja ülejäänud süsteemi õigesse olekusse käivitamiseks, ilma et oleks vaja eraldi BIOS-kiipi. Aga... miks te siis BIOS-i seadistusele või BIOS-i menüüle ligi ei pääse? Ühelt poolt, kuna see püsivara on väga piiratud ja mitte nii keeruline kui BIOS/UEFI, siis oleks parameetrite seadistamise menüü mõttetu ja teisest küljest eelmainitu tõttu saab seda käivitada ainult vaikimisi andmekandja. , nagu ka SD-kaart.

Raspberry Pi arendajad on sel põhjusel eelistanud kasutada seda põhilist püsivara lähtestamiseks ja SD-kaardilt käivitamiseks, mitte kasutada rom kiip PCB-le installitud keerukama püsivaraga. Ja kui vaadata, siis pole ka mobiilseadmetel BIOS-i / UEFI-d, kuna need saavad Androidi (või mõne muu operatsioonisüsteemi) käivitada ainult sisemälust.

Nii hoitakse ühelt poolt kokku see lisakiip plaadil ja teisalt kaob ka vajadus salvestamiseks välkmälu kaasata. muudaks Raspberry Pi kallimaks. SD-kaardi peate eraldi ostma.

Siiski tuleb öelda, et Raspberry Pi 3 jaoks lisati eksperimentaalne tugi alglaadimine USB-kandjalt mis peab olema selgesõnaliselt lubatud ja mida ei saa keelata. See sisaldub uue versiooni SoC sisseehitatud püsivaras, kuid see oli veidi keerulisem, ilmselt seetõttu otsustatigi alguses alustada lihtsatest asjadest ja kasutada alglaadimist ainult SD-mälukaartidelt.

Mida Raspberry Pi selle asemel kasutas?

Rasbperry Pi 4 võimsus

Raspberry Pi-l ei ole näiteks arvutimaailmas mõistetavat BIOS-i ega UEFI-d, kuid sellel on suletud lähtekoodiga püsivara SoC-s, nagu ma eespool mainisin. Selle kiibi on välja töötanud ettevõte Broadcom, kes varustab neid Raspberry Pi Foundationi tahvleid BCM-idega.

Aastal SoC (kiibil olev süsteem) See integreerib ARM Cortex-A seeria CPU, VideoCore GPU, DSP digitaalse signaali töötlemiseks, SDRAM-mälu, mida jagavad protsessor ja GPU, ning kontrollereid, nagu USB jne. Lisaks sisaldab see ka ROM-mälu, millesse on integreeritud püsivara, millest me räägime ja mis on alglaadimiseks vajalik.

käivitusprotseduur

osa sammud sellele püsivarale järgneb:

  1. See püsivara hoolitseb selle eest käivita alglaadur SD-kaardil olevast operatsioonisüsteemist. Nagu teate, ühendab alglaadur SD-mälukaardi FAT32 partitsiooni ja läheb teise alglaadimisetappi, mis on programmeeritud SoC-s ja mida ei saa muuta.
  2. Teises etapis fail, mida tuntakse kui bootcode.bin, milles valmistatakse ette ja käivitatakse GPU püsivara. Seda faili saab salvestada ainult SD-kaardile, nii et alglaadimisprioriteeti ei saa muuta nagu tavalises arvuti BIOS-is/UEFI-s ja see käivitub ainult sealt. Kuid nagu ma ütlesin, lisati Pi 3-le eksperimentaalselt ka USB-lt käivitamise võimalus.
  3. Seejärel tuleb kolmas etapp, kus kasutatakse faili start.elf, mis käivitab protsessori, ja faili nimega fixup.dat, mida kasutatakse SDRAM-i vajaliku partitsiooni loomiseks, et seda saaks hakata kasutama. CPU ja GPU poolt.
  4. Lõpuks käivitatakse kasutajakood, mis on tavaliselt faili käivitatavad kahendfailid või pildid Linuxi tuum, näiteks kernel.img või muudest Raspberry Pi toetatud operatsioonisüsteemidest, ja nii käivitub operatsioonisüsteem, et saaksite seda kasutada...

Nagu olete näinud, on see lihtne protsess, kuid mõneti kummaline, kui võrrelda seda arvuti või muude arvutitega. Ja see on nii, et Raspberry Pi puhul, selle asemel, et käivitada protsessor, nagu muudel juhtudel, Kõigepealt käivitub GPU. Tegelikult vastutab see Broadcomo GPU omamoodi manustatud operatsioonisüsteemi käivitamise eest SoC-s, mis on väga lihtne, kuid toimimiseks vajalik. Seda tuntakse kui VCOS-i (Video Core Operating System) ja see suhtleb Linuxiga. See on väga haruldane, kuid tõsi on see, et Pi GPU ei vastuta ainult graafika ja käivitamise eest, vaid vastutab ka juhtimissüsteemi kella ja heli.

Põhimõtteliselt, olles seda öelnud, tundub, et me saame vähe teha muuta alglaadimise konfiguratsiooniKuid tõde on see, et see pole päris nii. Ja see on see, et on olemas fail nimega config.txt, mis asub süsteemi kataloogis /boot/ ja kui see tekstiredaktoriga avatakse, saab selle sisu hõlpsasti muuta, et muuta alglaadimist ja konfigureerida seda teatud parameetritega. .

see config.txt faili GPU loeb seda pärast ARM-i tuuma käivitamist ja see sisaldab juhiseid, et SoC teaks, mida süsteemi alglaadimise ajal teha. Näiteks saame muuta selles olevat spetsiaalset mälu, värskendada mälu, keelata juurdepääsu L2 vahemälule, muuta CMA konfiguratsiooni, lubada või keelata kaamera LED-i, muuta videorežiimi valikuid, koodekeid, mõningaid alglaadimise, ülekiirendamise valikuid jne.

Sellel failil on a süntaks üsna omapärane, seega tuleb seda austada, et vältida probleeme käivitamisel. Ja kui soovite selle kohta rohkem teavet, saate seda teha lugege wikit, mille ma teile sellele lingile jätan.

Muutke Raspberry Pi alglaadimise prioriteeti

NOOBS config.txt

Kui muudate arvutis alglaadimisjärjekorda või prioriteeti, on see kõik väga lihtne, peate lihtsalt sisestama BIOS-i/UEFI-sse ja vahekaardil Boot leiate parameetrid, mida saate kõvakettalt (optiliselt kandjalt) käivitamiseks muuta. , USB, võrk jne. Selle asemel Raspberry Pi puhul pole see nii lihtne. Vaikimisi käivitab see OS-i alati SBC-sse sisestatud SD-mälukaardilt. Tegelikult, isegi pärast versiooni 3, kui sisestatakse nii SD-kaart kui ka USB-mälupulk, käivitub süsteem ikkagi kõigepealt SD-lt. Kui SD eemaldatakse ja alles on jäänud ainult USB, siis tehakse seda USB kaudu.

Kuid seda järjekorda saab muuta. selleks pead alusta raspbiannäiteks ja tehke järgmist.

  • Avage Raspberry Pi seadistus käsuga:
sudo raspi-config
  • Minge jaotisse "Täpsemad suvandid". (pange tähele, menüü on inglise keeles)
  • Seejärel vajutage selles jaotises valikul "Boot Order" sisestusklahvi (ENTER).
  • Nüüd peaksite nägema kolme erinevat valikut, mille hulgast valida:
    • SD-kaardi alglaadimine- Vaikimisi on see suvand teie Raspberry Pi seadmes juba lubatud ja kui sisestate SD-kaardi ja USB samaaegselt, kasutab süsteem SD-kaarti vaikekäivitusvalikuna, kui te seda ei eemalda.
    • usb alglaadimine: Kui soovite alglaadimise peamise seadmena kasutada USB-d, saate valida selle suvandi, mis töötab siis, kui teil on Raspberry Pi-sse sisestatud USB-seade. Vastasel juhul ei tohiks te süsteemi käivitamiseks SD-kaarti sisestada.
    • võrgu alglaadimine: see alglaadimisvalik on kasulik, kui teie Raspberry Pi SD-kaart mingil põhjusel ei tööta või kui teie operatsioonisüsteemis on probleeme. Sel juhul kasutab see süsteemi SD-kaardile uuesti installimiseks tööriista Imager.

Kui olete lõpetanud, saate seda teha taaskäivitage raspberry pi muudatuste rakendamiseks...

Raspberry Pi probleemide diagnoosimine (POST)

Lõpuks teate, et BIOS-is/UEFI-s on samm nimega POST, mis viiakse läbi enne operatsioonisüsteemi algkäivitamist ja mis kontrollib erinevate komponentide olekut. Kui kõik on korras, käivitab see OS-i. Kuid kui see tuvastab mõne probleemi, siis see peatub ja kuvab ekraanil veateate või annab helisignaali koodi, et tuvastada probleem.

Seda pole ka Raspberry Pi puhul olemas. SoC püsivaral on aga meetod, mis võimaldab hõlpsaks diagnoosimiseks tekkida võivaid probleeme. Ja seda selle toite-LEDi kaudu. Näiteks Raspberry Pi 4 puhul on valguskoodid, mida LED probleemide näitamiseks kiirgab:

pikad välgud lühikesed välgud olek
0 3 Üldine rike käivitamise ajal
0 4 start*.elfi ei leitud
0 7 Kerneli kujutist ei leitud
0 8 SDRAM-i rike
0 9 ebapiisav SDRAM
0 10 HALT olekus
2 1 Sektsioon ei ole FAT (ei toetata)
2 2 Sektsiooni lugemine ebaõnnestus
2 3 mitte-FAT laiendatud partitsioon
2 4 Räsi või allkiri ei ühti
3 1 SPI-EEPROM viga
3 2 SPI EEPROM kirjutuskaitsega
3 3 I2C viga
4 4 Tahvli tüüpi ei toetata
4 5 saatuslik püsivara viga
4 6 Tüüp A tõrge
4 7 B-tüüpi süütetõrge

Ole esimene kommentaar

Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.