Beaglebone black – Updating device tree files

Beaglebone black – Updating device tree files.

So, you’ve just updated to a newer kernel, only to find your peripherals no longer work. Well, I could probably get into why, and be reasonably accurate. But I do not think that is really necessary for one to fix the current dilemma they might be facing – Getting the peripherals working. Let us imagine a specific situation – And I’ll help with Illustration. This illustration is based on moving from kernel 3.8.x or 3.14.x to kernel 4.1.x. I will not be covering moving to 3.14.x, etc. As this kernels life expectancy, I would imagine is not very long. Once 4.1.x becomes stable on the Beaglebone. Which is to say, probably once Xenomai has a working 4.1.x kernel.

upgrade to newer kernel

At this point, once you ssh into your Beaglebone, /lib/firmware/ will only contain two files( non device tree files ), or will contain device tree files from the older image. Here, I’m unclear, as I’ve only done these steps on a freshly created sdcard. This however is not so important. As I’ll show you how to update, and install newer device tree files. Which is really not all that hard. Thanks to Robert Nelson’s scripts. Make sure to thank him, or buy him a beer at the next -insert meetup- you see him at 😉

At this point it may behoove one to use dd, or tar to backup the rootfs. The reasoning is simple. If you plan on keeping a production image, with all the cruft removed. The following steps will add a *LOT* of “bloat”.”Bloat” that is unfortunately necessary to get through the following steps. Later, you can copy the files in /lib/firmware/ to another location. To be used on your production image.

Update APT sources.lst

Updating your APT cache may be necessary, especially if it’s been a while since doing so. If you’re getting errors relating to using APT. This may very well be why.

Install git, pull in git, and build dtc
Output from running the ./ script

That is a lot of “bloat”. Especially considering it nearly doubles the disk used space. At the end of the output, the script should print out the version of dtc. But in case it did not, or you missed it.

Which I believe all we need to really worry about is making sure we have some variant of 1.4.1. The previous version used with 3.8.x kernels was 1.4.0.

Install the device tree files
Make sure files installed to correct location
Restart the system

Then once the system comes back up, and you’re able to log in again. You can experiment with a device tree file or two. In order to make sure everything works correctly.

Check for installed capes
Test add a device
Test remove a device

That’s it ! Pretty simple ? So not really sure what else to add here, except . . . Happy beagling !!!

Beaglebone black – Updating device tree files

2 thoughts on “Beaglebone black – Updating device tree files

  • September 29, 2015 at 4:26 am

    That’s great. after update,my BeagleBone has supported the MU709s-2 module of HuaWei.It had confused me a long time.

    • September 29, 2015 at 5:14 am

      Excellent. That is to say – I hope this post helped you fix the problem.

Comments are closed.