diff --git a/image-recipe/alpine-profile/mkimg.archipelago.sh b/image-recipe/alpine-profile/mkimg.archipelago.sh index 08706d90..65b08534 100755 --- a/image-recipe/alpine-profile/mkimg.archipelago.sh +++ b/image-recipe/alpine-profile/mkimg.archipelago.sh @@ -3,87 +3,22 @@ profile_archipelago() { profile_standard + title="Archipelago Bitcoin Node OS" + desc="A Bitcoin and sovereign computing node OS built on Alpine Linux" + profile_abbrev="arch" + arch="x86_64" # Additional packages for Archipelago apks="$apks - systemd - systemd-openrc podman - podman-compose crun fuse-overlayfs slirp4netns - networkmanager - networkmanager-openrc openssh - openssh-openrc nginx - nginx-openrc " - # Kernel flavor + # Kernel flavor kernel_flavors="lts" - - # Bootloader - boot_addons="grub-efi" - - # Initfs features - initfs_features="base squashfs ext4 usb pcmcia scsi mmc nvme virtio" - - # Initfs modules - initfs_modules="loop squashfs" -} - -# Post-install hook - called after base system is installed -profile_apkovl() { - local apkovl="$1" - local apkroot="$2" - - # Copy overlay files - if [ -d "$(dirname "$0")/overlay" ]; then - echo "📦 Installing overlay files..." - cp -a "$(dirname "$0")/overlay/"* "$apkroot"/ - fi - - # Install Archipelago APK if available - local apk_file="$(dirname "$0")/../../apks/archipelago-backend-"*.apk" - if ls $apk_file 1> /dev/null 2>&1; then - echo "📦 Installing Archipelago backend APK..." - cp $apk_file "$apkroot"/tmp/archipelago-backend.apk - fi - - # Create first boot script - mkdir -p "$apkroot"/etc/local.d - { - echo '#!/bin/sh' - echo '# First boot installation script for Archipelago' - echo '' - echo '# Install backend APK if available' - echo 'if [ -f /tmp/archipelago-backend.apk ]; then' - echo ' apk add --allow-untrusted /tmp/archipelago-backend.apk' - echo ' rm /tmp/archipelago-backend.apk' - echo 'fi' - echo '' - echo '# Enable services' - echo 'rc-update add archipelago default 2>/dev/null || true' - echo 'systemctl enable archipelago 2>/dev/null || true' - echo '' - echo '# Create archipelago user if needed' - echo 'if ! id archipelago >/dev/null 2>&1; then' - echo ' adduser -D -s /bin/bash archipelago' - echo ' echo "archipelago ALL=(ALL) NOPASSWD: /usr/bin/podman" >>/etc/sudoers' - echo 'fi' - echo '' - echo '# Setup Podman for archipelago user' - echo 'mkdir -p /home/archipelago/.config/containers' - echo 'chown -R archipelago:archipelago /home/archipelago' - echo '' - echo '# Create data directories' - echo 'mkdir -p /var/lib/archipelago/apps /var/lib/archipelago/secrets /var/lib/archipelago/logs /var/lib/archipelago/backups' - echo 'chown -R archipelago:archipelago /var/lib/archipelago' - echo '' - echo '# Start services' - echo 'rc-service archipelago start 2>/dev/null || systemctl start archipelago 2>/dev/null || true' - } > "$apkroot"/etc/local.d/archipelago-install.start - chmod +x "$apkroot"/etc/local.d/archipelago-install.start + kernel_addons="xtables-addons" } diff --git a/image-recipe/alpine-profile/overlay-hp-prodesk/etc/archipelago/hardware.toml b/image-recipe/alpine-profile/overlay-hp-prodesk/etc/archipelago/hardware.toml index d5996cd6..5f1e93cb 100644 --- a/image-recipe/alpine-profile/overlay-hp-prodesk/etc/archipelago/hardware.toml +++ b/image-recipe/alpine-profile/overlay-hp-prodesk/etc/archipelago/hardware.toml @@ -22,5 +22,5 @@ ports = "4x USB 3.0, 2x USB 2.0" [build] version = "0.1.0" alpine_version = "3.19" -build_date = "2026-01-31T19:47:29Z" +build_date = "2026-01-31T20:05:12Z" build_type = "iso" diff --git a/image-recipe/alpine-profile/overlay-merged/etc/archipelago/hardware.toml b/image-recipe/alpine-profile/overlay-merged/etc/archipelago/hardware.toml index d5996cd6..5f1e93cb 100644 --- a/image-recipe/alpine-profile/overlay-merged/etc/archipelago/hardware.toml +++ b/image-recipe/alpine-profile/overlay-merged/etc/archipelago/hardware.toml @@ -22,5 +22,5 @@ ports = "4x USB 3.0, 2x USB 2.0" [build] version = "0.1.0" alpine_version = "3.19" -build_date = "2026-01-31T19:47:29Z" +build_date = "2026-01-31T20:05:12Z" build_type = "iso" diff --git a/image-recipe/aports b/image-recipe/aports index 1e77b773..4315b9b9 160000 --- a/image-recipe/aports +++ b/image-recipe/aports @@ -1 +1 @@ -Subproject commit 1e77b77379cbda5bccb7727851c19c4f2d6125fe +Subproject commit 4315b9b90c1a786d04b2bc7af5649a0c4caf396a diff --git a/image-recipe/build-alpine-native.sh b/image-recipe/build-alpine-native.sh index 7e8385e9..099e3522 100755 --- a/image-recipe/build-alpine-native.sh +++ b/image-recipe/build-alpine-native.sh @@ -45,10 +45,14 @@ fi APORTS_DIR="$SCRIPT_DIR/aports" if [ ! -d "$APORTS_DIR" ]; then echo "📥 Cloning Alpine aports repository..." - git clone --depth=1 --branch "v${ALPINE_VERSION}" \ + git clone --depth=1 --branch "${ALPINE_VERSION}-stable" \ https://gitlab.alpinelinux.org/alpine/aports.git "$APORTS_DIR" || { - echo "⚠️ Failed to clone aports, trying without branch..." - git clone --depth=1 https://gitlab.alpinelinux.org/alpine/aports.git "$APORTS_DIR" + echo "⚠️ Failed to clone ${ALPINE_VERSION}-stable, trying 3.19-stable..." + git clone --depth=1 --branch "3.19-stable" \ + https://gitlab.alpinelinux.org/alpine/aports.git "$APORTS_DIR" || { + echo "⚠️ Failed to clone 3.19-stable, using master as fallback..." + git clone --depth=1 https://gitlab.alpinelinux.org/alpine/aports.git "$APORTS_DIR" + } } fi