feat: Create minimal Zero-OS initramfs with console support

- Fixed build system to clone source repositories instead of downloading binaries
- Enhanced scripts/fetch-github.sh with proper git repo cloning and branch handling
- Updated scripts/compile-components.sh for RFS compilation with build-binary feature
- Added minimal firmware installation for essential network drivers (73 modules)
- Created comprehensive zinit configuration set (15 config files including getty)
- Added util-linux package for getty/agetty console support
- Optimized package selection for minimal 27MB initramfs footprint
- Successfully builds bootable vmlinuz.efi with embedded initramfs
- Confirmed working: VM boot, console login, network drivers, zinit init system

Components:
- initramfs.cpio.xz: 27MB compressed minimal Zero-OS image
- vmlinuz.efi: 35MB bootable kernel with embedded initramfs
- Complete Zero-OS toolchain: zinit, rfs, mycelium compiled from source
This commit is contained in:
2025-08-16 23:25:59 +02:00
parent 446eb02fb3
commit bf62e887e8
109 changed files with 7645 additions and 1945 deletions

View File

@@ -0,0 +1,33 @@
.PHONY: all e2e performance unit integration clean
all: unit integration e2e performance
# Run unit tests
unit:
@echo "Running unit tests..."
cargo test --lib
# Run integration tests
integration:
@echo "Running integration tests..."
cargo test --test docker_test --test parallel_download_test
# Run end-to-end tests
e2e:
@echo "Running end-to-end tests..."
chmod +x e2e_tests.sh
./e2e_tests.sh
chmod +x e2e_tests_updated.sh
./e2e_tests_updated.sh
# Run performance tests
performance:
@echo "Running performance tests..."
chmod +x performance_tests.sh
./performance_tests.sh
# Clean test artifacts
clean:
@echo "Cleaning test artifacts..."
rm -rf /tmp/rfs-e2e-tests /tmp/rfs-performance-tests /tmp/rfs-upload-download-tests