]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
rootfs.py: Don't create modules directory for all kernels
authorMike Crowe <mac@mcrowe.com>
Fri, 23 May 2025 12:21:02 +0000 (13:21 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 27 May 2025 07:50:19 +0000 (08:50 +0100)
efa88e1c227d695319197f511701e0230d301f39 arranged for the versioned
modules directory to be created and depmod to run for every kernel
package. Unfortunately this happens for every _built_ kernel package,
even if that package and/or its modules aren't installed in the rootfs.

Let's assume that there's no point in running depmod if the modules
directory did not already exist.

(This problem was observed in Scarthgap and this fix was tested there.
It doesn't look like any of the subsequent changes will have affected
this behaviour.)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Reviewed-by: Jack Mitchell <jack@embed.me.uk>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/rootfs.py

index 6b56adaf0312d243a7b67923f89065e21207e66a..14befac8faf9f3a97bed8c17a635f89d842dd59b 100644 (file)
@@ -362,11 +362,12 @@ class Rootfs(object, metaclass=ABCMeta):
 
             versioned_modules_dir = os.path.join(self.image_rootfs, modules_dir, kernel_ver)
 
-            bb.utils.mkdirhier(versioned_modules_dir)
-
-            bb.note("Running depmodwrapper for %s ..." % versioned_modules_dir)
-            if self._exec_shell_cmd(['depmodwrapper', '-a', '-b', self.image_rootfs, kernel_ver, kernel_package_name]):
-                bb.fatal("Kernel modules dependency generation failed")
+            if os.path.exists(versioned_modules_dir):
+                bb.note("Running depmodwrapper for %s ..." % versioned_modules_dir)
+                if self._exec_shell_cmd(['depmodwrapper', '-a', '-b', self.image_rootfs, kernel_ver, kernel_package_name]):
+                    bb.fatal("Kernel modules dependency generation failed")
+            else:
+                bb.note("Not running depmodwrapper for %s since directory does not exist" % versioned_modules_dir)
 
     """
     Create devfs: