Ports/aarch64/RaspberryPiCM4: различия между версиями

Материал из ALT Linux Wiki
< Ports‎ | aarch64
Нет описания правки
 
(не показано 5 промежуточных версий 2 участников)
Строка 1: Строка 1:
[[Category:ARM]] [[Category:AArch64]]
[[Category:ARM]] [[Category:AArch64]]


Raspberry Pi Compute Module 4 - вычислительный модуль, представляющий собой собой портативный вариант модели Raspberry Pi 4, размером всего 55 × 40 мм <ref>https://www.opennet.ru/opennews/art.shtml?num=53919</ref>. В статье рассматривается работа модуля с платой ввода-вывода Raspberry Pi Compute Module 4 and IO Board <ref>https://www.raspberrypi.org/products/compute-module-4/</ref>.
Raspberry Pi Compute Module 4 вычислительный модуль, представляющий собой собой портативный вариант модели Raspberry Pi 4, размером всего 55 × 40 мм <ref>https://www.opennet.ru/opennews/art.shtml?num=53919</ref>. Статья содержит инструкции по прошивке модуля (EEPROM и eMMC), установленного в плату ввода-вывода Raspberry Pi Compute Module 4 and IO Board <ref>https://www.raspberrypi.org/products/compute-module-4/</ref>.


== Подготовка ==
== Подготовка ==


Установить пакет raspberrypi-usbboot на компьютер, с которого будет производиться прошивка модуля.
Установить пакет {{pkg|raspberrypi-usbboot}} на компьютер, с которого будет производиться прошивка модуля.


