I’m having issues with the ti-linux-rt-5.4.y kernel. It stops booting after about 11 seconds when I have device(s) plugged into USB port(s). I can’t make sense of the log output (attached). Can you help me?
log.txt (44.8 KB)
I’m having issues with the ti-linux-rt-5.4.y kernel. It stops booting after about 11 seconds when I have device(s) plugged into USB port(s). I can’t make sense of the log output (attached). Can you help me?
log.txt (44.8 KB)
So, am335x with RT and USB… First I’d disable the RT patch-set and try again. There’s a reason we never shipped it enabled by default..
Regards,
I’ll give that a try. The ti-linux-rt-5.10.y branch works, but the CPU usage of my RT application has more than doubled compared to 4.4.70-bone-rt-r17, making it a non-viable product. The boot-up time has also doubled. I was hoping that stepping down to 5.4 would help. I’ve considered trying to step up to 6.x, but not sure how much has changed between 5.10 and 6.x.
Have the issues with RT been resolved in 6.x?
Don’t compare ti-linux-rt with bone-rt, ti-linux-rt is tuned for both (am335x and am57xx), bone-rt is tuned for only am335x…
At this point I’m mostly focusing my work on 6.12.x+ (and 6.6.x/6.1.x are getting occasion fixes)..
Regards,
I discovered that the ti-linux-rt-5.4 and ti-linux-5.4 boot fine with the am335x-bonegreen device tree. The problem appears to be with my custom device tree, which I created by starting with am335x-bonegreen.dts and added a second Ethernet interface, made both USB ports hosts, etc. I’ll have to go through my changes and find my mistake, then hope the RT performance is similar to 4.4 kernel.
I fixed my device tree and got ti-linux-rt-5.4 working, but it has the same RT performance as ti-linux-rt-5.10. I would like to try 6.12.x+, but I don’t see a git tag for 6.12.x-ti-rt-ry.
Is there support for real time patch in 6.12.x?
I stopped using TI’s branch for am335x devices. GitHub - RobertCNelson/bb-kernel
branches that’ll interest you:
am33x-rt-v6.1
am33x-rt-v6.6
am33x-rt-v6.12
Regards.
What are the rules for mixing kernels and file systems. Will the am33x-rt-v6.1 kernel work with Debian 11?
I’m trying to determine if I should step up the kernel first, then the file system, or try to do both at the same time.
P.S. I currently have a custom Debian 11 working with 5.4 and 5.10 that I built using your omap–image-builder.
The major limiter is always glibc, glibc 2.31 was shipped in Debian 11… Really anything newer then 3.2 is fine…
Regards,
I believe I successfully built the am33x-rt-v6.1 kernel. I’m not sure about my custom device tree, so I’m using the one for the pocketbeagle for now. Uboot says it’s starting the kernel and resets after 50 or so seconds. Here’s the following output from uboot:
switch to partitions #0, OK
mmc0 is current device
Checking for /boot/uEnv.txt on mmc0:3
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1…
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt …
reading uEnv.txt
603 bytes read in 5 ms (117.2 KiB/s)
gpio: pin 55 (gpio 55) value is 1
Loaded environment from uEnv.txt
Importing environment from mmc …
Checking if uenvcmd is set …
gpio: pin 56 (gpio 56) value is 1
Running uenvcmd …
Checking if client_ip is set …
Checking for: /boot.scr …
Checking for: /boot/boot.scr …
Checking for: /boot/uEnv.txt …
gpio: pin 55 (gpio 55) value is 1
2044 bytes read in 13 ms (153.3 KiB/s)
Loaded environment from /boot/uEnv.txt
debug: [dtb=am335x-pocketbeagle.dtb] …
Using: dtb=am335x-pocketbeagle.dtb …
Checking if uname_r is set in /boot/uEnv.txt…
gpio: pin 56 (gpio 56) value is 1
Running uname_boot …
stopping USB..
starting USB…
USB0: scanning bus 0 for devices… 1 USB Device(s) found
scanning usb for storage devices… 1 Storage Device(s) found
Checking for recovery.bbg on USB…
recovery.bbg not found
loading /boot/vmlinuz-6.1.157-bone-rt-r43 …
8462848 bytes read in 474 ms (17 MiB/s)
loading /boot/dtbs/6.1.157-bone-rt-r43/am335x-pocketbeagle.dtb …
68293 bytes read in 35 ms (1.9 MiB/s)
debug: [console=tty0 console=ttyS1,115200n8 console=ttyS1,115200n8 lcd_detect=0xfff7ff ipaddr= serverip= gatewayip= netmask=255.255.255.0 root=/dev/mmcblk0p3 ro rootfstype=ext4 rootwait fsck.mode=force fsck.repair=yes uio_pruss.extram_pool_sz=0x200000 net.ifnames=0] …
debug: [bootz 0x82000000 - 0x88000000] …
Kernel image @ 0x82000000 [ 0x000000 - 0x812200 ]Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 8ffec000, end 8ffffac4 … OKStarting kernel …
Any idea why it can’t start the kernel? My uboot is quite old (2016 era), not sure if that could be an issue, and I’m still using Debian 11. I didn’t completely understand your answer to my question about whether Debian 11 would work with am33x-rt-v6.1.
I’m now running the u-boot from the “Getting Started with Beaglebone Black” tutorial, but with the am33x-rt-v6.1 kernel running on a PocketBeagle.
U-Boot SPL 2022.04-00041-gc6f4cf7d (Nov 05 2025 - 07:27:37 -0600)
Trying to boot from MMC1U-Boot 2022.04-00041-gc6f4cf7d (Nov 05 2025 - 07:27:37 -0600)
CPU : AM335X-GP rev 2.1
Model: TI AM335x PocketBeagle
DRAM: 512 MiB
Reset Source: watchdog reset has occurred.
Reset Source: Power-on reset has occurred.
RTC 32KCLK Source: Internal.
Core: 146 devices, 12 uclasses, devicetree: separate
WDT: Started wdt@44e35000 with servicing (60s timeout)
MMC: OMAP SD/MMC: 0
Loading Environment from EXT4…
** Unable to use mmc 0:1 for loading the env **
Model: BeagleBoard.org PocketBeagle
not set. Validating first E-fuse MAC
Net: No ethernet found.
Press SPACE to abort autoboot in 0 seconds
board_name=[A335PBGL] …
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
Couldn’t find partition 0:2 0x82000000
Can’t set block device
Couldn’t find partition 0:2 0x82000000
Can’t set block device
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1…
Scanning disk mmc@48060000.blk…
Found 3 disks
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
gpio: pin 56 (gpio 56) value is 0
gpio: pin 55 (gpio 55) value is 0
gpio: pin 54 (gpio 54) value is 0
gpio: pin 53 (gpio 53) value is 1
switch to partitions #0, OK
mmc0 is current device
gpio: pin 54 (gpio 54) value is 1
Checking for: /uEnv.txt …
Checking for: /boot/uEnv.txt …
gpio: pin 55 (gpio 55) value is 1
28 bytes read in 3 ms (8.8 KiB/s)
Loaded environment from /boot/uEnv.txt
Checking if uname_r is set in /boot/uEnv.txt…
gpio: pin 56 (gpio 56) value is 1
Running uname_boot …
loading /boot/vmlinuz-6.1.157-bone-rt-r43 …
8462848 bytes read in 535 ms (15.1 MiB/s)
debug: [enable_uboot_overlays=] …
loading /boot/dtbs/6.1.157-bone-rt-r43/am335x-pocketbeagle.dtb …
68293 bytes read in 9 ms (7.2 MiB/s)
uboot_overlays: add [enable_uboot_overlays=1] to /boot/uEnv.txt to enable…
debug: [console=ttyS0,115200n8 root=/dev/mmcblk0p2 ro rootfstype=ext4 rootwait] …
debug: [bootz 0x82000000 - 88000000] …
Kernel image @ 0x82000000 [ 0x000000 - 0x812200 ]Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 8ffec000, end 8ffffac4 … OKStarting kernel …
Same result… can’t start the kernel and resets after several seconds. The tutorial says to use u-boot-dtb.img, but the MLO says it can’t find u-boot.img, so I’m using u-boot.img instead. I think I’ve stripped out all my custom stuff except for my custom Debian 11.
Any idea what to try next?
Now I have U-Boot 2022.04, kernel 6.1.157-bone-rt-r43, and Debian 13 on a PocketBeagle on it’s still not able to start the kernel. I’m following the steps in the “Getting Started with Beaglebone Black” tutorial, but I’ve swapped out the v5.x kernel with v6.1 and Debian 11 with Debian 13.
This combination should play well together since I see images on Latest Software Images - BeagleBoard with U-Boot 2022.04, kernel v6.x, and Debian 13.
Any idea what to try next?