Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Building for a custom board (Based on existing) - No boot.

Featured Replies

I am coming from a yocto build for a dev board. I had to make u-boot patches, kernel config changes, and custom DTS tree.


I'm trying to adapt this to Armbian, one step at a time. I started with building am image for sk-am62b.conf.   I did not expect u-boot to boot from correctly.
I was glad to see console messages, but expectedly, u-boot didn't continue.

I made a new board config for this, duplicating sk-am62b.conf, but changing a critical line I made to get this to work previously.
 

TIBOOT3_FILE="tiboot3-am62x-gp-evm.bin"

 

Now, the boot process gets through u-boot and loads the Linux kernel.
However, the kernel halts because it cannot find the root file system.

Waiting for root device PARTUUID=26aa2b10-02...

 

I confirmed the device in u-boot, and it seems to agree.

Environment size: 5112/126972 bytes
=> echo load mmc ${bootpart} ${fdtaddr} ${bootdir}/dtb/${fdtfile}
load mmc 1:2 0x88000000 /boot/dtb/ti/k3-am625-sk.dtb
=> run finduuid
=> echo part uuid ${boot} ${bootpart} uuid
part uuid mmc 1:2 uuid
=> part uuid mmc 1:2
26aa2b10-02

 

I then modified my board config:
 

BOOT_FDT_FILE="myir-6254-am62x/myir-6254-am62x.dts"

 

But after booting, u-boot didn't acknowledge this:
(From the u-boot environment)
 

fdtfile=ti/k3-am625-sk.dtb

 

So, I finished applying my u-boot patches that I made under the Yocto build.
Some of these changes may be redundant:

edited: am62x_evm_a53_defconfig
+

CONFIG_DEFAULT_FDT_FILE="myir-6254-am62x.dts"
+CONFIG_TI_FDT_FOLDER_PATH="myir-6254-am62x"

After booting into u-boot, now I see the change made:
 

fdtfile=myir-6254-am62x.dts

Then I see this:
 

Running uenvcmd ...
14857759 bytes read in 983 ms (14.4 MiB/s)
36805120 bytes read in 1549 ms (22.7 MiB/s)
Failed to load '/dtb/myir-6254-am62x.dts'
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
Scanning for bootflows in all bootdevs


This is not unexpected either - since the files are not the image yet. When u-boot can't find the device tree, it loads a grub interface.
And when I 'e'dit that I see the line

linux /Image root=PARTUUID=076c4a2a-02 rootwait rootfstype=ext4


and change it to:
 

linux /Image root=/dev/mmcblk1p2 rootwait rootfstype=ext4

The kernel sees the rootfs, and proceeds to boot.

If I change it to using the PARTUUID, as above, it also boots.

 

If I manually place the DTB file where u-boot reported it is is looking (copied from my running yocto system) (in /dtb/)
The kernel boots, without the grub interface.
However,  the same situation occurs, where it is waiting for the root device.

Waiting for root device PARTUUID=26aa2b10-02...

 

I have a few things going on here.

 

I think in order to boot to an OS I need:
1) Solve why the kernel does not see the root partition when booting from u-boot (but does when I can get into the grub interface)
2) How to properly implement a custom device tree structure.   I know there are overlays, but I'd prefer to just drop in my whole custom tree.

 

Once I get there, I can proceed to implement some of the kernel modification I did within the yocto build environment, but this first.

 

Thanks for the assistance.

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.