== Обновление загрузчика в EEPROM ==
== Обновление загрузчика в EEPROM ==
0. Подготовить [[#Модификация_прошивки_загрузчика_EEPROM|прошивку]]


1. Установить перемычки на плате ввода-вывода: J2 "disable eMMC Boot" и "disable writing to EEPROM"
1. Установить перемычки на плате ввода-вывода: J2 "disable eMMC Boot" и "disable writing to EEPROM"
Строка 74: Строка 76:
6. Записать образ на /dev/sdX или самостоятельно развернуть rootfs
6. Записать образ на /dev/sdX или самостоятельно развернуть rootfs


7. Смонтировать FAT32 радел, добавить в config.txt строку:
7. Смонтировать FAT32 раздел, добавить в config.txt строку:


<source lang="bash">dtoverlay=dwc2,dr_mode=host</source>
<source lang="bash">dtoverlay=dwc2,dr_mode=host</source>
Строка 91: Строка 93:
1. Получаем прошивки для вычислительного модуля и переходим к ним одной командой:
1. Получаем прошивки для вычислительного модуля и переходим к ним одной командой:


<source lang="bash">wget https://github.com/raspberrypi/usbboot/archive/master.tar.gz &&
<source lang="bash">git clone --depth 1 https://github.com/raspberrypi/usbboot &&
tar -xvf master.tar.gz usbboot-master/recovery &&
cd usbboot/recovery</source>
rm -f master.tar.gz &&
cd usbboot-master/recovery</source>
 
2. В каталоге будет несколько стабильных прошивок:
 
<source lang="bash">pieeprom-2021-02-16.bin
pieeprom-2021-06-14.bin
pieeprom.original.bin</source>


Записывается из них только pieeprom.original.bin.
2. В каталоге будет прошивка pieeprom.bin
Так что при необходимости переименовываем нужную в pieeprom.original.bin


3. При необходимости изменяем порядок загрузки в файле boot.conf <ref>https://www.raspberrypi.com/documentation/computers/compute-module.html#cm4bootloader</ref>.
3. При необходимости изменяем порядок загрузки в файле boot.conf <ref>https://www.raspberrypi.com/documentation/computers/compute-module.html#cm4bootloader</ref>.


* Для сетевой загрузки прописываем:  
* Для сетевой загрузки прописываем:  
<source>BOOT_ORDER=0xf2</source>
<source lang="text">BOOT_ORDER=0xf2</source>
* Для загрузки с SD/EMMC:
* Для загрузки с SD/EMMC:
<source>BOOT_ORDER=0xf1</source>
<source lang="text">BOOT_ORDER=0xf1</source>
* Для загрузки сначала с USB, а в случае неудачи через eMMC:
* Для загрузки сначала с USB, а в случае неудачи через eMMC:
<source>BOOT_ORDER=0xf15</source>
<source lang="text">BOOT_ORDER=0xf51</source>


4. Готовим прошивку, если производили какие-то изменения на предыдущих шагах:
4. Готовим прошивку, если производили какие-то изменения на предыдущих шагах:
Строка 126: Строка 119:
О: Убедитесь, что отключили кабель micro-USB от платы ввода-вывода
О: Убедитесь, что отключили кабель micro-USB от платы ввода-вывода
и прописали в config.txt строку:
и прописали в config.txt строку:
<source lang="bash">dtoverlay=dwc2,dr_mode=host</source>
<source lang="text">dtoverlay=dwc2,dr_mode=host</source>


В: Не работает загрузка с usb 2.0
В: Не работает загрузка с usb 2.0

Текущая версия от 04:59, 7 ноября 2022


Raspberry Pi Compute Module 4 — вычислительный модуль, представляющий собой собой портативный вариант модели Raspberry Pi 4, размером всего 55 × 40 мм [1]. Статья содержит инструкции по прошивке модуля (EEPROM и eMMC), установленного в плату ввода-вывода Raspberry Pi Compute Module 4 and IO Board [2].

Подготовка

Установить пакет raspberrypi-usbboot на компьютер, с которого будет производиться прошивка модуля.

Обновление загрузчика в EEPROM

0. Подготовить прошивку

1. Установить перемычки на плате ввода-вывода: J2 "disable eMMC Boot" и "disable writing to EEPROM"

2. Подключить к компьютеру при помощи кабеля micro-USB (USB slave на плате)

3. Подать питание на плату ввода-вывода

4. Запустить на компьютере следующую команду от root:

# rpiboot -d путь/до/recovery
Loading: путь/до/recovery/bootcode4.bin
Waiting for BCM2835/6/7/2711...
Loading: путь/до/recovery/bootcode4.bin
Sending bootcode.bin
Successful read 4 bytes 
Waiting for BCM2835/6/7/2711...
Loading: путь/до/recovery/bootcode4.bin
Second stage boot server
Loading: путь/до/recovery/config.txt
File read: config.txt
Loading: путь/до/recovery/pieeprom.bin
Loading: путь/до/recovery/pieeprom.bin
Loading: путь/до/recovery/pieeprom.sig
File read: pieeprom.sig
Loading: путь/до/recovery/pieeprom.bin
File read: pieeprom.bin
Second stage boot server done

5. Дождаться завершения прошивки (около 10 секунд, на дисплее загорится зелёная картинка, если успешно)

6. Отключить питание

7. Удалить перемычки, отключить usb-кабель от компьютера

8. Подать питание и пробовать загружаться

Запись на eMMC

1. Установить перемычку на плате ввода-вывода: J2 "disable eMMC Boot"

2. Подключить к компьютеру при помощи кабеля micro-USB (USB slave на плате)

3. Подать питание на плату ввода-вывода

4. Запустить на компьютере:

# rpiboot
Waiting for BCM2835/6/7/2711...
Loading embedded: bootcode4.bin
Sending bootcode.bin
Successful read 4 bytes 
Waiting for BCM2835/6/7/2711...
Loading embedded: bootcode4.bin
Second stage boot server
Loading embedded: start4.elf
File read: start4.elf
Second stage boot server done

5. На компьютере появится новое устройство /dev/sdX

6. Записать образ на /dev/sdX или самостоятельно развернуть rootfs

7. Смонтировать FAT32 раздел, добавить в config.txt строку:

dtoverlay=dwc2,dr_mode=host

Если этого не сделать, не будут работать порты USB 2.0. Тем не менее при загрузке с USB, а не eMMC, этого не требуется делать.

8. Отмонтировать разделы и отключить питание платы ввода-вывода

9. Удалить перемычку, отключить usb-кабель от компьютера

10. Подать питание и пробовать загружаться

Модификация прошивки загрузчика EEPROM

1. Получаем прошивки для вычислительного модуля и переходим к ним одной командой:

git clone --depth 1 https://github.com/raspberrypi/usbboot &&
cd usbboot/recovery

2. В каталоге будет прошивка pieeprom.bin

3. При необходимости изменяем порядок загрузки в файле boot.conf [3].

  • Для сетевой загрузки прописываем:
BOOT_ORDER=0xf2
  • Для загрузки с SD/EMMC:
BOOT_ORDER=0xf1
  • Для загрузки сначала с USB, а в случае неудачи через eMMC:
BOOT_ORDER=0xf51

4. Готовим прошивку, если производили какие-то изменения на предыдущих шагах:

./update-pieeprom.sh

5. Выполняем Обновление загрузчика в EEPROM

FAQ

В: Не работает usb 2.0 при загрузке с eMMC

О: Убедитесь, что отключили кабель micro-USB от платы ввода-вывода и прописали в config.txt строку:

dtoverlay=dwc2,dr_mode=host

В: Не работает загрузка с usb 2.0

О: Убедитесь, что отключили кабель micro-USB от платы ввода-вывода. Если не помогло, то следует изменить порядок загрузки (см. Модификация прошивки загрузчика EEPROM)

Ссылки