- идентифицируем процессор как 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)
Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2
Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2
Начало - здесь. Но мы начинаем заново.
Последний раз редактировалось БудДен 26.10.21 17:44, всего редактировалось 1 раз.
Re: Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2
- находим на помойке ранее собранный первый пример из https://github.com/mrvn/RaspberryPi-baremetal
- переименовываем в корне диска kernel7.img в linux.kernel.7img
- копируем led-rpi2.img из собранного примера в led2-rpi2.img в kernel7.img
Оно мигает светодиодом.
- переименовываем в корне диска kernel7.img в linux.kernel.7img
- копируем led-rpi2.img из собранного примера в led2-rpi2.img в kernel7.img
Оно мигает светодиодом.
Re: Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2
Согласно 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
разбираемся в том, как происходит загрузка. Поскольку конкретные модели не указаны, всё это вилами по воде.
* якобы сначала включается 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
Re: Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2
Разбираемся между 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.
Re: Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2
Теперь попробуем оживить нашу мигалку, стерев всё лишнее от Linux.
Оставляем:
Переименовываем blinker.img в kernel7.img и получаем кирпич (зелёный и красный светодиоды горят, экран чёрный).
Оставляем:
Код: Выделить всё
overlays
bcm2709-rpi-2-b.dtb
bootcode.bin
cmdline.txt
config.txt
start.elf
blinker.img
Re: Запускаем PeterLemon под Raspberry Pi 2 Model B Revision 1.1, часть 2
Попробуем поаккуратнее...
* стираем 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 - работает.
Будем считать, что результат хороший.
* стираем 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 - работает.
Будем считать, что результат хороший.