Bug 44210

Summary: regular-jeos-systemd не загружается на Raspberry Pi Model 2 B V1.1
Product: Regular Reporter: Anton Zhukharev <ancieg>
Component: jeos-systemdAssignee: Антон Мидюков <antohami>
Status: CLOSED WONTFIX QA Contact: Andrey Cherepanov <cas>
Severity: normal    
Priority: P5 CC: antohami
Version: не указана   
Hardware: arm   
OS: Linux   

Description Anton Zhukharev 2022-11-02 22:32:04 MSK
Версия пакета: alt-rootfs-installer-0.5.5-alt1

Пытаюсь делать по этой статье: https://www.altlinux.org/Write/rootfs#Raspberry_Pi_2
Ошибка при записи U-Boot для Raspberry Pi 2 (нужно именно это старьё).
--------------------------------------------------------------------------------
Пример:
--------------------------------------------------------------------------------
root@dell /tmp Σ alt-rootfs-installer --rootfs=alt-sisyphus-rootfs-sysvinit-armh.tar.xz --media=/dev/sda --target=rpi2 --resize
Selected Media:     /dev/sda
Target:             rpi_3_32b
Selected rootfs:    /tmp/alt-sisyphus-rootfs-sysvinit-armh.tar.xz
Log file:           /tmp/.private/root/alt-rootfs-installer.log
WARNING! ALL DATA WILL BE DESTROYED
Would you like to continue? [Yes/No] 
Yes
* Clean old partitions table at /dev/sda...
[DONE]
* Creating disklabel  at /dev/sda...
[DONE]
* Creating firmware partition...
[DONE]
* Creating root partition...
[DONE]
* Informing kernel about partition table changes...
[DONE]
* Formating firmware partition to FAT32...
[DONE]
* Formating /dev/sda2 root partition to ext4...
[DONE]
* Mounting root partition to the temporary directory...
[DONE]
* Mounting firmware partition to the temporary directory...
[DONE]
* Writing /tmp/alt-sisyphus-rootfs-sysvinit-armh.tar.xz rootfs to /dev/sda...
[DONE]                                                                          
* Updating fstab and extlinux.conf...
[DONE]
* Writing U-Boot...
[FAIL]
Error: alt-rootfs-installer: failed to write U-Boot
--------------------------------------------------------------------------------
Внутри файла $TMP/alt-rootfs-installer.log:
--------------------------------------------------------------------------------
[...]
DONE
Updating fstab and extlinux.conf...
DONE
Writing U-Boot...
cp: не удалось выполнить stat для '/tmp/.private/root/rootpart.svsT4n0g/usr/share/u-boot/rpi_3_32b/*': Нет такого файла или каталога
FAIL
Error: failed to write U-Boot
--------------------------------------------------------------------------------
Насколько я понимаю, запись образа для цели rpi2 на системе x86-64 невозможна?
Как тогда можно подсунуть alt-rootfs-installer'у нужный u-boot и не сломать ничего?
Comment 1 Антон Мидюков 2022-11-02 22:47:14 MSK
1. Этот режим нужен только для старых сборок на p9. Тогда img.xz, включающие в себя всё необходимое, не собирались.
2. Сборка должна включать в себя u-boot, а Вы взяли ту, которая не включает.

