[Buildroot] [PATCHv4 0/6] Add some support for device tree kernels

Maxime Ripard maxime.ripard at free-electrons.com
Tue Jul 31 10:13:37 UTC 2012


Hi Thomas,

Le 30/07/2012 21:16, Thomas Petazzoni a écrit :
> Le Mon, 30 Jul 2012 14:32:43 +0200,
> Maxime Ripard <maxime.ripard at free-electrons.com> a écrit :
> 
>> This is a refactoring of the previous basic device tree
>> options available for microblaze.
> 
> I am fine with the general design, but it doesn't work: the
> qemu_microblazeel_defconfig doesn't build.
> 
> I had to make some changes:
> 
>  *) Change the defconfig to limit the number of modifications compared
>     to the previous versions (keep architecture, toolchain, etc.)
>     properties.
> 
>  *) Create a special kconfig entry for the linux.bin image format
>     (Microblaze specific). This format requires mkimage to generate
>     linux.bin, so we need to select BR2_LINUX_KERNEL_UBOOT_IMAGE. It
>     probably worked on your system because you have mkimage installed
>     system-wide, but since it isn't part of our required dependencies,
>     you shouldn't rely on it.
> 
> However, even with those fixes, building the DTB doesn't work.
> Apparently, system.dts/system.dtb are kind of "reserved" names for
> Microblaze (from a quick reading of arch/microblaze/boot/Makefile). I
> have the following build error:
> 
> Kernel: arch/microblaze/boot/linux.bin is ready  (#1)
>   CHK     include/linux/version.h
>   CHK     include/generated/utsrelease.h
>   CALL    scripts/checksyscalls.sh
>   Building modules, stage 2.
>   MODPOST 0 modules
> PATH="/home/test/outputs/t/host/bin:/home/test/outputs/t/host/usr/bin:/home/test/outputs/t/host/usr/sbin/:/usr/local/bin:/usr/bin:/bin:/usr/games" PERLLIB="/home/test/outputs/t/host/usr/lib/perl" /usr/bin/make -j2 HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" ARCH=microblaze INSTALL_MOD_PATH=/home/test/outputs/t/target CROSS_COMPILE=" /home/test/outputs/t/host/usr/bin/microblazeel-unknown-linux-gnu-" DEPMOD=/home/test/outputs/t/host/usr/sbin/depmod -C /home/test/outputs/t/build/linux-3.3.7 system.dtb
> make[2]: *** No rule to make target `system.dtb'.  Stop.
> make[1]: *** [/home/test/outputs/t/build/linux-3.3.7/.stamp_built] Error 2
> make: *** [all] Error 2
> 
> It would be good if you could fix this problem and resubmit. Please
> base your new work using the following branch, which includes the two
> changes I've mentioned above:

It looks like in the previous patchset, the custom system.dts file was
copied (and as such, overwriting the original system.dts file), and
never built.

>From a quick test here, adding a
select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
to the linux.bin image is putting back the same behaviour as before, and
do not fail to build anymore.

Do you want me to send an updated version?

Maxime


-- 
Maxime Ripard, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com



More information about the buildroot mailing list