Hi Adam,

Thank you for your professional insights. Following your suggestion, I added "DEFAULT_RELOC_arm64 = 0x0ec00000" to the Makeconf.local file in the root directory and then rebuilt the system. Upon checking the "Start address: 0x86000000", I found that after rebuilding with 0x0ec00000, the start address became 0x8ee00000. So, I changed DEFAULT_RELOC_arm64 to 0x05e00000, and after rebuilding, the start address was 0x86000000, which meets the requirement.

The contents of Makeconf.local are as follows:

`/l4re-snapshot-24.08.0/obj/l4/builddir$ cat Makeconf.local
CROSS_COMPILE:=aarch64-linux-gnu-
DEFAULT_RELOC_arm64 = 0x05e00000`

Build information:
`/l4re-snapshot-24.08.0/obj/l4/builddir$ make uimage E=uvmm-2vm PT=s32g

make[1]: Entering directory '/home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/src/l4'
  [bootstrap] ... Building Dependencies
  [bootstrap - nofpu] ... Building Dependencies
Building entry "uvmm-2vm".
Merging images:
mod00: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/fiasco/builddir/fiasco [796kB]
mod01: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/sigma0 [24kB]
mod02: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/moe [202kB]
mod03: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/uvmm [974kB]
mod04: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/l4re [110kB]
mod05: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/ned [547kB]
mod06: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/s32g2xxa-evb.dtb [53kB]
mod07: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/fsl-image-dom0less-s32g274aevb.cpio.gz [25679kB]
mod08: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/src/l4/pkg/uvmm/configs/vmm.lua [5kB]
mod09: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/uvmm-2vm.ned [1kB]
mod10: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/Image [14211kB]
mod11: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/cons [280kB]
  [bootstrap - nofpu] ... Generating bootstrap.ld
  [bootstrap - nofpu] ... Compiling startup.o
  [bootstrap - nofpu] ==> Linking l4re.elf
  [bootstrap] ==> Image post-processing l4re.elf
  [bootstrap - nofpu] ==> l4re.elf built
  ==> Installing l4re.elf in image directory
  ==> Installing l4re_uvmm-2vm in image directory
  ==> Installing l4re_uvmm-2vm.elf in image directory
  [bootstrap - nofpu] ... Generating l4re.raw
  ==> Installing l4re.raw in image directory
  ==> Installing l4re_uvmm-2vm.raw in image directory
  [bootstrap - nofpu] ... Generating l4re.uimage
Image Name:   L4 Image #14
Created:      Wed Feb 12 10:50:58 2025
Image Type:   AArch64 Linux Kernel Image (uncompressed)
Data Size:    44056496 Bytes = 43023.92 KiB = 42.02 MiB
Load Address: 86000000
Entry Point:  86000000
  ==> Installing l4re.uimage in image directory
  ==> Installing l4re_uvmm-2vm.uimage in image directory
  Image size(s) in bytes:
              l4re_uvmm-2vm.elf:  44692328
                       l4re.raw:  44056496
                    l4re.uimage:  44056560
  Start address:
  --> Build-Nr: 14
  [bootstrap - nofpu] ==> Installing l4re.elf to local build-tree
  [bootstrap - nofpu] ==> Installing l4re_uvmm-2vm to local build-tree
  [bootstrap - nofpu] ==> Installing l4re_uvmm-2vm.elf to local build-tree
make[1]: Leaving directory '/home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/src/l4'

`

I then placed it back onto the SD card to boot. Although this solved the previous overlap issue, it seems to hang and does not boot properly. I am unsure if this is related to the message:
`Rev: unknown compiled with gcc 11.4.0 for NXP S32G`

because my Linux kernel image was built on another computer using the Yocto toolchain provided by NXP for S32G, while this machine uses`CROSS_COMPILE:=aarch64-linux-gnu-`to compile Fiasco and the L4 uImage.

Boot log:

