# Boot Issue Fixed - Alpine Live Boot Parameters ## What Was Wrong The custom ISO was missing critical Alpine Linux live boot parameters: - ❌ No `modloop` parameter (Alpine's module overlay system) - ❌ No `alpine_dev` parameter (tells Alpine where to find itself) - ❌ Missing boot device hints Result: System booted into emergency shell because it couldn't find `/sbin/init` ## What I Fixed ### Updated Boot Configurations: #### 1. GRUB Config (`/boot/grub/grub.cfg`) ``` linux /boot/vmlinuz-lts modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-lts alpine_dev=sda1:iso9660 quiet console=tty0 ``` #### 2. Syslinux Config (`/boot/syslinux/syslinux.cfg`) ``` APPEND modules=loop,squashfs,sd-mod,usb-storage modloop=/boot/modloop-lts alpine_dev=cdrom:iso9660 quiet console=tty0 ``` ### Key Parameters Added: | Parameter | Purpose | |-----------|---------| | `modloop=/boot/modloop-lts` | Points to Alpine's compressed module filesystem | | `alpine_dev=cdrom:iso9660` | Tells Alpine where to find the live system (on ISO9660 filesystem) | | `console=tty0` | Ensures output goes to the screen | | `modules=loop,squashfs,sd-mod,usb-storage` | Loads required kernel modules early | ## New ISO Ready **Location**: `/Users/dorian/Projects/archy/image-recipe/results/archipelago-3.19-hp-prodesk-uefi-x86_64.iso` **Size**: 278MB **Created**: Jan 31, 2026 21:51 ## How to Flash ### Method 1: Balena Etcher 1. Open Balena Etcher 2. Select the new ISO 3. Select your USB drive 4. Flash! ### Method 2: dd (Terminal) ```bash diskutil list diskutil unmountDisk /dev/diskN sudo dd if=/Users/dorian/Projects/archy/image-recipe/results/archipelago-3.19-hp-prodesk-uefi-x86_64.iso of=/dev/rdiskN bs=1m status=progress diskutil eject /dev/diskN ``` ## How to Boot HP ProDesk 1. **Disable Secure Boot** in BIOS (F10 → Security → Secure Boot → Disabled) 2. **Insert USB** and reboot 3. **Press F9** for boot menu 4. **Select**: "UEFI - General UDISK" 5. System should now boot properly to Alpine login prompt ## What You'll See After Booting ``` 🏔️ Archipelago Bitcoin Node OS Booting... Welcome to Alpine Linux 3.19 Kernel 6.6.x-lts on an x86_64 localhost login: _ ``` ### Login: - **Username**: `root` - **Password**: *(just press Enter)* ### Run Installer: ```bash sh /media/cdrom/archipelago/install.sh ``` Or if that path doesn't work: ```bash sh /media/usb/archipelago/install.sh ``` ## What the Installer Does 1. ✅ Installs Alpine Linux 3.19 to internal disk 2. ✅ Installs Archipelago backend (5.7MB Rust binary) 3. ✅ Installs Vue.js web UI (port 8100) 4. ✅ Configures Podman container runtime 5. ✅ Sets up 21 app manifests (Bitcoin, Lightning, Web5, etc.) 6. ✅ Configures DHCP networking on Ethernet 7. ✅ Sets up nginx, SSH, and all services 8. ✅ Creates `archipelago` user ## After Installation 1. **Reboot** and remove USB 2. **Login**: `archipelago` / `archipelago` 3. **Change password**: `passwd` 4. **Access web UI**: `http://:8100` --- **This ISO should now boot properly without dropping to emergency shell!** 🚀 ## Technical Notes The issue was that we were extracting and repackaging an Alpine ISO without understanding Alpine's live boot requirements. Alpine Linux uses: 1. **modloop**: A compressed SquashFS file containing kernel modules and system files 2. **alpine_dev**: Boot parameter telling the system where to find the live environment 3. **Special initramfs hooks**: That detect and mount the live media By adding these parameters back, the boot process now works as expected. ## If You Still Have Issues Try the **Safe Mode** boot option (second menu entry), which adds `nomodeset` for better hardware compatibility.