Commit Graph

12 Commits

Author SHA1 Message Date
72c4842324 Cleaning out 2025-08-27 09:14:15 +02:00
709c4a0865 feat: implement rootless Docker with container management support
Docker Infrastructure:
- Added proper user namespace mapping in Dockerfile.alpine
- Created 'builder' user with host UID/GID mapping at build time
- Removed runtime user mapping (now handled in Dockerfile)
- Set up Rust environment for mapped user instead of root
- Fixed config mount consistency (removed :ro flags for real-time sync)

Container Management:
- Added 15 essential cgroup modules to modules-essential.list
- Complete cgroups v1 and v2 support for container orchestration
- Process control: cgroup_pids, cgroup_freezer, cgroup_cpuset
- Memory management: memcg, hugetlb_cgroup
- Network control: net_cls_cgroup, net_prio_cgroup
- Device access: cgroup_device, devices_cgroup
- Advanced features: cgroup_bpf, cgroup_perf_event, cgroup_debug

Environment Updates:
- Updated RFS Dockerfile to Alpine 3.22 for consistency
- Ensured proper /build directory permissions for mapped user

This enables true rootless operation with full container management
capabilities, fixing permission issues and enabling Zero-OS container
orchestration with complete resource control.
2025-08-25 09:44:47 +02:00
610963984f Things for final
- bump kernel-version
- add virtio_pci to modules-essential.list
- WIP little script to start vm with vmlinuz.efi to test in CH
2025-08-22 16:48:59 +02:00
56c3813609 Embellishments for module dependencies and initramfs bootup sequence
- add recursive module dependencies based on porper tools (modinfo)
  - fix zinit boot sequences
    - /dev/shm mount for alpine-built haveged
    - mycelium
    - rfs copy fixes
    - better sequencing overall (god I miss 'before:'
2025-08-20 09:35:18 +02:00
abd0409ad1 Add dedicated module dependency and network services
- Added depmod.yaml service for rebuilding kernel module dependencies
- Added network.yaml service for DHCP network configuration with proper dependencies
- Cleaned up udev.sh to remove depmod call (now handled by dedicated service)
- Updated udev-trigger.yaml to depend on depmod for proper module loading order
- Ensures overlay.ko and other kernel modules have correct dependencies before hardware detection
2025-08-19 17:56:20 +02:00
b07788f8db Add debug flag to zinit init for better boot visibility
- Changed: exec switch_root /mnt/root /sbin/zinit init
- To: exec switch_root /mnt/root /sbin/zinit -d init
- Enables debug output during Zero-OS service startup
2025-08-19 14:19:32 +02:00
12156d458d Add overlay filesystem support and update zinit configuration
- Added overlay.ko module installation for container support in install-firmware-minimal.sh
- Added udevmon service for hardware event monitoring
- Updated udev-trigger dependency to include udevmon
- Added placeholder configurations for mycelium and shm services
2025-08-19 14:16:29 +02:00
e402de625d Update packages-minimal.txt configuration 2025-08-18 08:27:20 +02:00
7c4ab9dd7b fix: Complete Zero-OS initramfs networking and script permissions
- Add net_failover and failover modules for virtio_net dependency resolution
- Copy modules from both drivers/net and net/ kernel directories
- Fixes 'Unknown symbol net_failover_destroy/create' errors when loading virtio_net
- Set execute permissions on all zinit init scripts (*.sh files)
- Include proper kernel module metadata files (modules.order, modules.builtin, modules.builtin.modinfo)
- Expanded module search to include failover-related networking modules
- Now includes 77 network driver modules with complete dependency chain
- Ensures depmod -a works correctly without warnings
- Complete VirtIO network stack functionality with proper script execution
2025-08-16 23:46:45 +02:00
bf62e887e8 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
2025-08-16 23:25:59 +02:00
653c751535 Lots of fixes
details
  details
  details
2025-08-16 00:52:30 +02:00
9b14d94bbe Initial commit: Alpine Zero-OS initramfs build system with cleaned Docker configuration 2025-08-15 22:11:44 +02:00