`fatload mmc 0 0x8000e000 l4re_uvmm-2vm.uimage
44056560 bytes read in 1871 ms (22.5 MiB/s)
=> fatload mmc 0 0x80000000 s32g2xxa-evb.dtb
53414 bytes read in 17 ms (3 MiB/s)
=> boot
  boot bootd bootefi bootelf booti bootm bootp bootvx
=> bootm 0x8000e000 - 0x80000000
## Booting kernel from Legacy Image at 8000e000 ...
   Image Name:   L4 Image #14
   Image Type:   AArch64 Linux Kernel Image (uncompressed)
   Data Size:    44056496 Bytes = 42 MiB
   Load Address: 86000000
   Entry Point:  86000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 80000000
   Booting using the fdt blob at 0x80000000
   Loading Kernel Image
   Using Device Tree in place at 0000000080000000, end 00000000800100a5
   fixup: pfe0 set to 00:01:be:be:ef:11
   fixup: pfe1 set to 00:01:be:be:ef:22
   fixup: pfe2 set to 00:01:be:be:ef:33

Starting kernel ...

L4 Bootstrapper
  Build: #14 Wed Feb 12 10:50:58 CST 2025, 11.4.0
...
Cache config: ON  // Stuck here, no further execution.
`

I noticed that JDB had started, so I entered the t command and got the following output:

`jdb: t

thread  :   6 <0xffff8d5c0000>  CPU: 0:0        prio: 00
state   : 001 ready
wait for: ---   polling:        rcv descr:                              timeout  :
cpu time:   0                   timeslice: 10000 us
pager   : [C:   0]              task     :  kernel        
exc-hndl: [C:   0]              UTCB     : 00000000/00000000
vCPU    : ---
vCPU    : ---

Regs (before debug entry from kernel mode):    brk     #0x0
 x0 0000ffff40286930 0000000000000000          ldp     x19, x30, [sp], #0x10
 x2 0000000000000014 0000ffff402801e0
 x4 0000ffff40286ab8 0000000000000000 0000000000000088 0000000000000014
 x8 0000000000000040 0000000000000014 0000ffff001c8000 0000000000000014
x12 0000ffff4022c010 0000ffff4022bfd0 0000ffff4022bfd0 0000000000000000
x16 0000ffff001c8000 0000000000000010 0000000000000010 0000ffff4023ef70
psr=00000000600003c9 tpidr: urw=0000000000000000 uro=0000000000000000
 pc=0000ffff4022ba98 ksp=0000ffff8d5c1d40 x30=0000ffff4022ba8c
   1c00  0000000000000000 0000ffff40280980 0000000000000000 0000ffff40286930
   1c20  0000000000000000 0000000000000014 0000ffff402801e0 0000ffff40286ab8
   1c40  0000000000000000 0000000000000088 0000000000000014 0000000000000040

   1c60  0000000000000014 0000ffff001c8000 0000000000000014 0000ffff4022c010`

Could you please help analyze this issue? Many thanks!

Regards,
Qiang


On Tue, Feb 11, 2025 at 8:43 PM Adam Lackorzynski <adam@os.inf.tu-dresden.de> wrote:
Hi Qiang,

looks to me that bootstrap image to load is just too big as it interferes
with the reserved PFE areas of the platform. It seems unfortunate that
u-boot allows this to be loaded and that those areas are there at those
locations.

Anyway, I would recommend to change the loading address of bootstrap.
Please do this by creating a file Makeconf.local in the root directory
of your build-tree
(/home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir) with
the content:
DEFAULT_RELOC_arm64 = 0x0ec00000

Then build the image again. Please check the output as it needs to state
"Start address: 0x86000000"


Adam

