fix: onboarding "Set Password" label, reboot sequence, initramfs noise
Some checks failed
Build Archipelago ISO / build-iso (push) Has been cancelled

- OnboardingDone: "Go to Login" → "Set Password" with context text
- Reboot: lazy-unmount live FS before USB removal prompt, suppress
  kernel SquashFS messages, auto-reboot after 10s countdown
- Initramfs: filter "Possible missing firmware" warnings (cosmetic)
- ISOLINUX: menu centered at bottom (VSHIFT 18, HSHIFT 32, WIDTH 18)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-28 13:14:33 +00:00
parent 2021de5cda
commit e28de77596
2 changed files with 22 additions and 21 deletions

View File

@@ -2192,7 +2192,7 @@ fi
# Regenerate initramfs — the one from Docker export is corrupt/incomplete
# (Docker builds have limited /proc, /sys, /dev so initramfs generation fails silently)
echo " Regenerating initramfs..."
chroot /mnt/target update-initramfs -u -k all
chroot /mnt/target update-initramfs -u -k all 2>&1 | grep -v "Possible missing firmware"
chroot /mnt/target update-grub
@@ -2483,28 +2483,28 @@ cc "${DIM}BTCPay Server, Mempool, Nostr Relay${NC}"
echo ""
hrule
echo ""
cc "${YELLOW}>>> REMOVE THE USB DRIVE NOW <<<${NC}"
echo ""
# Install log already saved before unmount (above)
# Suppress kernel messages on console (SquashFS errors when USB is pulled)
echo 1 > /proc/sys/kernel/printk 2>/dev/null || true
# Eject USB BEFORE prompting — prevents SquashFS errors when user pulls drive
# Lazy-unmount live filesystem BEFORE telling user to pull USB
exec 2>/dev/null
BOOT_DEV=$(findmnt -n -o SOURCE /run/archiso 2>/dev/null || findmnt -n -o SOURCE /cdrom 2>/dev/null || findmnt -n -o SOURCE /run/live/medium 2>/dev/null || echo "")
umount -l /run/live/medium 2>/dev/null || true
umount -l /lib/live/mount/medium 2>/dev/null || true
umount -l /run/archiso 2>/dev/null || true
umount -l /cdrom 2>/dev/null || true
BOOT_DEV=$(findmnt -n -o SOURCE /run/live/medium 2>/dev/null || findmnt -n -o SOURCE /cdrom 2>/dev/null || echo "")
if [ -n "$BOOT_DEV" ]; then
BOOT_DISK=$(lsblk -no PKNAME "$BOOT_DEV" 2>/dev/null | head -1)
if [ -n "$BOOT_DISK" ]; then
umount -l /run/archiso 2>/dev/null || true
umount -l /cdrom 2>/dev/null || true
umount -l /run/live/medium 2>/dev/null || true
eject "/dev/$BOOT_DISK" 2>/dev/null || true
fi
[ -n "$BOOT_DISK" ] && eject "/dev/$BOOT_DISK" 2>/dev/null || true
fi
exec 2>&1
cc "${DIM}Press Enter to reboot${NC}"
read -s
cc "${YELLOW}>>> REMOVE THE USB DRIVE <<<${NC}"
echo ""
cc "${DIM}Rebooting in 10 seconds...${NC}"
sleep 10
# Force reboot — avoids systemd trying to cleanly stop the (now-ejected) live FS
# Force reboot — skips systemd clean shutdown (which fails on missing USB)
reboot -f
INSTALLER_SCRIPT
@@ -2609,10 +2609,10 @@ TIMEOUT 0
MENU TITLE bitcoin node os
MENU BACKGROUND splash.png
MENU RESOLUTION 640 480
MENU VSHIFT 12
MENU HSHIFT 5
MENU WIDTH 30
MENU RESOLUTION 1024 768
MENU VSHIFT 18
MENU HSHIFT 32
MENU WIDTH 18
MENU MARGIN 1
MENU ROWS 5
MENU TABMSG press tab to edit | archipelago.sh

View File

@@ -42,12 +42,13 @@
</div>
</div>
<!-- Go to Login Button -->
<!-- Set Password Button -->
<p class="text-xs text-white/50 mb-3">You'll create your node password next</p>
<button
@click="goToLogin"
class="path-action-button path-action-button--continue mx-auto"
>
Go to Login
Set Password
</button>
</div>
</div>