Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: clean boot — suppress kernel messages + init debug output

- Kernel: quiet loglevel=0 (was loglevel=4)
- Init: remove all echo statements to console
- ac-native stderr redirected to /dev/null (logs go to USB file only)
- Swank starts silently

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

+10 -48
+9 -47
fedac/native/initramfs/init
··· 74 74 # Run ac-native in a loop — if it crashes, restart; if clean exit, shutdown 75 75 export LD_LIBRARY_PATH="/lib64:/usr/lib64:${LD_LIBRARY_PATH:-}" 76 76 77 - # Debug: ALWAYS write to kernel console (dmesg) + USB if mounted 78 - echo "[ac-init] USB_MOUNTED=$USB_MOUNTED" 79 - echo "[ac-init] mnt: $(ls /mnt/ 2>&1)" 80 - echo "[ac-init] binary: $(ls -la /ac-native 2>&1)" 81 - echo "[ac-init] libs: $(ls /lib64/libquickjs* 2>&1)" 82 - echo "[ac-init] build: $(cat /etc/ac-build 2>&1)" 83 - echo "[ac-init] LD_LIBRARY_PATH=$LD_LIBRARY_PATH" 84 - # Also write to USB if mounted 77 + # Write diagnostics to USB log only (not console) 85 78 if [ "$USB_MOUNTED" = "1" ]; then 86 79 LOG=/mnt/pre-launch.log 87 80 echo "=== PRE-LAUNCH ===" > $LOG 88 81 ls /mnt/ >> $LOG 2>&1 89 - ls -la /ac-native >> $LOG 2>&1 90 - ls /lib64/libquickjs* >> $LOG 2>&1 91 - cat /etc/ac-build >> $LOG 2>&1 92 - echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> $LOG 82 + echo "binary: $(ls -la /ac-native 2>&1)" >> $LOG 83 + echo "build: $(cat /etc/ac-build 2>&1)" >> $LOG 93 84 sync 94 85 fi 86 + 95 87 # Start Swank server in background (if SBCL image exists) 96 88 SWANK_PID=0 97 89 if [ -x /ac-swank ]; then 98 - echo "[ac-init] Starting Swank server (port 4005)..." 99 - LD_LIBRARY_PATH="/lib64:/usr/lib64" /ac-swank --swank-only & 90 + LD_LIBRARY_PATH="/lib64:/usr/lib64" /ac-swank --swank-only >/dev/null 2>&1 & 100 91 SWANK_PID=$! 101 - echo "[ac-init] Swank PID=$SWANK_PID" 102 92 fi 103 93 104 - # Run once, capture crash 105 - echo "[ac-init] === LAUNCHING ===" 106 - /ac-native /piece.mjs > /mnt/pre-launch-out.log 2>&1 107 - FIRST_EXIT=$? 108 - echo "[ac-init] EXIT=$FIRST_EXIT" 109 - sync 110 - 111 - # Handle clean exit from first run 112 - if [ "$FIRST_EXIT" = "0" ]; then 113 - echo "[ac-init] Clean exit (first run) — powering off..." 114 - echo o > /proc/sysrq-trigger 2>/dev/null 115 - sleep 2; poweroff -f 2>/dev/null; sleep 30; exit 0 116 - fi 117 - if [ "$FIRST_EXIT" = "2" ]; then 118 - echo "[ac-init] Reboot (first run)..." 119 - echo b > /proc/sysrq-trigger 2>/dev/null 120 - sleep 2; reboot -f 2>/dev/null; sleep 30; exit 0 121 - fi 122 - sleep 5 123 - 94 + # Main loop — restart on crash, poweroff on exit 0, reboot on exit 2 124 95 CRASH_COUNT=0 125 96 while true; do 126 - /ac-native /piece.mjs 97 + /ac-native /piece.mjs 2>/dev/null 127 98 EXIT_CODE=$? 128 99 129 - # Exit code 0 = power off, exit code 2 = reboot 130 100 if [ "$EXIT_CODE" = "0" ]; then 131 101 sync 132 - echo "[ac-init] Clean exit — powering off..." 133 102 echo o > /proc/sysrq-trigger 2>/dev/null 134 - sleep 2 135 - poweroff -f 2>/dev/null 136 - busybox poweroff -f 2>/dev/null 137 - sleep 30 103 + sleep 2; poweroff -f 2>/dev/null; sleep 30 138 104 break 139 105 fi 140 106 if [ "$EXIT_CODE" = "2" ]; then 141 107 sync 142 - echo "[ac-init] Reboot requested..." 143 108 echo b > /proc/sysrq-trigger 2>/dev/null 144 - sleep 2 145 - reboot -f 2>/dev/null 146 - busybox reboot -f 2>/dev/null 147 - sleep 30 109 + sleep 2; reboot -f 2>/dev/null; sleep 30 148 110 break 149 111 fi 150 112
+1 -1
fedac/native/kernel/config-minimal
··· 424 424 CONFIG_LEGACY_VSYSCALL_XONLY=y 425 425 # CONFIG_LEGACY_VSYSCALL_NONE is not set 426 426 CONFIG_CMDLINE_BOOL=y 427 - CONFIG_CMDLINE="console=tty0 loglevel=4 vt.global_cursor_default=0 init=/init mitigations=off snd_intel_dspcfg.dsp_driver=0 snd_hda_intel.power_save=0 nmi_watchdog=0 tsc=reliable no_timer_check acpi_backlight=native thinkpad_acpi.brightness_enable=1 i8042.reset i8042.nomux" 427 + CONFIG_CMDLINE="console=tty0 quiet loglevel=0 vt.global_cursor_default=0 init=/init mitigations=off snd_intel_dspcfg.dsp_driver=0 snd_hda_intel.power_save=0 nmi_watchdog=0 tsc=reliable no_timer_check acpi_backlight=native thinkpad_acpi.brightness_enable=1 i8042.reset i8042.nomux" 428 428 # CONFIG_CMDLINE_OVERRIDE is not set 429 429 CONFIG_MODIFY_LDT_SYSCALL=y 430 430 # CONFIG_STRICT_SIGALTSTACK_SIZE is not set