cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Adventurer
Adventurer
243 Views
Registered: ‎07-24-2020

fatload address in zynqmp

Hello,

I am trying fatload images on the ZynqMP, however, I got to know that the uImage is deprecated for arm64.
So I want to know what is the equivalent of the below commands in ZynqMP,

  1. To produce kernel image with different load address, I used below command in Zynq, what is the equivalent command in zynqmp?

 

make ARCH=arm UIMAGE_LOADADDR=0x40008000 uImage

   2. How to change ramdisk load address and entry point address, Though I change these addresses but it is not reflecting. It is still pointing to 00000000 as shown below,  

$ mkimage -A arm64 -T ramdisk -C gzip -a 0x1000000000 -e 0x1000000000 -d rootfs.cpio.gz rootfs.cpio.gz.u-boot

Image Name:   
Created:      Mon Nov 23 12:49:42 2020
Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
Data Size:    117486849 Bytes = 114733.25 kB = 112.04 MB
Load Address: 00000000
Entry Point:  00000000

 

   3. I used the command below to fatload images manually, What is the fatload address address in ZynqMP?

 

fatload mmc 0 0x43000000 uImage && fatload mmc 0 0x42A00000 zynq-zed.dtb && fatload mmc 0 0x42000000 uarm_ramdisk.image.gz && bootm 0x43000000 0x42000000 0x42A00000

 

Any input will be gratefully received.

Regards,

Prasanna

 

0 Kudos
Reply
4 Replies
Moderator
Moderator
234 Views
Registered: ‎09-12-2007

Petalinux will generate a boot.scr file that handles the fatload and the bootm command. I assume you are not using Petalinux.

What branch are you using? Depending on the uboot branch you are using, the DTB will be expected to be loaded at 0x100000 for Zynq Ultrascale:

https://github.com/Xilinx/u-boot-xlnx/blob/xilinx-v2020.1/board/xilinx/common/board.c#L48

So, you need to keep this in mind.

With the uImage location, this would depend on how you created this in the mkimage, or fit image

 

0 Kudos
Reply
Adventurer
Adventurer
228 Views
Registered: ‎07-24-2020

Hi @stephenm ,

Thanks for your reply,

I am compiling kernel images from the Xilinx Git -2020.1. This is how I built the kernel image. 

git clone https://github.com/Xilinx/linux-xlnx.git

export ARCH=arm64

export CROSS_COMPILE=aarch64-linux-gnu-

make xilinx_zynqmp_defconfig

make ARCH=arm64 Image UIMAGE_LOADADDR=0x1000080000

  

For Rootfs:

mkimage -A arm64 -T ramdisk -C gzip -a 0x1000000000 -e 0x1000000000 -d rootfs.cpio.gz rootfs.cpio.gz.u-boot

 

I used to manually fatload these images in zynq without boot.scr, but now not sure how to do the same with zynqmp as nothing is working. It would be great if you could tell me what I am doing wrong here or am I missing something?

Regards,

Prasanna

0 Kudos
Reply
Moderator
Moderator
217 Views
Registered: ‎09-12-2007

0 Kudos
Reply
Adventurer
Adventurer
180 Views
Registered: ‎07-24-2020

Hi @stephenm ,

I followed the provided link to create these images, however, there is no information about load address and entry point address for ZynqMP. 

I tried below command to fatload but I am getting below error. tried multiple rootfs images and I set the rootfs to INITRD and INITRAMFS, in both cases the error remains the same.

 

 

fatload mmc 0 0x10000000 system.bit && fpga loadb 0 0x10000000 0x1500000 
load mmc 0 0x1400000 Image && load mmc 0 0x3000000  system.dtb && fatload mmc 0 0x6000000 rootfs.cpio.gz.u-boot && booti  0x1400000  0x6000000 0x3000000  

370115072 bytes read in 60357 ms (5.8 MiB/s)
48310 bytes read in 22 ms (2.1 MiB/s)
117486946 bytes read in 19171 ms (5.8 MiB/s)
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid

 

 

 

0 Kudos
Reply