Monorepo for Aesthetic.Computer aesthetic.computer

init: wait up to 3s for USB block device before logging

The USB boot device takes time to appear in devtmpfs.
Without waiting, init logging silently fails and we get
no diagnostic output.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+15 -9
+15 -9
fedac/native/initramfs/init
··· 14 14 mount -t efivarfs efivarfs /sys/firmware/efi/efivars 2>/dev/null 15 15 16 16 # Early USB mount for init logging (before ac-native starts) 17 + # Wait up to 3s for block devices to appear 17 18 INIT_LOG="" 18 - for usbdev in /dev/sda1 /dev/sdb1 /dev/sdc1; do 19 - if [ -b "$usbdev" ]; then 20 - mkdir -p /mnt/usb 21 - mount -o rw "$usbdev" /mnt/usb 2>/dev/null && { 22 - INIT_LOG="/mnt/usb/ac-init.log" 23 - echo "=== AC Init $(date 2>/dev/null || echo 'boot') ===" > "$INIT_LOG" 24 - break 25 - } 26 - fi 19 + USB_WAIT=0 20 + while [ $USB_WAIT -lt 30 ]; do 21 + for usbdev in /dev/sda1 /dev/sdb1 /dev/sdc1; do 22 + if [ -b "$usbdev" ]; then 23 + mkdir -p /mnt/usb 24 + mount -o rw "$usbdev" /mnt/usb 2>/dev/null && { 25 + INIT_LOG="/mnt/usb/ac-init.log" 26 + echo "=== AC Init $(date 2>/dev/null || echo 'boot') ===" > "$INIT_LOG" 27 + break 2 28 + } 29 + fi 30 + done 31 + sleep 0.1 32 + USB_WAIT=$((USB_WAIT + 1)) 27 33 done 28 34 # Log helper — writes to USB if mounted, always to kmsg 29 35 ilog() {