Просто запишите стартеркит или регулярку armh в формате img.xz на sd-карту. Можно просто распаковать и dd записать.
http://nightly.altlinux.org/sisyphus-armh/tested/
http://nightly.altlinux.org/p10-armh/release/
Comment 2 Anton Zhukharev 2022-11-03 17:38:19 MSK
(Ответ для Антон Мидюков на комментарий #1)
> Просто запишите стартеркит или регулярку armh в формате img.xz на sd-карту.
> Можно просто распаковать и dd записать.
> http://nightly.altlinux.org/sisyphus-armh/tested/
> http://nightly.altlinux.org/p10-armh/release/
Я и img.xz пробовал ставить на sd-карту - не загружается (unxz и dd).

Попробовал зашить на sd-карту образ Raspbian 11 при помощи rpi-imager и запуск системы произошёл без проблем.

Попробовал зашить jeos (http://nightly.altlinux.org/sisyphus-armh/tested/regular-jeos-systemd-latest-armh.img.xz) с помощью rpi-imager - система не загружается (RGB-квадрат): 7 раз подряд мерцает ACT LED.

Тоже самое повторил и для образов с p10 (используя rpi-imager или dd).

Отсюда можно сделать вывод, что собранные образы для armh не работают (или ошибка в ядре?).
Comment 3 Антон Мидюков 2022-11-03 18:02:53 MSK
(Ответ для Anton Zhukharev на комментарий #2)
> (Ответ для Антон Мидюков на комментарий #1)
> > Просто запишите стартеркит или регулярку armh в формате img.xz на sd-карту.
> > Можно просто распаковать и dd записать.
> > http://nightly.altlinux.org/sisyphus-armh/tested/
> > http://nightly.altlinux.org/p10-armh/release/
> Я и img.xz пробовал ставить на sd-карту - не загружается (unxz и dd).
> 
> Попробовал зашить на sd-карту образ Raspbian 11 при помощи rpi-imager и
> запуск системы произошёл без проблем.
> 
> Попробовал зашить jeos
> (http://nightly.altlinux.org/sisyphus-armh/tested/regular-jeos-systemd-
> latest-armh.img.xz) с помощью rpi-imager - система не загружается
> (RGB-квадрат): 7 раз подряд мерцает ACT LED.
> 
> Тоже самое повторил и для образов с p10 (используя rpi-imager или dd).
> 
> Отсюда можно сделать вывод, что собранные образы для armh не работают (или
> ошибка в ядре?).

На fat32 разделе в config.txt удалите строку
[pi3]

и попробуйте снова.
Comment 4 Anton Zhukharev 2022-11-03 19:47:29 MSK
(Ответ для Антон Мидюков на комментарий #3)
> (Ответ для Anton Zhukharev на комментарий #2)
> > (Ответ для Антон Мидюков на комментарий #1)
> > > Просто запишите стартеркит или регулярку armh в формате img.xz на sd-карту.
> > > Можно просто распаковать и dd записать.
> > > http://nightly.altlinux.org/sisyphus-armh/tested/
> > > http://nightly.altlinux.org/p10-armh/release/
> > Я и img.xz пробовал ставить на sd-карту - не загружается (unxz и dd).
> > 
> > Попробовал зашить на sd-карту образ Raspbian 11 при помощи rpi-imager и
> > запуск системы произошёл без проблем.
> > 
> > Попробовал зашить jeos
> > (http://nightly.altlinux.org/sisyphus-armh/tested/regular-jeos-systemd-
> > latest-armh.img.xz) с помощью rpi-imager - система не загружается
> > (RGB-квадрат): 7 раз подряд мерцает ACT LED.
> > 
> > Тоже самое повторил и для образов с p10 (используя rpi-imager или dd).
> > 
> > Отсюда можно сделать вывод, что собранные образы для armh не работают (или
> > ошибка в ядре?).
> 
> На fat32 разделе в config.txt удалите строку
> [pi3]
> 
> и попробуйте снова.

Попробовал. Теперь ACT LED вообще перестал светиться.
Также указывал первый раздел (FAT32) как bootable - ноль реакции.
Comment 5 Anton Zhukharev 2022-11-03 22:05:20 MSK
(Ответ для Anton Zhukharev на комментарий #4)
> (Ответ для Антон Мидюков на комментарий #3)
> > (Ответ для Anton Zhukharev на комментарий #2)
> > > (Ответ для Антон Мидюков на комментарий #1)
> > > > Просто запишите стартеркит или регулярку armh в формате img.xz на sd-карту.
> > > > Можно просто распаковать и dd записать.
> > > > http://nightly.altlinux.org/sisyphus-armh/tested/
> > > > http://nightly.altlinux.org/p10-armh/release/
> > > Я и img.xz пробовал ставить на sd-карту - не загружается (unxz и dd).
> > > 
> > > Попробовал зашить на sd-карту образ Raspbian 11 при помощи rpi-imager и
> > > запуск системы произошёл без проблем.
> > > 
> > > Попробовал зашить jeos
> > > (http://nightly.altlinux.org/sisyphus-armh/tested/regular-jeos-systemd-
> > > latest-armh.img.xz) с помощью rpi-imager - система не загружается
> > > (RGB-квадрат): 7 раз подряд мерцает ACT LED.
> > > 
> > > Тоже самое повторил и для образов с p10 (используя rpi-imager или dd).
> > > 
> > > Отсюда можно сделать вывод, что собранные образы для armh не работают (или
> > > ошибка в ядре?).
> > 
> > На fat32 разделе в config.txt удалите строку
> > [pi3]
> > 
> > и попробуйте снова.
> 
> Попробовал. Теперь ACT LED вообще перестал светиться.
> Также указывал первый раздел (FAT32) как bootable - ноль реакции.
Не уверен, но может быть как-то связаны следующие два факта:
 1. raspbian 11 зашивается с загрузочным разделом начинающимся с 8192 байта;
 2. jeos-systemd зашивается с загрузочным разделом начинающимся с 32768 байта.
Comment 6 Антон Мидюков 2022-11-04 01:01:46 MSK
(Ответ для Anton Zhukharev на комментарий #4)
> (Ответ для Антон Мидюков на комментарий #3)
> > На fat32 разделе в config.txt удалите строку
> > [pi3]
> > 
> > и попробуйте снова.
> 
> Попробовал. Теперь ACT LED вообще перестал светиться.

теперь дело должно было дойти до u-boot. Можно попробовать грузить ядро напрямую. Для этого:
1 Скопировать на раздел fat32 ядро и initrd под именами vmlinuz и initrd.img
2 прописать в config.txt:
kernel=vmlinuz
initramfs initrd.img followkernel
cmdline=cmdline.txt
3. Создать cmdline.txt со строкой запуская ядра:
root=UUID=<свой_uuid> ro console=tty1
4. Пробовать загружаться

В случае неудачи показать получившийся config.txt и содержимое раздела fat32.

> Также указывал первый раздел (FAT32) как bootable - ноль реакции.

а это делать не нужно.

(Ответ для Anton Zhukharev на комментарий #5)
> Не уверен, но может быть как-то связаны следующие два факта:
>  1. raspbian 11 зашивается с загрузочным разделом начинающимся с 8192 байта;
>  2. jeos-systemd зашивается с загрузочным разделом начинающимся с 32768
> байта.

Нет. Если проблема была бы в этом, то вообще ничего не происходило.
Comment 7 Антон Мидюков 2022-11-04 08:05:09 MSK
Также можно взять архивную регулярку http://nightly.altlinux.org/sisyphus-armh/archive/regular-jeos-systemd-rpi-20211117-armh.img.xz с ядром как у Raspbian, без u-boot.
Comment 8 Anton Zhukharev 2022-11-04 10:07:34 MSK
(Ответ для Антон Мидюков на комментарий #6)
> В случае неудачи показать получившийся config.txt и содержимое раздела fat32.
ancieg@dell /run/media/ancieg/53F7-1877 Σ cat config.txt 
kernel=vmlinuz
initramfs initrd.img followkernel
cmdline=cmdline.txt

ancieg@dell /run/media/ancieg/53F7-1877 Σ cat cmdline.txt
root=UUID=fda13703-ae23-49f7-b93d-e0f466a98af6 ro console=tty1

ancieg@dell /run/media/ancieg/53F7-1877 Σ ls -A
bcm2708-rpi-b.dtb         bcm2711-rpi-cm4.dtb     initrd.img
bcm2708-rpi-b-plus.dtb    bcm2711-rpi-cm4-io.dtb  start4cd.elf
bcm2708-rpi-b-rev1.dtb    bootcode.bin            start4db.elf
bcm2708-rpi-cm.dtb        cmdline.txt             start4.elf
bcm2708-rpi-zero.dtb      config.txt              start4x.elf
bcm2708-rpi-zero-w.dtb    fixup4cd.dat            start_cd.elf
bcm2709-rpi-2-b.dtb       fixup4.dat              start_db.elf
bcm2710-rpi-2-b.dtb       fixup4db.dat            start.elf
bcm2710-rpi-3-b.dtb       fixup4x.dat             start_x.elf
bcm2710-rpi-3-b-plus.dtb  fixup_cd.dat            uboot-rpi_3_32b.bin
bcm2710-rpi-cm3.dtb       fixup.dat               uboot-rpi_4_32b.bin
bcm2711-rpi-400.dtb       fixup_db.dat            vmlinuz
bcm2711-rpi-4-b.dtb       fixup_x.dat
Comment 9 Anton Zhukharev 2022-11-04 10:09:41 MSK
(Ответ для Антон Мидюков на комментарий #7)
> Также можно взять архивную регулярку
> http://nightly.altlinux.org/sisyphus-armh/archive/regular-jeos-systemd-rpi-
> 20211117-armh.img.xz с ядром как у Raspbian, без u-boot.
Загружается ядро, но виснет и, следовательно, даже до запуска systemd не доходит.
Comment 10 Anton Zhukharev 2022-11-04 17:53:26 MSK
Похоже, что ошибка в ядре или в initrd (уточнять пока не готов):
запустил малинку, минут 10 её не трогал и затем заметил, что
PWR LED перестал светиться, при этом ACT LED изредка моргал (да ещё и не "во всю силу").

Решил проверить на raspbian 11 - такое поведение не получается повторить.
Comment 11 Anton Zhukharev 2023-02-04 23:29:47 MSK
В принципе, почти работает, после следующих действий (вкратце: подсунуть нужный
firmware для графики):

1. Создать на разделе FAT32 директорию overlays и положить
   туда файл vc4-fkms-v3d.dtbo из FAT32 образа Raspbian

2. На разделе FAT32 в config.txt прописать следующее:
--------------------------------------------------------------------------------
dtoverlay=vc4-kms-v3d
display_auto_detect=1
disable_overscan=1

[pi2]
kernel=vmlinuz
initramfs initrd.img followkernel
--------------------------------------------------------------------------------

3. На разделе FAT32 в cmdline.txt прописать следующее:
--------------------------------------------------------------------------------
root=UUID=<UUID> ro console=tty1
--------------------------------------------------------------------------------

4. Загрузиться


Однако, почему-то не работает USB-клавиатура...
Comment 12 Anton Zhukharev 2023-02-04 23:35:12 MSK
(Ответ для Anton Zhukharev на комментарий #11)
> В принципе, почти работает, после следующих действий (вкратце: подсунуть
> нужный
> firmware для графики):
> 
> 1. Создать на разделе FAT32 директорию overlays и положить
>    туда файл vc4-fkms-v3d.dtbo из FAT32 образа Raspbian
> 
> 2. На разделе FAT32 в config.txt прописать следующее:
> -----------------------------------------------------------------------------
> ---
> dtoverlay=vc4-kms-v3d
> display_auto_detect=1
> disable_overscan=1
> 
> [pi2]
> kernel=vmlinuz
> initramfs initrd.img followkernel
> -----------------------------------------------------------------------------
> ---
> 
> 3. На разделе FAT32 в cmdline.txt прописать следующее:
> -----------------------------------------------------------------------------
> ---
> root=UUID=<UUID> ro console=tty1
> -----------------------------------------------------------------------------
> ---
> 
> 4. Загрузиться
> 
> 
> Однако, почему-то не работает USB-клавиатура...
3.5. В соответствии с comment #6 скопировать vmlinuz и initrd.img на раздел FAT32.
Comment 13 Anton Zhukharev 2023-03-25 14:27:58 MSK
(Ответ для Антон Мидюков на комментарий #7)
> Также можно взять архивную регулярку
> http://nightly.altlinux.org/sisyphus-armh/archive/regular-jeos-systemd-rpi-
> 20211117-armh.img.xz с ядром как у Raspbian, без u-boot.
Ранее мною описанные шаги, но на архивной регулярке, приводят к работоспособной системе (USB-клавиатура и сеть работают).
Comment 14 Anton Zhukharev 2023-03-25 14:29:12 MSK
Честно говоря, хотелось бы перевесить в таком случае ошибку на ядро, но не уверен, что есть смысл это делать, поскольку устройство довольно старое.
Comment 15 Антон Мидюков 2023-08-30 15:18:46 MSK
(Ответ для Anton Zhukharev на комментарий #14)
> Честно говоря, хотелось бы перевесить в таком случае ошибку на ядро, но не
> уверен, что есть смысл это делать, поскольку устройство довольно старое.

Уже исправлено не будет, так как регулярки для armh больше не собираются.