refactor: Simplify child container creation by copying aios itself
Changed from building new containers to simply copying the aios base: - Backup current aios to /tmp - Copy backup as workspace - Copy backup as restore-img - Much faster and simpler than pacstrap - Child containers have same config as parent aios
This commit is contained in:
@@ -1,37 +1,29 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Create child containers inside aios for ai user
|
# Create child containers inside aios for ai user
|
||||||
# This script runs during build.zsh as root
|
# Simply copy the aios itself as child containers
|
||||||
|
|
||||||
ROOTFS="root.x86_64/var/lib/machines/aios"
|
ROOTFS="root.x86_64/var/lib/machines/aios"
|
||||||
|
|
||||||
echo "=== Creating child containers ==="
|
echo "=== Creating child containers ==="
|
||||||
|
|
||||||
# Create workspace container
|
# Backup current aios to temp location
|
||||||
echo "Creating workspace container..."
|
echo "Backing up aios..."
|
||||||
mkdir -p /tmp/workspace-build
|
cp -a $ROOTFS /tmp/aios-backup-$$
|
||||||
pacstrap -c /tmp/workspace-build base
|
|
||||||
|
|
||||||
# Configure workspace
|
# Create directory for child containers
|
||||||
arch-chroot /tmp/workspace-build /bin/sh -c 'pacman -Syu --noconfirm vim git zsh openssh nodejs npm sqlite'
|
|
||||||
|
|
||||||
# Add securetty for pts login
|
|
||||||
cat >> /tmp/workspace-build/etc/securetty <<'EOF'
|
|
||||||
pts/0
|
|
||||||
pts/1
|
|
||||||
pts/2
|
|
||||||
pts/3
|
|
||||||
pts/4
|
|
||||||
pts/5
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Move to aios
|
|
||||||
mkdir -p $ROOTFS/var/lib/machines
|
mkdir -p $ROOTFS/var/lib/machines
|
||||||
mv /tmp/workspace-build $ROOTFS/var/lib/machines/workspace
|
|
||||||
|
|
||||||
# Create restore-img as clean backup
|
# Copy backup as workspace
|
||||||
echo "Creating restore-img (backup)..."
|
echo "Creating workspace container (copy of aios)..."
|
||||||
cp -a $ROOTFS/var/lib/machines/workspace $ROOTFS/var/lib/machines/restore-img
|
cp -a /tmp/aios-backup-$$ $ROOTFS/var/lib/machines/workspace
|
||||||
|
|
||||||
|
# Copy backup as restore-img (clean backup)
|
||||||
|
echo "Creating restore-img container (copy of aios)..."
|
||||||
|
cp -a /tmp/aios-backup-$$ $ROOTFS/var/lib/machines/restore-img
|
||||||
|
|
||||||
|
# Cleanup temp backup
|
||||||
|
rm -rf /tmp/aios-backup-$$
|
||||||
|
|
||||||
echo "✓ Child containers created"
|
echo "✓ Child containers created"
|
||||||
echo " - workspace"
|
echo " - workspace (copy of aios)"
|
||||||
echo " - restore-img"
|
echo " - restore-img (copy of aios)"
|
||||||
|
|||||||
Reference in New Issue
Block a user