Raspberry Pi: есть ли у него BIOS?

БИОС малины Пи

Некоторые пользователи интересно, есть ли у Raspberry Pi BIOS или UEFI, как и другие компьютеры, так как UEFI, как известно, поддерживается и на компьютерах на базе Arm, как и в случае с этот SBC такой популярный и дешевый. Но правда в том, что малинники выбрали другое альтернативное решение.

Здесь вы узнаете, что это за решение и почему не использует эту прошивку, в дополнение к демонстрации того, как выполняются некоторые конфигурации на Raspberry Pi, когда нет меню настройки, как на компьютерах...

Почему Raspberry Pi не использует BIOS/UEFI?

Raspberry Pi 4

Как вы знаете, БИОС или UEFI это прошивка который присутствует на множестве компьютеров, как настольных компьютеров, ноутбуков, AIO, серверов, рабочих станций и т. д. Однако его нет на Raspberry Pi, несмотря на то, что он является SBC (одноплатным компьютером), в отличие от других SBC x86, которые используют эту прошивку для процесса загрузки и проверки системы. И это не потому, что Raspberry Pi основан на ARM, так как многие компьютеры ARM также имеют BIOS/UEFI.

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

Однако это не совсем причина не использовать BIOS или UEFI. На самом деле, если мы внимательно проанализируем, SoC ARM Raspberry Pi использует собственную внутреннюю прошивку для загрузки процессора в правильное состояние и остальной части системы без необходимости использования отдельной микросхемы BIOS. Но... тогда почему вы не можете получить доступ к меню BIOS Setup или BIOS? С одной стороны, потому что эта прошивка очень ограничена и не такая сложная, как BIOS/UEFI, поэтому меню для настройки параметров было бы бессмысленным, а с другой, из-за того, что ранее было сказано, что она может загружаться только с носитель данных по умолчанию. , как и SD-карта.

По этой причине разработчики Raspberry Pi предпочли использовать эту базовую прошивку для инициализации и загрузки с SD-карты, а не использовать ром чип с более сложной прошивкой, установленной на печатной плате. А она в том, что, если разобраться, у мобильных устройств тоже нет BIOS/UEFI, так как они могут загрузить только Android (или другую операционную систему), из внутренней памяти.

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

Однако надо сказать, что в Raspberry Pi 3 была добавлена ​​экспериментальная поддержка для загрузка с USB-носителя который должен быть явно включен и не может быть отключен. Это заложено во встроенной прошивке SoC новой версии, но это было немного сложнее, наверное, поэтому изначально решили начать с простого и использовать загрузку только с карт памяти SD.

Что вместо этого использовал Raspberry Pi?

Rasbperry Pi 4 Мощность

Raspberry Pi не имеет BIOS или UEFI, как это понимается, например, в мире ПК, но у него есть прошивка с закрытым исходным кодом в SoC, как я упоминал выше. Этот чип разработан компанией Broadcom, которая поставляет BCM для этих плат Raspberry Pi Foundation.

В SoC (система на кристалле) Он объединяет ЦП ARM Cortex-A Series, GPU VideoCore, DSP для цифровой обработки сигналов, память SDRAM, совместно используемую ЦП и ГП, а также контроллеры, такие как USB и т. д. Кроме того, он также включает в себя ПЗУ, в которое интегрирована прошивка, о которой мы говорим, и которая необходима для загрузки.

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

PASOS следующие за этой прошивкой:

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

Как вы видели, это простой процесс, но несколько странный, если сравнивать его с ПК или другими компьютерами. И дело в том, что в случае с Raspberry Pi вместо запуска процессора, как в других случаях, Графический процессор загружается первым. Фактически, этот графический процессор Broadcomo будет отвечать за выполнение своего рода встроенной операционной системы в SoC, которая очень проста, но необходима для работы. Он известен как VCOS (Video Core Operating System) и будет взаимодействовать с Linux. Это очень редко, но правда в том, что GPU Pi отвечает не только за графику и запуск, но и за система управления часами и звуком.

В принципе, сказав это, кажется, что мы мало что можем сделать для изменить конфигурацию загрузкиНо правда в том, что это не совсем так. И это то, что есть файл с именем config.txt, который находится в каталоге /boot/ системы, и если его открыть с помощью текстового редактора, его содержимое можно легко изменить, чтобы изменить загрузку и настроить ее с определенными параметрами. .

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

Этот файл имеет синтаксис довольно своеобразный, поэтому его нужно соблюдать, чтобы не было проблем при запуске. И если вы хотите получить больше информации об этом, вы можете прочитайте вики, которую я оставляю вам по этой ссылке.

Изменить приоритет загрузки на Raspberry Pi

Конфигурация NOOBS.txt

При изменении порядка загрузки или приоритета на ПК все очень просто, вам достаточно зайти в BIOS/UEFI, а во вкладке Boot найти параметры, которые можно варьировать для загрузки с жесткого диска, оптического носителя , USB, сеть и т. д. Вместо, на Raspberry Pi это не так просто. По умолчанию ОС всегда будет загружаться с карты памяти SD, вставленной в SBC. На самом деле, даже после версии 3, если вставлены и SD-карта, и USB-накопитель, система все равно сначала загрузится с SD. Если SD убрать и оставить только USB, то это будет через USB.

Но этот порядок можно изменить. для этого вы должны начать raspbian, например, и выполните следующие действия:

  • Откройте настройку Raspberry Pi с помощью команды:
судо-распи-конфигурация
  • Перейдите в раздел «Дополнительные параметры». (обратите внимание, меню на английском языке)
  • Затем в этом разделе нажмите ENTER в опции «Порядок загрузки».
  • Теперь вы должны увидеть три разных варианта на выбор:
    • Загрузка SD-карты- По умолчанию эта опция уже включена на вашем устройстве Raspberry Pi, и если вы одновременно вставите SD-карту и USB, система будет использовать SD-карту в качестве варианта загрузки по умолчанию, если вы не удалите ее.
    • загрузка через usb: Если вы хотите использовать USB в качестве основного устройства для загрузки, вы можете выбрать эту опцию, которая работает, когда у вас есть USB-устройство, вставленное в Raspberry Pi. В противном случае вам не следует вставлять SD-карту для загрузки системы.
    • сетевая загрузка: этот вариант загрузки полезен, если ваша SD-карта Raspberry Pi по какой-то причине не работает или если есть проблема с вашей операционной системой. В этом случае он будет использовать инструмент Imager для переустановки системы на SD-карту.

Как только вы закончите, вы можете перезагрузить малиновый пи применить изменения...

Диагностика проблем 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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.