# Parse modules.order directly because 'make modules_install' may sign,
        # compress modules, and then run unneeded depmod.
-       while read -r mod; do
-               mod="${mod%.o}.ko"
-               dbg="${pdir}/usr/lib/debug/lib/modules/${KERNELRELEASE}/kernel/${mod}"
-               buildid=$("${READELF}" -n "${mod}" | sed -n 's@^.*Build ID: \(..\)\(.*\)@\1/\2@p')
-               link="${pdir}/usr/lib/debug/.build-id/${buildid}.debug"
-
-               mkdir -p "${dbg%/*}" "${link%/*}"
-               "${OBJCOPY}" --only-keep-debug "${mod}" "${dbg}"
-               ln -sf --relative "${dbg}" "${link}"
-       done < modules.order
+       if is_enabled CONFIG_MODULES; then
+               while read -r mod; do
+                       mod="${mod%.o}.ko"
+                       dbg="${pdir}/usr/lib/debug/lib/modules/${KERNELRELEASE}/kernel/${mod}"
+                       buildid=$("${READELF}" -n "${mod}" | sed -n 's@^.*Build ID: \(..\)\(.*\)@\1/\2@p')
+                       link="${pdir}/usr/lib/debug/.build-id/${buildid}.debug"
+
+                       mkdir -p "${dbg%/*}" "${link%/*}"
+                       "${OBJCOPY}" --only-keep-debug "${mod}" "${dbg}"
+                       ln -sf --relative "${dbg}" "${link}"
+               done < modules.order
+       fi
 
        # Build debug package
        # Different tools want the image in different locations