Raspberry Pi: czy ma BIOS?

BIOS Raspberry Pi

Niektórzy użytkownicy zastanawiam się, czy Raspberry Pi ma BIOS lub UEFI, podobnie jak inne komputery, ponieważ UEFI, jak wiadomo, jest również obsługiwane na komputerach opartych na Arm, jak ma to miejsce w przypadku ten SBC jest tak popularny i tani. Ale prawda jest taka, że ​​malinowi faceci zdecydowali się na inne alternatywne rozwiązanie.

Tutaj dowiesz się, czym jest to rozwiązanie i dlaczego nie używa tego oprogramowania układowego, oprócz pokazania, jak niektóre konfiguracje są wykonywane na Raspberry Pi, gdy nie ma menu ustawień, jak na komputerach...

Dlaczego Raspberry Pi nie korzysta z systemu BIOS/UEFI?

Raspberry Pi 4

Jak wiesz, BIOS lub UEFI to oprogramowanie układowe który jest obecny w wielu komputerach, zarówno stacjonarnych, laptopach, AIO, serwerach, stacjach roboczych itp. Jednak nie ma go na Raspberry Pi, mimo że jest to SBC (komputer jednopłytowy), w przeciwieństwie do innych SBC x86, które używają tego oprogramowania układowego do procesu uruchamiania i sprawdzania systemu. I to nie dlatego, że Raspberry Pi jest oparty na ARM, ponieważ wiele komputerów ARM ma również BIOS/UEFI.

Z drugiej strony trzeba powiedzieć, że to oprogramowanie jest tak zaprojektowane bagażnik łatwiejsze z nośnika pamięci, na którym znajduje się system operacyjny, oprócz możliwości kontrolowania wielu innych ustawień. W tym miejscu daje nam wskazówki, dlaczego Raspberry Pi nie używa BIOS-u. Z jednej strony dlatego, że może uruchamiać urządzenia tylko z tego samego nośnika, takiego jak karty SD, a nie w inny sposób. Z drugiej strony liczba urządzeń peryferyjnych i funkcji w Raspberry Pi jest bardziej ograniczona.

Jednak nie jest to całkowicie powód, aby nie używać BIOS-u lub UEFI. W rzeczywistości, jeśli dokładnie przeanalizujemy, ARM SoC Raspberry Pi wykorzystuje własne wewnętrzne oprogramowanie układowe aby uruchomić procesor w odpowiednim stanie i resztę systemu bez potrzeby stosowania oddzielnego układu BIOS. Ale... w takim razie dlaczego nie możesz uzyskać dostępu do konfiguracji BIOS lub menu BIOS? Z jednej strony, ponieważ to oprogramowanie jest bardzo ograniczone i nie tak skomplikowane jak BIOS/UEFI, więc menu do konfiguracji parametrów byłoby bez sensu, a z drugiej, z powodu tego, co zostało wcześniej wspomniane, że można go uruchomić tylko z domyślny nośnik pamięci. , podobnie jak karta SD.

Z tego powodu twórcy Raspberry Pi woleli używać tego podstawowego oprogramowania układowego do inicjalizacji i uruchamiania z karty SD niż używać chip z romem z bardziej złożonym oprogramowaniem zainstalowanym na płytce drukowanej. Chodzi o to, że jeśli spojrzysz, urządzenia mobilne też nie mają BIOS-u / UEFI, ponieważ mogą uruchamiać Androida (lub inny system operacyjny) tylko z pamięci wewnętrznej.

W ten sposób z jednej strony oszczędza się ten dodatkowy układ na płycie, az drugiej strony eliminuje się również potrzebę dołączania pamięci flash do przechowywania. sprawi, że Raspberry Pi będzie droższe. Kartę SD należy dokupić osobno.

Trzeba jednak powiedzieć, że w Raspberry Pi 3 dodano eksperymentalne wsparcie dla rozruch z nośnika USB które muszą być jawnie włączone i nie mogą być wyłączone. Jest to zawarte we wbudowanym oprogramowaniu układowym SoC nowej wersji, ale było to nieco bardziej skomplikowane, prawdopodobnie dlatego początkowo postanowili zacząć od łatwych rzeczy i używać uruchamiania tylko z kart pamięci SD.

Czego zamiast tego używał Raspberry Pi?

