Separate component building from copying for better architecture

- Remove component copying from build functions (build_zinit, build_rfs, etc)
- Add initramfs_copy_components() function to copy built components to initramfs
- Add components_copy stage between init_script and modules_setup
- Fix components_verify to check built components (not initramfs locations)
- Now supports partial builds: build components separately, copy later
- All 4 components (zinit 8.1M, rfs 13M, mycelium 21M, corex 4.0M) working
This commit is contained in:
2025-09-03 20:18:21 +02:00
parent 55d9133b3a
commit b4b6284f6d
3 changed files with 113 additions and 47 deletions

View File

@@ -262,6 +262,10 @@ function main_build_process() {
initramfs_install_init_script "$INSTALL_DIR" "${CONFIG_DIR}/init"
}
function stage_components_copy() {
initramfs_copy_components "$INSTALL_DIR" "$COMPONENTS_DIR"
}
function stage_modules_setup() {
# Calculate full kernel version (needed for incremental builds when kernel_modules stage is skipped)
local full_kernel_version=$(kernel_get_full_version "$KERNEL_VERSION" "$KERNEL_CONFIG")
@@ -328,6 +332,7 @@ function main_build_process() {
stage_run "kernel_modules" stage_kernel_modules
stage_run "zinit_setup" stage_zinit_setup
stage_run "init_script" stage_init_script
stage_run "components_copy" stage_components_copy
stage_run "modules_setup" stage_modules_setup
stage_run "modules_copy" stage_modules_copy
stage_run "cleanup" stage_cleanup