[yocto] Header files in /usr/include of rootfs
Andy Hung(洪翊桓_Pegatron)
Andy_Hung at pegatroncorp.com
Wed Nov 25 02:51:51 PST 2015
Message: 2
Date: Tue, 24 Nov 2015 14:25:14 +0100
From: Anders Darander <anders at chargestorm.se>
To: yocto at yoctoproject.org
Subject: Re: [yocto] Header files in /usr/include of rootfs
Message-ID: <20151124132514.GB2165 at ad.chargestorm.se>
Content-Type: text/plain; charset=utf-8
* Andy Hung(???_Pegatron) <Andy_Hung at pegatroncorp.com> [151124 11:35]:
> I was trying to add some pre-built binaries and files by using a recipe.
> The recipe has something like this:
> SRC_URI = file://files<file:///\\files> ?
> do_install() {
> install ?d ${D}
> }
> What files are you installing? How does those look like?
The content of the folder has those sub-folders, sbin, root, lib, etc.
Those sub-folders contains files such as executable binaries, config files, kernel modules, .so files ...
All these files are actually built from the source code of a specific WiFi driver,
what I want to do is installing all pre-built binaries/files into corresponding locations in rootfs.
> FILES_${PN} = ?/*?
> Here you add say that anything that has been installed, but not put into any other package, should be added to ${PN}. Is that what you want?
Yes, all files are installed in a package.
> ALLOW_EMPTY_${PN} = ?1?
> Remove this one unless ${PN} is going to be empty.
This line is removed.
> INSANE_SKIP_${PN} = ?debug-files dev-so?
> These might be needed if you get certain QA-warnings/error without them.
Yes, got some QA-warnings when building so I keep this.
> The result was all the binaries and files installed and packages are
> created, But I also found kernel header files are also built in under /usr/include in rootfs image.
> For my understanding those header files should be used if I want to develop/debug applications on the target device but it is not the case.
> Also I noticed the use of INSANE_SKIP_${PN} so I check the usage of
> debug-files and dev-so, And it turned out there are .debug folders in the WORKDIR/package folder so I thought that is why debug-files was used.
> See answer below.
> The questions are,
> Why are those kernel header files installed in rootfs? How do I prevent thisa?
> I assume that they aren't in the package you just created? Do you have anything in your package that might have a dependency on the kernel headers? Do you have anything in your IMAGE_FEATURES?
No, header files aren't in the package.
I checked the driver source code and many files include kernel headers like this "#include <linux/xxx.h>" , is this what you meant by dependency on kernel headers?
IMAGE_FEATURES was not used in the recipe file.
> Why are there .debug in the package folder, it should only be in package ?dbg folder, right?
> Where are the .debug directories located? You should add them to:
> FILES_${PN}-dbg += "<location>/.debug"
I add this line and rebuild but the result seems unchanged.
the .debug folders are located in
${WORKDIR}/package
${WORKDIR}/package-split/<package name> - dbg
Thanks,
Andy
> Cheers,
> Anders
> --
> Anders Darander, Senior System Architect ChargeStorm AB / eStorm AB
More information about the yocto
mailing list