Raspberry Pi: má BIOS?

Raspberry Pi BIOS

Niektorí používatelia zaujímalo by ma, či má Raspberry Pi BIOS alebo UEFI, ako iné počítače, keďže UEFI, ako viete, je podporované aj na počítačoch založených na Arm, ako je to v prípade tento SBC tak populárny a lacný. Pravdou ale je, že malinoví chlapi sa rozhodli pre iné alternatívne riešenie.

Tu sa dozviete, aké je toto riešenie a dôvody prečo nepoužíva tento firmvér, okrem toho, že vám ukáže, ako sa robia niektoré konfigurácie na Raspberry Pi, keď nie je k dispozícii žiadna ponuka nastavení ako na počítačoch...

Prečo Raspberry Pi nepoužíva BIOS/UEFI?

Raspberry Pi 4

Ako viete, BIOS alebo UEFI je firmvér ktorý je prítomný v množstve počítačov, stolných počítačoch, notebookoch, AIO, serveroch, pracovných staniciach atď. Nie je to však na Raspberry Pi, napriek tomu, že ide o SBC (jednodoskový počítač), na rozdiel od iných x86 SBC, ktoré používajú tento firmvér na proces zavádzania a kontrolu systému. A nie je to preto, že Raspberry Pi je založený na ARM, pretože mnoho počítačov ARM má aj BIOS/UEFI.

Na druhej strane treba povedať, že tento firmware je navrhnutý tak, aby začiatok jednoduchšie z pamäťového média, kde sa nachádza operačný systém, okrem toho, že dokáže ovládať mnoho ďalších nastavení. Tu nám dáva vodítka, prečo Raspberry Pi nepoužíva BIOS. Na jednej strane preto, že dokáže spúšťať zariadenia len z rovnakého média, ako sú SD karty, a nie inými spôsobmi. A na druhej strane preto, že počet periférií a funkcií v Raspberry Pi je obmedzenejší.

Nie je to však úplne dôvod, prečo nepoužívať BIOS alebo UEFI. V skutočnosti, ak dôkladne analyzujeme, ARM SoC Raspberry Pi používa svoj vlastný interný firmvér na spustenie CPU do správneho stavu a zvyšku systému bez potreby samostatného čipu BIOS. Ale... prečo potom nemôžete získať prístup k ponuke BIOS Setup alebo BIOS? Na jednej strane, pretože tento firmvér je veľmi obmedzený a nie je taký zložitý ako BIOS/UEFI, takže ponuka na konfiguráciu parametrov by bola bezvýznamná, a na druhej strane kvôli tomu, čo už bolo spomenuté, že sa dá zaviesť iba z predvolené pamäťové médium, rovnako ako SD karta.

Vývojári Raspberry Pi z tohto dôvodu radšej použili tento základný firmvér na inicializáciu a bootovanie z SD karty. rom čip so zložitejším firmvérom nainštalovaným na PCB. A je to tak, že ak sa pozriete, mobilné zariadenia nemajú ani BIOS / UEFI, pretože môžu zavádzať iba Android (alebo iný operačný systém) z internej pamäte.

Takto sa na jednej strane ušetrí dodatočný čip na doske a na druhej strane odpadá aj nutnosť vkladať flash pamäť na ukladanie. by predražilo Raspberry Pi. SD kartu si musíte zakúpiť samostatne.

Treba však povedať, že v Raspberry Pi 3 bola pridaná experimentálna podpora pre bootovanie z USB média ktorý musí byť explicitne povolený a nemôže byť vypnutý. Je to zahrnuté vo vstavanom firmvéri SoC novej verzie, ale bolo to trochu komplikovanejšie, pravdepodobne preto sa pôvodne rozhodli začať s jednoduchými vecami a používať bootovanie iba z pamäťových kariet SD.

Čo namiesto toho používalo Raspberry Pi?

Rasbperry Pi 4 Power

