Files
archy/FIXED_BOOT_ISSUE.md
Dorian 76782073c2 Refactor build script for custom ISO creation and update hardware configuration
- Replaced OS-specific build method with a custom ISO builder in the build-for-hardware.sh script.
- Updated output file naming to reflect the correct Alpine version in the build process.
- Adjusted build dates in hardware configuration files for HP ProDesk, merged, and Start9 Pure profiles to the latest timestamp.
2026-01-31 22:56:39 +00:00

3.7 KiB

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)

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:

sh /media/cdrom/archipelago/install.sh

Or if that path doesn't work:

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://<your-ip>: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.