Fix critical boot issues: partition detection, GRUB config, and file copying
Some checks failed
Comprehensive CI/CD Pipeline / Build and Test (push) Successful in 2m28s
Comprehensive CI/CD Pipeline / Security Audit (push) Failing after 6s
Comprehensive CI/CD Pipeline / Package Validation (push) Successful in 53s
Comprehensive CI/CD Pipeline / Status Report (push) Has been skipped

- Fixed wait_for_partitions to check both EFI (p1) and root (p2) partitions
- Fixed GRUB configuration to use actual root filesystem UUID instead of placeholder
- Fixed GRUB partition reference from (hd0,gpt1) to (hd0,gpt2) for root partition
- Fixed GRUB EFI binary path to use correct monolithic grubx64.efi
- Successfully copying rootfs files (278MB images with full filesystem)
- GRUB EFI binary properly installed to EFI partition

Still debugging actual Linux boot - system shows SeaBIOS and 'Booting from Hard Disk' but doesn't boot into kernel
This commit is contained in:
robojerk 2025-09-10 20:30:50 -07:00
parent 32456445c2
commit a780114e10
38 changed files with 2328 additions and 141 deletions

28
test-rootfs/usr/bin/bootc Executable file
View file

@ -0,0 +1,28 @@
#!/bin/bash
# Bootc binary - placeholder implementation
# In a real implementation, this would be the actual bootc binary
set -euo pipefail
echo "Bootc: Starting container boot process..."
# Read configuration
CONFIG_FILE="/etc/bootc.conf"
if [[ -f "$CONFIG_FILE" ]]; then
source "$CONFIG_FILE"
fi
# Set up composefs
if [[ "${composefs_enabled:-yes}" == "yes" ]]; then
echo "Bootc: Setting up composefs..."
# This would use ostree-ext-container in a real implementation
echo "Bootc: Composefs setup complete"
fi
# Mount the container filesystem
echo "Bootc: Mounting container filesystem..."
# This would mount the container as the root filesystem
# Execute the real init
echo "Bootc: Executing real init..."
exec /sbin/systemd

View file

@ -0,0 +1,23 @@
#!/bin/bash
# Bootc dracut module
check() {
return 0
}
depends() {
echo systemd
return 0
}
install() {
inst /usr/bin/bootc
inst /etc/bootc.conf
inst /usr/lib/ostree/prepare-root.conf
inst_hook cmdline 30 "$moddir/bootc-cmdline.sh"
inst_hook initqueue/settled 30 "$moddir/bootc-init.sh"
}
installkernel() {
return 0
}

View file

@ -0,0 +1 @@
1

View file

@ -0,0 +1,3 @@
[composefs]
enabled = yes
store = /home/joe/Projects/overwatch/tmp/.tmpzf6L0v/ostree-repo