Bug 54099 - Не может найти u-boot для --target orangepi-5-rk3588s
Summary: Не может найти u-boot для --target orangepi-5-rk3588s
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: alt-rootfs-installer (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Антон Мидюков
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-01 19:37 MSK by Anton Zhukharev
Modified: 2025-05-02 04:46 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Zhukharev 2025-05-01 19:37:46 MSK
$ rpm -q alt-rootfs-installer
alt-rootfs-installer-0.6.3-alt3.noarch

Образ:
5f7daf887b7eb4a381e28baad95a0a93  regular-jeos-systemd-20250430-aarch64.img.xz
отсюда:
https://nightly.altlinux.org/sisyphus-aarch64/tested/

SD-карта: /dev/sda

1. Загружаем образ
2. unxz regular-jeos-systemd-latest-aarch64.img.xz
3. su -c 'alt-rootfs-installer --target=orangepi-5-rk3588s --image-in=./regular-jeos-systemd-latest-aarch64.img. --media=/dev/sda'
4. Получаем ошибку:

* Mounting root partition to the temporary directory...
[DONE]
* Warning: /tmp/.private/root/rootpart.W5BM4Rwn/usr/share/u-boot/orangepi-5-rk3588s/u-boot-rockchip.bin is missing. Try find idbspl.img...
* Warning: idbspl.img is missing. Try find idbloader.img...
* Warning: idbloader.img is missing. Try find and write u-boot.itb without first loader...
[FAIL]
Error: alt-rootfs-installer: Error: u-boot.itb not found!!!

Если запустить виртуалку с этим образом и глянуть по первому пути выводе, то можно обнаружить наличие этого файла.

Недолго изучая исходный код alt-rootfs-installer, я обнаружил, что он умеет работать с с сжатыми u-boot'ами, поэтому возникновение этой ошибки неясно.
Comment 1 Антон Мидюков 2025-05-01 20:12:43 MSK
Запустите с --debug и приложите лог записи.
У меня не воспроизводится.
Comment 2 Anton Zhukharev 2025-05-01 20:19:18 MSK
(In reply to Антон Мидюков from comment #1)
> Запустите с --debug и приложите лог записи.
> У меня не воспроизводится.

su - 'command' без /sbin и /usr/sbin в $PATH + оказалось, что мало место было в TMP (но точно не знаю влияет ли это), поэтому и такие неясные ошибки.

Поэтому зашел чисто под рута (su -) и изменил TMP:

$ su -
$ TMP=/home/ancieg/aarch64/tmp alt-rootfs-installer --target=orangepi-5-rk3588s --image-in=./regular-jeos-systemd-latest-aarch64.img --media=/dev/sda --resize

Все отработало без ошибок, прошу прощения за потраченное время...
Comment 3 Anton Zhukharev 2025-05-01 20:21:32 MSK
(In reply to Anton Zhukharev from comment #2)
> (In reply to Антон Мидюков from comment #1)
> > Запустите с --debug и приложите лог записи.
> > У меня не воспроизводится.
> 
> su - 'command' без /sbin и /usr/sbin в $PATH + оказалось, что мало место
> было в TMP (но точно не знаю влияет ли это), поэтому и такие неясные ошибки.

Поправка: "su -c 'command'"
Comment 4 Anton Zhukharev 2025-05-01 21:37:20 MSK
Жалко только, что одноплатник не загружается с получаемой системой :'(
Comment 5 Антон Мидюков 2025-05-02 04:46:10 MSK
(Ответ для Anton Zhukharev на комментарий #4)
> Жалко только, что одноплатник не загружается с получаемой системой :'(

У меня Orange Pi 5 грузился с нашим u-boot, пока в spi было записано нечто с завода. Когда я в spi записал edk2 и далее неважно что (хоть и стереть spi), эффект один - очень долго грузится (как понимаю, выставлена очень низкая частота процессора) и initrd не проходит по тайм-ауту.
Запишите в SPI edk2 или сторонний u-boot:
https://github.com/edk2-porting/edk2-rk3588/releases
https://github.com/schneid-l/u-boot-orangepi5/blob/main/README.md

В случае edk2, актуальные dtb для целевого ядра нужно помещать в /boot/efi/dtb
У регулярок ядро 6.12, у которого HDMI не работает. Поэтому будет только serial console. Ставьте ядро 6.15, копируйте его dtb на fat раздел. И почти всё заработает худо-бедно.
В случае стороннего u-boot используется extlinux.conf, поэтому достаточно обновить ядро.