build icon indicating copy to clipboard operation
build copied to clipboard

rock-5b-plus u-boot build error

Open CodeChenL opened this issue 11 months ago • 5 comments

error log: https://github.com/armbian/os/actions/runs/15214928430/job/42800625037#step:8:982

As a result, the u-boot.itb in the built deb package does not contain the device tree and other content:

[chen@ChenArchLinux 15:07]
[0 /tmp/ark-mOgieT/usr/lib/linux-u-boot-vendor-rock-5b-plus]$ binwalk u-boot.itb 

                                             /tmp/ark-mOgieT/usr/lib/linux-u-boot-vendor-rock-5b-plus/u-boot.itb
-------------------------------------------------------------------------------------------------------------------------------------------------------------
DECIMAL                            HEXADECIMAL                        DESCRIPTION
-------------------------------------------------------------------------------------------------------------------------------------------------------------
0                                  0x0                                Device tree blob (DTB), version: 17, CPU ID: 0, total size: 1971 bytes
793612                             0xC1C0C                            CRC32 polynomial table, little endian
-------------------------------------------------------------------------------------------------------------------------------------------------------------

Analyzed 1 file for 85 file signatures (187 magic patterns) in 15.0 milliseconds

Trying to rebuild the uboot deb package using armbian/build does not cause this problem

CodeChenL avatar May 27 '25 07:05 CodeChenL

Jira ticket: AR-2689

github-actions[bot] avatar May 27 '25 07:05 github-actions[bot]

It is probably related to compiler change - we switched to Ubuntu Noble recently.

https://github.com/armbian/build/pull/8220

igorpecovnik avatar May 27 '25 07:05 igorpecovnik

For comparison these are the build logs for u-boot on: Jammy Log: https://paste.armbian.com/icunejacix Noble Log: https://paste.armbian.com/awadewuzif

While both build without errors only Jammy produces a working spi image. (EMMC/SD-Card boot not affected)

HeyMeco avatar Jun 16 '25 07:06 HeyMeco

While I can build working uboot on arm64 noble without docker. But the uboot built by workflow can't boot.

amazingfate avatar Jun 16 '25 08:06 amazingfate

@amazingfate

While I can build working uboot on arm64 noble without docker. But the uboot built by workflow can't boot.

The logs were from my arm64 debian host with docker. Both variants boot via EMMC but with the rkspi img built from Noble-Docker the status LED stays green while Jammy-Docker turns blue and boots the test NVMe I have

HeyMeco avatar Jun 16 '25 08:06 HeyMeco

But the uboot built by workflow can't boot.

Exactly. And that is pushed to cache and also local image build that is (by default) using oras cache ... have failed u-boot.

igorpecovnik avatar Jun 16 '25 14:06 igorpecovnik

Now the latest image built from workflow shows correct binwalk output:

$ binwalk /mnt/usr/lib/linux-u-boot-vendor-rock-5b-plus/u-boot.itb 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             Flattened device tree, size: 1971 bytes, version: 17
793620        0xC1C14         CRC32 polynomial table, little endian
831429        0xCAFC5         Intel x86 or x64 microcode, sig 0xe6001916, pf_mask 0xc101c1fe, 1C1C-13-10, rev 0x1c0d0a1f, size 255
904092        0xDCB9C         Android bootimg, kernel size: 1684095488 bytes, kernel addr: 0x646E6120, ramdisk size: 1684631410 bytes, ramdisk addr: 0x616D6920, product name: "der"

@CodeChenL is this image bootable?

amazingfate avatar Jun 17 '25 01:06 amazingfate

Beware that we are overriding BASE_DOCKER_IMAGE in configs: https://github.com/armbian/os/blob/main/userpatches/config-armbian-community.conf#L21 https://github.com/armbian/os/blob/main/userpatches/config-armbian-images.conf#L22-L23 As otherwise there are still troubles.

igorpecovnik avatar Jun 17 '25 06:06 igorpecovnik

Now the latest image built from workflow shows correct binwalk output:现在从工作流程构建的最新镜像显示了正确的 binwalk 输出:

$ binwalk /mnt/usr/lib/linux-u-boot-vendor-rock-5b-plus/u-boot.itb 

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             Flattened device tree, size: 1971 bytes, version: 17
793620        0xC1C14         CRC32 polynomial table, little endian
831429        0xCAFC5         Intel x86 or x64 microcode, sig 0xe6001916, pf_mask 0xc101c1fe, 1C1C-13-10, rev 0x1c0d0a1f, size 255
904092        0xDCB9C         Android bootimg, kernel size: 1684095488 bytes, kernel addr: 0x646E6120, ramdisk size: 1684631410 bytes, ramdisk addr: 0x616D6920, product name: "der"

@CodeChenL is this image bootable?这张镜像可启动吗?

Thank you for the reminder, I will test it when I have time

CodeChenL avatar Jun 18 '25 02:06 CodeChenL

As no one found the culprit besides using a jammy build host to solve the issue I'll close this as stale with the warning from #8783 for traceability if looked at in the future

HeyMeco avatar Oct 21 '25 06:10 HeyMeco

This has come up again, due to all/most armbian/os builds having been changed to ubuntu:jammy (while armbian/build defaults to noble for the Docker scenario).

We should introduce binwalk's of all the produced files in the u-boot deb in the build logs, so we could more easily compare binwalks between what works and what doesn't, and then maybe we can divine what linker/compiler flag (or whatever...) is needed to make it work again on modern build hosts.

@HeyMeco reports the 3576 + UFS case only works on Jammy, not on Noble, and not on Trixie. I wonder what Bookworm does, etc.

rpardini avatar Nov 12 '25 19:11 rpardini