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

Bruce Ashfield bruce.ashfield at windriver.com
Fri Nov 8 15:41:24 UTC 2013


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!

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() {
>
>




More information about the Openembedded-core mailing list