Fix module dependency resolution for clean builds
- Use container modules from kernel_modules stage for dependency resolution - Remove dependency on initramfs modules that haven't been copied yet - Fixes regression where clean builds had empty stage1.list - Dependency resolution now works correctly in clean build scenarios
This commit is contained in:
@@ -327,24 +327,20 @@ function initramfs_resolve_module_dependencies() {
|
||||
|
||||
# Set up container modules directory for proper modinfo -k usage
|
||||
local container_modules_path="/lib/modules/${kernel_version}"
|
||||
local source_modules_path="${PROJECT_ROOT}/initramfs/lib/modules/${kernel_version}"
|
||||
|
||||
log_debug "Using kernel version: ${kernel_version}"
|
||||
log_debug "Source modules: ${source_modules_path}"
|
||||
log_debug "Container modules: ${container_modules_path}"
|
||||
|
||||
# Verify source modules exist
|
||||
if [[ ! -d "$source_modules_path" ]]; then
|
||||
log_warn "Built modules not found at: $source_modules_path"
|
||||
# Check if modules are already installed in container (from kernel_modules stage)
|
||||
if [[ ! -d "$container_modules_path" ]]; then
|
||||
log_warn "Container modules not found at: $container_modules_path"
|
||||
log_warn "This suggests kernel_modules stage didn't run or failed"
|
||||
log_warn "Falling back to simple module list"
|
||||
printf '%s\n' "${modules[@]}"
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Copy modules to container /lib/modules for proper modinfo -k usage
|
||||
log_info "Setting up container modules for dependency resolution"
|
||||
safe_mkdir "$container_modules_path"
|
||||
safe_execute cp -r "${source_modules_path}"/* "$container_modules_path/"
|
||||
log_info "Using existing container modules from kernel_modules stage"
|
||||
|
||||
# Run depmod to build dependency database
|
||||
log_info "Running depmod -av for dependency resolution"
|
||||
|
||||
Reference in New Issue
Block a user