Linus, On 09/08/2011 05:14 AM, Linus Walleij wrote: > From: Linus Walleij <linus.wall...@linaro.org> > > This adds a Kconfig string where you can specify a > file to be appended to the zImage on build, then > auto-appends it. The idea is to mimic how we supply > an initramfs image by a similar parameter.
The key difference is an initramfs is much more likely to be platform independent, but a dtb will never be. Once we have a single kernel, then we'll need a way to include multiple dtbs and logic to select one? I think appending a dtb in a way that can be done as late as possible (i.e. kernel rootfs install time) is a much more useful feature. Rob > > This makes it easy to script the kernel build with > different device trees, and it also vastly simplifies > building uImages since "make uImage" will now pick > up the devcie tree and include it in the final image > as part of the build process. > > Cc: Nicolas Pitre <nicolas.pi...@linaro.org> > Cc: David Brown <dav...@codeaurora.org> > Cc: Niklas Hernaeus <niklas.herna...@linaro.org> > Cc: Grant Likely <grant.lik...@secretlab.ca> > Signed-off-by: Linus Walleij <linus.wall...@linaro.org> > --- > This builds on top of Nicos pending appended device tree > patches. Nico, if this gains some liking, please include > it in your series. > --- > arch/arm/Kconfig | 10 ++++++++++ > arch/arm/boot/Makefile | 8 +++++++- > 2 files changed, 17 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 4ea9974..cb8ee68 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -1789,6 +1789,16 @@ config ARM_APPENDED_DTB > (dtb) appended to zImage > (e.g. cat zImage <filename>.dtb > zImage_w_dtb). > > +config ARM_APPENDED_DTB_FILE > + string "DTB file" > + depends on ARM_APPENDED_DTB > + default "" > + help > + This gives the name of file from the build directory to append > + to the zImage after it has been built. > + > + If you are not sure, leave it blank. > + > config ARM_ATAG_DTB_COMPAT > bool "Supplement the appended DTB with traditional ATAG information" > depends on ARM_APPENDED_DTB > diff --git a/arch/arm/boot/Makefile b/arch/arm/boot/Makefile > index a1edfd5..5ab6abf 100644 > --- a/arch/arm/boot/Makefile > +++ b/arch/arm/boot/Makefile > @@ -53,8 +53,14 @@ $(obj)/Image: vmlinux FORCE > $(obj)/compressed/vmlinux: $(obj)/Image FORCE > $(Q)$(MAKE) $(build)=$(obj)/compressed $@ > > -$(obj)/zImage: $(obj)/compressed/vmlinux FORCE > +# Rule to optionally append a DTB > +dtbfile := $(shell echo $(CONFIG_ARM_APPENDED_DTB_FILE)) > +quiet_cmd_append = CAT $@ > + cmd_append = (cat /dev/null $(dtbfile) >> $@) > + > +$(obj)/zImage: $(obj)/compressed/vmlinux $(dtbfile) FORCE > $(call if_changed,objcopy) > + $(call if_changed,append) > @echo ' Kernel: $@ is ready' > > endif _______________________________________________ devicetree-discuss mailing list devicetree-discuss@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss