[Buildroot] [PATCH] linux: use $(LINUX_INSTALL_IMAGE_CMDS) instead of plain 'cp'
Sebastian Frias
sf84 at laposte.net
Mon Apr 25 12:44:56 UTC 2016
Hi Thomas,
On 04/25/2016 02:23 PM, Thomas Petazzoni wrote:
> Hello,
>
> On Mon, 25 Apr 2016 14:17:50 +0200, Sebastian Frias wrote:
>
>>>> # Build the kernel.
>>>> $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D)
>>>> $(LINUX_TARGET_NAME)
>>
>> This line is also present on LINUX_BUILD_CMDS, any reason not to reuse it?
>> LINUX_BUILD_CMDS does a couple of more things than what is done here,
>> like like running LINUX_BUILD_DTB or 'make modules', and maybe that is
>> not wanted?
>
> We don't want to do "make modules" again, as this will change the root
> filesystem (surely by reinstalling the same thing, but still), while we
> are exactly in the process of adding the filesystem to the kernel image.
Ok, thanks for the explanation.
>
>>> I think I would prefer to have:
>>>
>>> $(call LINUX_INSTALL_IMAGE,$(BINARIES_DIR))
>>
>> Ok, just wondering, why? I mean, IIUC, LINUX_INSTALL_IMAGES_CMDS also
>> handles the DTB copy when APPENDED_DTB is not set, right?
>
> It also copies the DTB to $(BINARIES_DIR), which is useless here. And in
> general, I don't like too much seeing the _CMDS variables called from
> other variables.
Ok, just one last question because I seem to be missing something here.
In your commit 055e6162bba7 ("linux: don't build appended DTB image in
place and support multiple images") you indicated:
-----
<snip>
Some of the tested configuration:
- Normal uImage with several DTBs
BR2_LINUX_KERNEL_DEFCONFIG="mvebu_v7"
BR2_LINUX_KERNEL_UIMAGE=y
BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x200000"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="armada-xp-matrix armada-xp-gp
armada-370-mirabox"
Contents of output/images/:
armada-370-mirabox.dtb armada-xp-gp.dtb armada-xp-matrix.dtb
uImage
<snip>
-----
Hence, the DTB images are intended to be copied to output/images/ under
some circumstances, right?
How would that work? I mean, there's no call to LINUX_INSTALL_DTB on
"$(LINUX_DIR)/.stamp_initramfs_rebuilt".
Or does that happens through LINUX_INSTALL_TARGET_CMDS and
package/pkg-generic.mk's "$(BUILD_DIR)/%/.stamp_target_installed" target?
In that case I think I don't understand why we enter in
"$(LINUX_DIR)/.stamp_initramfs_rebuilt" target, given there's a target
$(BUILD_DIR)/%/.stamp_images_installed that calls LINUX_INSTALL_IMAGES_CMDS.
Best regards,
Sebastian
More information about the buildroot
mailing list