Rasbperry Pi 4 Power

Raspberry Pi nie ma na przykład BIOS-u ani UEFI w rozumieniu świata komputerów PC, ale ma oprogramowanie układowe o zamkniętym źródle w SoC, jak wspomniałem powyżej. Ten układ został zaprojektowany przez firmę Broadcom, która dostarcza BCM do tych płyt Raspberry Pi Foundation.

W SoC (system na chipie) Integruje procesor ARM Cortex-A Series, procesor graficzny VideoCore, procesor DSP do cyfrowego przetwarzania sygnału, pamięć SDRAM współdzieloną przez procesor i kartę graficzną oraz kontrolery, takie jak USB itp. Ponadto zawiera również pamięć ROM, w której oprogramowanie układowe, o którym mówimy, jest zintegrowane i jest niezbędne do uruchomienia.

procedura startowa

L kroki następujące po tym oprogramowaniu układowym to:

  1. To oprogramowanie układowe dba o to uruchom program ładujący systemu operacyjnego znajdującego się na karcie SD. Jak wiadomo, bootloader montuje partycję FAT32 karty pamięci SD i przechodzi do drugiego etapu rozruchu, który jest zaprogramowany w SoC i nie można go modyfikować.
  2. W drugim etapie plik o nazwie kod rozruchowy.bin, w którym przygotowywane i uruchamiane jest oprogramowanie układowe GPU. Ten plik może być przechowywany tylko na karcie SD, więc priorytetu rozruchu nie można zmienić, jak w konwencjonalnym systemie BIOS/UEFI komputera PC, a system uruchomi się tylko z tego miejsca. Jednak, jak powiedziałem, w Pi 3 eksperymentalnie dodano również możliwość uruchamiania z USB.
  3. Następnie następuje trzeci etap, w którym wykorzystuje się plik start.elf, który uruchamia procesor, oraz plik o nazwie fixup.dat, który jest używany do utworzenia niezbędnej partycji w pamięci SDRAM, aby można było zacząć z niej korzystać przez CPU i GPU.
  4. Na koniec wykonywany jest kod użytkownika, którym są zwykle wykonywalne pliki binarne lub obrazy Jądro Linux, takich jak kernel.img lub z innych systemów operacyjnych obsługiwanych przez Raspberry Pi, i tak właśnie uruchamia się system operacyjny, abyś mógł z niego korzystać...

Jak widzieliście, jest to prosty proces, ale nieco dziwny, jeśli porównamy go z komputerem PC lub innymi komputerami. I chodzi o to, że w przypadku Raspberry Pi, zamiast uruchamiania procesora, jak w innych przypadkach, GPU uruchamia się jako pierwsze. W rzeczywistości ten procesor graficzny Broadcomo będzie odpowiedzialny za wykonanie pewnego rodzaju wbudowanego systemu operacyjnego w SoC, który jest bardzo prosty, ale niezbędny do działania. Jest znany jako VCOS (Video Core Operating System) i komunikuje się z Linuksem. Jest to bardzo rzadkie, ale prawda jest taka, że ​​GPU Pi nie tylko odpowiada za grafikę i uruchamianie, ale także za zegar systemu sterowania i dźwięk.

Zasadniczo, powiedziawszy to, wydaje się, że niewiele możemy zrobić zmodyfikować konfigurację rozruchuAle prawda jest taka, że ​​nie do końca tak jest. Chodzi o to, że istnieje plik o nazwie config.txt, który znajduje się w katalogu / boot / systemu i jeśli zostanie otwarty za pomocą edytora tekstu, jego zawartość można łatwo zmodyfikować, aby zmienić rozruch i skonfigurować go z określonymi parametrami .

to plik config.txt zostanie odczytany przez GPU po uruchomieniu jądra ARM i zawiera instrukcje dla SoC, aby wiedzieć, co robić podczas uruchamiania systemu. Na przykład możemy zmodyfikować w niej dedykowaną pamięć, odświeżyć pamięć, wyłączyć dostęp do pamięci podręcznej L2, zmienić konfigurację CMA, włączyć lub wyłączyć diodę kamery, zmienić opcje trybu wideo, kodeki, niektóre opcje uruchamiania, podkręcania itp.

