live-bootstrap/steps/improve
vxtls f30c20b7be fix(kernel-bootstrap): restore kexec-fiwix baseline and move post-fiwix distfiles into raw payload import path
The instability was not caused by kexec-fiwix logic itself but by oversized early-stage payload pressure in kernel-bootstrap mode.
When too many distfiles are injected before the Fiwix handoff, the early memory/file-table assumptions become fragile and KVM can fail during transition.
This change restores kexec-fiwix.c to the known baseline (matching commit 984b8322...) and fixes the actual failure mode by moving non-early distfiles out of the initial image.

What changed:
- Keep only bootstrap-required distfiles in early init image.
- Generate a separate raw payload image (LBPAYLD1 format) for the remaining distfiles.
- Attach payload image as an extra disk in QEMU/bare-metal kernel-bootstrap flow.
- Add a dedicated C89/tcc-compatible importer (payload-import) that scans payload disks and copies files into /external/distfiles after jump: fiwix.
- Insert improve: import_payload immediately after jump: fiwix so the full distfile set is restored before heavy build steps continue.
- Add PAYLOAD_REQUIRED config gating so this behavior is active only in kernel-bootstrap paths that need it.

Why this design:
- Preserves minimal early environment assumptions (no dependency on full shell utilities for the copy operation itself).
- Avoids adding filesystem-construction toolchain dependencies for the payload container by using a simple length-prefixed raw format.
- Keeps bare-metal and QEMU behavior aligned: both can carry full build artifacts without overloading the early handoff stage.
- Leaves kexec-fiwix behavior deterministic and auditable by reverting to a known-good baseline implementation.
2026-03-01 13:45:16 -05:00
..
after.sh bootstrap: add stage0 image reuse for guix and simplify guix handoff flow 2026-02-18 14:35:17 -05:00
clean_artifacts.sh Clean pre-Bash build artifacts before building the Linux kernel 2024-02-17 15:32:02 +01:00
clean_sources.sh Use a "real" copyright line 2025-10-17 18:53:10 +11:00
cleanup_filesystem.sh Use a "real" copyright line 2025-10-17 18:53:10 +11:00
finalize_fhs.sh Use a "real" copyright line 2025-10-17 18:53:10 +11:00
finalize_job_count.sh Restore multicore build support with kernel-bootstrap 2024-01-08 12:56:15 +01:00
get_network.sh Use a "real" copyright line 2025-10-17 18:53:10 +11:00
import_payload.sh fix(kernel-bootstrap): restore kexec-fiwix baseline and move post-fiwix distfiles into raw payload import path 2026-03-01 13:45:16 -05:00
make_bootable.sh fix(bootstrap): fix guile-gnutls static libtool target and make init fail-safe without panic 2026-02-26 09:40:35 -05:00
merged_usr.sh Use a "real" copyright line 2025-10-17 18:53:10 +11:00
musl_target.sh Use a "real" copyright line 2025-10-17 18:53:10 +11:00
null_time.sh Use a "real" copyright line 2025-10-17 18:53:10 +11:00
open_console.sh Improve pseudo-interactive prompts using the early bash 2024-02-05 10:02:34 +01:00
populate_device_nodes.sh Use a "real" copyright line 2025-10-17 18:53:10 +11:00
reconfigure.sh bootstrap: add stage0 image reuse for guix and simplify guix handoff flow 2026-02-18 14:35:17 -05:00
setup_repo.sh Use a "real" copyright line 2025-10-17 18:53:10 +11:00
swap.sh Support reboot in non-chroot modes using grub and an init script 2024-02-04 16:54:13 +01:00
update_checksums.sh Do update checksums when building with --update-checksums 2023-12-27 12:36:46 +01:00
update_env.sh Use a "real" copyright line 2025-10-17 18:53:10 +11:00