Repka Pi 4 быстрый старт

Материал из ALT Linux Wiki
50px-Gnome globe current event.png
Данная статья периодически обновляется.
Последнее обновление
16:00 07 мая 2025

Установка и запуск ОС семейства Альт на одноплатном компьютере Repka Pi 4

Посредством alt-rootfs-installer

Создать новый каталог и перейти в него. Скачать:

  • Образ корневой ФС на примере регулярной сборки с xfce
$ wget https://nightly.altlinux.org/sisyphus-aarch64/tested/regular-xfce-latest-aarch64.img.xz
$ wget https://git.altlinux.org/tasks/381074/build/100/aarch64/rpms/u-boot-repka4-2020.04.rc3.1-alt2.aarch64.rpm 
$ 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

Внимание! Предыдущее содержимое SD карты будет утрачено безвозвратно


Запоминаем текущий каталог:

$ 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