[OE-core] [PATCH] kernel: Package additional modules files needed for systemtap
Moseley, Drew
drew_moseley at mentor.com
Wed May 15 14:47:01 UTC 2013
On May 15, 2013, at 9:34 AM, Tom Zanussi <tom.zanussi at intel.com> wrote:
> On Wed, 2013-05-15 at 13:23 +0000, Moseley, Drew wrote:
>> On May 15, 2013, at 1:39 AM, Richard Purdie <richard.purdie at linuxfoundation.org> wrote:
>>> On Tue, 2013-05-14 at 17:59 -0700, Drew Moseley wrote:
>>>> Signed-off-by: Drew Moseley <drew_moseley at mentor.com>
>>>> ---
>>>> meta/classes/kernel.bbclass | 8 +++++---
>>>> 1 file changed, 5 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
>>>> index 6ba31bd..f23818e 100644
>>>> --- a/meta/classes/kernel.bbclass
>>>> +++ b/meta/classes/kernel.bbclass
>>>> @@ -108,8 +108,6 @@ kernel_do_install() {
>>>> unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE
>>>> if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then
>>>> oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install
>>>> - rm -f "${D}/lib/modules/${KERNEL_VERSION}/modules.order"
>>>> - rm -f "${D}/lib/modules/${KERNEL_VERSION}/modules.builtin"
>>>> rm "${D}/lib/modules/${KERNEL_VERSION}/build"
>>>> rm "${D}/lib/modules/${KERNEL_VERSION}/source"
>>>> else
>>>> @@ -259,7 +257,11 @@ EXPORT_FUNCTIONS do_compile do_install do_configure
>>>> # kernel-image becomes kernel-image-${KERNEL_VERISON}
>>>> PACKAGES = "kernel kernel-base kernel-vmlinux kernel-image kernel-dev"
>>>> FILES = ""
>>>> -FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
>>>> +FILES_kernel-image = " \
>>>> + /boot/${KERNEL_IMAGETYPE}* \
>>>> + ${base_libdir}/modules/${KERNEL_VERSION}/modules.order \
>>>> + ${base_libdir}/modules/${KERNEL_VERSION}/modules.builtin \
>>>> +"
>>>> FILES_kernel-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH}"
>>>> FILES_kernel-vmlinux = "/boot/vmlinux*"
>>>> RDEPENDS_kernel = "kernel-base"
>>>
>>> Should these really be installed into every system with a kernel?
>>> Doesn't systemtap also need other symbol information so these files
>>> would be better off in whatever other packages systemtap also needs?
>>>
>>> Cheers,
>>>
>>> Richard
>>
>> Running systemtap probes without these files results in warning such as the following when trying to install packages:
>>
>> Installing kernel-image-3.5.7.11 (3.5.7.11+gitr4+524c7f7782e2c671cccab87aafa1ee41f7202aaf-r6) to root...
>> Configuring kernel-image-3.5.7.11.
>> WARNING: could not open /lib/modules/3.5.7.11/modules.order: No such file or directory
>> WARNING: could not open /lib/modules/3.5.7.11/modules.builtin: No such file or directory
>>
>> but I suspect systemtap is not the only place where these files are used. Below is the description of these files from the kernel Documentation/kbuild/kbuild.txt and they seem valuable on any module based system.
>>
>> modules.order
>> --------------------------------------------------
>> This file records the order in which modules appear in Makefiles. This
>> is used by modprobe to deterministically resolve aliases that match
>> multiple modules.
>>
>> modules.builtin
>> --------------------------------------------------
>> This file lists all modules that are built into the kernel. This is used
>> by modprobe to not fail when trying to load something builtin.
>>
>
> Hmm, is this happening when using the crosstap script? I haven't seen
> it before..
>
> If this is happening when trying to compile probes on the target, that
> isn't really supported yet, but there's a bug open for it in 1.5:
>
> Bug 4442 - systemtap: make it usable on-target
>
> https://bugzilla.yoctoproject.org/show_bug.cgi?id=4442
>
> Part of that would be to get all the debug symbols systemtap needs on
> the target, which as Richard mentions would be overkill to install on
> every system regardless of whether systemtap or something else that
> needs the kernel debug symbols was also installed..
>
> It's on my plate for 1.5, but I haven't really spend much time thinking
> about it yet..
>
> Tom
>
Hi Tom,
This warning occurs when installing an updated kernel package using opkg. It's primarily in a debug scenario so not a terribly high priority situation.
Drew
More information about the Openembedded-core
mailing list