Raspberry Pi nemá BIOS alebo UEFI, ako je chápané napríklad vo svete PC, ale má firmvér s uzavretým zdrojom v SoC, ako som uviedol vyššie. Tento čip je navrhnutý spoločnosťou Broadcom, ktorá dodáva BCM týmto doskám Raspberry Pi Foundation.

V SoC (systém na čipu) Integruje CPU ARM Cortex-A Series, VideoCore GPU, DSP pre digitálne spracovanie signálu, pamäť SDRAM zdieľanú CPU a GPU a radiče, ako je USB atď. Okrem toho obsahuje aj pamäť ROM, v ktorej je integrovaný firmvér, o ktorom hovoríme a ktorý je potrebný na bootovanie.

štartovací postup

undefined kroky po tomto firmvéri sú:

  1. Tento firmvér sa o to stará spustiť bootloader operačného systému, ktorý je na SD karte. Ako viete, zavádzač pripojí oddiel FAT32 pamäťovej karty SD a prejde do druhej fázy zavádzania, ktorá je naprogramovaná v SoC a nemožno ju zmeniť.
  2. V druhej etape vznikol súbor známy ako bootcode.bin, v ktorom sa pripravuje a spúšťa firmvér GPU. Tento súbor je možné uložiť iba na SD kartu, takže prioritu bootovania nie je možné meniť ako v bežnom BIOSe/UEFI PC a bootuje sa iba odtiaľ. Ako som však povedal, na Pi 3 bola experimentálne pridaná aj možnosť bootovania z USB.
  3. Potom prichádza tretia fáza, v ktorej sa používa súbor start.elf, ktorý spúšťa CPU, a súbor s názvom fixup.dat, ktorý sa používa na vytvorenie potrebného oddielu v SDRAM, aby sa mohol začať používať. pomocou CPU a GPU.
  4. Nakoniec sa vykoná užívateľský kód, ktorým sú zvyčajne spustiteľné binárne súbory alebo obrázky súboru Linuxové jadro, ako je kernel.img, alebo z iných operačných systémov podporovaných Raspberry Pi, a takto sa operačný systém nabootuje, aby ste ho mohli používať...

Ako ste videli, je to jednoduchý proces, ale trochu zvláštny, ak ho porovnáme s PC alebo inými počítačmi. A je to tak, že v prípade Raspberry Pi namiesto spustenia CPU, ako v iných prípadoch, Najprv sa spustí GPU. V skutočnosti bude tento Broadcomo GPU mať na starosti spustenie akéhosi vstavaného operačného systému v SoC, ktorý je veľmi jednoduchý, ale potrebný na fungovanie. Je známy ako VCOS (Video Core Operating System) a bude komunikovať s Linuxom. To je veľmi zriedkavé, ale pravdou je, že GPU Pi nemá na starosti len grafiku a štartovanie, ale má na starosti aj ovládanie hodín a zvuku.

V zásade sa po tom, čo sme to povedali, zdá, že s tým môžeme urobiť len málo upraviť konfiguráciu zavádzaniaPravda je ale taká, že to nie je celkom tak. A je to tým, že existuje súbor s názvom config.txt, ktorý sa nachádza v adresári /boot/ systému a ak sa otvorí pomocou textového editora, jeho obsah sa dá ľahko upraviť tak, aby sa zmenil boot a nakonfiguroval ho s určitými parametrami .

toto súbor config.txt načíta ho GPU po spustení jadra ARM a obsahuje pokyny pre SoC, aby vedel, čo má robiť počas zavádzania systému. Môžeme napríklad upraviť vyhradenú pamäť v nej, obnoviť pamäť, zakázať prístup k vyrovnávacej pamäti L2, zmeniť konfiguráciu CMA, povoliť alebo zakázať LED diódu fotoaparátu, zmeniť možnosti režimu videa, kodeky, niektoré možnosti zavádzania, pretaktovanie atď.

Tento súbor má a syntax celkom zvláštne, preto ho treba rešpektovať, aby sa predišlo problémom pri štarte. A ak o tom chcete viac informácií, môžete prečítajte si wiki, ktorú vám nechávam v tomto odkaze.

