Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2

Только технические вопросы по ЯОС и MINOS. Терминология и прочее - в других форумах.
Ответить
БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2

Сообщение БудДен » 26.10.21 17:26

Начало - здесь. Но мы начинаем заново.
  • идентифицируем процессор как BCM 2836 (по номеру модели - надо, кстати, проверить!)
  • загружаем из интернета 2017-07-05-raspbian-jessie-lite.zip
  • скачиваем etcher portable
  • имеется micro SD SDHC Kingston 4Gb (и переходник на SD)
  • с помощью etcher заливаем zip на диск
  • подключаем питание по USB от ноута, монитор (ASUS FullHD что-то там), клавиатуру
  • оно работает (загружается Raspbian, логин pi, пароль raspberry)
  • cat /proc/cpuinfo - пишет, что у нас BCM2835 ARMv7 Processor rev 5 (v71)
Т.е. мы неверно идентифицировали процессор. Ну ок.
Последний раз редактировалось БудДен 26.10.21 17:44, всего редактировалось 1 раз.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2

Сообщение БудДен » 26.10.21 17:28

- находим на помойке ранее собранный первый пример из https://github.com/mrvn/RaspberryPi-baremetal
- переименовываем в корне диска kernel7.img в linux.kernel.7img
- копируем led-rpi2.img из собранного примера в led2-rpi2.img в kernel7.img

Оно мигает светодиодом.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2

Сообщение БудДен » 26.10.21 17:42

Согласно http://henryomd.blogspot.com/2017/10/ha ... -boot.html и https://raspberrypi.stackexchange.com/q ... ry-pi-boot
разбираемся в том, как происходит загрузка. Поскольку конкретные модели не указаны, всё это вилами по воде.

* якобы сначала включается GPU, а ARM спит и SDRAM отключена
* первый загрузчик находится в ROM (а настоящий ли это ROM или его можно прошить?)
* этот ПЗУ-шный загрузчик читает SD-карту и загружает bootcode.bin в кеш 2-го уровня,
затем запускает его - и мы действительно находим у себя bootcode.bin на SD карте от Raspbian
* bootcode.bin включает SDRAM и читает третий загрузчик, loader.bin, который новые модели не используют (а какие модели новые?) - НЕ видим у себя loader.bin и предполагаем, что у нас "новая" модель.
* если есть loader.bin, то он читает прошивку GPU - start.elf - у нас есть start.elf - похоже, что теперь bootcode.bin этим занят. В нём даже упоминается start.elf
* start.elf читает config.txt, cmdline.txt и kernel.img

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2

Сообщение БудДен » 26.10.21 17:47

Разбираемся между kernel.img и kernel7.img. На форуме пишут :
kernel.img is used by RPi 1B, 1A, A+, B+, 2B (first version) Z, Z (with camera), ZW, CM1

kernel7.img is used by the RPi2B2, RPi3B, CM3 and CM3L.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2

Сообщение БудДен » 26.10.21 17:53

Теперь попробуем оживить нашу мигалку, стерев всё лишнее от Linux.
Оставляем:

Код: Выделить всё

overlays
bcm2709-rpi-2-b.dtb
bootcode.bin
cmdline.txt
config.txt
start.elf
blinker.img
Переименовываем blinker.img в kernel7.img и получаем кирпич (зелёный и красный светодиоды горят, экран чёрный).

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2

Сообщение БудДен » 26.10.21 18:15

Попробуем поаккуратнее...

* стираем kernel.img - работает
* fixup.dat - гугл говорит не удалять - ОСТАВЛЯЕМ (https://forums.raspberrypi.com/viewtopic.php?t=173308)
* overlays - похоже, относятся к дереву оборудования (http://henryomd.blogspot.com/2017/10/ha ... 7726287466), а дерево оборудования вроде как нам нужно. Посему тоже ОСТАВЛЯЕМ. Дальше остаются безобидный issue.txt с номером версии, два файла копирайтов (ой-ой, у нас остаётся копирайт от линукса - это проблема).
* попробуем стереть лишние DTD, оставляем только bcm2709-rpi-2-b - работает.

Будем считать, что результат хороший.


Ответить