Re: Mounting the Sd card on the L4re for Imx 95.

2026-02-08 Thread Adam Lackorzynski
Hi,

thanks for your extensive description.

On Fri Jan 16, 2026 at 13:48:59 +0530, Marka Sriharsha wrote:
> 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 (0x9008). This address overlaps
> with a reserved memory region (e.g., vpu_boot@a000), leading to a
> region overlap error and reboot. I'm attracting the log (Initramfs.txt).

When this happens, the loading address can be moved such that the loaded
items do not overlap. This probably could be smarter overall as well.

> 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.

I'm afraid but for the imx95 nobody has yet enabled the emmc driver.
Typically some SoC-adaption is needed. Since a couple of other imx
variants are already there I'd hope it's not too bad.
You could look at the imx8 ones, compare with the device tree of the
imx95, add the io config and an according line in
emmc-driver/server/src/drv_sdhci-usdhc.cc. Maybe it just works?


BR, Adam
___
l4-hackers mailing list -- [email protected]
To unsubscribe send an email to [email protected]


Mounting the Sd card on the L4re for Imx 95.

2026-01-16 Thread Marka Sriharsha
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 (0x9008). This address overlaps
with a reserved memory region (e.g., vpu_boot@a000), 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 0x
u-boot=> fatload mmc 1:1 0x9000 bootstrap.bin
422484208 bytes read in 4410 ms (91.4 MiB/s)
u-boot=> fatload mmc 1:1 0xB000 imx95-19x19-verdin.dtb
97421 bytes read in 4 ms (23.2 MiB/s)
u-boot=> booti 0x9000 - 0xB000
Image lacks image_size field, assuming 16MiB
Moving Image from 0x9000 to 0x9008, end=9108
## Flattened Device Tree blob at b000
   Booting using the fdt blob at 0xb000
Working FDT set to b000
   Using Device Tree in place at b000, end b001ac8c
Working FDT set to b000

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: 9000 - : 1.7 GiB
  RAM: 0001 - 00047fff: 14.0 GiB
  Total RAM: 15.7 GiB
  New region for list regions:  [ 9255a000,  a9368f0a] { 366.0 MiB} Boot   
Module
  overlaps with:[ a000,  a00f] {1024.0 KiB} Arch   
vpu_boot@a000
Regions of list 'regions'
[ 8800,  88007fff] {  32.0 KiB} Arch   vdev0vring0@8800
[ 88008000,  8800] {  32.0 KiB} Arch   vdev0vring1@88008000
[ 8801,  88017fff] {  32.0 KiB} Arch   vdev1vring0@8801
[ 88018000,  8801] {  32.0 KiB} Arch   vdev1vring1@88018000
[ 8802,  8811] {1024.0 KiB} Arch   vdevbuffer@8802
[ 8822,  88220fff] {   4.0 KiB} Arch   rsc-table@8822
[ 8c00,  8dbf] {  28.0 MiB} Arch   optee_core@8c00
[ 8dc0,  8dff] {   4.0 MiB} Arch   optee_shm@8dc0
[ 9008,  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
[ a000,  a00f] {1024.0 KiB} Arch   vpu_boot@a000
[ b000,  b0017fff] {  96.0 KiB} Root   dtb
region overlap

Key press reboots...



#Module List
modaddr 0x0110
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 allocatio