В данной статье рассмотрим как можно адаптировать образ с других плат для Repka Pi на основе прошивки эмулятора ретро игр Batocera 34, а так же примерим корпус NesPi для Raspberry Pi 3B к репке.
Образ в конце статьи!
Repka села просто идеально в данный корпус
Так же сразу выкладываю видео теста некоторых игр
Подготовка образа Batocera #
Данный способ больше подойдет если у системы уже есть прошивка для одно платного компьютера на Alwinner H5 возможно и других, для меня такой способ тоже новый.
Данный способ не требует полной сборки системы с исходников. Весь процесс подготовки будет выполняться на Linux на ядре x86, Repka Pi с Repka OS не подходит т.к. загрузчик собирается на x86 платформе, но если вам не придется править dts файл и компилировать его, а просто заменить dtb на предоставленный Repka Pi то подойдет и Repka OS, но об этом ниже в статье.
И так приступим. Идем на сайт и скачиваем образ, в данном обзоре используется образ для Libretech H5
Данная прошивка запускалась на Repka Pi 3 но не моргал статусный диод, можно было ее использовать и без адаптации но без синего светодиода и WI-FI (но Wi-Fi и не заработает даже после смены dtb файла и в прошивке сейчас его тоже нет)
Все файлы с которыми будем работать располагаем в “Домашней“ директории "~/“
И так прошивку скачали, у меня это файл ~/batocera-tritium_h5-34-20220523.img.gz, теперь нам нужно скачать архив с DTS, на момент написания статьи они располагаются по ссылке
Я его скачал на Repka Pi с установленной Repka OS, тут же лежит образ с Batocera
Для начала давайте распакуем скаченный архив ~/Uboot-28.06.23.zip (на момент написания статьи)
unzip ~/Uboot-28.06.23.zip
Появится папка ~/Uboot
В папке DTB лежат все варианты dtb файлов, я для своей сборки решил взять файл sun50i-h5-repka-pi3-alt-pwm-1.2ghz.dtb
Теперь рассмотрим так можно заменить файл Device Tree непосредственно в готовом образе.
Распакуем скаченный образ batocera-tritium_h5-34-20220523.img.gz
gunzip ~/batocera-tritium_h5-34-20220523.img.gz
Получили файл ~/batocera-tritium_h5-34-20220523.img теперь работаем с ним
Переходим в “Домашнюю“ директорию cd ~
Подмонтируем образ
Смотрим какие разделы в образе, и определяем с какого байта начинается boot раздел
parted -ms "~/batocera-tritium_h5-34-20220523.img" unit B print
В образе два раздела, нас интересует первый boot раздел и он начинается с 1048576 байт
Теперь создаем loop устройство с нашим разделом в файле образа (начинается с 1048576 байта)
losetup -f --show -o "1048576" "batocera-tritium_h5-34-20220523.img"
Команда должна вернуть loop устройство, у меня это /dev/loop0
Теперь можно подмонтировать данное устройство как обычный диск командой mount
mount "/dev/loop0" "/mnt"
Теперь открываем папку mnt, я использую mc, и видим следующие файлы и папки
/batocera-boot.conf
/boot
/extlinux
/tools
В /boot заменяем файл sun50i-h5-libretech-all-h3-cc.dtb на наш от Repka Pi sun50i-h5-repka-pi3-alt-pwm-1.2ghz.dtb
cp ~/Uboot/DTB/sun50i-h5-repka-pi3-alt-pwm-1.2ghz.dtb /mnt/boot/
rm /mnt/boot/sun50i-h5-libretech-all-h3-cc.dtb
В файле /mnt/boot/batocera.board прописываем нашу плату
echo 'Repka-Pi3' > /mnt/boot/batocera.board
Теперь заменяем dtb в настройках /mnt/extlinux/extlinux.conf
sed -i "s/sun50i-h5-libretech-all-h3-cc.dtb/sun50i-h5-repka-pi3-alt-pwm-1.2ghz.dtb/" /mnt/extlinux/extlinux.conf
На этом замена dtb закончена, теперь демонтируем наш образ и отключим loop устройство
umount "/mnt"
losetup -d "/dev/loop0"
Образ готов и его можно записать на MicroSD. Как записать образ на MicroSD описано в статье
Но после запуска обнаружилось что нет звука на HDMI и пришлось править dts файлы, все правки описывать не буду, а выкладываю файлы dts и dtb на gitflic.ru. Что было изменено можно посмотреть в Истории.
И так давайте с клонируем репозиторий
git clone https://gitflic.ru/project/screator/dts-repka-pi3-dlya-batocera.git
можно просто заменить файл DTB
cp ~/dts-repka-pi3-dlya-batocera/arch/arm/dtssun50i-h5-repka-pi3-alt-pwm-1.2ghz.dtb ~/Uboot/DTB/
И повторить замену файла и звук на HDMI появится
Ну если хотите скомпилировать dtb файл самостоятельно то понадобится Linux под управлением x86 архитектуры. Как это сделать рассмотрено в данной статье
Материалы
Очень Хорошая статья! Супер! Давайте продолжение и готовый образ и хорошо бы ссылки сразу - где купить такой корпус.
Образ в конце статьи и ссылки на коллекции игр