Reputation: 647
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.
Upvotes: 6
Views: 8390
Reputation: 1
If the bootloader supports device tree, the DTB can be loaded like any other (u/m)Image, but should have it pass to the kernel. If not, we have to use kernel CONFIG_(ARM_)APPENDED_DTB to load newer kernels. Not an option for PowerPC?
cat x.dtb >> zImage
To load an initramfs in that case, use CONFIG_INITRAMFS_SOURCE to include it in the kernel build.
Upvotes: 0
Reputation: 4849
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.
Upvotes: 2