97 lines
No EOL
2.9 KiB
Bash
Executable file
97 lines
No EOL
2.9 KiB
Bash
Executable file
#!/bin/bash
|
|
# Script to create a simple non-bootable ISO for testing
|
|
|
|
set -e
|
|
|
|
echo "Creating simple non-bootable ISO for testing..."
|
|
|
|
# Create build directory
|
|
mkdir -p build
|
|
|
|
echo "Creating simple ISO using podman..."
|
|
|
|
# Use podman to create everything inside the container
|
|
podman run --rm \
|
|
-v "$(pwd)/build:/output:Z" \
|
|
debian:trixie \
|
|
bash -c "
|
|
# Configure apt-cacher-ng proxy if available
|
|
if [ -n \"$APT_CACHER_NG_PROXY\" ]; then
|
|
echo \"Acquire::http::Proxy \\\"$APT_CACHER_NG_PROXY\\\";\" > /etc/apt/apt.conf.d/99proxy
|
|
echo \"Acquire::https::Proxy \\\"$APT_CACHER_NG_PROXY\\\";\" >> /etc/apt/apt.conf.d/99proxy
|
|
fi
|
|
|
|
# Update and install required packages
|
|
apt-get update
|
|
apt-get install -y genisoimage
|
|
|
|
# Create working directory
|
|
mkdir -p /tmp/iso-content
|
|
cd /tmp/iso-content
|
|
|
|
# Create basic ISO structure
|
|
mkdir -p boot/grub
|
|
mkdir -p isolinux
|
|
|
|
# Create a simple kernel placeholder
|
|
echo 'This is a placeholder kernel' > boot/vmlinuz
|
|
echo 'This is a placeholder initrd' > boot/initrd.img
|
|
|
|
# Create GRUB configuration
|
|
cat > boot/grub/grub.cfg << 'EOF'
|
|
set timeout=5
|
|
set default=0
|
|
|
|
menuentry 'Debian Atomic Desktop Installer' {
|
|
linux /boot/vmlinuz root=live:CDLABEL=DEBIAN_ATOMIC quiet
|
|
initrd /boot/initrd.img
|
|
}
|
|
|
|
menuentry 'Debian Atomic Desktop Installer (Safe Mode)' {
|
|
linux /boot/vmlinuz root=live:CDLABEL=DEBIAN_ATOMIC nomodeset
|
|
initrd /boot/initrd.img
|
|
}
|
|
EOF
|
|
|
|
# Create isolinux configuration
|
|
cat > isolinux/isolinux.cfg << 'EOF'
|
|
DEFAULT install
|
|
TIMEOUT 50
|
|
PROMPT 1
|
|
|
|
LABEL install
|
|
KERNEL /boot/vmlinuz
|
|
APPEND root=live:CDLABEL=DEBIAN_ATOMIC quiet initrd=/boot/initrd.img
|
|
|
|
LABEL install-safe
|
|
KERNEL /boot/vmlinuz
|
|
APPEND root=live:CDLABEL=DEBIAN_ATOMIC nomodeset initrd=/boot/initrd.img
|
|
EOF
|
|
|
|
# Create a simple README
|
|
echo 'Debian Atomic Desktop Installer ISO' > README.txt
|
|
echo 'This is a simple ISO for testing.' >> README.txt
|
|
|
|
# List contents to debug
|
|
echo 'Contents of /tmp/iso-content:'
|
|
ls -la /tmp/iso-content/
|
|
|
|
# Create simple ISO without bootloader inside container
|
|
genisoimage -o /tmp/debian-atomic-installer-simple.iso \
|
|
-r \
|
|
-V 'DEBIAN_ATOMIC' \
|
|
.
|
|
|
|
# Copy ISO to output directory
|
|
cp /tmp/debian-atomic-installer-simple.iso /output/
|
|
echo 'ISO created and copied to output directory'
|
|
"
|
|
|
|
echo "Simple ISO created: build/debian-atomic-installer-simple.iso"
|
|
if [ -f "build/debian-atomic-installer-simple.iso" ]; then
|
|
echo "Size: $(du -h build/debian-atomic-installer-simple.iso | cut -f1)"
|
|
echo "✅ Simple ISO creation completed!"
|
|
else
|
|
echo "❌ ISO creation failed!"
|
|
exit 1
|
|
fi |