AnsweredAssumed Answered

boot up failed: Linux with HDMI video output on the ZED

Question asked by conbanwa on May 31, 2017
Latest reply on Jun 9, 2017 by larsc

Hi, I've do some work on boot up linux, in original tutorial there is no problem and I successfully boot up a clean Linux on zedboard, until my  boss ask me porting a XPS project(Linaro OS, HDMI output, custom IP mix together), I started to use vivado porting this project  Linux with HDMI video output on the ZED, ZC702 and ZC706 boards [Analog Devices Wiki] 

, bare metal test is fine. And I continue to build BOOT.bin by Vivado export hdf ( fsbl.elf, bitstream file, u-boot.bin all prepared), the devicetree.dtb also follow the guide above, uImage was cross-compiled with no error. 


  Everything in boot partition( FAT32 -preservered 4MB, this step I did so many times before so I guess might not go wrong)

: BOOT.bin, devicetree.dtb, uImage are all prepared. the filesystem also use the tutorial gaveLinaro Ubuntu ARM and also umcompress into EXT4 partition but I think here is the problem, later I will discuss.


Just now I power-up the zedboard, blue LED lights up(PL part no problem), and terminal shows **unable to read file uramdisk.image.gz, I search for this problem find out that I need to force u-boot dont boot this image from boot partition. 


So I modified the zynq-common.h file which in u-boot-xlnx/include/configs.  like this:

 "sdboot=echo Copying Linux from SD to RAM...;"  +                              "mmcinfo;"  +                              "fatload mmc 0 0x3000000 ${kernel_image};"  +                              "fatload mmc 0 0x2A00000 ${devicetree_image};"  +                              "bootm 0x3000000 - 0x2A00000" 

To avoid u-boot read the uramdisk.image.gz   then I re-compile the u-boot file and re-build the BOOT.bin.

now I got another error **Wrong image format for bootm command **   **can't get image!** .


So  I search this problem, some people said this is due to the linaro filesystem is too big from here

linux is not booting on the zedboard | Zedboard 

and this is the point:

 Something similar may be happening to you here, take a look at your RAMdisk image which advertises itself as 18046997 bytes (which is 0x1136015 bytes) long. Since you are loading this to 0x2000000 in memory, it occupies 0x2000000 to 0x3136015 (which is 0x2000000 + 0x1136015) which stomps over the top of your devicetree which you loaded to 0x2A00000 AND over your kernel which you loaded to 0x3000000.



so how I gonna do next?

and thanks for the patient for seeing this, My english is not so well, sorry!