The L4Re version I am using is r-2025-W48.
Initially, I attempted to boot using the initramfs-based method. In this
approach, I converted the uImage into a raw bin image, because loading the
uImage directly resulted in a Bad kernel image error, likely due to the
default uImage header handling. After flashing the converted binary to the
SD card, the system booted but consistently got stuck during early boot.
Even when different load addresses are specified in U-Boot, the kernel is
always relocated to a fixed address (0x90080000). This address overlaps
with a reserved memory region (e.g., vpu_boot@a0000000), leading to a
region overlap error and reboot. I'm attracting the log (Initramfs.txt).
After this, I switched to the SD card hardware passthrough method.
Following the i.MX documentation, I prepared the SD card as follows:
Partition 1: FAT partition containing bootstrap.uimage and the i.MX95
device tree
Partition 2: Root filesystem
As suggested, I updated the configuration (.cfg) file by following the
tutorial, and this resolved the console misconfiguration issue.
The system now boots correctly, and I am able to see the console output.
For reference, I am attaching the boot logs(Boot_partition_2.txt)
Although the system boots successfully, the SD card root partition is not
being detected or mounted.
While following the documented steps to enable SD card access, the boot
process ends with a “no device found” error for the SD card.
After further debugging, I noticed that for i.MX95, there is
nohw_devices.iofile
available in the following repository:
[https://github.com/kernkonzept/io/tree/master/io/configs]
Because of this, it is unclear how the SD/MMC hardware should be described
for i.MX95, and the block device does not appear during boot.
For reference, I am attaching the boot logs(Boot_partition_3.txt)
Is there an official hw_devices.io configuration available for i.MX95? or
without the hw_device.io also we can mount the sd card?
Any guidance or example configuration would be very helpful for mounting
the rootfs.
u-boot=> setenv fdt_high 0xffffffffffffffff
u-boot=> fatload mmc 1:1 0x90000000 bootstrap.bin
422484208 bytes read in 4410 ms (91.4 MiB/s)
u-boot=> fatload mmc 1:1 0xB0000000 imx95-19x19-verdin.dtb
97421 bytes read in 4 ms (23.2 MiB/s)
u-boot=> booti 0x90000000 - 0xB0000000
Image lacks image_size field, assuming 16MiB
Moving Image from 0x90000000 to 0x90080000, end=91080000
## Flattened Device Tree blob at b0000000
Booting using the fdt blob at 0xb0000000
Working FDT set to b0000000
Using Device Tree in place at 00000000b0000000, end 00000000b001ac8c
Working FDT set to b0000000
Starting kernel ...
L4 Bootstrapper
Compiled with: GCC (12.2.1 20221205)
Bootstrap build info: 2026-01-13 09:06:14 IST+0530
L4Image creation info: 2026-01-13 21:02:22 IST+0530
L4Image sequence info: #90
RAM: 0000000090000000 - 00000000ffffffff: 1.7 GiB
RAM: 0000000100000000 - 000000047fffffff: 14.0 GiB
Total RAM: 15.7 GiB
New region for list regions: [ 9255a000, a9368f0a] { 366.0 MiB} Boot
Module
overlaps with: [ a0000000, a00fffff] {1024.0 KiB} Arch
vpu_boot@a0000000
Regions of list 'regions'
[ 88000000, 88007fff] { 32.0 KiB} Arch vdev0vring0@88000000
[ 88008000, 8800ffff] { 32.0 KiB} Arch vdev0vring1@88008000
[ 88010000, 88017fff] { 32.0 KiB} Arch vdev1vring0@88010000
[ 88018000, 8801ffff] { 32.0 KiB} Arch vdev1vring1@88018000
[ 88020000, 8811ffff] {1024.0 KiB} Arch vdevbuffer@88020000
[ 88220000, 88220fff] { 4.0 KiB} Arch rsc-table@88220000
[ 8c000000, 8dbfffff] { 28.0 MiB} Arch optee_core@8c000000
[ 8dc00000, 8dffffff] { 4.0 MiB} Arch optee_shm@8dc00000
[ 90080000, 9009610f] { 88.2 KiB} Boot bootstrap
[ 90098200, 90098969] { 1.8 KiB} Boot modinfo
[ 90099000, 9016b4c7] { 841.1 KiB} Boot Module
[ 9016c000, 90172a77] { 26.6 KiB} Boot Module
[ 90173000, 901aae07] { 223.5 KiB} Boot Module
[ 901ab000, 901d346f] { 161.1 KiB} Boot Module
[ 901d4000, 9026da0f] { 614.5 KiB} Boot Module
[ 9026e000, 903a036f] { 1.1 MiB} Boot Module
[ 903a1000, 903a1313] { 0.7 KiB} Boot Module
[ 903a2000, 925599ff] { 33.7 MiB} Boot Module
[ a0000000, a00fffff] {1024.0 KiB} Arch vpu_boot@a0000000
[ b0000000, b0017fff] { 96.0 KiB} Root dtb
region overlap
Key press reboots...
#########Module List
modaddr 0x01100000
default-kernel fiasco -serial_esc
default-bootstrap bootstrap
entry imx95-yocto
roottask moe rom/imx95-yocto.cfg
module l4re
module ned
module uvmm
module imx95-yocto.cfg
module[fname=linux]
/home/admin1/Downloads/images/imx95-19x19-verdin/linux-kernel.bin
module[fname=ramdisk.cpio.gz]
/home/admin1/Downloads/images/imx95-19x19-verdin/yocto-ramdisk.cpio.gz
module[fname=guest.dtb] dtb/virt-arm_virt-64.dtb
######cfg file
-- vim:set ft=lua:
local L4 = require("L4");
local l = L4.default_loader;
-- Memory allocation logic from official example
local flags = L4.Mem_alloc_flags.Continuous
| L4.Mem_alloc_flags.Pinned
| L4.Mem_alloc_flags.Super_pages;
local align = 21; -- 2MB alignment for AArch64 superpages
l:startv({
caps = {
-- Allocate 256MB with the special flags
ram = L4.Env.user_factory:create(L4.Proto.Dataspace, 256 * 1024 * 1024,
flags, align):m("rw"),
},
log = L4.Env.log,
},
"rom/uvmm",
"-v",
"-i", -- Keyboard Input Fix
"-krom/linux", -- Matches fname in .list
"-rrom/ramdisk.cpio.gz",
"-drom/guest.dtb", -- Matches fname in .list
"-cconsole=ttyAMA0,115200 console=ttyAMA0 rw rdinit=/sbin/init"
);
u-boot=> fatload mmc 1:1 0x90000000 bootstrap.uimage
42293824 bytes read in 441 ms (91.5 MiB/s)
u-boot=> fatload mmc 1:1 0x94000000 imx95-19x19-verdin.dtb
97421 bytes read in 2 ms (46.5 MiB/s)
u-boot=> bootm 0x90000000 - 0x94000000
## Booting kernel from Legacy Image at 90000000 ...
Image Name: L4Re Image @ Tue Jan 13 09:06:1
Created: 2026-01-13 3:36:16 UTC
Image Type: AArch64 Linux Kernel Image (uncompressed)
Data Size: 42293760 Bytes = 40.3 MiB
Load Address: 91200000
Entry Point: 91200000
Verifying Checksum ... OK
## Flattened Device Tree blob at 94000000
Booting using the fdt blob at 0x94000000
Working FDT set to 94000000
Loading Kernel Image to 91200000
Using Device Tree in place at 0000000094000000, end 000000009401ac8c
Working FDT set to 94000000
Starting kernel ...
L4 Bootstrapper
Compiled with: GCC (12.2.1 20221205)
Bootstrap build info: 2026-01-13 09:06:14 IST+0530
L4Image creation info: 2026-01-14 17:10:17 IST+0530
L4Image sequence info: #108
RAM: 0000000090000000 - 00000000ffffffff: 1.7 GiB
RAM: 0000000100000000 - 000000047fffffff: 14.0 GiB
Total RAM: 15.7 GiB
Scanning fiasco -serial_esc
Scanning sigma0
Scanning moe rom/yocto-vm.cfg
Moving up to 13 modules behind 91300000
Using 'modaddr 0x1000000' in modules.list might prevent moving modules.
moving module 12 { 9189e000-93a559ff } -> { 91985000-93b3c9ff } [33.7 MiB]
moving module 11 { 9189d000-9189d8ef } -> { 91984000-919848ef } [2.2 KiB]
moving module 10 { 9189c000-9189c080 } -> { 91983000-91983080 } [0.1 KiB]
moving module 09 { 9189b000-9189b6c0 } -> { 91982000-919826c0 } [1.6 KiB]
moving module 08 { 91768000-9189a36f } -> { 9184f000-9198136f } [1.1 MiB]
moving module 07 { 916db000-91767f77 } -> { 917c2000-9184ef77 } [563.8 KiB]
moving module 06 { 91438000-916da7d7 } -> { 9151f000-917c17d7 } [2.6 MiB]
moving module 05 { 913ee000-9143795f } -> { 914d5000-9151e95f } [294.3 KiB]
moving module 04 { 91354000-913eda0f } -> { 9143b000-914d4a0f } [614.5 KiB]
moving module 03 { 9132b000-9135346f } -> { 91412000-9143a46f } [161.1 KiB]
moving module 02 { 912f3000-9132ae07 } -> { 913da000-91411e07 } [223.5 KiB]
moving module 01 { 912ec000-912f2a77 } -> { 913d3000-913d9a77 } [26.6 KiB]
moving module 00 { 91219000-912eb4c7 } -> { 91300000-913d24c7 } [841.1 KiB]
Loading fiasco
found node 0 kernel info page (via ELF) at 0x90204000
Loading sigma0 (offset +0x90000000)
Loading moe (offset +0x9000b000)
found node 0 kernel options (via ELF) at 0x90205000
Sigma0 config node: 0 ip:00000000900007e4
Roottask config node: 0 ip:00000000900114a4
Regions of list 'regions'
[ 88000000, 88007fff] { 32.0 KiB} Arch vdev0vring0@88000000
[ 88008000, 8800ffff] { 32.0 KiB} Arch vdev0vring1@88008000
[ 88010000, 88017fff] { 32.0 KiB} Arch vdev1vring0@88010000
[ 88018000, 8801ffff] { 32.0 KiB} Arch vdev1vring1@88018000
[ 88020000, 8811ffff] {1024.0 KiB} Arch vdevbuffer@88020000
[ 88220000, 88220fff] { 4.0 KiB} Arch rsc-table@88220000
[ 8c000000, 8dbfffff] { 28.0 MiB} Arch optee_core@8c000000
[ 8dc00000, 8dffffff] { 4.0 MiB} Arch optee_shm@8dc00000
[ 90000000, 9000a47f] { 41.1 KiB} Sigma0 sigma0
[ 9000b000, 90049217] { 248.5 KiB} Root moe
[ 90201000, 90206847] { 22.0 KiB} Kern fiasco
[ 90400000, 9061dfff] { 2.1 MiB} Kern fiasco
[ 91412000, 93b3c9ff] { 39.1 MiB} Root Module
[ 93b3d000, 93b3dfff] { 4.0 KiB} Root mbi_rt
[ 94000000, 94017fff] { 96.0 KiB} Root dtb
[ a0000000, a00fffff] {1024.0 KiB} Arch vpu_boot@a0000000
Starting kernel fiasco at 902010c0
Welcome to the L4Re Microkernel!
L4Re Microkernel on arm-64
Rev: 3680e19d compiled with gcc 12.2.1 20221205 for i.MX95
Build: #1 Thu Dec 4 14:28:53 IST 2025
Hello from Startup::stage2
Reserved 968 MiB as kernel memory.
GIC: Number of IRQs available at this GIC: 416
Detecting PSCI ...
Detected PSCI v1.1
PSCI: CPU_SUSPEND format original v0.2, does not support OS-initiated mode
PSCI: TOS: Not present or not required.
FPU: Initialize
ARM generic timer: freq=24000000 interval=24000 cnt=677661392
IOMMU: Initialize
IOMMU: IDR0 s2p=1 s1p=1 ttf=3 cohacc=0 btm=0 asid16=1 msi=1 sev=0 vmid16=1
stall_model=0 st_level=1
IOMMU: IDR1 sidsize=32 ssidsize=20 eventqs=19 cmdqs=19 ecmdq=0
IOMMU: IDR5 oas=1 gran4k=1 vax=1
KERNEL: Warning: IOMMU: Stream table covers only 24 of stream ID's 32 bits.
IOMMU: 65536 ASIDs available.
SERIAL ESC: allocated IRQ 51 for serial UART
Cache config: ON
CPU0: ID_PFR[01]: 11112222 00000010 ID_[DA]FR0: 10305408 00000000
ID_MMFR[04]: 00101122 10212122 00001011 00000000
CPU1 booted (same IDs as CPU0).
CPU3 booted (same IDs as CPU0).
CPU4 booted (same IDs as CPU0).
Calibrating timer loop...
CPU5 booted (same IDs as CPU0).
Timer calibration done.
CPU2 booted (same IDs as CPU0).
MDB: use page size: 30
MDB: use page size: 21
MDB: use page size: 12
SIGMA0: Hello!
KIP @ 90204000
allocated 4 KiB for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[4:RWX:9000b000;90049fff]
[0:RWX:9004a000;90200fff]
[0:RWX:90207000;903fffff]
[0:RWX:9061e000;91411fff]
[4:RWX:91412000;93b3dfff]
[0:RWX:93b3e000;93ffffff]
[4:---:94000000;94017fff]
[0:RWX:94018000;9fffffff]
[0:RWX:a0100000;4437fffff]
IOMEM:----------------------
[0:RW-:0;8fffffff]
[0:RW-:a0000000;a00fffff]
[0:RW-:480000000;ffffffffffffffff]
MOE: Hello world
MOE: found 14.7 GiB RAM in the area 9004a000..443800000
MOE: allocated 14.8 MiB for the page array @0x94018000
MOE: virtual user address space [0-ffffffffff]
MOE: cmdline: moe rom/yocto-vm.cfg
MOE: rom name space cap -> [C:103000]
MOE: rwfs name space cap -> [C:105000]
ROMFS: [91412000-9143a470] [C:107000] l4re
ROMFS: [9143b000-914d4a10] [C:109000] ned
ROMFS: [914d5000-9151e960] [C:10b000] cons
ROMFS: [9151f000-917c17d8] [C:10d000] io
ROMFS: [917c2000-9184ef78] [C:10f000] emmc-drv
ROMFS: [9184f000-91981370] [C:111000] uvmm
ROMFS: [91982000-919826c1] [C:113000] yocto-vm.cfg
ROMFS: [91983000-91983081] [C:115000] io.cfg
ROMFS: [91984000-919848f0] [C:117000] virt.dtb
ROMFS: [91985000-93b3ca00] [C:119000] linux.bin
ROMFS: [94000000-94018000] [C:11b000] .fdt
MOE: Starting: rom/ned rom/yocto-vm.cfg
MOE: loading 'rom/ned'
Ned says: Hi World!
Ned: loading file: 'rom/yocto-vm.cfg'
Console Server
cons>
Created vcon channel: io [420010]
cons>
Created vcon channel: emmc-drv [421010]
cons>
io | Io service
io | KIP doesn't provide ACPI RSDP address
io | Ready. Waiting for requests.
Created vcon channel: yocto-vm-1 [422010]
cons>
yocto-vm| VMM: Created VCPU 0 @ 16000
yocto-vm| VMM[GIC]: create ARM GICv3
yocto-vm| VMM[vmbus]: 'vbus' capability not found. Hardware access not possible
for VM.
yocto-vm| VMM[main]: Hello out there.
yocto-vm| VMM[ASM]: Sys Info:
yocto-vm| vBus: 0
yocto-vm| DMA devs: 0
yocto-vm| IO-MMU: 0
yocto-vm| Identity forced: 0
yocto-vm| DMA phys addr: 0
yocto-vm| DT dma-ranges: 0
yocto-vm| VMM[ASM]: Operating mode: No DMA
yocto-vm| VMM[ram]: RAM not set up for DMA.
yocto-vm| VMM[ram]: RAM: @ 0x8000000 size=0x40000000 (1024.0 MiB)
yocto-vm| VMM[ram]: RAM: VMM local mapping @ 0x1000000
yocto-vm| VMM[ram]: RAM: VM offset=0xfffffffff9000000
yocto-vm| VMM[main]: Loading kernel...
yocto-vm| VMM[file]: load: @ 0x8000000
yocto-vm| VMM[file]: copy in: to offset 0x0-0x21b79ff
yocto-vm| VMM[loader]: Linux kernel detected
yocto-vm| VMM: Create virtual pl011 console
yocto-vm| VMM[guest]: New mmio mapping: @ 50000 400000
yocto-vm| VMM[guest]: New mmio mapping: @ 40000 10000
yocto-vm| VMM[guest]: New mmio mapping: @ 12000 1000
yocto-vm| VMM: [email protected],virtiocap: capability net is invalid.
yocto-vm| VMM[vm]: Device creation for virtual device virtio_net@4000 failed.
Disabling device.
yocto-vm| VMM[Timer]: Guest timer frequency is 24000000
yocto-vm| using (1/24), (22369621/29) to calculate timeouts
yocto-vm| VMM[psci]: Register PSCI device: hvc mode
yocto-vm| VMM: Created VCPU 1 @ 29000
yocto-vm| VMM: Created VCPU 2 @ 2a000
yocto-vm| VMM: Created VCPU 3 @ 2b000
yocto-vm| VMM[ioproxy]: No corresponding IO resource for
'virtio_uart@3000'.reg[0] (0x13000-0x130ff).
yocto-vm| VMM[vm]: Device creation for virtio_uart@3000 failed. Disabling
device.
yocto-vm| VMM[ram]: Cleaning caches for device tree [40fff000-40fff94c]
([47fff000])
yocto-vm| VMM[vmmap]: VM map:
yocto-vm| VMM[vmmap]: [ 12000: 12fff]: Pl011_mmio
yocto-vm| VMM[vmmap]: [ 40000: 4ffff]: Dist_v3
yocto-vm| VMM[vmmap]: [ 50000: 44ffff]: Redist
yocto-vm| VMM[vmmap]: [ 8000000:47ffffff]: Ram
yocto-vm| VMM[main]: Populating guest physical address space
yocto-vm| VMM[mmio]: Mapping [1000000 - 40ffffff] -> [8000000 - 47ffffff]
(1024.0 MiB)
yocto-vm| VMM: reschedule(): Initiating cpu startup for cap 0x1e000/core 0
yocto-vm| VMM[guest]: Powered up cpu0 [0x278f0]
yocto-vm| VMM: Hello clock source for vCPU 0
yocto-vm| VMM[guest]: Powered up cpu1 [0x27d40]
yocto-vm| VMM: Hello clock source for vCPU 1
yocto-vm| VMM[guest]: Powered up cpu2 [0x28000]
yocto-vm| VMM: Hello clock source for vCPU 2
yocto-vm| VMM[guest]: Powered up cpu3 [0x282c0]
yocto-vm| VMM: Hello clock source for vCPU 3
yocto-vm| VMM: Starting Cpu0 @ 0x8000000 in 64Bit mode (handler @ 4a7520,
stack: 801ffb80, task: 41e000, mpidr: 80000000 (orig: 80000000)
yocto-vm| VMM: Initiating cpu startup @ 0x9c2d36c
yocto-vm| VMM: reschedule(): Initiating cpu startup for cap 0x42c000/core 1
yocto-vm| VMM: Starting Cpu1 @ 0x9c2d36c in 64Bit mode (handler @ 4a7520,
stack: 73af30, task: 41e000, mpidr: 80000001 (orig: 80000000)
yocto-vm| VMM: Initiating cpu startup @ 0x9c2d36c
yocto-vm| VMM: reschedule(): Initiating cpu startup for cap 0x438000/core 2
yocto-vm| VMM: Starting Cpu2 @ 0x9c2d36c in 64Bit mode (handler @ 4a7520,
stack: b38f30, task: 41e000, mpidr: 80000002 (orig: 80000000)
yocto-vm| VMM: Initiating cpu startup @ 0x9c2d36c
yocto-vm| VMM: reschedule(): Initiating cpu startup for cap 0x444000/core 3
yocto-vm| VMM: Starting Cpu3 @ 0x9c2d36c in 64Bit mode (handler @ 4a7520,
stack: f36f30, task: 41e000, mpidr: 80000003 (orig: 80000000)
yocto-vm| VMM: ffff800080014a20: msr OSDLR_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff800080014a24: msr OSLAR_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff800080014a20: msr OSDLR_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff800080014a24: msr OSLAR_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff800080014a20: msr OSDLR_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff800080014a24: msr OSLAR_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff800080014a20: msr OSDLR_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff800080014a24: msr OSLAR_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c8a8: msr DBGBCR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c928: msr DBGBVR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c7a8: msr DBGWCR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c828: msr DBGWVR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c8a8: msr DBGBCR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c928: msr DBGBVR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c7a8: msr DBGWCR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c828: msr DBGWVR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c8a8: msr DBGBCR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c928: msr DBGBVR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c7a8: msr DBGWCR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c828: msr DBGWVR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c8a8: msr DBGBCR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c928: msr DBGBVR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c7a8: msr DBGWCR0_EL1 = 00000000 (ignored)
yocto-vm| VMM: ffff80008002c828: msr DBGWVR0_EL1 = 00000000 (ignored)
yocto-vm| [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x412fd050]
yocto-vm| [ 0.000000] Linux version 6.6.23-lts-next-gb586a521770e
(oe-user@oe-host) (aarch64-poky-linux-gcc (GCC) 13.2.0, GNU ld (GNU Binutils)
2.42.0.20240216) #1 SMP PREEMPT Fri Jun 7 13:15:57 UTC4
yocto-vm| [ 0.000000] KASLR disabled due to lack of seed
yocto-vm| [ 0.000000] Machine model: L4 VM
yocto-vm| [ 0.000000] efi: UEFI not found.
yocto-vm| [ 0.000000] NUMA: No NUMA configuration found
yocto-vm| [ 0.000000] NUMA: Faking a node at [mem
0x0000000008000000-0x0000000047ffffff]
yocto-vm| [ 0.000000] NUMA: NODE_DATA [mem 0x47df76c0-0x47df9fff]
yocto-vm| [ 0.000000] Zone ranges:
yocto-vm| [ 0.000000] DMA [mem 0x0000000008000000-0x0000000047ffffff]
yocto-vm| [ 0.000000] DMA32 empty
yocto-vm| [ 0.000000] Normal empty
yocto-vm| [ 0.000000] Movable zone start for each node
yocto-vm| [ 0.000000] Early memory node ranges
yocto-vm| [ 0.000000] node 0: [mem 0x0000000008000000-0x0000000047ffffff]
yocto-vm| [ 0.000000] Initmem setup node 0 [mem
0x0000000008000000-0x0000000047ffffff]
yocto-vm| [ 0.000000] cma: Reserved 32 MiB at 0x0000000044c00000 on node -1
yocto-vm| [ 0.000000] psci: probing for conduit method from DT.
yocto-vm| [ 0.000000] psci: PSCIv1.0 detected in firmware.
yocto-vm| [ 0.000000] psci: Using standard PSCI v0.2 function IDs
yocto-vm| [ 0.000000] psci: Trusted OS migration not required
yocto-vm| [ 0.000000] psci: SMC Calling Convention v1.0
yocto-vm| [ 0.000000] percpu: Embedded 22 pages/cpu s50536 r8192 d31384
u90112
yocto-vm| [ 0.000000] Detected VIPT I-cache on CPU0
yocto-vm| [ 0.000000] CPU features: detected: GIC system register CPU
interface
yocto-vm| [ 0.000000] CPU features: detected: Qualcomm erratum 1009, or ARM
erratum 1286807, 2441009
yocto-vm| [ 0.000000] CPU features: detected: ARM errata 1165522, 1319367,
or 1530923
yocto-vm| [ 0.000000] alternatives: applying boot alternatives
yocto-vm| [ 0.000000] Kernel command line: console=ttyAMA0 root=/dev/vda rw
rootwait
yocto-vm| [ 0.000000] Dentry cache hash table entries: 131072 (order: 8,
1048576 bytes, linear)
yocto-vm| [ 0.000000] Inode-cache hash table entries: 65536 (order: 7,
524288 bytes, linear)
yocto-vm| [ 0.000000] Fallback order for Node 0: 0
yocto-vm| [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages:
258048
yocto-vm| [ 0.000000] Policy zone: DMA
yocto-vm| [ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap
free:off
yocto-vm| [ 0.000000] software IO TLB: area num 4.
yocto-vm| [ 0.000000] software IO TLB: mapped [mem
0x0000000040c00000-0x0000000044c00000] (64MB)
yocto-vm| [ 0.000000] Memory: 893952K/1048576K available (20992K kernel
code, 1630K rwdata, 7756K rodata, 3968K init, 643K bss, 121856K reserved,
32768K cma-reserved)
yocto-vm| [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4,
Nodes=1
yocto-vm| [ 0.000000] rcu: Preemptible hierarchical RCU implementation.
yocto-vm| [ 0.000000] rcu: RCU event tracing is enabled.
yocto-vm| [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to
nr_cpu_ids=4.
yocto-vm| [ 0.000000] Trampoline variant of Tasks RCU enabled.
yocto-vm| [ 0.000000] Tracing variant of Tasks RCU enabled.
yocto-vm| [ 0.000000] rcu: RCU calculated value of scheduler-enlistment
delay is 25 jiffies.
yocto-vm| [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16,
nr_cpu_ids=4
yocto-vm| [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
yocto-vm| [ 0.000000] GICv3: 988 SPIs implemented
yocto-vm| [ 0.000000] GICv3: 0 Extended SPIs implemented
yocto-vm| [ 0.000000] Root IRQ handler: gic_handle_irq
yocto-vm| [ 0.000000] GICv3: GICv3 features: 16 PPIs
yocto-vm| [ 0.000000] GICv3: CPU0: found redistributor 0 region
0:0x0000000000050000
yocto-vm| [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on
contention.
yocto-vm| [ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt).
yocto-vm| [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff
max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
yocto-vm| [ 0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps
every 4398046511097ns
yocto-vm| [ 0.000137] Console: colour dummy device 80x25
yocto-vm| [ 0.000186] Calibrating delay loop (skipped), value calculated
using timer frequency.. 48.00 BogoMIPS (lpj=96000)
yocto-vm| [ 0.000193] pid_max: default: 32768 minimum: 301
yocto-vm| [ 0.000238] LSM: initializing lsm=capability,integrity
yocto-vm| [ 0.000314] Mount-cache hash table entries: 2048 (order: 2, 16384
bytes, linear)
yocto-vm| [ 0.000322] Mountpoint-cache hash table entries: 2048 (order: 2,
16384 bytes, linear)
yocto-vm| [ 0.000945] cacheinfo: Unable to detect cache hierarchy for CPU 0
yocto-vm| [ 0.001566] RCU Tasks: Setting shift to 2 and lim to 1
rcu_task_cb_adjust=1.
yocto-vm| [ 0.001634] RCU Tasks Trace: Setting shift to 2 and lim to 1
rcu_task_cb_adjust=1.
yocto-vm| [ 0.001789] rcu: Hierarchical SRCU implementation.
yocto-vm| [ 0.001791] rcu: Max phase no-delay instances is 1000.
yocto-vm| [ 0.002005] EFI services will not be available.
yocto-vm| [ 0.002203] smp: Bringing up secondary CPUs ...
yocto-vm| [ 0.015310] Detected VIPT I-cache on CPU1
yocto-vm| [ 0.015367] GICv3: CPU1: found redistributor 1 region
0:0x0000000000070000
yocto-vm| [ 0.015444] CPU1: Booted secondary processor 0x0000000001
[0x412fd050]
yocto-vm| [ 0.040869] Detected VIPT I-cache on CPU2
yocto-vm| [ 0.040927] GICv3: CPU2: found redistributor 2 region
0:0x0000000000090000
yocto-vm| [ 0.041001] CPU2: Booted secondary processor 0x0000000002
[0x412fd050]
yocto-vm| [ 0.066470] Detected VIPT I-cache on CPU3
yocto-vm| [ 0.066527] GICv3: CPU3: found redistributor 3 region
0:0x00000000000b0000
yocto-vm| [ 0.066596] CPU3: Booted secondary processor 0x0000000003
[0x412fd050]
yocto-vm| [ 0.079074] smp: Brought up 1 node, 4 CPUs
yocto-vm| [ 0.079079] SMP: Total of 4 processors activated.
yocto-vm| [ 0.079082] CPU features: detected: 32-bit EL0 Support
yocto-vm| [ 0.079084] CPU features: detected: 32-bit EL1 Support
yocto-vm| [ 0.079087] CPU features: detected: Data cache clean to the PoU
not required for I/D coherence
yocto-vm| [ 0.079089] CPU features: detected: Common not Private translations
yocto-vm| [ 0.079091] CPU features: detected: CRC32 instructions
yocto-vm| [ 0.079096] CPU features: detected: LSE atomic instructions
yocto-vm| [ 0.079098] CPU features: detected: Privileged Access Never
yocto-vm| [ 0.079104] CPU features: detected: Speculative Store Bypassing
Safe (SSBS)
yocto-vm| [ 0.079174] CPU: All CPU(s) started at EL1
yocto-vm| [ 0.079200] alternatives: applying system-wide alternatives
yocto-vm| [ 0.082876] devtmpfs: initialized
yocto-vm| [ 0.083923] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 7645041785100000 ns
yocto-vm| [ 0.083940] futex hash table entries: 1024 (order: 4, 65536 bytes,
linear)
yocto-vm| [ 0.084491] pinctrl core: initialized pinctrl subsystem
yocto-vm| [ 0.084924] DMI not present or invalid.
yocto-vm| [ 0.085345] NET: Registered PF_NETLINK/PF_ROUTE protocol family
yocto-vm| [ 0.140206] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic
allocations
yocto-vm| [ 0.140483] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for
atomic allocations
yocto-vm| [ 0.140745] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool
for atomic allocations
yocto-vm| [ 0.140810] audit: initializing netlink subsys (disabled)
yocto-vm| [ 0.141055] audit: type=2000 audit(0.056:1): state=initialized
audit_enabled=0 res=1
yocto-vm| [ 0.141454] thermal_sys: Registered thermal governor 'step_wise'
yocto-vm| [ 0.141460] thermal_sys: Registered thermal governor
'power_allocator'
yocto-vm| [ 0.141633] cpuidle: using governor menu
yocto-vm| [ 0.141795] hw-breakpoint: found 1 breakpoint and 1 watchpoint
registers.
yocto-vm| [ 0.252698] ASID allocator initialised with 65536 entries
yocto-vm| [ 0.252968] Serial: AMBA PL011 UART driver
yocto-vm| [ 0.253018] imx mu driver is registered.
yocto-vm| [ 0.253031] imx rpmsg driver is registered.
yocto-vm| [ 0.253633] 12000.pl011_uart: ttyAMA0 at MMIO 0x12000 (irq = 13,
base_baud = 0) is a PL011 rev3
yocto-vm| [ 0.253661] printk: console [ttyAMA0] enabled
yocto-vm| [ 1.117949] Modules: 23968 pages in range for non-PLT usage
yocto-vm| [ 1.117954] Modules: 515488 pages in range for PLT usage
yocto-vm| [ 1.126059] HugeTLB: registered 1.00 GiB page size, pre-allocated
0 pages
yocto-vm| [ 1.141977] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
yocto-vm| [ 1.150162] HugeTLB: registered 32.0 MiB page size, pre-allocated
0 pages
yocto-vm| [ 1.158890] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
yocto-vm| [ 1.167067] HugeTLB: registered 2.00 MiB page size, pre-allocated
0 pages
yocto-vm| [ 1.175791] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
yocto-vm| [ 1.183968] HugeTLB: registered 64.0 KiB page size, pre-allocated
0 pages
yocto-vm| [ 1.192670] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
yocto-vm| [ 1.202014] ACPI: Interpreter disabled.
yocto-vm| [ 1.207928] iommu: Default domain type: Translated
yocto-vm| [ 1.214578] iommu: DMA domain TLB invalidation policy: strict mode
yocto-vm| [ 1.222878] SCSI subsystem initialized
yocto-vm| [ 1.228686] usbcore: registered new interface driver usbfs
yocto-vm| [ 1.236071] usbcore: registered new interface driver hub
yocto-vm| [ 1.243286] usbcore: registered new device driver usb
yocto-vm| [ 1.250380] mc: Linux media interface: v0.10
yocto-vm| [ 1.256488] videodev: Linux video capture interface: v2.00
yocto-vm| [ 1.263872] pps_core: LinuxPPS API ver. 1 registered
yocto-vm| [ 1.270671] pps_core: Software ver. 5.3.6 - Copyright 2005-2007
Rodolfo Giometti <[email protected]>
yocto-vm| [ 1.281861] PTP clock support registered
yocto-vm| [ 1.287638] EDAC MC: Ver: 3.0.0
yocto-vm| [ 1.292822] scmi_core: SCMI protocol bus registered
yocto-vm| [ 1.299820] FPGA manager framework
yocto-vm| [ 1.305070] Advanced Linux Sound Architecture Driver Initialized.
yocto-vm| [ 1.313584] Bluetooth: Core ver 2.22
yocto-vm| [ 1.318955] NET: Registered PF_BLUETOOTH protocol family
yocto-vm| [ 1.326131] Bluetooth: HCI device and connection manager
initialized
yocto-vm| [ 1.334376] Bluetooth: HCI socket layer initialized
yocto-vm| [ 1.341089] Bluetooth: L2CAP socket layer initialized
yocto-vm| [ 1.347976] Bluetooth: SCO socket layer initialized
yocto-vm| [ 1.354900] vgaarb: loaded
yocto-vm| [ 1.359679] clocksource: Switched to clocksource arch_sys_counter
yocto-vm| [ 1.367884] VFS: Disk quotas dquot_6.6.0
yocto-vm| [ 1.373629] VFS: Dquot-cache hash table entries: 512 (order 0,
4096 bytes)
yocto-vm| [ 1.382591] pnp: PnP ACPI: disabled
yocto-vm| [ 1.394226] NET: Registered PF_INET protocol family
yocto-vm| [ 1.401072] IP idents hash table entries: 16384 (order: 5, 131072
bytes, linear)
yocto-vm| [ 1.411079] tcp_listen_portaddr_hash hash table entries: 512
(order: 1, 8192 bytes, linear)
yocto-vm| [ 1.411600] Table-perturb hash table entries: 65536 (order: 6,
262144 bytes, linear)
yocto-vm| [ 1.431261] TCP established hash table entries: 8192 (order: 4,
65536 bytes, linear)
yocto-vm| [ 1.441039] TCP bind hash table entries: 8192 (order: 6, 262144
bytes, linear)
yocto-vm| [ 1.450361] TCP: Hash tables configured (established 8192 bind
8192)
yocto-vm| [ 1.458694] UDP hash table entries: 512 (order: 2, 16384 bytes,
linear)
yocto-vm| [ 1.467271] UDP-Lite hash table entries: 512 (order: 2, 16384
bytes, linear)
yocto-vm| [ 1.476369] NET: Registered PF_UNIX/PF_LOCAL protocol family
yocto-vm| [ 1.484278] RPC: Registered named UNIX socket transport module.
yocto-vm| [ 1.492118] RPC: Registered udp transport module.
yocto-vm| [ 1.498671] RPC: Registered tcp transport module.
yocto-vm| [ 1.505233] RPC: Registered tcp-with-tls transport module.
yocto-vm| [ 1.512595] RPC: Registered tcp NFSv4.1 backchannel transport
module.
yocto-vm| [ 1.521685] PCI: CLS 0 bytes, default 64
yocto-vm| [ 1.527763] kvm [1]: HYP mode not available
yocto-vm| [ 1.534331] Initialise system trusted keyrings
yocto-vm| [ 1.540801] workingset: timestamp_bits=42 max_order=18
bucket_order=0
yocto-vm| [ 1.549396] squashfs: version 4.0 (2009/01/31) Phillip Lougher
yocto-vm| [ 1.557369] NFS: Registering the id_resolver key type
yocto-vm| [ 1.564320] Key type id_resolver registered
yocto-vm| [ 1.570329] Key type id_legacy registered
yocto-vm| [ 1.576150] nfs4filelayout_init: NFSv4 File Layout Driver
Registering...
yocto-vm| [ 1.584841] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver
Registering...
yocto-vm| [ 1.594224] jffs2: version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
yocto-vm| [ 1.602412] 9p: Installing v9fs 9p2000 file system support
yocto-vm| [ 1.631088] Key type asymmetric registered
yocto-vm| [ 1.637007] Asymmetric key parser 'x509' registered
yocto-vm| [ 1.643771] Block layer SCSI generic (bsg) driver version 0.4
loaded (major 243)
yocto-vm| [ 1.653141] io scheduler mq-deadline registered
yocto-vm| [ 1.659518] io scheduler kyber registered
yocto-vm| [ 1.665356] io scheduler bfq registered
yocto-vm| [ 1.672453] EINJ: ACPI disabled.
yocto-vm| [ 1.678111] Bus freq driver module loaded
yocto-vm| [ 1.687002] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
yocto-vm| [ 1.701495] loop: module loaded
yocto-vm| [ 1.707197] megasas: 07.725.01.00-rc1
yocto-vm| [ 1.715314] tun: Universal TUN/TAP device driver, 1.6
yocto-vm| [ 1.722514] thunder_xcv, ver 1.0
yocto-vm| [ 1.727573] thunder_bgx, ver 1.0
yocto-vm| [ 1.732605] nicpf, ver 1.0
yocto-vm| [ 1.737478] hns3: Hisilicon Ethernet Network Driver for Hip08
Family - version
yocto-vm| [ 1.746687] hns3: Copyright (c) 2017 Huawei Corporation.
yocto-vm| [ 1.753889] hclge is initializing
yocto-vm| [ 1.758977] e1000: Intel(R) PRO/1000 Network Driver
yocto-vm| [ 1.765713] e1000: Copyright (c) 1999-2006 Intel Corporation.
yocto-vm| [ 1.773368] e1000e: Intel(R) PRO/1000 Network Driver
yocto-vm| [ 1.780184] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
yocto-vm| [ 1.788012] igb: Intel(R) Gigabit Ethernet Network Driver
yocto-vm| [ 1.795272] igb: Copyright (c) 2007-2014 Intel Corporation.
yocto-vm| [ 1.802743] igbvf: Intel(R) Gigabit Virtual Function Network Driver
yocto-vm| [ 1.810925] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
yocto-vm| [ 1.818782] sky2: driver version 1.30
yocto-vm| [ 1.824384] usbcore: registered new device driver r8152-cfgselector
yocto-vm| [ 1.832589] usbcore: registered new interface driver r8152
yocto-vm| [ 1.840304] VFIO - User Level meta-driver version: 0.3
yocto-vm| [ 1.847925] usbcore: registered new interface driver uas
yocto-vm| [ 1.855160] usbcore: registered new interface driver usb-storage
yocto-vm| [ 1.863126] usbcore: registered new interface driver
usbserial_generic
yocto-vm| [ 1.871606] usbserial: USB Serial support registered for generic
yocto-vm| [ 1.879526] usbcore: registered new interface driver ftdi_sio
yocto-vm| [ 1.887165] usbserial: USB Serial support registered for FTDI USB
Serial Device
yocto-vm| [ 1.896465] usbcore: registered new interface driver
usb_serial_simple
yocto-vm| [ 1.904937] usbserial: USB Serial support registered for carelink
yocto-vm| [ 1.912964] usbserial: USB Serial support registered for
flashloader
yocto-vm| [ 1.921267] usbserial: USB Serial support registered for funsoft
yocto-vm| [ 1.929172] usbserial: USB Serial support registered for google
yocto-vm| [ 1.937015] usbserial: USB Serial support registered for hp4x
yocto-vm| [ 1.944662] usbserial: USB Serial support registered for kaufmann
yocto-vm| [ 1.952683] usbserial: USB Serial support registered for
libtransistor
yocto-vm| [ 1.961149] usbserial: USB Serial support registered for moto_modem
yocto-vm| [ 1.969325] usbserial: USB Serial support registered for
motorola_tetra
yocto-vm| [ 1.977894] usbserial: USB Serial support registered for nokia
yocto-vm| [ 1.985642] usbserial: USB Serial support registered for
novatel_gps
yocto-vm| [ 1.993918] usbserial: USB Serial support registered for
siemens_mpi
yocto-vm| [ 2.002204] usbserial: USB Serial support registered for suunto
yocto-vm| [ 2.010056] usbserial: USB Serial support registered for vivopay
yocto-vm| [ 2.017951] usbserial: USB Serial support registered for zio
yocto-vm| [ 2.025501] usbcore: registered new interface driver usb_ehset_test
yocto-vm| [ 2.034455] i2c_dev: i2c /dev entries driver
yocto-vm| [ 2.041534] Bluetooth: HCI UART driver ver 2.3
yocto-vm| [ 2.047837] Bluetooth: HCI UART protocol H4 registered
yocto-vm| [ 2.054845] Bluetooth: HCI UART protocol BCSP registered
yocto-vm| [ 2.062051] Bluetooth: HCI UART protocol LL registered
yocto-vm| [ 2.069045] Bluetooth: HCI UART protocol ATH3K registered
yocto-vm| [ 2.076335] Bluetooth: HCI UART protocol Three-wire (H5)
registered
yocto-vm| [ 2.084563] Bluetooth: HCI UART protocol Broadcom registered
yocto-vm| [ 2.092116] Bluetooth: HCI UART protocol QCA registered
yocto-vm| [ 2.099758] sdhci: Secure Digital Host Controller Interface driver
yocto-vm| [ 2.107871] sdhci: Copyright(c) Pierre Ossman
yocto-vm| [ 2.114174] Synopsys Designware Multimedia Card Interface Driver
yocto-vm| [ 2.122195] sdhci-pltfm: SDHCI platform and OF driver helper
yocto-vm| [ 2.130143] ledtrig-cpu: registered to indicate activity on CPUs
yocto-vm| [ 2.138823] usbcore: registered new interface driver usbhid
yocto-vm| [ 2.146320] usbhid: USB HID core driver
yocto-vm| [ 2.153424] cs_system_cfg: CoreSight Configuration manager
initialised
yocto-vm| [ 2.163301] NET: Registered PF_LLC protocol family
yocto-vm| [ 2.170010] u32 classifier
yocto-vm| [ 2.174476] input device check on
yocto-vm| [ 2.179934] Actions configured
yocto-vm| [ 2.185436] NET: Registered PF_INET6 protocol family
yocto-vm| [ 2.192875] Segment Routing with IPv6
yocto-vm| [ 2.198397] In-situ OAM (IOAM) with IPv6
yocto-vm| [ 2.204178] NET: Registered PF_PACKET protocol family
yocto-vm| [ 2.211088] bridge: filtering via arp/ip/ip6tables is no longer
available by default. Update your scripts to load br_netfilter if you need this.
yocto-vm| [ 2.226359] Bluetooth: RFCOMM TTY layer initialized
yocto-vm| [ 2.233096] Bluetooth: RFCOMM socket layer initialized
yocto-vm| [ 2.240100] Bluetooth: RFCOMM ver 1.11
yocto-vm| [ 2.245649] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
yocto-vm| [ 2.252839] Bluetooth: BNEP filters: protocol multicast
yocto-vm| [ 2.259937] Bluetooth: BNEP socket layer initialized
yocto-vm| [ 2.266737] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
yocto-vm| [ 2.274556] Bluetooth: HIDP socket layer initialized
yocto-vm| [ 2.281527] 8021q: 802.1Q VLAN Support v1.8
yocto-vm| [ 2.287547] lib80211: common routines for IEEE802.11 drivers
yocto-vm| [ 2.295123] 9pnet: Installing 9P2000 support
yocto-vm| [ 2.301324] Key type dns_resolver registered
yocto-vm| [ 2.307536] NET: Registered PF_VSOCK protocol family
yocto-vm| [ 2.326648] registered taskstats version 1
yocto-vm| [ 2.332695] Loading compiled-in X.509 certificates
yocto-vm| [ 2.345514] cfg80211: Loading compiled-in X.509 certificates for
regulatory database
yocto-vm| [ 2.356803] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
yocto-vm| [ 2.364994] Loaded X.509 cert 'wens:
61c038651aabdcf94bd0ac7ff06c7248db18c600'
yocto-vm| [ 2.374277] platform regulatory.0: Direct firmware load for
regulatory.db failed with error -2
yocto-vm| [ 2.376381] clk: Disabling unused clocks
yocto-vm| [ 2.384949] platform regulatory.0: Falling back to sysfs fallback
for: regulatory.db
yocto-vm| [ 2.386429] ALSA device list:
yocto-vm| [ 2.386435] No soundcards found.
yocto-vm| [ 2.411770] uart-pl011 12000.pl011_uart: no DMA platform data
yocto-vm| [ 2.419693] Waiting for root device /dev/vda...
################# Module list
# Standard L4Re Search Path
modaddr 0x01100000
default-kernel fiasco -serial_esc
default-bootstrap bootstrap
entry yocto-vm
roottask moe rom/yocto-vm.cfg
module l4re
module ned
module cons
module io
module emmc-drv
module uvmm
module yocto-vm.cfg
module io.cfg
module[fname=virt.dtb] dtb/virt-arm_virt-64.dtb
# Ensure path to your actual Yocto kernel binary is correct
module[fname=linux.bin]
/home/admin1/Downloads/images/imx95-19x19-verdin/linux-kernel.bin
################ Cfg file
-- vim:set ft=lua:
local L4 = require("L4");
local l = L4.default_loader;
-- 1. Setup the Console Multiplexer (EXACT TUTORIAL LOGIC)
local cons = l:new_channel();
l:start({ caps = { cons = cons:svr(); },
log = L4.Env.log
},
"rom/cons -a");
l.log_fab = cons;
-- 2. Hardware Storage Channels (Required for your SD card)
local io_to_emmc = l:new_channel()
local emmc_to_uvmm = l:new_channel()
-- 3. Start Hardware Drivers (Io and eMMC)
l:start({
caps = {
icu = L4.Env.icu,
sigma0 = L4.Env.sigma0,
sd_hw_bus = io_to_emmc:svr(),
},
}, "rom/io rom/io.cfg")
l:start({
caps = {
vbus = io_to_emmc,
svr = emmc_to_uvmm:svr(),
},
}, "rom/emmc-drv")
-- 4. The start_vm function (EXACT TUTORIAL LOGIC)
local serialdev = { arm = "ttyAMA0", arm64 = "ttyAMA0", amd64 = "ttyS0", riscv
= "ttyS0" };
function start_vm(num)
local flags = L4.Mem_alloc_flags.Continuous
| L4.Mem_alloc_flags.Pinned
| L4.Mem_alloc_flags.Super_pages;
local align = 21;
l:startv({
caps = {
ram = L4.Env.user_factory:create(L4.Proto.Dataspace,
1024 * 1024 * 1024, --
Increased to 1GB for your Yocto
flags, align):m("rw"),
block = emmc_to_uvmm, -- Added your SD card block device cap
},
log = { "yocto-vm-" .. num, "", "key=" .. num },
},
"rom/uvmm", "-v",
"-krom/linux.bin",
"-drom/virt.dtb",
"-cconsole=" .. serialdev[L4.Info.arch()] .. " root=/dev/vda rw
rootwait");
end
-- 5. Start your VM
start_vm(1)
############# io.cfg
-- vim:ft=lua
local hw = Io.system_bus()
Io.add_vbusses {
sd_hw_bus = Io.Vi.System_bus(function()
-- i.MX95 Verdin SD card slot = USDHC2
usdhc2 = wrap(hw.usdhc2)
end)
}
u-boot=> fatload mmc 1:1 0x90000000 bootstrap.uimage
42293824 bytes read in 440 ms (91.7 MiB/s)
u-boot=> fatload mmc 1:1 0x94000000 imx95-19x19-verdin.dtb
97421 bytes read in 1 ms (92.9 MiB/s)
u-boot=> bootm 0x90000000 - 0x94000000
## Booting kernel from Legacy Image at 90000000 ...
Image Name: L4Re Image @ Tue Jan 13 09:06:1
Created: 2026-01-13 3:36:16 UTC
Image Type: AArch64 Linux Kernel Image (uncompressed)
Data Size: 42293760 Bytes = 40.3 MiB
Load Address: 91200000
Entry Point: 91200000
Verifying Checksum ... OK
## Flattened Device Tree blob at 94000000
Booting using the fdt blob at 0x94000000
Working FDT set to 94000000
Loading Kernel Image to 91200000
Using Device Tree in place at 0000000094000000, end 000000009401ac8c
Working FDT set to 94000000
Starting kernel ...
L4 Bootstrapper
Compiled with: GCC (12.2.1 20221205)
Bootstrap build info: 2026-01-13 09:06:14 IST+0530
L4Image creation info: 2026-01-15 10:01:25 IST+0530
L4Image sequence info: #110
RAM: 0000000090000000 - 00000000ffffffff: 1.7 GiB
RAM: 0000000100000000 - 000000047fffffff: 14.0 GiB
Total RAM: 15.7 GiB
Scanning fiasco -serial_esc
Scanning sigma0
Scanning moe rom/yocto-vm.cfg
Moving up to 13 modules behind 91300000
Using 'modaddr 0x1000000' in modules.list might prevent moving modules.
moving module 12 { 9189e000-93a559ff } -> { 91985000-93b3c9ff } [33.7 MiB]
moving module 11 { 9189d000-9189d8ef } -> { 91984000-919848ef } [2.2 KiB]
moving module 10 { 9189c000-9189c08d } -> { 91983000-9198308d } [0.1 KiB]
moving module 09 { 9189b000-9189bb30 } -> { 91982000-91982b30 } [2.7 KiB]
moving module 08 { 91768000-9189a36f } -> { 9184f000-9198136f } [1.1 MiB]
moving module 07 { 916db000-91767f77 } -> { 917c2000-9184ef77 } [563.8 KiB]
moving module 06 { 91438000-916da7d7 } -> { 9151f000-917c17d7 } [2.6 MiB]
moving module 05 { 913ee000-9143795f } -> { 914d5000-9151e95f } [294.3 KiB]
moving module 04 { 91354000-913eda0f } -> { 9143b000-914d4a0f } [614.5 KiB]
moving module 03 { 9132b000-9135346f } -> { 91412000-9143a46f } [161.1 KiB]
moving module 02 { 912f3000-9132ae07 } -> { 913da000-91411e07 } [223.5 KiB]
moving module 01 { 912ec000-912f2a77 } -> { 913d3000-913d9a77 } [26.6 KiB]
moving module 00 { 91219000-912eb4c7 } -> { 91300000-913d24c7 } [841.1 KiB]
Loading fiasco
found node 0 kernel info page (via ELF) at 0x90204000
Loading sigma0 (offset +0x90000000)
Loading moe (offset +0x9000b000)
found node 0 kernel options (via ELF) at 0x90205000
Sigma0 config node: 0 ip:00000000900007e4
Roottask config node: 0 ip:00000000900114a4
Regions of list 'regions'
[ 88000000, 88007fff] { 32.0 KiB} Arch vdev0vring0@88000000
[ 88008000, 8800ffff] { 32.0 KiB} Arch vdev0vring1@88008000
[ 88010000, 88017fff] { 32.0 KiB} Arch vdev1vring0@88010000
[ 88018000, 8801ffff] { 32.0 KiB} Arch vdev1vring1@88018000
[ 88020000, 8811ffff] {1024.0 KiB} Arch vdevbuffer@88020000
[ 88220000, 88220fff] { 4.0 KiB} Arch rsc-table@88220000
[ 8c000000, 8dbfffff] { 28.0 MiB} Arch optee_core@8c000000
[ 8dc00000, 8dffffff] { 4.0 MiB} Arch optee_shm@8dc00000
[ 90000000, 9000a47f] { 41.1 KiB} Sigma0 sigma0
[ 9000b000, 90049217] { 248.5 KiB} Root moe
[ 90201000, 90206847] { 22.0 KiB} Kern fiasco
[ 90400000, 9061dfff] { 2.1 MiB} Kern fiasco
[ 91412000, 93b3c9ff] { 39.1 MiB} Root Module
[ 93b3d000, 93b3dfff] { 4.0 KiB} Root mbi_rt
[ 94000000, 94017fff] { 96.0 KiB} Root dtb
[ a0000000, a00fffff] {1024.0 KiB} Arch vpu_boot@a0000000
Starting kernel fiasco at 902010c0
Welcome to the L4Re Microkernel!
L4Re Microkernel on arm-64
Rev: 3680e19d compiled with gcc 12.2.1 20221205 for i.MX95
Build: #1 Thu Dec 4 14:28:53 IST 2025
Hello from Startup::stage2
Reserved 968 MiB as kernel memory.
GIC: Number of IRQs available at this GIC: 416
Detecting PSCI ...
Detected PSCI v1.1
PSCI: CPU_SUSPEND format original v0.2, does not support OS-initiated mode
PSCI: TOS: Not present or not required.
FPU: Initialize
ARM generic timer: freq=24000000 interval=24000 cnt=702878460
IOMMU: Initialize
IOMMU: IDR0 s2p=1 s1p=1 ttf=3 cohacc=0 btm=0 asid16=1 msi=1 sev=0 vmid16=1
stall_model=0 st_level=1
IOMMU: IDR1 sidsize=32 ssidsize=20 eventqs=19 cmdqs=19 ecmdq=0
IOMMU: IDR5 oas=1 gran4k=1 vax=1
KERNEL: Warning: IOMMU: Stream table covers only 24 of stream ID's 32 bits.
IOMMU: 65536 ASIDs available.
SERIAL ESC: allocated IRQ 51 for serial UART
Cache config: ON
CPU0: ID_PFR[01]: 11112222 00000010 ID_[DA]FR0: 10305408 00000000
ID_MMFR[04]: 00101122 10212122 00001011 00000000
CPU1 booted (same IDs as CPU0).
CPU5 booted (same IDs as CPU0).
Calibrating timer loop...
CPU3 booted (same IDs as CPU0).
Timer calibration done.
CPU4 booted (same IDs as CPU0).
CPU2 booted (same IDs as CPU0).
MDB: use page size: 30
MDB: use page size: 21
MDB: use page size: 12
SIGMA0: Hello!
KIP @ 90204000
allocated 4 KiB for maintenance structures
SIGMA0: Dump of all resource maps
RAM:------------------------
[4:RWX:9000b000;90049fff]
[0:RWX:9004a000;90200fff]
[0:RWX:90207000;903fffff]
[0:RWX:9061e000;91411fff]
[4:RWX:91412000;93b3dfff]
[0:RWX:93b3e000;93ffffff]
[4:---:94000000;94017fff]
[0:RWX:94018000;9fffffff]
[0:RWX:a0100000;4437fffff]
IOMEM:----------------------
[0:RW-:0;8fffffff]
[0:RW-:a0000000;a00fffff]
[0:RW-:480000000;ffffffffffffffff]
MOE: Hello world
MOE: found 14.7 GiB RAM in the area 9004a000..443800000
MOE: allocated 14.8 MiB for the page array @0x94018000
MOE: virtual user address space [0-ffffffffff]
MOE: cmdline: moe rom/yocto-vm.cfg
MOE: rom name space cap -> [C:103000]
MOE: rwfs name space cap -> [C:105000]
ROMFS: [91412000-9143a470] [C:107000] l4re
ROMFS: [9143b000-914d4a10] [C:109000] ned
ROMFS: [914d5000-9151e960] [C:10b000] cons
ROMFS: [9151f000-917c17d8] [C:10d000] io
ROMFS: [917c2000-9184ef78] [C:10f000] emmc-drv
ROMFS: [9184f000-91981370] [C:111000] uvmm
ROMFS: [91982000-91982b31] [C:113000] yocto-vm.cfg
ROMFS: [91983000-9198308e] [C:115000] io.cfg
ROMFS: [91984000-919848f0] [C:117000] virt.dtb
ROMFS: [91985000-93b3ca00] [C:119000] linux.bin
ROMFS: [94000000-94018000] [C:11b000] .fdt
MOE: Starting: rom/ned rom/yocto-vm.cfg
MOE: loading 'rom/ned'
Ned says: Hi World!
Ned: loading file: 'rom/yocto-vm.cfg'
Console Server
cons>
Created vcon channel: io [420010]
cons>
Created vcon channel: emmc-drv [421010]
cons>
io | Io service
io | KIP doesn't provide ACPI RSDP address
emmc-drv| eMMC[main]: Emmc driver says hello.
emmc-drv| eMMC[main]: TSC frequency of 24MHz.
io | warning: could not register control interface at cap 'platform_ctl'
io | Ready. Waiting for requests.
emmc-drv| eMMC[main]: Starting device discovery.
emmc-drv| eMMC[main]: All devices scanned. No suitable found!
lua error: rom/yocto-vm.cfg:47: runtime error No such device (-19).
############### Module list
modaddr 0x01100000
default-kernel fiasco -serial_esc
default-bootstrap bootstrap
entry yocto-vm
roottask moe rom/yocto-vm.cfg
module l4re
module ned
module cons
module io
module emmc-drv
module uvmm
module yocto-vm.cfg
module io.cfg
module[fname=virt.dtb] dtb/virt-arm_virt-64.dtb
# Ensure path to your actual Yocto kernel binary is correct
module[fname=linux.bin]
/home/admin1/Downloads/images/imx95-19x19-verdin/linux-kernel.bin
####################### Cfg file
-- vim:set ft=lua:
local L4 = require("L4");
local l = L4.default_loader;
local cons = l:new_channel();
l:start({ caps = { cons = cons:svr(); },
log = L4.Env.log
},
"rom/cons -a");
l.log_fab = cons;
local io_to_emmc = l:new_channel()
local emmc_to_uvmm = l:new_channel()
l:start({
caps = {
icu = L4.Env.icu,
sigma0 = L4.Env.sigma0,
sd_hw_bus = io_to_emmc:svr(),
},
}, "rom/io rom/io.cfg -v")
l:start({
caps = {
vbus = io_to_emmc,
svr = emmc_to_uvmm:svr(),
},
}, "rom/emmc-drv -v")
-- This turns emmc-driver into a libblock-device backend
-- Choose partition according to your SD layout
local blk_backend =
emmc_to_uvmm:create(0, "device=partnum:2")
-- uvmm only understands virtio, not emmc-driver
local virtio_blk = l:start({
caps = {
backend = blk_backend,
},
}, "rom/l4virtio-blk")
local serialdev = {
arm = "ttyAMA0",
arm64 = "ttyAMA0",
amd64 = "ttyS0",
riscv = "ttyS0"
};
function start_vm(num)
local flags = L4.Mem_alloc_flags.Continuous
| L4.Mem_alloc_flags.Pinned
| L4.Mem_alloc_flags.Super_pages;
local align = 21;
l:startv({
caps = {
ram = L4.Env.user_factory:create(
L4.Proto.Dataspace,
1024 * 1024 * 1024,
flags, align
):m("rw"),
block = virtio_blk,
},
log = { "yocto-vm-" .. num, "", "key=" .. num },
},
"rom/uvmm", "-v",
"-krom/linux.bin",
"-drom/virt.dtb",
"-cconsole=" .. serialdev[L4.Info.arch()] ..
" root=/dev/vda rw rootwait");
end
start_vm(1)
################ Io cfg
-- vim:ft=lua
local hw = Io.system_bus()
Io.add_vbusses {
sd_hw_bus = Io.Vi.System_bus(function()
-- i.MX95 Verdin SD card slot = USDHC2
usdhc2 = wrap(hw.usdhc2)
end)
}
_______________________________________________
l4-hackers mailing list -- [email protected]
To unsubscribe send an email to [email protected]