Search code examples
linux-kernelembedded-linuxpowerpcdevice-tree

How do I embed a device tree blob, (dtb), in a linux kernel?


There should be a standard, board and architecture independent way to do this just like there is with initfamfs, no?

I'm using powerpc and linux-3.10, if it matters. If there are better facilities later, I'd be interested to hear about them.

And if anyone knows of a board where this is currently working that I could use as a reference, that would also be helpful.

I've been searching and searching and I find a lot of information about why dts/dtb exists, a fair amount about the ongoing discussion of whether they are useful, and some about how to write dts or use existing dts, but nothing about how to embed them.

Quick descriptions or pointers to relevant doc would be very much appreciated.


Solution

  • What you need is Flattened Image Tree format (FIT). FIT uses DTS syntax/format to describe images embedded into one master image. For example you can package zImage and one or more DTB files and initramfs image and what so ever. Take a look at these slides for details.