How qemu load dtb on LS2088ardb

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How qemu load dtb on LS2088ardb

236 Views
GG0712
Contributor I

 

I'm buiding images for LS2088ardb by using Yocto command "bitbake fsl-image-networking"

Now I load the dtb in the QEMU but can't boot into kernel and step by step SOP as below:

  1.  Open 2 terminals in my host PC (Ubuntu 20.04)
  2.  Use the command to run QEMU in first terminal:
    $ qemu-system-aarch64 \
      -smp 8 \
      -machine type=virt,gic-version=3 \
      -m 2048 \
      -cpu cortex-a72 \
      -kernel Image \
      -serial tcp::4446,server,telnet \
      -drive if=none,file=fsl-image-networking-ls2088ardb.rootfs-20240711074828.ext4,id=foo,format=raw \
      -device virtio-blk-device,drive=foo \
      -append 'root=/dev/vda rw console=ttyAMA0,115200 rootwait earlyprintk' \
      -monitor stdio
    Output as below
    QEMU 4.2.1 monitor - type 'help' for more information
    (qemu) qemu-system-aarch64: -serial tcp::4446,server,telnet: info: QEMU waiting for connection on: disconnected:telnet:0.0.0.0:4446,server
  3. Use the command to connect QEMU in second terminal:
    telnet 0.0.0.0 4446
    I can success to boot into kernel
    Trying 0.0.0.0...
    Connected to 0.0.0.0.
    Escape character is '^]'.
    [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
    [ 0.000000] Linux version 6.6.23-gb586a521770e (oe-user@oe-host) (aarch64-fsl-linux-gcc (GCC) 13.2.0, GNU ld (GNU Binutils) 2.42.0.20240216) #1 SMP PREEMPT Fri Jun 7 13:15:57 UTC 2024
    [ 0.000000] KASLR disabled due to lack of seed
    [ 0.000000] Machine model: linux,dummy-virt
    ...
    ...
    ls2088ardb login: root
    root@ls2088ardb:~#
  4. Trying to use the command to load device tree in first terminal
    $ qemu-system-aarch64 \
    -smp 8 \
    -machine type=virt,gic-version=3 \
    -m 2048 \
    -cpu cortex-a72 \
    -kernel Image \
    -serial tcp::4446,server,telnet \
    -dtb fsl-ls2088a-rdb.dtb \
    -drive if=none,file=fsl-image-networking-ls2088ardb.rootfs-20240711074828.ext4,id=foo,format=raw \
    -device virtio-blk-device,drive=foo \
    -append 'root=/dev/vda rw console=ttyAMA0,115200 rootwait earlyprintk' \
    -monitor stdio
    Output as below
    QEMU 4.2.1 monitor - type 'help' for more information
    (qemu) qemu-system-aarch64: -serial tcp::4446,server,telnet: info: QEMU waiting for connection on: disconnected:telnet:0.0.0.0:4446,server
  5. Use the command to connect QEMU in second terminal
    Trying 0.0.0.0...
    Connected to 0.0.0.0.
    Escape character is '^]'.
    It stay here and can't boot into kernel
  6. I try to add debug info and step same as Step4-5
    -d int,cpu_reset
    Output 
    CPU Reset (CPU 0)
    R00=00000000 R01=00000000 R02=00000000 R03=00000000
    R04=00000000 R05=00000000 R06=00000000 R07=00000000
    R08=00000000 R09=00000000 R10=00000000 R11=00000000
    R12=00000000 R13=00000000 R14=00000000 R15=00000000
    PSR=40000000 -Z-- A usr26
    CPU Reset (CPU 1)
    R00=00000000 R01=00000000 R02=00000000 R03=00000000
    R04=00000000 R05=00000000 R06=00000000 R07=00000000
    R08=00000000 R09=00000000 R10=00000000 R11=00000000
    R12=00000000 R13=00000000 R14=00000000 R15=00000000
    PSR=40000000 -Z-- A usr26
    CPU Reset (CPU 2)
    R00=00000000 R01=00000000 R02=00000000 R03=00000000
    R04=00000000 R05=00000000 R06=00000000 R07=00000000
    R08=00000000 R09=00000000 R10=00000000 R11=00000000
    R12=00000000 R13=00000000 R14=00000000 R15=00000000
    PSR=40000000 -Z-- A usr26
    CPU Reset (CPU 3)
    R00=00000000 R01=00000000 R02=00000000 R03=00000000
    R04=00000000 R05=00000000 R06=00000000 R07=00000000
    R08=00000000 R09=00000000 R10=00000000 R11=00000000
    R12=00000000 R13=00000000 R14=00000000 R15=00000000
    PSR=40000000 -Z-- A usr26
    CPU Reset (CPU 4)
    R00=00000000 R01=00000000 R02=00000000 R03=00000000
    R04=00000000 R05=00000000 R06=00000000 R07=00000000
    R08=00000000 R09=00000000 R10=00000000 R11=00000000
    R12=00000000 R13=00000000 R14=00000000 R15=00000000
    PSR=40000000 -Z-- A usr26
    CPU Reset (CPU 5)
    R00=00000000 R01=00000000 R02=00000000 R03=00000000
    R04=00000000 R05=00000000 R06=00000000 R07=00000000
    R08=00000000 R09=00000000 R10=00000000 R11=00000000
    R12=00000000 R13=00000000 R14=00000000 R15=00000000
    PSR=40000000 -Z-- A usr26
    CPU Reset (CPU 6)
    R00=00000000 R01=00000000 R02=00000000 R03=00000000
    R04=00000000 R05=00000000 R06=00000000 R07=00000000
    R08=00000000 R09=00000000 R10=00000000 R11=00000000
    R12=00000000 R13=00000000 R14=00000000 R15=00000000
    PSR=40000000 -Z-- A usr26
    CPU Reset (CPU 7)
    R00=00000000 R01=00000000 R02=00000000 R03=00000000
    R04=00000000 R05=00000000 R06=00000000 R07=00000000
    R08=00000000 R09=00000000 R10=00000000 R11=00000000
    R12=00000000 R13=00000000 R14=00000000 R15=00000000
    PSR=40000000 -Z-- A usr26
    CPU Reset (CPU 0)
    PC=0000000000000000 X00=0000000000000000 X01=0000000000000000
    X02=0000000000000000 X03=0000000000000000 X04=0000000000000000
    X05=0000000000000000 X06=0000000000000000 X07=0000000000000000
    X08=0000000000000000 X09=0000000000000000 X10=0000000000000000
    X11=0000000000000000 X12=0000000000000000 X13=0000000000000000
    X14=0000000000000000 X15=0000000000000000 X16=0000000000000000
    X17=0000000000000000 X18=0000000000000000 X19=0000000000000000
    X20=0000000000000000 X21=0000000000000000 X22=0000000000000000
    X23=0000000000000000 X24=0000000000000000 X25=0000000000000000
    X26=0000000000000000 X27=0000000000000000 X28=0000000000000000
    X29=0000000000000000 X30=0000000000000000 SP=0000000000000000
    PSTATE=400003c5 -Z-- EL1h
    CPU Reset (CPU 1)
    PC=0000000000000000 X00=0000000000000000 X01=0000000000000000
    X02=0000000000000000 X03=0000000000000000 X04=0000000000000000
    X05=0000000000000000 X06=0000000000000000 X07=0000000000000000
    X08=0000000000000000 X09=0000000000000000 X10=0000000000000000
    X11=0000000000000000 X12=0000000000000000 X13=0000000000000000
    X14=0000000000000000 X15=0000000000000000 X16=0000000000000000
    X17=0000000000000000 X18=0000000000000000 X19=0000000000000000
    X20=0000000000000000 X21=0000000000000000 X22=0000000000000000
    X23=0000000000000000 X24=0000000000000000 X25=0000000000000000
    X26=0000000000000000 X27=0000000000000000 X28=0000000000000000
    X29=0000000000000000 X30=0000000000000000 SP=0000000000000000
    PSTATE=400003c5 -Z-- EL1h
    CPU Reset (CPU 2)
    PC=0000000000000000 X00=0000000000000000 X01=0000000000000000
    X02=0000000000000000 X03=0000000000000000 X04=0000000000000000
    X05=0000000000000000 X06=0000000000000000 X07=0000000000000000
    X08=0000000000000000 X09=0000000000000000 X10=0000000000000000
    X11=0000000000000000 X12=0000000000000000 X13=0000000000000000
    X14=0000000000000000 X15=0000000000000000 X16=0000000000000000
    X17=0000000000000000 X18=0000000000000000 X19=0000000000000000
    X20=0000000000000000 X21=0000000000000000 X22=0000000000000000
    X23=0000000000000000 X24=0000000000000000 X25=0000000000000000
    X26=0000000000000000 X27=0000000000000000 X28=0000000000000000
    X29=0000000000000000 X30=0000000000000000 SP=0000000000000000
    PSTATE=400003c5 -Z-- EL1h
    CPU Reset (CPU 3)
    PC=0000000000000000 X00=0000000000000000 X01=0000000000000000
    X02=0000000000000000 X03=0000000000000000 X04=0000000000000000
    X05=0000000000000000 X06=0000000000000000 X07=0000000000000000
    X08=0000000000000000 X09=0000000000000000 X10=0000000000000000
    X11=0000000000000000 X12=0000000000000000 X13=0000000000000000
    X14=0000000000000000 X15=0000000000000000 X16=0000000000000000
    X17=0000000000000000 X18=0000000000000000 X19=0000000000000000
    X20=0000000000000000 X21=0000000000000000 X22=0000000000000000
    X23=0000000000000000 X24=0000000000000000 X25=0000000000000000
    X26=0000000000000000 X27=0000000000000000 X28=0000000000000000
    X29=0000000000000000 X30=0000000000000000 SP=0000000000000000
    PSTATE=400003c5 -Z-- EL1h
    CPU Reset (CPU 4)
    PC=0000000000000000 X00=0000000000000000 X01=0000000000000000
    X02=0000000000000000 X03=0000000000000000 X04=0000000000000000
    X05=0000000000000000 X06=0000000000000000 X07=0000000000000000
    X08=0000000000000000 X09=0000000000000000 X10=0000000000000000
    X11=0000000000000000 X12=0000000000000000 X13=0000000000000000
    X14=0000000000000000 X15=0000000000000000 X16=0000000000000000
    X17=0000000000000000 X18=0000000000000000 X19=0000000000000000
    X20=0000000000000000 X21=0000000000000000 X22=0000000000000000
    X23=0000000000000000 X24=0000000000000000 X25=0000000000000000
    X26=0000000000000000 X27=0000000000000000 X28=0000000000000000
    X29=0000000000000000 X30=0000000000000000 SP=0000000000000000
    PSTATE=400003c5 -Z-- EL1h
    CPU Reset (CPU 5)
    PC=0000000000000000 X00=0000000000000000 X01=0000000000000000
    X02=0000000000000000 X03=0000000000000000 X04=0000000000000000
    X05=0000000000000000 X06=0000000000000000 X07=0000000000000000
    X08=0000000000000000 X09=0000000000000000 X10=0000000000000000
    X11=0000000000000000 X12=0000000000000000 X13=0000000000000000
    X14=0000000000000000 X15=0000000000000000 X16=0000000000000000
    X17=0000000000000000 X18=0000000000000000 X19=0000000000000000
    X20=0000000000000000 X21=0000000000000000 X22=0000000000000000
    X23=0000000000000000 X24=0000000000000000 X25=0000000000000000
    X26=0000000000000000 X27=0000000000000000 X28=0000000000000000
    X29=0000000000000000 X30=0000000000000000 SP=0000000000000000
    PSTATE=400003c5 -Z-- EL1h
    CPU Reset (CPU 6)
    PC=0000000000000000 X00=0000000000000000 X01=0000000000000000
    X02=0000000000000000 X03=0000000000000000 X04=0000000000000000
    X05=0000000000000000 X06=0000000000000000 X07=0000000000000000
    X08=0000000000000000 X09=0000000000000000 X10=0000000000000000
    X11=0000000000000000 X12=0000000000000000 X13=0000000000000000
    X14=0000000000000000 X15=0000000000000000 X16=0000000000000000
    X17=0000000000000000 X18=0000000000000000 X19=0000000000000000
    X20=0000000000000000 X21=0000000000000000 X22=0000000000000000
    X23=0000000000000000 X24=0000000000000000 X25=0000000000000000
    X26=0000000000000000 X27=0000000000000000 X28=0000000000000000
    X29=0000000000000000 X30=0000000000000000 SP=0000000000000000
    PSTATE=400003c5 -Z-- EL1h
    CPU Reset (CPU 7)
    PC=0000000000000000 X00=0000000000000000 X01=0000000000000000
    X02=0000000000000000 X03=0000000000000000 X04=0000000000000000
    X05=0000000000000000 X06=0000000000000000 X07=0000000000000000
    X08=0000000000000000 X09=0000000000000000 X10=0000000000000000
    X11=0000000000000000 X12=0000000000000000 X13=0000000000000000
    X14=0000000000000000 X15=0000000000000000 X16=0000000000000000
    X17=0000000000000000 X18=0000000000000000 X19=0000000000000000
    X20=0000000000000000 X21=0000000000000000 X22=0000000000000000
    X23=0000000000000000 X24=0000000000000000 X25=0000000000000000
    X26=0000000000000000 X27=0000000000000000 X28=0000000000000000
    X29=0000000000000000 X30=0000000000000000 SP=0000000000000000
    PSTATE=400003c5 -Z-- EL1h
    Exception return from AArch64 EL1 to AArch64 EL1 PC 0x423790d0
    Taking exception 1 [Undefined Instruction]
    ...from EL1 to EL1
    ...with ESR 0x0/0x2000000
    ...with ELR 0xffff800080027b20
    ...to EL1 PC 0xffff800080011200 PSTATE 0x3c5
    Here is my build image folder
    boot_ls2088ardb_lts_6.6.tgz
    core-image-minimal-ls2088ardb.rootfs-20240711074828.cpio.gz
    core-image-minimal-ls2088ardb.rootfs-20240711074828.cpio.gz.u-boot
    core-image-minimal-ls2088ardb.rootfs-20240711074828.manifest
    core-image-minimal-ls2088ardb.rootfs-20240711074828.spdx.tar.zst
    core-image-minimal-ls2088ardb.rootfs-20240711074828.tar.gz
    core-image-minimal-ls2088ardb.rootfs-20240711074828.testdata.json
    core-image-minimal-ls2088ardb.rootfs.cpio.gz->core-image-minimal-ls2088ardb.rootfs-20240711074828.cpio.gz
    core-image-minimal-ls2088ardb.rootfs.cpio.gz.u-boot->core-image-minimal-ls2088ardb.rootfs-20240711074828.cpio.gz.u-boot
    core-image-minimal-ls2088ardb.rootfs.manifest->core-image-minimal-ls2088ardb.rootfs-20240711074828.manifest
    core-image-minimal-ls2088ardb.rootfs.spdx.tar.zst->core-image-minimal-ls2088ardb.rootfs-20240711074828.spdx.tar.zst
    core-image-minimal-ls2088ardb.rootfs.tar.gz->core-image-minimal-ls2088ardb.rootfs-20240711074828.tar.gz
    core-image-minimal-ls2088ardb.rootfs.testdata.json->core-image-minimal-ls2088ardb.rootfs-20240711074828.testdata.json
    fitImage->fitImage--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.bin
    fitImage--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.bin
    fitImage-core-image-minimal-ls2088ardb.rootfs--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.bin
    fitImage-core-image-minimal-ls2088ardb.rootfs-ls2088ardb->fitImage-core-image-minimal-ls2088ardb.rootfs--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.bin
    fitImage-its--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.its
    fitImage-its-core-image-minimal-ls2088ardb.rootfs--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.its
    fitImage-its-core-image-minimal-ls2088ardb.rootfs-ls2088ardb->fitImage-its-core-image-minimal-ls2088ardb.rootfs--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.its
    fitImage-its-ls2088ardb->fitImage-its--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.its
    fitImage-linux.bin--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.bin
    fitImage-linux.bin-ls2088ardb->fitImage-linux.bin--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.bin
    fitImage-ls2088ardb.bin->fitImage--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.bin
    fsl-image-networking-ls2088ardb.rootfs-20240711074828.cpio.gz
    fsl-image-networking-ls2088ardb.rootfs-20240711074828.cpio.gz.u-boot
    fsl-image-networking-ls2088ardb.rootfs-20240711074828.ext4
    fsl-image-networking-ls2088ardb.rootfs-20240711074828.manifest
    fsl-image-networking-ls2088ardb.rootfs-20240711074828.spdx.tar.zst
    fsl-image-networking-ls2088ardb.rootfs-20240711074828.tar.gz
    fsl-image-networking-ls2088ardb.rootfs-20240711074828.testdata.json
    fsl-image-networking-ls2088ardb.rootfs.cpio.gz->fsl-image-networking-ls2088ardb.rootfs-20240711074828.cpio.gz
    fsl-image-networking-ls2088ardb.rootfs.cpio.gz.u-boot->fsl-image-networking-ls2088ardb.rootfs-20240711074828.cpio.gz.u-boot
    fsl-image-networking-ls2088ardb.rootfs.ext4->fsl-image-networking-ls2088ardb.rootfs-20240711074828.ext4
    fsl-image-networking-ls2088ardb.rootfs.manifest->fsl-image-networking-ls2088ardb.rootfs-20240711074828.manifest
    fsl-image-networking-ls2088ardb.rootfs.spdx.tar.zst->fsl-image-networking-ls2088ardb.rootfs-20240711074828.spdx.tar.zst
    fsl-image-networking-ls2088ardb.rootfs.tar.gz->fsl-image-networking-ls2088ardb.rootfs-20240711074828.tar.gz
    fsl-image-networking-ls2088ardb.rootfs.testdata.json->fsl-image-networking-ls2088ardb.rootfs-20240711074828.testdata.json
    fsl-ls2088a-qds--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.dtb->fsl-ls2088a-qds.dtb
    fsl-ls2088a-qds.dtb
    fsl-ls2088a-qds-ls2088ardb.dtb->fsl-ls2088a-qds.dtb
    fsl-ls2088a-rdb--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.dtb->fsl-ls2088a-rdb.dtb
    fsl-ls2088a-rdb.dtb
    fsl-ls2088a-rdb-ls2088ardb.dtb->fsl-ls2088a-rdb.dtb
    Image->Image--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.bin
    Image--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.bin
    Image-ls2088ardb.bin->Image--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.bin
    ls2088ardb_boot.scr
    modules--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.tgz
    modules-ls2088ardb.tgz->modules--6.6.23+git0+b586a52177-r0-ls2088ardb-20240711074828.tgz
    u-boot.bin->u-boot-tfa-2024.04++fslgit-r0.bin
    u-boot.bin-tfa->u-boot-tfa-2024.04++fslgit-r0.bin
    u-boot.bin-tfa-secure-boot->u-boot-tfa-secure-boot-2024.04++fslgit-r0.bin
    u-boot-ls2088ardb.bin->u-boot-tfa-2024.04++fslgit-r0.bin
    u-boot-ls2088ardb.bin-tfa->u-boot-tfa-2024.04++fslgit-r0.bin
    u-boot-ls2088ardb.bin-tfa-secure-boot->u-boot-tfa-secure-boot-2024.04++fslgit-r0.bin
    u-boot-qoriq-initial-env-ls2088ardb-tfa->u-boot-qoriq-initial-env-ls2088ardb-tfa-2024.04++fslgit-r0
    u-boot-qoriq-initial-env-ls2088ardb-tfa-2024.04++fslgit-r0
    u-boot-qoriq-initial-env-ls2088ardb-tfa-secure-boot->u-boot-qoriq-initial-env-ls2088ardb-tfa-secure-boot-2024.04++fslgit-r0
    u-boot-qoriq-initial-env-ls2088ardb-tfa-secure-boot-2024.04++fslgit-r0
    u-boot-qoriq-initial-env-tfa->u-boot-qoriq-initial-env-ls2088ardb-tfa-2024.04++fslgit-r0
    u-boot-qoriq-initial-env-tfa-secure-boot->u-boot-qoriq-initial-env-ls2088ardb-tfa-secure-boot-2024.04++fslgit-r0
    u-boot-tfa-2024.04++fslgit-r0.bin
    u-boot-tfa-secure-boot-2024.04++fslgit-r0.bin

 

Thanks

1 Reply

201 Views
yipingwang
NXP TechSupport
NXP TechSupport

You cannot emulate the device in a PC. This would need to create a new QEMU image that works with all the modules of the LS2088A and we do not have any image like that.

 

What I understood was to simulate an Arm OS with QEMU in the board and you can for sure do that.

0 Kudos
Reply