Raspberry Pi: чи є у нього BIOS?

Raspberry Pi BIOS

Деякі користувачі цікаво, чи Raspberry Pi має BIOS або UEFI, як і інші комп’ютери, оскільки UEFI, як ви знаєте, також підтримується на комп’ютерах на базі Arm, як у випадку з цей SBC такий популярний і дешевий. Але правда в тому, що хлопці малини обрали інше альтернативне рішення.

Тут ви дізнаєтесь, що таке рішення та причини не використовує цю прошивку, окрім того, щоб показати вам, як виконуються деякі конфігурації на Raspberry Pi, коли немає меню налаштування, як на комп’ютерах...

Чому Raspberry Pi не використовує BIOS/UEFI?

Raspberry Pi 4

Як відомо, BIOS або UEFI — це прошивка який присутній у багатьох комп’ютерах, як настільних комп’ютерах, ноутбуках, AIO, серверах, робочих станціях тощо. Однак його немає на Raspberry Pi, незважаючи на те, що він SBC (одноплатний комп’ютер), на відміну від інших x86 SBC, які використовують цю мікропрограму для процесу завантаження та перевірки системи. І це не тому, що Raspberry Pi базується на ARM, оскільки багато комп’ютерів ARM також мають BIOS/UEFI.

З іншого боку, потрібно сказати, що ця прошивка розроблена таким чином, що черевик простіше з носія, на якому розташована операційна система, на додаток до можливості контролювати багато інших налаштувань. Тут він дає нам підказки, чому Raspberry Pi не використовує BIOS. З одного боку, тому що він може завантажувати пристрої лише з одного носія, наприклад SD-карти, а не іншими способами. А з іншого боку, тому що кількість периферійних пристроїв і функцій у Raspberry Pi більш обмежена.

Однак це не зовсім причина не використовувати BIOS або UEFI. Насправді, якщо уважно проаналізувати, то ARM SoC Raspberry Pi використовує власну внутрішню прошивку для завантаження центрального процесора в належний стан і решти системи без необхідності використання окремої мікросхеми BIOS. Але... тоді чому ви не можете отримати доступ до налаштування BIOS або меню BIOS? З одного боку, оскільки ця прошивка дуже обмежена та не така складна, як BIOS/UEFI, тому меню для налаштування параметрів було б безглуздим, а з іншого, через те, що було згадано раніше, що вона може завантажуватися лише з носій пам’яті за замовчуванням, як і SD-карта.

З цієї причини розробники Raspberry Pi віддали перевагу використанню цієї базової мікропрограми для ініціалізації та завантаження з SD-карти, а не використання ROM чіп з більш складною мікропрограмою, встановленою на друкованій платі. І це те, що, якщо ви подивіться, мобільні пристрої також не мають BIOS / UEFI, оскільки вони можуть завантажувати Android (або іншу операційну систему) лише з внутрішньої пам’яті.

Таким чином, з одного боку, зберігається додатковий чіп на платі, а з іншого боку, також усувається необхідність включати флеш-пам’ять для зберігання. зробило б Raspberry Pi дорожчим. SD-карту потрібно купувати окремо.

Однак треба сказати, що в Raspberry Pi 3 була додана експериментальна підтримка завантаження з USB-носія який має бути явно включений і не може бути вимкнений. Це включено у вбудовану мікропрограму SoC нової версії, але це було дещо складніше, тому, ймовірно, спочатку вони вирішили почати з простих речей і використовувати завантаження лише з карт пам’яті SD.

Що замість цього використовував Raspberry Pi?

Rasbperry Pi 4 Power

Raspberry Pi не має BIOS або UEFI, як це розуміється, наприклад, у світі ПК, але він має прошивка із закритим кодом в SoC, як я вже згадував вище. Цей чіп розроблено компанією Broadcom, яка постачає BCM для цих плат Raspberry Pi Foundation.

В SoC (система на чіпі) Він інтегрує ЦП серії ARM Cortex-A, графічний процесор VideoCore, DSP для обробки цифрового сигналу, пам’ять SDRAM, спільну для ЦП і ГП, і такі контролери, як USB тощо. Крім того, він також містить пам’ять ROM, у яку інтегровано прошивку, про яку ми говоримо, і яка необхідна для завантаження.

процедура запуску

L кроки які слідують за цією мікропрограмою:

  1. Ця мікропрограма піклується про запустити завантажувач операційної системи на SD-карті. Як відомо, завантажувач монтує розділ FAT32 карти пам’яті SD і переходить до другого етапу завантаження, який програмується в SoC і не може бути змінений.
  2. На другому етапі файл, відомий як bootcode.bin, в якому готується і запускається прошивка GPU. Цей файл можна зберігати лише на SD-карті, тому пріоритет завантаження не можна змінити, як у звичайному BIOS/UEFI ПК, і він завантажуватиметься лише звідти. Однак, як я вже казав, на Pi 3 також була експериментально додана можливість завантаження з USB.
  3. Потім настає третій етап, на якому використовується файл start.elf, який запускає центральний процесор, і файл під назвою fixup.dat, який використовується для створення необхідного розділу в SDRAM, щоб він міг почати використовуватися. центральним і графічним процесором.
  4. Нарешті виконується код користувача, який зазвичай є виконуваними двійковими файлами або зображеннями Ядро Linux, як-от kernel.img, або з інших операційних систем, які підтримуються Raspberry Pi, і ось як операційна система завантажується, щоб ви могли нею користуватися...