Zmeňte prioritu spustenia na Raspberry Pi

NOOBS config.txt

Keď zmeníte poradie zavádzania alebo prioritu na PC, je to všetko veľmi jednoduché, stačí zadať BIOS/UEFI a na karte Boot nájdete parametre, ktoré môžete zmeniť, aby ste mohli zavádzať z pevného disku, optického média. , USB, sieť atď. namiesto toho na Raspberry Pi to nie je také jednoduché. V predvolenom nastavení vždy zavedie operačný systém z pamäťovej karty SD vloženej do SBC. V skutočnosti, aj po verzii 3, ak je vložená SD karta aj USB kľúč, systém sa bude stále zavádzať najskôr z SD. Ak sa SD vyberie a zostane len USB, vykoná sa to cez USB.

Toto poradie je však možné zmeniť. na to musíte začať raspbian, a urobte nasledovné:

  • Otvorte nastavenie Raspberry Pi príkazom:
sudo raspi-config
  • Prejdite do časti „Rozšírené možnosti“. (všimnite si, menu je v angličtine)
  • Potom v tejto časti stlačte ENTER pri voľbe "Poradie zavádzania".
  • Teraz by ste mali vidieť tri rôzne možnosti, z ktorých si môžete vybrať:
    • Zavedenie SD karty- V predvolenom nastavení je táto možnosť na vašom zariadení Raspberry Pi už povolená a ak súčasne vložíte SD kartu a USB, systém použije SD kartu ako predvolenú možnosť spustenia, pokiaľ ju nevyberiete.
    • usb boot: Ak chcete použiť USB ako primárne zariadenie na bootovanie, môžete vybrať túto možnosť, ktorá funguje, keď máte do Raspberry Pi vložené USB zariadenie. V opačnom prípade by ste na spustenie systému nemali vkladať kartu SD.
    • zavádzanie siete: Táto možnosť zavádzania je užitočná, ak vaša SD karta Raspberry Pi z nejakého dôvodu nefunguje alebo ak sa vyskytol problém s operačným systémom. V takom prípade použije nástroj Imager na preinštalovanie systému na kartu SD.

Keď skončíte, môžete reštartujte raspberry pi aplikovať zmeny...

Diagnostika problémov s Raspberry Pi (POST)

Nakoniec budete vedieť, že v systéme BIOS/UEFI existuje krok nazývaný POST, ktorý sa vykonáva pred zavedením operačného systému a ktorý skontroluje stav rôznych komponentov. Ak je všetko v poriadku, spustí sa OS. Ak však zistí akýkoľvek problém, zastaví sa a na obrazovke zobrazí chybové hlásenie alebo vydá zvukový signál, ktorý identifikuje problém.

To na Raspberry Pi tiež neexistuje. Firmvér SoC má však spôsob, ako sa pokúsiť označiť problémy, ktoré sa môžu vyskytnúť, aby sa uľahčila diagnóza. A to prostredníctvom LED napájania. Napríklad pre Raspberry Pi 4 sú svetelné kódy, ktoré LED vyžaruje, aby signalizovali problémy:

dlhé záblesky krátke záblesky postavenie
0 3 Všeobecná porucha počas spúšťania
0 4 start*.elf nenájdený
0 7 Obraz jadra sa nenašiel
0 8 Porucha SDRAM
0 9 nedostatočná SDRAM
0 10 v stave HALT
2 1 Oddiel nie je FAT (nie je podporovaný)
2 2 Nepodarilo sa prečítať oddiel
2 3 rozšírený oddiel bez FAT
2 4 Hash alebo podpis sa nezhodujú
3 1 Chyba SPI-EEPROM
3 2 SPI EEPROM chránená proti zápisu
3 3 Chyba I2C
4 4 Typ dosky nie je podporovaný
4 5 fatálna chyba firmvéru
4 6 Zlyhanie zapaľovania typu A
4 7 Zlyhanie zapaľovania typu B

Buďte prvý komentár

Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.