Regular/arm

Материал из ALT Linux Wiki

Регулярные сборки для одноплатных компьютеров c архитектурой процессора armh и aarch64

Введение

Регулярные сборки для одноплатных компьютеров предназначены для тестирования репозитория Sisyphus. Подробнее об их назначении смотреть основную статью Regular. На данный момент (конец декабря 2018 года) доступна альфа трёх сборок: regular-lxqt, regular-mate, regular-xfce. Сборки представляют собой архив файловой системы в формате tar.xz, которую предстоит развернуть на SD-карте в соответствии с инструкцией.

Первый запуск проходит долго, нужно набраться терпения. Почему-то проверяет файловую систему и перезапускается. Затем должен загрузиться мастер первого запуска из шести стандартных шагов. По завершении работы мастера произойдёт перезагрузка, после которой загрузится экран приветствия регулярки. В дальнейшем включение-выключение будет происходить быстрее.

Эти сборки тестировались на одноплатном компьютере Raspberry Pi 3 B+. О выявленных проблемах просьба сообщать antohami@. Но для начала прочтите соответствующий раздел.

Прямые ссылки на загрузку

Запись дистрибутива на SD-карту

1 Подготовка SD-карты. Потребуется SD-карта не менее 4 ГБ. Для создания разделов можно воспользоваться программой gparted. Если целевой платформой будет не Raspberry Pi 3 (и в будущем поддержка её не нужна), то пункт 1.2 следует пропустить.

1.1 Создаём таблицу разделов msdos

1.2 Создаём раздел с файловой системой FAT (FAT16) размером 30 МБ

1.3 Создаём раздел с файловой системой ext4. Под него можно выделить всё оставшееся место

1.4 Присваиваем второму разделу метку (Label) "ROOT"

1.5 Устанавливаем второму разделу флаг "boot"

Должно получится как на картинке

Разбивка в Gparted.png

2 Распаковываем rootfs на второй раздел SD-карты с файловой системой ext4:

2.1 Для этого сперва получаем права root:

 su - 

2.2 Распаковываем командой:

 tar -xpJf /путь/до/имя_rootfs.tar.xz -C /путь/до/раздела_ROOT/sd-карты/

3 Записываем bootloader (загрузчик) на SD-карту

3.1 Для Raspberry Pi 3 нужно скопировать из rootfs на раздел fat для aarch64:

/usr/share/u-boot/rpi_3/kernel8.img

для armh:

/usr/share/u-boot/rpi_3_32b/kernel7.img

3.2 Затем нужно скопировать проприетарные компоненты (блобы) для raspberry на раздел fat.

Блобы нужно брать с https://github.com/raspberrypi/firmware/tree/next/boot

bootcode.bin
fixup_cd.dat
fixup.dat
fixup_db.dat
fixup_x.dat
start_cd.elf
start_db.elf
start.elf
start_x.elf

3.3 Создать файл config.txt и положить на раздел FAT с такой строчкой:

enable_uart=1

Также блобы и config.txt можно взять из образов SD-карт sbolshakov@. Образы, собранные до декабря 2018, не поддерживают Raspberry 3 B+.

3.4 Для всех остальных плат (поддерживаемых) загрузчики находятся в записанной rootfs:

путь/до/rootfs/usr/share/u-boot/имя_платы/

Если для платы один файл-загрузчик u-boot.bin (из пакета u-boot-meson), то нужно сделать:

dd if=/путь/до/u-boot.bin of=/dev/mmcblkX bs=1024 seek=8
sync

где вместо X нужно поставить цифру, соответствующую вашей SD-карте.

Если файлов два: sunxi-spl.bin и u-boot.itb (из пакета u-boot-sunxi), то:

dd if=spl/sunxi-spl.bin of=/dev/mmcblkX bs=8k seek=1
dd if=u-boot.itb of=/dev/mmcblkX bs=8k seek=5
sync

где вместо X нужно поставить цифру, соответствующую вашей SD-карте.

Для других плат ищите инструкции в /usr/share/doc/ в rootfs

4 Выполняем команду c правами root:

sync

Ждём её завершения. После чего безопасно извлекаем карту, отмонтировав разделы.

Текущие проблемы

Общие

  • Не выходит из ждущего режима
  • Нет аппаратных часов. При загрузке время обнуляется на дату релиза systemd. При использовании sysVinit вообще на 1970 год.

При наличии доступа в Сеть и systemd можно синхронизировать время, настроив ntpd способом, описанным в https://bugzilla.altlinux.org/show_bug.cgi?id=35979#c0

  • Для того, чтобы заработало аппаратное ускорение видео, удалите файл /etc/X11/xorg.conf.d/99-modesetting-noglamor.conf

Аппаратное ускорение поддерживает Raspberry Pi2/3. Большинство других подобных компьютеров на данный момент (февраль 2019) не поддерживают аппаратное ускорение графики.

regular-lxqt:

regular-mate:

regular-xfce: