fix: onboarding "Set Password" label, reboot sequence, initramfs noise

- 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 9636bac96b
commit 8dffe807dd
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 # Regenerate initramfs — the one from Docker export is corrupt/incomplete
# (Docker builds have limited /proc, /sys, /dev so initramfs generation fails silently) # (Docker builds have limited /proc, /sys, /dev so initramfs generation fails silently)
echo " Regenerating initramfs..." 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 chroot /mnt/target update-grub
@ -2483,28 +2483,28 @@ cc "${DIM}BTCPay Server, Mempool, Nostr Relay${NC}"
echo "" echo ""
hrule hrule
echo "" echo ""
cc "${YELLOW}>>> REMOVE THE USB DRIVE NOW <<<${NC}" # Suppress kernel messages on console (SquashFS errors when USB is pulled)
echo "" echo 1 > /proc/sys/kernel/printk 2>/dev/null || true
# Install log already saved before unmount (above)
# 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 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 if [ -n "$BOOT_DEV" ]; then
BOOT_DISK=$(lsblk -no PKNAME "$BOOT_DEV" 2>/dev/null | head -1) BOOT_DISK=$(lsblk -no PKNAME "$BOOT_DEV" 2>/dev/null | head -1)
if [ -n "$BOOT_DISK" ]; then [ -n "$BOOT_DISK" ] && eject "/dev/$BOOT_DISK" 2>/dev/null || true
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
fi fi
exec 2>&1 exec 2>&1
cc "${DIM}Press Enter to reboot${NC}" cc "${YELLOW}>>> REMOVE THE USB DRIVE <<<${NC}"
read -s 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 reboot -f
INSTALLER_SCRIPT INSTALLER_SCRIPT
@ -2609,10 +2609,10 @@ TIMEOUT 0
MENU TITLE bitcoin node os MENU TITLE bitcoin node os
MENU BACKGROUND splash.png MENU BACKGROUND splash.png
MENU RESOLUTION 640 480 MENU RESOLUTION 1024 768
MENU VSHIFT 12 MENU VSHIFT 18
MENU HSHIFT 5 MENU HSHIFT 32
MENU WIDTH 30 MENU WIDTH 18
MENU MARGIN 1 MENU MARGIN 1
MENU ROWS 5 MENU ROWS 5
MENU TABMSG press tab to edit | archipelago.sh MENU TABMSG press tab to edit | archipelago.sh

View File

@ -42,12 +42,13 @@
</div> </div>
</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 <button
@click="goToLogin" @click="goToLogin"
class="path-action-button path-action-button--continue mx-auto" class="path-action-button path-action-button--continue mx-auto"
> >
Go to Login Set Password
</button> </button>
</div> </div>
</div> </div>