Arch linux and issues loading device tree overlay at boot via uEnv.txt

Like many, I’m having issues with loading device tree overlays at boot.

uname -a

Linux spa.turrim 4.4.4-1-ARCH #1 Sat Mar 5 18:30:09 MST 2016 armv7l GNU/Linux

Or does it have something to do with the external RTC specifically? I made a cape that had an RTC which loads correctly at boot time using kernel 3.8 something, so maybe it’s a kernel problem. Can you check if another cape loads automatically on boot correctly?

–David

Correct, if you use an initramfs, you must copy the dtbo objects into it.

https://github.com/beagleboard/bb.org-overlays/blob/master/tools/dtbo

Regards,

RobertCNelson: I am not using initramfs

After some experimentation I found a sort-of solution.

I removed the call to bone_capemgr from uEnv.txt, then decompiled /boot/dtbs/am335x-boneblack.dtb with

dtc -I dtb -O dts am335x-boneblack.dtb > am335x-boneblack.dts

then inserted the content of my overlay into am335x-boneblack.dts and recompiled with

dtc -O dtb -o am335x-boneblack.dtb -b o am335x-boneblack.dts

Now I get the RTC as I like at boot.

The question remains what’s up with bone_capemgr and /lib/firmware at boot. I’ll ask on the Arch Arm forum.

RobertCNelson: I am not using initramfs

After some experimentation I found a sort-of solution.

I removed the call to bone_capemgr from uEnv.txt, then decompiled
/boot/dtbs/am335x-boneblack.dtb with

dtc -I dtb -O dts am335x-boneblack.dtb > am335x-boneblack.dts

then inserted the content of my overlay into am335x-boneblack.dts and
recompiled with

dtc -O dtb -o am335x-boneblack.dtb -b o am335x-boneblack.dts

Now I get the RTC as I like at boot.

For next time:

https://github.com/RobertCNelson/dtb-rebuilder

The question remains what's up with bone_capemgr and /lib/firmware at boot.
I'll ask on the Arch Arm forum.

btw, there was a weird bug in v4.1.x, if you didn't have "quiet" on
the /proc/cmdline, the overlay wouldn't load... could be another thing
to check..

Regards,