[OE-core] [PATCH] kernel: Use hardlinks for do_populate_sysroot for speed

Hans Beckérus hans.beckerus at gmail.com
Fri Nov 8 15:54:37 UTC 2013


On Fri, Nov 8, 2013 at 4:41 PM, Bruce Ashfield
<bruce.ashfield at windriver.com> wrote:
> On 13-11-08 10:18 AM, Richard Purdie wrote:
>>
>> The kernel tree is large and doesn't need to be copied. Override
>> the default sysroot handling function to use a hardlink copying
>> function in python.
>>
>> This commit also drops the copying of the /lib directory which
>> just contains the kernel modules. We never use those in the sysroot
>> so there is little point in carrying those around.
>>
>> For linux-yocto this takes the do_populate_sysroot time 24s -> 14s.
>
>
> Fantastic. One less thing for me to dig into later. I thought this
> was already in place, so I'm pleasantly surprised that there was a
> time savings to be found!
>

+1
Looks really promising. Trying them out now in my Yocto dora branch.
Btw, would it make sense to group these into a patch set and then
number them appropriately?
I realized this when I was trying to apply them since I had to take
some care not mixing them up.

Thanks.
Hans


> Bruce
>
>
>>
>> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
>> ---
>> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
>> index 0b6360f..e793ccb 100644
>> --- a/meta/classes/kernel.bbclass
>> +++ b/meta/classes/kernel.bbclass
>> @@ -308,8 +308,8 @@ kernelscripts_sstate_postinst () {
>>         fi
>>   }
>>
>> -sysroot_stage_all_append() {
>> -       sysroot_stage_dir ${D}${KERNEL_SRC_PATH}
>> ${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}
>> +python sysroot_stage_all () {
>> +    oe.path.copyhardlinktree(d.expand("${D}${KERNEL_SRC_PATH}"),
>> d.expand("${SYSROOT_DESTDIR}${KERNEL_SRC_PATH}"))
>>   }
>>
>>   kernel_do_configure() {
>>
>>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list