Initial commit: Alpine Zero-OS initramfs build system with cleaned Docker configuration
This commit is contained in:
73
test-initramfs.sh
Normal file
73
test-initramfs.sh
Normal file
@@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "[+] Quick initramfs rebuild test..."
|
||||
|
||||
# Run just the initramfs setup in the existing container
|
||||
docker run --rm \
|
||||
-v "$(pwd)/scripts:/build/scripts" \
|
||||
-v "$(pwd)/configs:/build/configs" \
|
||||
-v "$(pwd)/output:/build/output" \
|
||||
-v "$(pwd)/configs/zinit:/mnt/zinit" \
|
||||
zero-os-alpine-builder:latest \
|
||||
/bin/sh -c "
|
||||
echo '[+] Setting up build environment...'
|
||||
source /build/build.conf
|
||||
|
||||
# Only run the Alpine package installation and initramfs setup
|
||||
echo '[+] Installing packages...'
|
||||
/build/scripts/install-packages.sh
|
||||
|
||||
echo '[+] Setting up initramfs...'
|
||||
/build/scripts/setup-initramfs.sh
|
||||
|
||||
echo '[+] Quick initramfs rebuild complete!'
|
||||
ls -la /build/output/initramfs.*
|
||||
"
|
||||
|
||||
echo "[+] Testing initramfs structure..."
|
||||
echo "Checking for symlink loops in the initramfs..."
|
||||
|
||||
# Extract and examine the initramfs structure
|
||||
cd output
|
||||
if [ -f "initramfs.cpio" ]; then
|
||||
mkdir -p test-extract
|
||||
cd test-extract
|
||||
cpio -idmv < ../initramfs.cpio >/dev/null 2>&1
|
||||
|
||||
echo "=== Checking /run and /var/run structure ==="
|
||||
if [ -L "run" ]; then
|
||||
echo "/run is a symlink to: $(readlink run)"
|
||||
elif [ -d "run" ]; then
|
||||
echo "/run is a directory"
|
||||
else
|
||||
echo "/run does not exist"
|
||||
fi
|
||||
|
||||
if [ -L "var/run" ]; then
|
||||
echo "/var/run is a symlink to: $(readlink var/run)"
|
||||
elif [ -d "var/run" ]; then
|
||||
echo "/var/run is a directory"
|
||||
else
|
||||
echo "/var/run does not exist"
|
||||
fi
|
||||
|
||||
# Check for circular symlinks
|
||||
echo "=== Checking for symlink loops ==="
|
||||
if [ -L "run" ] && [ -L "var/run" ]; then
|
||||
run_target=$(readlink run)
|
||||
var_run_target=$(readlink var/run)
|
||||
echo "Symlinks: /run -> $run_target, /var/run -> $var_run_target"
|
||||
|
||||
if [[ "$run_target" == *"var/run"* ]] && [[ "$var_run_target" == *"run"* ]]; then
|
||||
echo "❌ CIRCULAR SYMLINK DETECTED!"
|
||||
else
|
||||
echo "✅ No circular symlinks detected"
|
||||
fi
|
||||
fi
|
||||
|
||||
cd ..
|
||||
rm -rf test-extract
|
||||
fi
|
||||
|
||||
echo "[+] Quick test complete!"
|
||||
Reference in New Issue
Block a user