Ports/aarch64/RaspberryPi4bootEEPROM: различия между версиями
Jqt4 (обсуждение | вклад) Нет описания правки |
Jqt4 (обсуждение | вклад) Нет описания правки |
||
Строка 6: | Строка 6: | ||
На Raspberry Pi 4 установлена флеш-память объёмом 512 кб, подключенная по интерфейсу SPI. Записанное в неё ПО используется при загрузке системы и заменяет собой файл bootcode.bin, который находился на загрузочном разделе SD карты предыдущих моделей Raspberry Pi. Это ПО позволяет загружать Raspberry Pi 4 не только с SD карты, но и с USB флешки и по сети. Периодически выпускаются новые версии загрузчика Raspberry Pi 4 и требуется его обновление. | На Raspberry Pi 4 установлена флеш-память объёмом 512 кб, подключенная по интерфейсу SPI. Записанное в неё ПО используется при загрузке системы и заменяет собой файл bootcode.bin, который находился на загрузочном разделе SD карты предыдущих моделей Raspberry Pi. Это ПО позволяет загружать Raspberry Pi 4 не только с SD карты, но и с USB флешки и по сети. Периодически выпускаются новые версии загрузчика Raspberry Pi 4 и требуется его обновление. | ||
Кроме ПО для загрузки в той же флеш-памяти записаны параметры конфигурации, управляющие режимом загрузки системы. В частности, изменяя эти параметры можно менять последовательность поиска загрузочного | Кроме ПО для загрузки в той же флеш-памяти записаны параметры конфигурации, управляющие режимом загрузки системы. В частности, изменяя эти параметры можно менять последовательность поиска загрузочного устройства, например, сначала SD затем USB, или сначала SD затем сеть. | ||
Как обновление ПО загрузчика так и изменение параметров загрузки требуют перепрошивки встроенной флеш-памяти. | Как обновление ПО загрузчика так и изменение параметров загрузки требуют перепрошивки встроенной флеш-памяти. |
Версия от 14:29, 17 июня 2021
Обновление и конфигурирование загрузчика Raspberry Pi 4
На Raspberry Pi 4 установлена флеш-память объёмом 512 кб, подключенная по интерфейсу SPI. Записанное в неё ПО используется при загрузке системы и заменяет собой файл bootcode.bin, который находился на загрузочном разделе SD карты предыдущих моделей Raspberry Pi. Это ПО позволяет загружать Raspberry Pi 4 не только с SD карты, но и с USB флешки и по сети. Периодически выпускаются новые версии загрузчика Raspberry Pi 4 и требуется его обновление.
Кроме ПО для загрузки в той же флеш-памяти записаны параметры конфигурации, управляющие режимом загрузки системы. В частности, изменяя эти параметры можно менять последовательность поиска загрузочного устройства, например, сначала SD затем USB, или сначала SD затем сеть.
Как обновление ПО загрузчика так и изменение параметров загрузки требуют перепрошивки встроенной флеш-памяти.
В случае сбоя перепрошивки RPi4 может перестать загружаться.
Для восстановления загрузчика после сбоя можно использовать программу Raspberry Pi Imager. Подробности ниже.
Также на Raspberry Pi 4 установлена микросхема USB контроллера VL805, прошивка которой может быть обновлена.
Обновление или восстановление загрузчика с помощью Raspberry Pi Imager
Программа Raspberry Pi Imager существует под популярные ОС и архитектуры. Она позволяет просто и удобно выбрать и записать на флешку образ ОС для RPi, а также создать специальную загрузочную SD карту для перепрошивки встроенной флеш-памяти RPi4.
Пользователи Альт могут установить пакет rpi-imager из репозитория Альт. Пользователи Ubuntu, Windows и macOS могут загрузить программу по ссылке: https://www.raspberrypi.org/software/
- Понадобиться SD карта. Внимание! Всё содержимое SD карты будет перезаписано.
- Установите и запустите Raspberry Pi Imager.
- Нажмите "CHOOSE OS" и выберите "Misc utility images", затем "Bootloader".
- Выберите режим загрузки: "SD" (рекомендуется), "USB" или "Network".
- Подключите SD карту.
- Нажмите "CHOOSE STORAGE" и выберите SD карту.
- Нажмите "WRITE"
- Вставьте записанную SD карту в RPi4, загрузитесь с неё и подождите не менее 10 сек.
- Зеленый светодиод будет непрерывно мигать, а дисплей HDMI станет зеленым в случае успешной перепрошивки.
- Отключите питание RPi4 и выньте SD карту.
Обновление загрузчика с помощью скрипта rpi-eeprom-update
Можно обновить загрузчик RPi4 из ОС Альт без использования дополнительного компьютера и SD карты. Для этого установите пакет rpi-eeprom. Вместе с ним должны быть установлены пакеты firmware-bootloader-rpi4, содержащий прошивку, и rpi-vcgencmd, содержащий утилиту vcgencmd.
Если пакет rpi-eeprom уже был установлен, то обновите его перед обновлением загрузчика.
Все указанные ниже команды следует подавать от root.
Для проверки наличия обновлений подайте команду
rpi-eeprom-update
Для планирования обновления при следующей перезагрузке подайте команду
rpi-eeprom-update -a
По этой команде на загрузочном разделе будут созданы файлы, нужные для обновления, и при следующей перезагрузке RPi4 обновление будет выполнено.
Для отмены запланированного обновления подайте команду
rpi-eeprom-update -r
По этой команде файлы для обновления будут удалены.
Изменение параметров конфигурации загрузчика с помощью скрипта rpi-eeprom-config
Описание всех параметров параметров конфигурации загрузчика можно посмотреть по ссылке: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
В частности, последовательность поиска загрузочного усиройства задаётся в параметре BOOT_ORDER:
Значение BOOT_ORDER | Описание |
---|---|
0xf41 | Сначала SD, затем USB флешка, затем повторить сначала (значение по умолчанию, если BOOT_ORDER не задан) |
0xf14 | Сначала USB флешка, затем SD, затем повторить сначала |
0xf21 | Сначала SD, затем сеть, затем повторить сначала |
Возможны и другие варианты загрузки.
Посмотреть установленные в данный момент параметры загрузки можно командой
rpi-eeprom-config
Результат выполнения этой команды можно записать в файл для редактирования, например, boot.conf, внести в этот файл требуемые изменения и применить их командой
rpi-eeprom-config --apply boot.conf
Можно обойтись без промежуточного файла. Для этого установить переменную окружения EDITOR, например так:
export EDITOR=mcedit
затем подать команду
rpi-eeprom-config --edit
Будет автоматически создан временный файл boot.conf и открыт в заданном редакторе. После записи файла и выхода из редактора изменения будут применены.
Следует понимать, что скрипт rpi-eeprom-config не выполняет перепрошивку флеш-памяти. Он формирует временный файл прошивки, содержащий загрузчик и изменённые параметры загрузки и вызывает скрипт rpi-eeprom-update. Этот скрипт, в свою очередь, планирует обновление - формирует файлы на загрузочном разделе, которые выполнят перепрошивку при следующей перезагрузке RPi4.