Repka Pi 4 быстрый старт
Установка и запуск ОС семейства Альт на одноплатном компьютере Repka Pi 4
Посредством alt-rootfs-installer
Создать новый каталог и перейти в него. Скачать:
- Образ корневой ФС на примере регулярной сборки с xfce
$ wget https://nightly.altlinux.org/sisyphus-aarch64/tested/regular-xfce-latest-aarch64.img.xz
- Начальный загрузчик u-boot https://packages.altlinux.org/ru/sisyphus/binary/u-boot-repka4/aarch64/
$ wget https://git.altlinux.org/tasks/381074/build/100/aarch64/rpms/u-boot-repka4-2020.04.rc3.1-alt2.aarch64.rpm
- Ядро Linux для repka4 https://packages.altlinux.org/ru/sisyphus/binary/kernel-image-repka4/aarch64/
$ wget https://git.altlinux.org/tasks/378986/build/500/aarch64/rpms/kernel-image-repka4-6.6.44-alt1_3.git4bdc0a7.aarch64.rpm
В нашем каталоге три файла: regular-xfce-latest-aarch64.img.xz, u-boot-repka4-2020.04.rc3.1-alt2.aarch64.rpm и kernel-image-repka4-6.6.44-alt1_3.git4bdc0a7.aarch64.rpm Чтобы извлечь нужные файлы, пакеты надо распаковать
$ rpm2cpio u-boot-repka4-2020.04.rc3.1-alt2.aarch64.rpm | cpio -idmv $ rpm2cpio kernel-image-repka4-6.6.44-alt1_3.git4bdc0a7.aarch64.rpm | cpio -idmv
Загрузчик будет в подкаталоге ./usr/share/u-boot/repka_pi4/, а DTB в ./boot/devicetree/6.6.44-repka4-alt1_3.git4bdc0a7/allwinner/
Для дальнейших действий требуются полномочия суперпользователя и SD карта емкостью от 16 Gb
Запоминаем текущий каталог:
$ pwd > /tmp/current_path
Получаем права root:
$ su -
Переходим в каталог, путь к которому сохранили ранее:
# cd "$(cat /tmp/current_path)"
Записываем образ:
# alt-rootfs-installer --image-in=regular-xfce-latest-aarch64.img.xz --media=/dev/sdc --resize
Записываем загрузчик:
# dd if=u-boot-sunxi-with-spl.bin of=/dev/sdc bs=1024 seek=8 conv=notrunc
Монтируем второй раздел SD в каталог. Добавляем DTB - файл sun50i-h6-repka-pi4-optimal.dtb в ./boot/dtb/allwinner/ Меняем файл конфига ./etc/initrd.mk на ./etc/initrd.mk.oem (прежний initrd.mk сохранить как initrd.mk.bak). Отмонтируем SD, вставляем в Репку, загружаемся первый раз, проходим установщик.
Замена ядра
$ su - # apt-get update # apt-get dist-upgrade # mv -f /etc/initrd.mk.bak /etc/initrd.mk # make-initrd # update-kernel -t repka4
Удаление ненужного ядра
# apt-get remove kernel-image-6.12
Перенос на eMMC
В целом производится примерно так:
# dd if=/dev/mmcblk0 of=/dev/mmcblk2 bs=4M status=progress # parted /dev/mmcblk2 resizepart 2 100% # e2fsck -f /dev/mmcblk2p2 # resize2fs /dev/mmcblk2p2
Затем отключение, извлечение SD и загрузка с eMMC. Repka 4 в первую очередь загружается с microSD, это свойство можно использовать в качестве запасного варианта, если что-то пойдёт не так.
Известные недостатки и способы их устранения
Инсталлятор отработал, но после перезапуска ядро не грузится
Возможно пропустили замену /etc/initrd.mk на содержимое /etc/initrd.mk.oem. Проще всего перезаписать накопитель заново и повторить установку.
Включение диагностики и логина по UART
В /boot/extlinux/extlinux.conf поправить параметры append, заменив
ro quiet splash console=tty0
на
ro loglevel=7 earlyprintk console=ttyS0,115200
Смена X11 драйвера с modesetting на fbdev и обратно
# apt-get install xsetup # xsetup -s Monitor -e Identifier -v \"Monitor0\" /etc/X11/xorg.conf.d/10-monitor.conf # xsetup -s Device -e Identifier -v \"Card0\" /etc/X11/xorg.conf.d/10-monitor.conf # xsetup -s Device -e Driver -v \"fbdev\" /etc/X11/xorg.conf.d/10-monitor.conf
Чтобы вернуть обратно modesetting, просто удаляем файл:
# rm -f /etc/X11/xorg.conf.d/10-monitor.conf
Включение аудиовыхода на Jack 3.5mm
Создать bash-скрипт со следующим содержимым и запустить его от имени root:
#!/bin/bash echo "options sun9i-hdmi index=0" >> /etc/modprobe.d/alsa-base.conf echo "options ac200-audio index=1" >> /etc/modprobe.d/alsa-base.conf echo "defaults.pcm.card 1" > /etc/asound.conf echo "defaults.ctl.card 1" >> /etc/asound.conf amixer -D hw:ac200audio sset 'DAC I2S' unmute alsactl store
Мерцание курсора или другая необходимость отключить аппаратное ускорение
Также, Option "AccelMethod" "none" вместо "fbdev" помогает если перестает работать смена обоев XFCE.
Решение — создание файла /etc/X11/xorg.conf.d/10-monitor.conf:
Section "Monitor" Identifier "Monitor0" EndSection Section "Device" Identifier "Card0" Driver "modesetting" Option "AccelMethod" "none" EndSection