Основные характеристики Repka Pi3
- Комплектация: Standard
- ЦП: Allwinner H5 (CPU + GPU) Ядра ARMv8 Cortex-A53
- ОЗУ: 1ГБ SDRAM DDR3 (1333 МГц)
- ГП: Mali 450 MP4
- Сеть: Wi-Fi 802.11b/g/n Bluetooth V4.0 (HS) На модуле AP6212 + 10/100 МБит Ethernet
Сайт производителя: https://rbs-computers.ru/repkapi3 и https://repka-pi.ru
В качестве образа ОС был взят стартовый набор ALT Linux 10 aarch64 builder, поскольку он содержит в себе минимальный набор ПО + сборочное окружение.
Подробнее о стартовых наборах:
https://www.altlinux.org/Starterkits/About
https://www.altlinux.org/Starterkits/Download
(изменения от 26.09.2024):
Однако на данный момент уже выпущены дистрибутивы на 11-й платформе и ссылки заменены. Процесс записи образа 10 и 11 платформы одинаков.Чтоб скачать образ именно ОС Альт 10 перейдите в раздел:
https://nightly.altlinux.org/p10-aarch64/release/
Образы 11-й платформы доступны здесь:
https://nightly.altlinux.org/p11-aarch64/release/
Нас интересует образ img в архиве xz (после скачивания необходимо распаковать)
Приступаем!
(изменения от 13.06.2024):
(Знак # перед командами означает выполнение их от root)
Первым делом необходимо записать образ на карту MicroSD (/dev/sdb), в моём случае была использована программа dd (от рута)
# dd if=alt-p10-builder-20230309-aarch64.img of=/dev/sdb oflag=direct bs=1M status=progress
- Далее, нам необходим загрузчик U-Boot, поскольку имеющийся в альтовой сборке не способен загрузить ОС на данном устройстве. Архив с загрузчиком можно взять на сайте https://repka-pi.ru/ в разделе загрузок: DTS и DTSI для своих проектов на Repka Pi или для портирования других ОС или для выбора версии архива https://download.repka-pi.ru/repka_os/uboot/ На момент редактирования статьи последняя версия архива от 13.06.2024. Скачиваем архив и разархивтруем. Нас интересует каталог: Файл загрузчика, в котором как раз находится необходимый бинарный образ загрузчика U-Boot для Repka-Pi.
Той же самой программой dd от рута дописывает на флешку образ загрузчика
# dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8 conv=notrunc
Далее, необходимо смонтировать раздел корня ОС Альт (в моём случае это /dev/sdb2) на MicroSD например в /mnt
# mount /dev/sdb2 /mnt
Теперь переходим в каталог из того же архива (DTB), где находятся файлы дерева устройств, которые необходимы ядру для понимания, на каком "железе" оно работает, выбираем файл согласно спецификации платы (В моём случае это sun50i-h5-repka-pi3-1.2ghz.dtb) и копируем его в каталог /boot на MicroSD
Тут внимание! Загрузчик в процессе загрузки ядра ОС будет искать файл с именем sun50i-h5-repka-pi3.dtb, поэтому при копировании конечный файл следует назвать именно так.
# cp sun50i-h5-repka-pi3-1.2ghz.dtb /mnt/boot/sun50i-h5-repka-pi3.dtb
Размонтируем MicroSD и можно запускать репку)
# umount /mnt
Обновим систему и ядро.
Ядро рекомендую использовать std-def
# apt-get update
# apt-get dist-upgrade
# apt-get install update-kernel
# update-kernel -t std-def
# reboot
Но не всё так просто XD
После загрузки ОС не будет работать Wi-Fi модуль. Командой dmesg мы увидим такие три строки на Альт 10:
1) brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.xunlong,orangepi-pc2.bin failed with error -2
2) brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.xunlong,orangepi-pc2.txt failed with error -2
3) brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.txt failed with error -2
На Альт 11 две:
1) brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.rbs,repka-pi3.bin failed with error -2
2) brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.txt failed with error -2
Для исправления необходимо перейти в каталог /lib/firmware/brcm и создать три симлинка. Перезагрузить девайс и всё должно работать.
Альт 10:
# cd /lib/firmware/brcm
# ln -s ../cypress/cyfmac43430-sdio.bin brcmfmac43430-sdio.xunlong,orangepi-pc2.bin
# ln -s brcmfmac43430-sdio.AP6212.txt brcmfmac43430-sdio.xunlong,orangepi-pc2.txt
# ln -s brcmfmac43430-sdio.AP6212.txt brcmfmac43430-sdio.txt
Альт 11:
# cd /lib/firmware/brcm/
# ln -s ../cypress/cyfmac43430-sdio.bin brcmfmac43430-sdio.rbs,repka-pi3.bin
# ln -s ../cypress/cyfmac43430-sdio.bin brcmfmac43430-sdio.xunlong,orangepi-pc2.bin
# ln -s brcmfmac43430-sdio.AP6212.txt brcmfmac43430-sdio.xunlong,orangepi-pc2.txt
# ln -s brcmfmac43430-sdio.AP6212.txt brcmfmac43430-sdio.txt
ln -s brcmfmac43430-sdio.AP6212.txt brcmfmac43430-sdio.rbs,repka-pi3.txt
(Изменения от 31.07.2023):
По поводу bluetooh, на версии платы как у меня (rev 1.3) он не работает. Решением является допаять 3 резистора. Подробнее в статье https://repka-pi.ru/blog/post/dobavliaem-bliutuz-bluetooth-v-repka-pi-3-na-platakh-versii-1-3-i-mladshe-32 (фото ниже взято от туда, так как сам не пробовал). На фото указаны посадочные места и номиналы:
Готовые образы на 10 и 11 платформе с уже записанным в него загрузчиком и исправлением работы встроенного wi-fi модуля можете скачать с моего сайта диска: https://sysadmin-m.ru/upload/resources/
Много интересного на boosty про Репку и Linux. Канал недавно создан, и буду его активно развивать, делясь своими воркхаками, идеями и опытом: https://boosty.to/sysadmin-m
Удачных экспериментов и проектов!!!