Найти тему
Сисадмин Михалыч

Запуск ALT Linux 10/11 на Repka Pi3

-2

Основные характеристики 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
-3

Обновим систему и ядро.

Ядро рекомендую использовать 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
-4

(Изменения от 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 (фото ниже взято от туда, так как сам не пробовал). На фото указаны посадочные места и номиналы:

-5

Готовые образы на 10 и 11 платформе с уже записанным в него загрузчиком и исправлением работы встроенного wi-fi модуля можете скачать с моего сайта диска: https://sysadmin-m.ru/upload/resources/

Много интересного на boosty про Репку и Linux. Канал недавно создан, и буду его активно развивать, делясь своими воркхаками, идеями и опытом: https://boosty.to/sysadmin-m

Удачных экспериментов и проектов!!!