This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SK-AM62P-LP: Issue Loading Linux Inmate using Jailhouse on AM62P with SDK 11.01.05.03

Part Number: SK-AM62P-LP
Other Parts Discussed in Thread: AM62P, AM62P5

Tool/software:

I am working on bringing up a Linux-Linux partitioned system using the Jailhouse Hypervisor on the AM62P platform, based on Processor SDK Linux 11.01.05.03.

The goal is to run a Linux inmate alongside the root Linux. I have followed the official TI Jailhouse documentation:
https://software-dl.ti.com/processor-sdk-linux/esd/AM62PX/11_01_05_03/exports/docs/linux/Foundational_Components/Hypervisor/Jailhouse.html

What I have done so far:
1. Downloaded the following image from TI:

tisdk-jailhouse-image-am62pxx-evm-11.01.05.03.rootfs.wic.xz

Flashed the image using: - sudo dd if=tisdk-jailhouse-image-am62pxx-evm-11.01.05.03.rootfs.wic of=/dev/sda bs=4M status=progress
On the board, I ran the following commands:

modprobe jailhouse
jailhouse enable /usr/share/jailhouse/cells/k3-am62p5-sk.cell
jailhouse cell create /usr/share/jailhouse/cells/k3-am62p5-sk-linux-demo.cell
jailhouse cell load k3-am62p5-sk-linux-demo /usr/libexec/jailhouse/linux-loader.bin -a 0x0 -s "kernel=0x9e0200000 dtb=0x9e0000000" -a 0x1000 /boot/Image -a 0x9e0200000 /boot/tisdk-jailhouse-inmate-am62pxx-evm.rootfs.cpio -a 0x9e2a5e000 /usr/share/jailhouse/inmate-k3-am62p5-sk.dtb -a 0x9e0000000
jailhouse cell start k3-am62p5-sk-linux-demo

After starting the inmate cell, I observe a kernel panic over /dev/ttyUSB1 with the following error:

