fix: embed netavark/aardvark-dns in ISO at build time
Previous fix tried to copy from the live system at install time, but the live ISO doesn't have netavark. Now: binaries are embedded in the ISO during build (from the build host's /usr/lib/podman/), then copied to the target at install time from the ISO filesystem. This fixes container DNS on fresh installs — LND can now resolve bitcoin-knots, mempool-api can resolve electrumx, etc. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -833,6 +833,15 @@ mkdir -p "$ARCH_DIR"
|
||||
mkdir -p "$ARCH_DIR/bin"
|
||||
mkdir -p "$ARCH_DIR/scripts"
|
||||
|
||||
# Embed netavark + aardvark-dns for container DNS (podman CNI lacks DNS)
|
||||
if [ -f /usr/lib/podman/netavark ] && [ -f /usr/lib/podman/aardvark-dns ]; then
|
||||
cp /usr/lib/podman/netavark "$ARCH_DIR/bin/netavark"
|
||||
cp /usr/lib/podman/aardvark-dns "$ARCH_DIR/bin/aardvark-dns"
|
||||
echo " Embedded netavark + aardvark-dns in ISO"
|
||||
else
|
||||
echo " WARNING: netavark/aardvark-dns not found — install with: apt install aardvark-dns netavark"
|
||||
fi
|
||||
|
||||
# Copy the pre-built rootfs
|
||||
echo " Including root filesystem..."
|
||||
cp "$ROOTFS_TAR" "$ARCH_DIR/rootfs.tar"
|
||||
@@ -1788,10 +1797,11 @@ chown -R 1000:1000 /mnt/target/home/archipelago/.config
|
||||
|
||||
# Install netavark + aardvark-dns for container DNS resolution on archy-net.
|
||||
# Debian 12's podman defaults to CNI which lacks DNS. Netavark provides built-in DNS.
|
||||
if [ -f /usr/lib/podman/netavark ] && [ -f /usr/lib/podman/aardvark-dns ]; then
|
||||
# Binaries are embedded in the ISO at build time (archipelago/bin/).
|
||||
if [ -f "$BOOT_MEDIA/archipelago/bin/netavark" ] && [ -f "$BOOT_MEDIA/archipelago/bin/aardvark-dns" ]; then
|
||||
mkdir -p /mnt/target/usr/lib/podman
|
||||
cp /usr/lib/podman/netavark /mnt/target/usr/lib/podman/netavark
|
||||
cp /usr/lib/podman/aardvark-dns /mnt/target/usr/lib/podman/aardvark-dns
|
||||
cp "$BOOT_MEDIA/archipelago/bin/netavark" /mnt/target/usr/lib/podman/netavark
|
||||
cp "$BOOT_MEDIA/archipelago/bin/aardvark-dns" /mnt/target/usr/lib/podman/aardvark-dns
|
||||
chmod +x /mnt/target/usr/lib/podman/netavark /mnt/target/usr/lib/podman/aardvark-dns
|
||||
# Configure podman to use netavark backend (enables container DNS)
|
||||
mkdir -p /mnt/target/home/archipelago/.config/containers
|
||||
@@ -1802,8 +1812,7 @@ CONTAINERSCONF
|
||||
chown -R 1000:1000 /mnt/target/home/archipelago/.config/containers
|
||||
echo " Installed netavark + aardvark-dns (container DNS enabled)"
|
||||
else
|
||||
echo " WARNING: netavark/aardvark-dns not found on build host — container DNS will not work"
|
||||
echo " Install with: apt install aardvark-dns netavark"
|
||||
echo " WARNING: netavark/aardvark-dns not found in ISO — container DNS will not work"
|
||||
fi
|
||||
|
||||
# Laptop support: ignore lid close so server keeps running
|
||||
|
||||
Reference in New Issue
Block a user