[x86-64] LE 12.2 doesn't boot on ASUS Chromebox (CN60)

  • OK, I removed the 'quiet' flag and added 'textmode' and 'ssh" flags to syslinux.cfg on the internal SSD, and it boots 12.2 successfully to the shell. Pastekodi yields: https://paste.libreelec.tv/smooth-squirrel.log

    I then removed 'textmode', and while watching it boot I can see it starting sshd, but again it starts the graphics subsystem and gets into a loop. Interestingly I cannot ssh into it at this point. What's more, there's no DHCP lease on my server.

    So while it's not a reboot loop, whatever it's choking on seems to prevent it from obtaining an IP address. Hence, I cannot get in to it to generate logs via pastekodi. If I boot it via USB and ssh into it, can I grab the logs from the failed graphics shell boot and put them somewhere?

  • With adding systemd.debug_shell parameter to the APPEND line you do get a debug shell on console 3. Press <Ctrl><Alt><F3> to select it. Switch back to X or default console with <Ctrl><Alt><F1>. The debug console is accessible too when booting the USB install stick into installer.

    For testing multiple boot configurations can be used in syslinux. cfg. Replace the PROMPT 0 line with e.g. (using your UUIDs):

    Code
    PROMPT 1
    TIMEOUT 50
    
    LABEL txt
      KERNEL /KERNEL
      APPEND boot=UUID=$UUID1 disk=UUID=$UUID2 textmode

    and you can select textmode at boot with typing txt

  • With adding systemd.debug_shell parameter to the APPEND line you do get a debug shell on console 3. Press <Ctrl><Alt><F3> to select it. Switch back to X or default console with <Ctrl><Alt><F1>. The debug console is accessible too when booting the USB install stick into installer.

    For testing multiple boot configurations can be used in syslinux. cfg. Replace the PROMPT 0 line with e.g. (using your UUIDs):

    Code
    PROMPT 1
    TIMEOUT 50
    
    LABEL txt
      KERNEL /KERNEL
      APPEND boot=UUID=$UUID1 disk=UUID=$UUID2 textmode

    and you can select textmode at boot with typing txt


    Ah thanks... so added that to the 12.2 build syslinux.cfg file, and when switching to the debug console it shows it successfully staring kodi.service, and then just hangs on:

    Job wait time-sync.servce/start running

    It's been sitting here for 7+ minutes now and it says there's no time limit.

    I eventually killed the process. Running "pastekodi" at this point just returns a prompt with no response or URL.

  • The job running indicates there is no network connection (as you assumed). Temporary work around may be using ethernet but commands can be typed blind even with this message..

    Without network you can store pastekodi output locally with pastekodi -c >log.file and upload it later with paste log.file

  • pcie_aspm=off

    There are numerous reports of PCIe issues on kernel mailing lists for Rockchip and Amlogic hardware due to ASPM changes merged for Linux 6.18 that are now surfacing in rc1/rc2 tests. On those platforms earlier kernels don't see the problems (and LE12.2 is using Linux 6.16.y) but I'm wondering if x86_64 is somehow different ..

    The Kodi GUI won't show until the 'wait for network' timeout is reached and date/time will be wrong as NTP didn't correct it, but Kodi should still run without a network.

  • The Kodi GUI won't show until the 'wait for network' timeout is reached and date/time will be wrong as NTP didn't correct it, but Kodi should still run without a network.

    The GUI delay issue was the NAS change, but the on screen message was wait for network. I assumed Ethernet was slow but my setting was 10s seconds the delay was 20 seconds after wait for network.

    It might be interesting for the OP to try wired networking to see if it network stopping his GUI from starting the service.

    `````

  • but I'm wondering if x86_64 is somehow different ..

    ASPM was an issue over years e.g for the realtek r8169 driver.

    and adding the config pcie_aspm=off

    If disabling ASPM is not working another parameter to try is pci=noaer.

    my setting was 10s seconds

    The 10 seconds default is known to be optimistic, in ideal case DHCP take ~6 sec. If e.g. the router does not react on DHCP_REQUESTED_IP option there is an additional 15 sec delay.

    Job wait time-sync.servce/start running

    I'm wondering if changing the TTYPath= from /dev/console to /dev/tty1 in journald.conf of Generic will improve the debug console user experience...

  • The job running indicates there is no network connection (as you assumed). Temporary work around may be using ethernet but commands can be typed blind even with this message..

    Without network you can store pastekodi output locally with pastekodi -c >log.file and upload it later with paste log.file


    Thanks for this. I booted the failing 12.2 install (that loops starting the GUI and no network) and used the debug console to generate a log file, then rebooted the USB 12.2 installer (that does start the GUI & net) and pasted it here:

    https://paste.libreelec.tv/adjusted-foal.log

    Incidentally, the borked 12.2 install actually doesn't even show my wired network interface in ifconfig, just lo and wlan0

    Edited once, last by scaesare (October 25, 2025 at 8:15 PM).

  • Seems like your USB drive is broken:

    Code
    Oct 25 14:46:06.970019 LibreELEC kernel: usb 1-4: new full-speed USB device number 3 using xhci_hcd
    Oct 25 14:46:06.970053 LibreELEC kernel: loop0: detected capacity change from 0 to 895184
    Oct 25 14:46:06.970070 LibreELEC kernel: EXT4-fs (sda2): mounted filesystem 8de60d34-0ca3-45d0-a6cb-056f4e2bf5d6 r/w with ordered data mode. Quota mode: disabled.
    Oct 25 14:46:06.970088 LibreELEC kernel-overlays-setup: setup base modules
    Oct 25 14:46:06.970277 LibreELEC kernel: usb 1-4: string descriptor 0 read error: -22
    ...
    Oct 25 14:46:09.774888 KODI-FR kernel: usb 1-4: string descriptor 0 read error: -22
  • Seems like your USB drive is broken:

    Code
    Oct 25 14:46:06.970019 LibreELEC kernel: usb 1-4: new full-speed USB device number 3 using xhci_hcd
    Oct 25 14:46:06.970053 LibreELEC kernel: loop0: detected capacity change from 0 to 895184
    Oct 25 14:46:06.970070 LibreELEC kernel: EXT4-fs (sda2): mounted filesystem 8de60d34-0ca3-45d0-a6cb-056f4e2bf5d6 r/w with ordered data mode. Quota mode: disabled.
    Oct 25 14:46:06.970088 LibreELEC kernel-overlays-setup: setup base modules
    Oct 25 14:46:06.970277 LibreELEC kernel: usb 1-4: string descriptor 0 read error: -22
    ...
    Oct 25 14:46:09.774888 KODI-FR kernel: usb 1-4: string descriptor 0 read error: -22

    Ah interesting... I see that error a couple of times in the log.

    Strange that wasn't causing 12.0.2 to choke, but as soon as I upgraded to 12.2 it did. Whatever was stored on those blocks previously (if anything) must have not gotten exercised much, if at all.

    Thank you again for the help on this... guess it's time to retire this rather old box...

  • Seems like your USB drive is broken

    That's no the problem, because of how LE is packaged. To explain:

    In a conventional distro there are many thousands of files stored on disk with each file occupying at least one sector and some occupying many sectors. Bad sectors thus impact only a small number of files and if those are non-critical files you might throw some odd errors but the system keeps running until you do finally lose something important.

    LE is packaged as two compressed read-only files (KERNEL and SYSTEM) which are expanded into a virtual root filesystem on boot, with persistent storage (containing largely non-critical data) in /storage. If you have a bad sector impacting either KERNEL or SYSTEM their decompression fails fatally and the OS does not boot.

    Thus if the system boots, some odd USB errors from the boot drive were not fatal and the OS (in its entirety) is running.

    The log shows USB device 1-3 being mounted as /dev/sda without any issues. This is the boot device.

    The log shows USB device 1-4 throwing usb 1-4: string descriptor 0 read error: -22 but this is not the boot device.

    The log also shows Xorg failing to start an i915 (Intel GPU) card due to lack of DRI2 or DRI3.

    I would do the following:

    • Run "systemctl stop kodi" to stop the Xorg boot loop.
    • Move /storage/.kodi to /storage/.kodi-old to sidestep possible add-on issues
    • Use "connmanctl" to connect to WiFi and the Internet if needed (looks to have a stored config so prob. not needed)
    • Download (wget) the latest nightly 'Generic' (not Generic-Legacy) image to /storage/.update
    • Reboot to update

    Switching to the Generic (GBM) image should sidestep the issue with Xorg and leave you with a working system?

  • Mesa 4.2 disabled DRI2 by default and Mesa 5.2 removed it completely. We had to force DRI3 for intel driver in LE13 development () and there seem to be no issues but your GPU is likely not supported.

    I'm interested in /var/log/Xorg.0.log for the error case (and we should include it to pastekodi). Please cp /var/log/Xorg.0.log ~ in error case and paste it when having network.

    You can try the "modesetting" driver:

    Code
    cp /etc/X11/xorg-i915.conf ~/.config
    nano ~/.config/xorg-i915.conf

    and change Driver "intel" to Driver "modesetting"

    Please test if the aspm parameter of post #23 does improve your wifi experience.

  • emveepee i965 is the vaapi driver. For intel iHD of "media-driver" package or i965 of "mesa" is used.

    The i915 driver mentioned is the intel graphics kernel driver name. LE "xorg-xonfigure" package use the kernel name to choose a X11 config file if required.

    Now to the confusion:

    The current intel mesa Gallium3D drivers since 21.1 are named i915 (!), crocus and iris. They are chosen according to the GPU, a paste /var/log/Xorg.0.log will show the one used.

    Old mesa legacy driver are named i915 (again) and i965 (but not the vaapi driver). They are still available in the mesa-amber branch, the i915 may be named i915g too.

    :-(((((

    Edit:

    PS: is the pci=noaer still required?