[    0.000000] Booting Linux on physical CPU 0x0000000001 [0x410fd034]                                                   
[    0.000000] Linux version 6.12.35-ti-gb8c660f7f520 (oe-user@oe-host) (aarch64-oe-linux-gcc (GCC) 13.4.0, GNU ld (GNU Binutils) 2.42.0.20240723) #1 SMP PREEMPT Wed Jul  2 13:54:19 UTC 2025
[    0.000000] KASLR disabled due to lack of seed                                                                        
[    0.000000] Machine model: Texas Instruments AM62P5 Inmate Model                                                      
[    0.000000] efi: UEFI not found.
[    0.000000] OF: reserved mem: Reserved memory: No reserved-memory node in the DT
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x00000009e0000000-0x00000009fffeffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000009e0000000-0x00000009fffeffff]
[    0.000000] Initmem setup node 0 [mem 0x00000009e0000000-0x00000009fffeffff]
[    0.000000] On node 0, zone DMA: 16 pages in unavailable ranges
[    0.000000] cma: Reserved 32 MiB at 0x00000009e9a00000 on node -1
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.1
[    0.000000] percpu: Embedded 22 pages/cpu s51672 r8192 d30248 u90112
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: console=ttyS1,115200n8
[    0.000000] Dentry cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 131056
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 0MB
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: SWIOTLB bounce buffer size roundup to 1MB
[    0.000000] software IO TLB: mapped [mem 0x00000009ff4c0000-0x00000009ff5c0000] (1MB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=3, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=3.
[    0.000000]  Trampoline variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=3
[    0.000000] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=3.
[    0.000000] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=3.
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: 256 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: GICD_CTRL.DS=0, SCR_EL3.FIQ=0
[    0.000000] GICv3: CPU0: found redistributor 1 region 0:0x00000000018a0000
[    0.000000] ITS: No ITS available, not enabling LPIs
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 200.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0x3ffffffffffffff max_cycles: 0x2e2049d3e8, max_idle_ns: 440795210634 ns
[    0.000000] sched_clock: 58 bits at 200MHz, resolution 5ns, wraps every 4398046511102ns
[    0.000150] Console: colour dummy device 80x25
[    0.000191] Calibrating delay loop (skipped), value calculated using timer frequency.. 400.00 BogoMIPS (lpj=800000)
[    0.000201] pid_max: default: 32768 minimum: 301
[    0.000270] LSM: initializing lsm=capability,selinux
[    0.000320] SELinux:  Initializing.
[    0.000761] Mount-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.000770] Mountpoint-cache hash table entries: 1024 (order: 1, 8192 bytes, linear)
[    0.001628] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    0.002590] rcu: Hierarchical SRCU implementation.
[    0.002596] rcu:     Max phase no-delay instances is 1000.
[    0.002750] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[    0.002897] EFI services will not be available.
[    0.003042] smp: Bringing up secondary CPUs ...
[    0.003410] Detected VIPT I-cache on CPU1
[    0.003479] GICv3: CPU1: found redistributor 2 region 0:0x00000000018c0000
[    0.003539] CPU1: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.004147] Detected VIPT I-cache on CPU2
[    0.004206] GICv3: CPU2: found redistributor 3 region 0:0x00000000018e0000
[    0.004251] CPU2: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.004370] smp: Brought up 1 node, 3 CPUs
[    0.004376] SMP: Total of 3 processors activated.
[    0.004379] CPU: All CPU(s) started at EL1
[    0.004383] CPU features: detected: 32-bit EL0 Support
[    0.004387] CPU features: detected: CRC32 instructions
[    0.004426] alternatives: applying system-wide alternatives
[    0.004979] Memory: 345756K/524224K available (13056K kernel code, 1258K rwdata, 4680K rodata, 2752K init, 640K bss, 143792K reserved, 32768K cma-reserved)
[    0.005609] devtmpfs: initialized
[    0.007076] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.007095] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.007819] 27120 pages in range for non-PLT usage
[    0.007830] 518640 pages in range for PLT usage
[    0.008131] pinctrl core: initialized pinctrl subsystem
[    0.008636] DMI not present or invalid.
[    0.010868] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.011752] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.011978] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.012217] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.012278] audit: initializing netlink subsys (disabled)
[    0.012536] audit: type=2000 audit(0.012:1): state=initialized audit_enabled=0 res=1
[    0.012927] thermal_sys: Registered thermal governor 'step_wise'
[    0.012931] thermal_sys: Registered thermal governor 'power_allocator'
[    0.012978] cpuidle: using governor menu
[    0.013099] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.013176] ASID allocator initialised with 65536 entries
[    0.014197] /interconnect@f0000/interrupt-controller@1800000: Fixed dependency cycle(s) with /interconnect@f0000/interrupt-controller@1800000
[    0.015326] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.015333] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.015338] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.015340] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.015344] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.015347] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.015350] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.015353] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.016909] iommu: Default domain type: Translated
[    0.016917] iommu: DMA domain TLB invalidation policy: strict mode
[    0.017217] SCSI subsystem initialized
[    0.017520] usbcore: registered new interface driver usbfs
[    0.017547] usbcore: registered new interface driver hub
[    0.017574] usbcore: registered new device driver usb
[    0.017722] pps_core: LinuxPPS API ver. 1 registered
[    0.017726] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.017737] PTP clock support registered
[    0.017766] EDAC MC: Ver: 3.0.0
[    0.018032] scmi_core: SCMI protocol bus registered
[    0.018281] FPGA manager framework
[    0.018355] Advanced Linux Sound Architecture Driver Initialized.
[    0.019176] vgaarb: loaded
[    0.019464] clocksource: Switched to clocksource arch_sys_counter
[    0.019691] VFS: Disk quotas dquot_6.6.0
[    0.019709] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.026376] NET: Registered PF_INET protocol family
[    0.026495] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.027161] tcp_listen_portaddr_hash hash table entries: 256 (order: 0, 4096 bytes, linear)
[    0.027178] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.027190] TCP established hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.027253] TCP bind hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    0.027353] TCP: Hash tables configured (established 4096 bind 4096)
[    0.027433] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.027485] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.027599] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.027996] RPC: Registered named UNIX socket transport module.
[    0.028002] RPC: Registered udp transport module.
[    0.028005] RPC: Registered tcp transport module.
[    0.028007] RPC: Registered tcp-with-tls transport module.
[    0.028009] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.028017] NET: Registered PF_XDP protocol family
[    0.028034] PCI: CLS 0 bytes, default 64
[    0.028361] Unpacking initramfs...
[    0.028369] Initramfs unpacking failed: invalid magic at start of compressed archive
[    0.032718] Initialise system trusted keyrings
[    0.033093] workingset: timestamp_bits=46 max_order=17 bucket_order=0
[    0.033504] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.033885] NFS: Registering the id_resolver key type
[    0.033921] Key type id_resolver registered
[    0.033924] Key type id_legacy registered
[    0.033942] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    0.033948] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    0.061936] Freeing initrd memory: 109888K
[    0.081987] Key type asymmetric registered
[    0.081994] Asymmetric key parser 'x509' registered
[    0.082118] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[    0.082366] io scheduler mq-deadline registered
[    0.082371] io scheduler kyber registered
[    0.082406] io scheduler bfq registered
[    0.083341] ledtrig-cpu: registered to indicate activity on CPUs
[    0.083727] pci-host-generic 76000000.pci: host bridge /interconnect@f0000/pci@76000000 ranges:
[    0.083759] pci-host-generic 76000000.pci:      MEM 0x0010000000..0x001001ffff -> 0x0010000000
[    0.083825] pci-host-generic 76000000.pci: ECAM at [mem 0x76000000-0x760fffff] for [bus 00]
[    0.083945] pci-host-generic 76000000.pci: PCI host bridge to bus 0000:00
[    0.083953] pci_bus 0000:00: root bus resource [bus 00]
[    0.083958] pci_bus 0000:00: root bus resource [mem 0x10000000-0x1001ffff]
[    0.083997] pci 0000:00:00.0: [110a:4106] type 00 class 0xff0000 conventional PCI endpoint
[    0.084021] pci 0000:00:00.0: BAR 0 [mem 0x00000000-0x00000fff]
[    0.084219] pci 0000:00:01.0: [110a:4106] type 00 class 0xff0001 conventional PCI endpoint
[    0.084238] pci 0000:00:01.0: BAR 0 [mem 0x00000000-0x00000fff]
[    0.084645] pci 0000:00:00.0: BAR 0 [mem 0x10000000-0x10000fff]: assigned
[    0.084656] pci 0000:00:01.0: BAR 0 [mem 0x10001000-0x10001fff]: assigned
[    0.084666] pci_bus 0000:00: resource 4 [mem 0x10000000-0x1001ffff]
[    0.088352] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.095030] loop: module loaded
[    0.095729] megasas: 07.727.03.00-rc1
[    0.098359] tun: Universal TUN/TAP device driver, 1.6
[    0.098828] ivshmem-net 0000:00:01.0: enabling device (0000 -> 0002)
[    0.098919] ivshmem-net 0000:00:01.0: TX memory at 0x00000009dfb80000, size 0x000000000007f000
[    0.098926] ivshmem-net 0000:00:01.0: RX memory at 0x00000009dfb01000, size 0x000000000007f000
[    0.099738] uio_ivshmem 0000:00:00.0: enabling device (0000 -> 0002)
[    0.099795] uio_ivshmem 0000:00:00.0: state_table at 0x00000009dfa00000, size 0x0000000000010000
[    0.099806] uio_ivshmem 0000:00:00.0: rw_section at 0x00000009dfa10000, size 0x0000000000010000
[    0.099815] uio_ivshmem 0000:00:00.0: input_sections at 0x00000009dfa20000, size 0x0000000000030000
[    0.099822] uio_ivshmem 0000:00:00.0: output_section at 0x00000009dfa40000, size 0x0000000000010000
[    0.100789] VFIO - User Level meta-driver version: 0.3
[    0.101403] usbcore: registered new interface driver usb-storage
[    0.101803] i2c_dev: i2c /dev entries driver
[    0.102309] cpu cpu0: OPP-v2 not supported, cpufreq-dt will attempt to use legacy tables.
[    0.102502] cpu cpu0: OPP table can't be empty
[    0.102807] sdhci: Secure Digital Host Controller Interface driver
[    0.102810] sdhci: Copyright(c) Pierre Ossman
[    0.102864] sdhci-pltfm: SDHCI platform and OF driver helper
[    0.103751] usbcore: registered new interface driver usbhid
[    0.103756] usbhid: USB HID core driver
[    0.104733] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 (0,8000003f) counters available                  
[    0.105637] Initializing XFRM netlink socket                                                                       
[    0.105663] NET: Registered PF_PACKET protocol family                                                              
[    0.105730] Key type dns_resolver registered                                                                       
[    0.113534] registered taskstats version 1
[    0.113753] Loading compiled-in X.509 certificates
[    0.122139] ti-sci 44043000.system-controller: ABI: 4.0 (firmware rev 0x000b '11.1.2--v11.01.02 (Fancy Rat)')
[    0.123542] printk: legacy console [ttyS1] disabled
[    0.123828] 2810000.serial: ttyS1 at MMIO 0x2810000 (irq = 17, base_baud = 3000000) is a 8250
[    0.123897] printk: legacy console [ttyS1] enabled
[    1.360472] clk: Disabling unused clocks
[    1.364425] PM: genpd: Disabling unused power domains
[    1.369581] ALSA device list:
[    1.372635]   No soundcards found.
[    1.376867] /dev/root: Can't open blockdev
[    1.381013] VFS: Cannot open root device "" or unknown-block(0,0): error -6
[    1.387969] Please append a correct "root=" boot option; here are the available partitions:
[    1.396322] List of all bdev filesystems:
[    1.400325]  ext3
[    1.400328]  ext2
[    1.402244]  ext4
[    1.404170]  squashfs
[    1.406086]  vfat
[    1.408354] 
[    1.411757] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    1.420004] CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.12.35-ti-gb8c660f7f520 #1
[    1.428079] Hardware name: Texas Instruments AM62P5 Inmate Model (DT)
[    1.434502] Call trace:
[    1.436938]  dump_backtrace+0x90/0xe8
[    1.440601]  show_stack+0x18/0x24
[    1.443910]  dump_stack_lvl+0x34/0x8c
[    1.447567]  dump_stack+0x18/0x24
[    1.450875]  panic+0x390/0x3a4
[    1.453924]  mount_root_generic+0x274/0x354
[    1.458098]  mount_root+0x170/0x334
[    1.461576]  prepare_namespace+0x6c/0x2a4
[    1.465575]  kernel_init_freeable+0x250/0x290
[    1.469925]  kernel_init+0x20/0x1d4
[    1.473404]  ret_from_fork+0x10/0x20
[    1.476972] SMP: stopping secondary CPUs
[    1.480891] Kernel Offset: disabled
[    1.484366] CPU features: 0x00,00000080,00200000,4200420b
[    1.489751] Memory Limit: none
[    1.492796] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) ]---

Please let me know how to proceed or if any debug steps are recommended.
Thanks in advance