Ports/aarch64/RaspberryPi4bootEEPROM: различия между версиями
Jqt4 (обсуждение | вклад) Нет описания правки |
Jqt4 (обсуждение | вклад) |
||
(не показано 7 промежуточных версий этого же участника) | |||
Строка 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 затем сеть. | ||
Как обновление ПО загрузчика так и изменение параметров загрузки требуют перепрошивки встроенной флеш-памяти. | Как обновление ПО загрузчика так и изменение параметров загрузки требуют перепрошивки встроенной флеш-памяти. | ||
Строка 63: | Строка 63: | ||
Описание всех параметров параметров конфигурации загрузчика можно посмотреть по ссылке: | Описание всех параметров параметров конфигурации загрузчика можно посмотреть по ссылке: | ||
В частности, последовательность поиска загрузочного усиройства задаётся в параметре BOOT_ORDER. | https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-bootloader-configuration | ||
В частности, последовательность поиска загрузочного усиройства задаётся в параметре BOOT_ORDER: | |||
{| class="wikitable" | |||
|- | |||
! Значение 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. | |||
== Дополнение == | |||
Более подробную информация о командах | |||
rpi-eeprom-config | |||
rpi-eeprom-update | |||
vcgencmd | |||
можно посмотреть по ссылке: | |||
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#updating-the-eeprom-configuration |
Текущая версия от 14:59, 20 января 2023
Обновление и конфигурирование загрузчика 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
Описание всех параметров параметров конфигурации загрузчика можно посмотреть по ссылке:
В частности, последовательность поиска загрузочного усиройства задаётся в параметре 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.
Дополнение
Более подробную информация о командах
rpi-eeprom-config rpi-eeprom-update vcgencmd
можно посмотреть по ссылке: