[Buildroot] [PATCH] linux: handle read-only dts files
Hollis Blanchard
hollis_blanchard at mentor.com
Wed Aug 12 16:02:40 UTC 2015
The DTS exists at $(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH) because that's
where it lives. It's copied to $(KERNEL_ARCH_PATH)/boot/dts/ so that the
kernel build process can build a DTB out of it (which is later copied to
build/images/).
Or did I misunderstand the question?
Hollis Blanchard
Mentor Graphics Emulation Division
On 08/12/2015 07:58 AM, Nikolay Dimitrov wrote:
> Hi Holis,
>
> On 08/12/2015 03:11 AM, Hollis Blanchard wrote:
>> Some fine version control systems make all files read-only. The
>> custom DTS file
>> may therefore be read-only, and that permission is preserved when
>> copying into
>> the Linux build directory. A subsequent rebuild tries to 'cp' again,
>> which
>> fails with a "Permission denied" error unless the -f option is used.
>>
>> Signed-off-by: Hollis Blanchard <hollis_blanchard at mentor.com>
>> ---
>> linux/linux.mk | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/linux/linux.mk b/linux/linux.mk
>> index 375a9e1..a4c4733 100644
>> --- a/linux/linux.mk
>> +++ b/linux/linux.mk
>> @@ -270,7 +270,7 @@ endif
>> # configuration has changed.
>> define LINUX_BUILD_CMDS
>> $(if $(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),
>> - cp $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH))
>> $(KERNEL_ARCH_PATH)/boot/dts/)
>> + cp -f $(call qstrip,$(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH))
>> $(KERNEL_ARCH_PATH)/boot/dts/)
>> $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D)
>> $(LINUX_TARGET_NAME)
>> @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then \
>> $(LINUX_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D)
>> modules ; \
>>
>
> Is there a reason for the custom DTS to exist in both places?
>
> Regards,
> Nikolay
More information about the buildroot
mailing list