[yocto] Accelerate kernel module built in eSDK?

Zhaolong Zhang zhangzl2013 at 126.com
Fri Dec 28 07:16:29 PST 2018


On 2018/12/28 22:35, Zhaolong Zhang wrote:
> On 2018/12/28 19:40, richard.purdie at linuxfoundation.org wrote:
>> On Fri, 2018-12-28 at 18:19 +0800, Zhaolong Zhang wrote:
>>> Hi Experts,
>>>
>>> Building out-of-tree kernel modules in eSDK will trigger a new
>>> rebuilding of kernel, which consumes lots of time.
>>> Is it possible to cache the do_shared_workdir() task in sstate-cache
>>> and ship it within eSDK? And how?
>>>
>>> Or is there other method to accelerate?
>>>
>>> Thanks in advance.
>>
>> It is possible but it means creating a tarball of all the kernel source
>> and build artefacts. Usually its just as quick to extract new kernel
>> source and build it than it is to store this and extract it. The sstate
>> object would be huge.
>>
> 
> Hi Richard,
> 
> Thanks for responding!
> 
> Isn't sstate object also a tarball for them? Creating another tarball 
> would be a hacking and how can I let module.bbclass know that the kernel 
> source and build artifact are ready, without sstate hashes?
> 

Hi Richard,

I'm afraid I misunderstood your words. You didn't mean to create another 
tarball. Embarrassing ...

Storing is on the build host side and extracting is on the eSDK side, 
and extracting would be quick. I think it worth to do for me.

I've tried to add do_shared_workdir to SSTATETASKS and enabled 
do_shared_workdir_setscene(), also added ${STAGING_KERNEL_DIR} and 
${STAGING_KERNEL_BUILDDIR} as sstate-plaindirs. But it looks like 
sstate-plaindirs is not proper for kernel recipe. What should I do?

Thanks,
Zhaolong

> Regards,
> Zhaolong
> 
>> Cheers,
>>
>> Richard
>>



More information about the yocto mailing list