Ten plik ma składnia dość osobliwy, więc należy go szanować, aby uniknąć problemów przy uruchamianiu. A jeśli chcesz uzyskać więcej informacji na ten temat, możesz przeczytaj wiki, którą zostawiam ci w tym linku.

Zmień priorytet rozruchu na Raspberry Pi

NOOBS plik konfiguracyjny.txt

Kiedy zmieniasz kolejność rozruchu lub priorytet na komputerze, wszystko jest bardzo proste, wystarczy wejść do BIOS/UEFI, aw zakładce Boot możesz znaleźć parametry, które możesz zmienić, aby uruchomić z dysku twardego, nośnika optycznego , USB, sieć itp. Zamiast, na Raspberry Pi nie jest to takie proste. Domyślnie zawsze uruchamia system operacyjny z karty pamięci SD włożonej do SBC. W rzeczywistości, nawet po wersji 3, jeśli włożona jest zarówno karta SD, jak i pamięć USB, system nadal będzie najpierw uruchamiał się z karty SD. Jeśli karta SD zostanie wyjęta i pozostanie tylko USB, zostanie to zrobione przez USB.

Ale tę kolejność można zmienić. za to musisz zacznij od raspbiana, na przykład, i wykonaj następujące czynności:

  • Otwórz konfigurację Raspberry Pi za pomocą polecenia:
sudo raspi-config
  • Przejdź do sekcji „Opcje zaawansowane”. (uwaga, menu jest w języku angielskim)
  • Następnie w tej sekcji naciśnij ENTER w opcji „Boot Order”.
  • Powinieneś teraz zobaczyć trzy różne opcje do wyboru:
    • Uruchomienie karty SD- Domyślnie ta opcja jest już włączona w twoim urządzeniu Raspberry Pi, a jeśli jednocześnie włożysz kartę SD i USB, system użyje karty SD jako domyślnej opcji rozruchu, chyba że ją usuniesz.
    • rozruch usb: Jeśli chcesz używać USB jako podstawowego urządzenia do uruchamiania, możesz wybrać tę opcję, która działa, gdy masz urządzenie USB włożone do Raspberry Pi. W przeciwnym razie nie należy wkładać karty SD w celu uruchomienia systemu.
    • rozruch sieciowy: Ta opcja uruchamiania jest przydatna, jeśli karta SD Raspberry Pi z jakiegoś powodu nie działa lub występuje problem z systemem operacyjnym. W takim przypadku użyje narzędzia Imager do ponownej instalacji systemu na karcie SD.

Gdy skończysz, możesz uruchom ponownie Raspberry Pi zastosować zmiany...

Diagnozuj problemy z Raspberry Pi (POST)

Na koniec dowiesz się, że w BIOS/UEFI istnieje krok zwany POST, który jest wykonywany przed uruchomieniem systemu operacyjnego i który sprawdza stan różnych komponentów. Jeśli wszystko jest w porządku, uruchomi system operacyjny. Ale jeśli wykryje jakikolwiek problem, zatrzymuje się i wyświetla komunikat o błędzie na ekranie lub emituje sygnał dźwiękowy, aby zidentyfikować problem.

To na Raspberry Pi też nie istnieje. Oprogramowanie układowe SoC ma jednak metodę oznaczania problemów, które mogą wystąpić w celu łatwej diagnozy. I to dzięki diodzie LED zasilania. Na przykład w przypadku Raspberry Pi 4 kody świetlne emitowane przez diodę LED w celu wskazania problemów to:

długie błyski krótkie błyski Rynek
0 3 Ogólna awaria podczas uruchamiania
0 4 start*.elf nie został znaleziony
0 7 Nie znaleziono obrazu jądra
0 8 Awaria SDRAM-u
0 9 niewystarczająca ilość SDRAM-u
0 10 w stanie HALT
2 1 Partycja nie jest FAT (nieobsługiwana)
2 2 Nie można odczytać partycji
2 3 rozszerzona partycja inna niż FAT
2 4 Hash lub podpis nie pasują
3 1 Błąd SPI-EEPROM
3 2 SPI EEPROM chroniony przed zapisem
3 3 Błąd I2C
4 4 Nieobsługiwany typ płyty
4 5 krytyczny błąd oprogramowania układowego
4 6 Przerwa w zapłonie typu A
4 7 Przerwa w zapłonie typu B

Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.