Як ви бачили, це простий процес, але дещо дивний, якщо порівнювати його з ПК чи іншими комп’ютерами. І це те, що у випадку з Raspberry Pi замість запуску ЦП, як в інших випадках, GPU завантажується спочатку. Насправді цей графічний процесор Broadcomo відповідатиме за виконання свого роду вбудованої операційної системи в SoC, яка є дуже простою, але необхідною для функціонування. Він відомий як VCOS (Video Core Operating System), і він буде спілкуватися з Linux. Це дуже рідко, але правда в тому, що графічний процесор Pi не лише відповідає за графіку та запуск, він також відповідає за система управління годинником і аудіосистемою.

В принципі, сказавши це, здається, що ми мало що можемо зробити змінити конфігурацію завантаженняАле правда в тому, що це не зовсім так. І це те, що існує файл під назвою config.txt, який знаходиться в каталозі /boot/ системи, і якщо його відкрити за допомогою текстового редактора, його вміст можна легко змінити, щоб змінити завантаження та налаштувати його з певними параметрами .

це файл config.txt він буде прочитаний GPU після запуску ядра ARM і містить інструкції для SoC, щоб знати, що робити під час завантаження системи. Наприклад, ми можемо змінити виділену пам’ять у ньому, оновлення пам’яті, вимкнути доступ до кешу L2, змінити конфігурацію CMA, увімкнути або вимкнути світлодіод камери, змінити параметри режиму відео, кодеки, деякі параметри завантаження, розгін тощо.

Цей файл має a синтаксис досить своєрідний, тому його потрібно поважати, щоб уникнути проблем під час запуску. І якщо ви хочете отримати більше інформації про це, ви можете читайте вікі, яку я залишаю вам за цим посиланням.

Змініть пріоритет завантаження на Raspberry Pi

NOOBS config.txt

Коли ви змінюєте порядок або пріоритет завантаження на ПК, все дуже просто, вам потрібно лише увійти в BIOS/UEFI, а на вкладці «Завантаження» ви можете знайти параметри, які можна змінити для завантаження з жорсткого диска, оптичного носія. , USB, мережа тощо. Натомість на Raspberry Pi це не так просто. За замовчуванням він завжди завантажуватиме ОС із карти пам’яті SD, вставленої в SBC. Фактично, навіть після версії 3, якщо вставлено і SD-карту, і USB-накопичувач, система все одно спочатку завантажуватиметься з SD. Якщо SD вийняти і залишити тільки USB, то це буде зроблено через USB.

Але цей порядок можна змінити. для цього ви повинні запустіть raspbian, наприклад, і виконайте такі дії:

  • Відкрийте налаштування Raspberry Pi командою:
sudo raspi-config
  • Перейдіть до розділу «Додаткові параметри». (зверніть увагу, меню англійською мовою)
  • Потім у цьому розділі натисніть ENTER у параметрі «Boot Order».
  • Тепер ви повинні побачити три різні варіанти на вибір:
    • Завантаження SD-карти- За замовчуванням цей параметр уже ввімкнено на вашому пристрої Raspberry Pi, і якщо ви вставите SD-карту та USB одночасно, система використовуватиме SD-карту як параметр завантаження за замовчуванням, якщо ви її не видалите.
    • завантаження через USB: Якщо ви хочете використовувати USB як основний пристрій для завантаження, ви можете вибрати цю опцію, яка працює, коли у вас є USB-пристрій, підключений до Raspberry Pi. В іншому випадку вам не слід вставляти SD-карту для завантаження системи.
    • мережеве завантаження: Цей параметр завантаження корисний, якщо ваша SD-карта Raspberry Pi з якоїсь причини не працює або якщо виникла проблема з вашою операційною системою. У такому випадку він скористається інструментом Imager для перевстановлення системи на SD-карту.

Коли ви закінчите, ви можете перезавантажте Raspberry Pi щоб застосувати зміни...

Діагностика проблем Raspberry Pi (POST)

Нарешті, ви дізнаєтесь, що в BIOS/UEFI є крок під назвою POST, який виконується перед завантаженням операційної системи та перевіряє стан різних компонентів. Якщо все в порядку, ОС запуститься. Але якщо він виявляє будь-яку проблему, він зупиняється та відображає повідомлення про помилку на екрані або видає якийсь звуковий сигнал, щоб визначити, у чому проблема.

Цього на Raspberry Pi теж не існує. Однак мікропрограма SoC має метод спроби позначити проблеми, які можуть виникнути, для легкої діагностики. І це через світлодіод живлення. Наприклад, для Raspberry Pi 4 світлові коди, які випромінює світлодіод для вказівки на проблеми:

довгі спалахи короткі спалахи Статус
0 3 Загальний збій під час запуску
0 4 start*.elf не знайдено
0 7 Образ ядра не знайдено
0 8 Збій SDRAM
0 9 недостатньо SDRAM
0 10 у стані HALT
2 1 Розділ не є FAT (не підтримується)
2 2 Не вдалося прочитати розділ
2 3 розширений розділ без FAT
2 4 Хеш або підпис не збігаються
3 1 Помилка SPI-EEPROM
3 2 SPI EEPROM захищений від запису
3 3 Помилка I2C
4 4 Тип плати не підтримується
4 5 фатальна помилка прошивки
4 6 Осічка типу А
4 7 Осічка типу B

Будьте першим, щоб коментувати

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.