mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
rootfs.py: Add check for kernel modules before running depmod
Add a check for kernel modules so we don't un-necessarily run the depmods, this will also handle the case with linux-dummy does not place the kernel-abiversion since it also does not have kernel modules. [YOCTO #7884] (From OE-Core rev: 1b696a45ddb00fbe1d993b19339071486d0cfef2) Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
7e074c3641
commit
38d8f2eb9f
+16
-2
@@ -304,16 +304,30 @@ class Rootfs(object):
|
|||||||
self._exec_shell_cmd(['ldconfig', '-r', self.image_rootfs, '-c',
|
self._exec_shell_cmd(['ldconfig', '-r', self.image_rootfs, '-c',
|
||||||
'new', '-v'])
|
'new', '-v'])
|
||||||
|
|
||||||
|
def _check_for_kernel_modules(self, modules_dir):
|
||||||
|
for root, dirs, files in os.walk(modules_dir, topdown=True):
|
||||||
|
for name in files:
|
||||||
|
found_ko = name.endswith(".ko")
|
||||||
|
if found_ko:
|
||||||
|
return found_ko
|
||||||
|
return False
|
||||||
|
|
||||||
def _generate_kernel_module_deps(self):
|
def _generate_kernel_module_deps(self):
|
||||||
|
modules_dir = os.path.join(self.image_rootfs, 'lib', 'modules')
|
||||||
|
# if we don't have any modules don't bother to do the depmod
|
||||||
|
if not self._check_for_kernel_modules(modules_dir):
|
||||||
|
bb.note("No Kernel Modules found, not running depmod")
|
||||||
|
return
|
||||||
|
|
||||||
kernel_abi_ver_file = oe.path.join(self.d.getVar('PKGDATA_DIR', True), "kernel-depmod",
|
kernel_abi_ver_file = oe.path.join(self.d.getVar('PKGDATA_DIR', True), "kernel-depmod",
|
||||||
'kernel-abiversion')
|
'kernel-abiversion')
|
||||||
if not os.path.exists(kernel_abi_ver_file):
|
if not os.path.exists(kernel_abi_ver_file):
|
||||||
bb.fatal("No kernel-abiversion file found (%s), cannot run depmod, aborting" % kernel_abi_ver_file)
|
bb.fatal("No kernel-abiversion file found (%s), cannot run depmod, aborting" % kernel_abi_ver_file)
|
||||||
|
|
||||||
kernel_ver = open(kernel_abi_ver_file).read().strip(' \n')
|
kernel_ver = open(kernel_abi_ver_file).read().strip(' \n')
|
||||||
modules_dir = os.path.join(self.image_rootfs, 'lib', 'modules', kernel_ver)
|
versioned_modules_dir = os.path.join(self.image_rootfs, modules_dir, kernel_ver)
|
||||||
|
|
||||||
bb.utils.mkdirhier(modules_dir)
|
bb.utils.mkdirhier(versioned_modules_dir)
|
||||||
|
|
||||||
self._exec_shell_cmd(['depmodwrapper', '-a', '-b', self.image_rootfs, kernel_ver])
|
self._exec_shell_cmd(['depmodwrapper', '-a', '-b', self.image_rootfs, kernel_ver])
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user