On Mon Feb 10, 2025 at 17:25:22 +0800, qiang xu wrote:
> Hi Adam,
>
>    1. I followed your suggestion and changed *"kernel fiasco.debug
>    -serial_esc"* to *"kernel fiasco -serial_esc"*.
>    2. The error *"DT: FDT sanity check failed: FDT_ERR_BADMAGIC (-9) Total
>    RAM: 0MB"* disappeared after reloading the device tree (dtb).
>    3. Below is the boot command I used.
>
> `=> fatload mmc 0 0x80000000 s32g2xxa-evb.dtb
> 53414 bytes read in 17 ms (3 MiB/s)
> => fatload mmc 0 0x8000e000 l4re_uvmm-2vm.uimage
> 44056560 bytes read in 1871 ms (22.5 MiB/s)
> => bootm 0x8000e000 - 0x80000000
> ## Booting kernel from Legacy Image at 8000e000 ...
>    Image Name:   L4 Image #10
>    Image Type:   AArch64 Linux Kernel Image (uncompressed)
>    Data Size:    44056496 Bytes = 42 MiB
>    Load Address: 81200000
>    Entry Point:  81200000
>    Verifying Checksum ... OK
> ## Flattened Device Tree blob at 80000000
>    Booting using the fdt blob at 0x80000000
>    Loading Kernel Image
>    Using Device Tree in place at 0000000080000000, end 00000000800100a5
>    fixup: pfe0 set to 00:01:be:be:ef:11
>    fixup: pfe1 set to 00:01:be:be:ef:22
>    fixup: pfe2 set to 00:01:be:be:ef:33
>
> Starting kernel ...
>
>
> L4 Bootstrapper
>   Build: #10 Mon Feb 10 10:06:07 CST 2025, 11.4.0
>   RAM: 0000000080000000 - 00000000ffffffff: 2097152kB
>   RAM: 0000000880000000 - 00000008dfffffff: 1572864kB
>   Total RAM: 3584MB
>   New region for list regions:      [ 82ddd000,  83bbd807] {   de0808} Boot
>   Module
>   overlaps with:                    [ 83200000,  835dffff] {   3e0000} Arch
>   pfebufs@83200000
> Regions of list 'regions'
>     [ 34000000,  3407ffff] {    80000} Arch   pfebufs@34000000
>     [ 34080000,  3409ffff] {    20000} Arch   pfebufs@34080000
>     [ 80000000,  8000dfff] {     e000} Root   dtb
>     [ 81200000,  8121d777] {    1d778} Boot   bootstrap
>     [ 81200158,  81200187] {       30} Root   cpu_boot
>     [ 8121e1d0,  8121eac7] {      8f8} Boot   modinfo
>     [ 8121f000,  812e5fe7] {    c6fe8} Boot   Module
>     [ 812e6000,  812ebcd7] {     5cd8} Boot   Module
>     [ 812ec000,  8131e6cf] {    326d0} Boot   Module
>     [ 8131f000,  8141258f] {    f3590} Boot   Module
>     [ 81413000,  8142e537] {    1b538} Boot   Module
>     [ 8142f000,  814b7aa7] {    88aa8} Boot   Module
>     [ 814b8000,  814c50a5] {     d0a6} Boot   Module
>     [ 814c6000,  82dd9a52] {  1913a53} Boot   Module
>     [ 82dda000,  82ddb218] {     1219} Boot   Module
>     [ 82ddc000,  82ddc224] {      225} Boot   Module
>     [ 83200000,  835dffff] {   3e0000} Arch   pfebufs@83200000
>     [ 835e0000,  835fffff] {    20000} Arch   pfebufs@835e0000
>     [ 84000000,  843fffff] {   400000} Arch   shm@84000000
>     [ 85000000,  85000fff] {     1000} Arch   ddr@85000000
>     [ c0000000,  c03fffff] {   400000} Arch   shm@c0000000
>     [ c0400000,  c07fffff] {   400000} Arch   shm@c0400000
>     [ d0000000,  d000007f] {       80} Arch   shm@d0000000
>     [ d0000080,  d00000ff] {       80} Arch   shm@d0000080
>     [ ff800000,  ff9fffff] {   200000} Arch   atf@ff800000
> region overlap
>
> Key press reboots...
> `
> Please help me analyze where the issue might be. Thank you very much!
>
> Regards,
> Qiang
>
> On Mon, Feb 10, 2025 at 3:03 AM Adam Lackorzynski <adam@l4re.org> wrote:
>
> > Hi Qiang,
> >
> > thanks for the description and all the logs. Could you also please share
> > the command given in u-boot (bootm...)?
> >
> > From the logs, the following lines look suspicious:
> >
> > > DT: FDT sanity check failed: FDT_ERR_BADMAGIC (-9)
> > >   Total RAM: 0MB
> >
> > Indicating that something with the device tree is not ok.
> >
> > > kernel fiasco.debug -serial_esc
> >
> > Please use "fiasco" only. The fiasco.debug is considerably bigger to load
> > and could contribute to the region overlap.
> >
> >
> >
> > Adam
> >
> > On Thu Feb 06, 2025 at 19:53:49 +0800, qiang xu wrote:
> > > Hi Adam,
> > >   I encountered the error "region overlap" while running L4Re on S32G.
> > >
> > > First, I built the Linux BSP 38.0 using Yocto to generate the Image,
> > > s32g2xxa-evb.dtb, and fsl-image-dom0less-s32g274aevb.cpio.gz. Then, I
> > > compiled the S32G platform's L4Re image using the snapshots
> > > <https://l4re.org/download/snapshots/README.html> method. In the
> > > modules.list, I added the following:
> > >
> > > `
> > > entry uvmm-2vm
> > > kernel fiasco.debug -serial_esc
> > > roottask moe rom/uvmm-2vm.ned
> > > module uvmm
> > > module l4re
> > > module ned
> > > module s32g2xxa-evb.dtb
> > > module fsl-image-dom0less-s32g274aevb.cpio.gz
> > > module[shell] echo $SRC_BASE_ABS/pkg/uvmm/configs/vmm.lua
> > > module uvmm-2vm.ned
> > > module Image
> > > module cons
> > > `
> > >
> > > Finally, I ran the command make uimage E=uvmm-2vm PT=s32g in the
> > > /l4re-snapshot-24.08.0/obj/l4/builddir directory, which showed the
> > > following output:
> > >
> > > `
> > > make[1]: Entering directory
> > > '/home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/src/l4'
> > > [bootstrap - nofpu] ... Building Dependencies
> > > Building entry "uvmm-2vm".
> > > Merging images:
> > > mod00:
> > >
> > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/fiasco/builddir/fiasco.debug
> > > [27393kB -> 796kB]
> > > mod01:
> > >
> > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/sigma0
> > > [24kB]
> > > mod02:
> > >
> > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/moe
> > > [202kB]
> > > mod03:
> > >
> > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/uvmm
> > > [974kB]
> > > mod04:
> > >
> > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/l4re
> > > [110kB]
> > > mod05:
> > >
> > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/ned
> > > [547kB]
> > > mod06:
> > > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/s32g2xxa-evb.dtb
> > > [53kB]
> > > mod07:
> > >
> > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/fsl-image-dom0less-s32g274aevb.cpio.gz
> > > [25679kB]
> > > mod08:
> > >
> > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/src/l4/pkg/uvmm/configs/vmm.lua
> > > [5kB]
> > > mod09:
> > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/uvmm-2vm.ned
> > > [1kB]
> > > mod10: /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/conf/Image
> > > [14211kB]
> > > mod11:
> > >
> > /home/qiangxu/prebuildl4/l4re-snapshot-24.08.0/obj/l4/builddir/bin/arm64_armv8a/l4f/cons
> > > [280kB]
> > > [bootstrap - nofpu] ... Generating bootstrap.ld
> > > [bootstrap - nofpu] ... Compiling startup.o
> > > [bootstrap - nofpu] ==> Linking l4re.elf
> > > [bootstrap] ==> Image post-processing l4re.elf
> > > [bootstrap - nofpu] ==> l4re.elf built
> > > ==> Installing l4re.elf in image directory
> > > ==> Installing l4re_uvmm-2vm in image directory
> > > ==> Installing l4re_uvmm-2vm.elf in image directory
> > > [bootstrap - nofpu] ... Generating l4re.raw
> > > ==> Installing l4re.raw in image directory
> > > ==> Installing l4re_uvmm-2vm.raw in image directory
> > > [bootstrap - nofpu] ... Generating l4re.uimage
> > > Image Name:   L4 Image #9
> > > Created:      Thu Feb 6 19:29:02 2025
> > > Image Type:   AArch64 Linux Kernel Image (uncompressed)
> > > Data Size:    44056496 Bytes = 43023.92 KiB = 42.02 MiB
> > > Load Address: 81200000
> > > Entry Point:  81200000
> > > ==> Installing l4re.uimage in image directory
> > > ==> Installing l4re_uvmm-2vm.uimage in image directory
> > > Image size(s) in bytes:
> > >             l4re_uvmm-2vm.elf:  44692328
> > >                      l4re.raw:  44056496
> > >                   l4re.uimage:  44056560
> > > Start address:
> > > --> Build-Nr: 9
> > > [bootstrap - nofpu] ==> Installing l4re.elf to local build-tree
> > > [bootstrap - nofpu] ==> Installing l4re_uvmm-2vm to local build-tree
> > > [bootstrap - nofpu] ==> Installing l4re_uvmm-2vm.elf to local build-tree
> > > `
> > > Finally, I tried loading the l4re_uvmm-2vm.uimage and s32g2xxa-evb.dtb
> > > files in U-Boot for booting, but it resulted in an error. Can you help me
> > > identify where the issue might be?
> > >
> > > `
> > > L4 Bootstrapper
> > >   Build: #8 Thu Feb 6 14:58:40 CST 2025, 11.4.0
> > > DT: FDT sanity check failed: FDT_ERR_BADMAGIC (-9)
> > >
> > > L4 Bootstrapper
> > >   Build: #8 Thu Feb 6 14:58:40 CST 2025, 11.4.0
> > >   Total RAM: 0MB
> > >   New region for list regions:      [ 82ddd000,  855979ff] {  27baa00}
> > Boot
> > >   Module
> > >   overlaps with:                    [ 83200000,  835dffff] {   3e0000}
> > Arch
> > >   pfebufs@83200000
> > > Regions of list 'regions'
> > >     [ 34000000,  3407ffff] {    80000} Arch   pfebufs@34000000
> > >     [ 34080000,  3409ffff] {    20000} Arch   pfebufs@34080000
> > >     [ 80000000,  8000d0a5] {     d0a6} Root   dtb
> > >     [ 81200000,  8121d777] {    1d778} Boot   bootstrap
> > >     [ 81200158,  81200187] {       30} Root   cpu_boot
> > >     [ 8121e1d0,  8121eadf] {      910} Boot   modinfo
> > >     [ 8121f000,  812e5f7f] {    c6f80} Boot   Module
> > >     [ 812e6000,  812ebcd7] {     5cd8} Boot   Module
> > >     [ 812ec000,  8131e6cf] {    326d0} Boot   Module
> > >     [ 8131f000,  8141258f] {    f3590} Boot   Module
> > >     [ 81413000,  8142e537] {    1b538} Boot   Module
> > >     [ 8142f000,  814b7aa7] {    88aa8} Boot   Module
> > >     [ 814b8000,  814c50a5] {     d0a6} Boot   Module
> > >     [ 814c6000,  82dd9a52] {  1913a53} Boot   Module
> > >     [ 82dda000,  82ddb218] {     1219} Boot   Module
> > >     [ 82ddc000,  82ddc22a] {      22b} Boot   Module
> > >     [ 83200000,  835dffff] {   3e0000} Arch   pfebufs@83200000
> > >     [ 835e0000,  835fffff] {    20000} Arch   pfebufs@835e0000
> > >     [ 84000000,  843fffff] {   400000} Arch   shm@84000000
> > >     [ 85000000,  85000fff] {     1000} Arch   ddr@85000000
> > >     [ c0000000,  c03fffff] {   400000} Arch   shm@c0000000
> > >     [ c0400000,  c07fffff] {   400000} Arch   shm@c0400000
> > >     [ d0000000,  d000007f] {       80} Arch   shm@d0000000
> > >     [ d0000080,  d00000ff] {       80} Arch   shm@d0000080
> > > region overlap
> > >
> > > Key press reboots...
> > >
> > > `
> > > Regards,
> > > Qiang
> > >
> > >
> > > On Wed, Jan 8, 2025 at 10:13 AM qiang xu <qiangxu431@gmail.com> wrote:
> > >
> > > > Hi Adam,
> > > >
> > > > Awesome, thanks for the info!
> > > >
> > > > Regards,
> > > > Qiang
> > > >
> > > > On Tue, Jan 7, 2025 at 10:03 PM Adam Lackorzynski <adam@l4re.org>
> > wrote:
> > > >
> > > >> Hi Qiang,
> > > >>
> > > >> thanks for the great feedback.
> > > >>
> > > >> It's correct, the L4Re microerkernel Fiasco runs in EL2 only. It runs
> > > >> both VMs and L4Re applications side by side, so yes, it is a
> > hypervisor
> > > >> too.
> > > >>
> > > >>
> > > >> Best regards,
> > > >> Adam
> > > >>
> > > >> On Tue Jan 07, 2025 at 19:34:20 +0800, qiang xu wrote:
> > > >> >   Hi Adam,
> > > >> >
> > > >> >  Thank you very much for your support. The explanation was very
> > clear.
> > > >> From
> > > >> > the printed information, it seems to be running fine. I have one
> > more
> > > >> > question: Can Fiasco be used as a hypervisor? >From the example of
> > > >> > l4re_VM-multi, it seems to have the ability to run multiple
> > operating
> > > >> > systems on a single platform, and in L4Re, only Fiasco runs in EL2
> > > >> > privilege level. I'm not sure if I understand this correctly, so I
> > > >> wanted
> > > >> > to confirm with you. If it cannot be used as a hypervisor, what
> > > >> > functionality does it lack that a hypervisor would typically have?
> > > >> >
> > > >> > Regards,
> > > >> > Qiang
> > > >> >
> > > >> >
> > > >> > On Tue, Jan 7, 2025 at 7:53 AM Adam Lackorzynski <adam@l4re.org>
> > wrote:
> > > >> >
> > > >> > > Hi Qiang,
> > > >> > >
> > > >> > > If I'm not mistaken, the provided BSP is using u-boot. With
> > u-boot,
> > > >> the
> > > >> > > uimage file is a good fit. When booting up, you can stop at the
> > u-boot
> > > >> > > prompt and do something like this:
> > > >> > > # fatload mmc 0 0x80f00000 fsl-s32g274a-evb.dtb
> > > >> > > # fatload mmc 0 0x80ffffc0 l4re_vm-multi-p2p_s32g.uimage
> > > >> > > # bootm 0x80ffffc0  - 0x80f00000
> > > >> > >
> > > >> > > You need to copy the l4re_vm-multi-p2p_s32g.uimage file to the mmc
> > > >> first
> > > >> > > of course, for example, through Linux.
> > > >> > > Alternative you could also load the elf-image or raw-image into
> > memory
> > > >> > > via your hardware debugger, whatever method the debugger
> > supports. Do
> > > >> it
> > > >> > > by intercepting at the u-boot prompt.
> > > >> > >
> > > >> > > A third option is to use the tftp network capabilities of u-boot
> > to
> > > >> load
> > > >> > > the uimage via network.
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > > Adam
> > > >> > >
> > > >> > > On Mon Jan 06, 2025 at 11:04:35 +0800, qiang xu wrote:
> > > >> > > > Hi Adam,
> > > >> > > >
> > > >> > > > Thank you for your response.
> > > >> > > >
> > > >> > > > I found the following images in the L4Re pre-built images
> > folder:
> > > >> > > > “l4re_vm-multi-p2p_s32g.efi,” “l4re_vm-multi-p2p_s32g.elf,” and
> > > >> > > > “l4re_vm-multi-p2p_s32g.uimage.” I would like to understand how
> > > >> these
> > > >> > > > images can be combined with the BSP built using Yocto and
> > placed on
> > > >> the
> > > >> > > SD
> > > >> > > > card for booting.
> > > >> > > >
> > > >> > > >  I have been following the examples from the L4Re wiki
> > > >> > > > <https://github.com/kernkonzept/manifest/wiki/MultipleVMs> to
> > get
> > > >> > > started
> > > >> > > > with L4Re. These examples run very well on QEMU, but there is an
> > > >> issue—I
> > > >> > > am
> > > >> > > > unable to use GDB to debug the Fiasco kernel.I noticed that L4Re
> > > >> can also
> > > >> > > > run on the S32G platform, so I would like to run L4Re on S32G
> > and
> > > >> use a
> > > >> > > > hardware debugging tool to debug the Fiasco kernel during its
> > > >> execution.
> > > >> > > > However, the wiki does not provide instructions on how to run
> > L4Re
> > > >> on
> > > >> > > real
> > > >> > > > hardware.Therefore, I would like your guidance on how to run the
> > > >> examples
> > > >> > > > from the wiki <
> > > >> https://github.com/kernkonzept/manifest/wiki/MultipleVMs>
> > > >> > > on
> > > >> > > > the S32G platform and boot from an SD card.
> > > >> > > >
> > > >> > > > Regards,
> > > >> > > > Qiang
> > > >> > > >
> > > >> > > > On Mon, Jan 6, 2025 at 9:56 AM Adam Lackorzynski <adam@l4re.org
> > >
> > > >> wrote:
> > > >> > > >
> > > >> > > > > Hi Qiang,
> > > >> > > > >
> > > >> > > > > On Sat Jan 04, 2025 at 17:03:21 +0800, qiang xu wrote:
> > > >> > > > > > I would like to know how to run L4Re on the S32G. I couldn’t
> > > >> find any
> > > >> > > > > > related documentation. I’m a beginner in this technical
> > field,
> > > >> so
> > > >> > > could
> > > >> > > > > you
> > > >> > > > > > provide friendly step-by-step instructions?
> > > >> > > > >
> > > >> > > > > One option is to use the snapshot from l4re.org as it has a
> > > >> > > menu-driven
> > > >> > > > > target selection which includes the S32G. This hides quite a
> > few
> > > >> of the
> > > >> > > > > details but gives examples for the S32G right away.
> > > >> > > > > How do you boot your S32G?
> >

Adam
--
Adam                 adam@os.inf.tu-dresden.de
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/