Sorry, you need to enable JavaScript to visit this website.

linux is not booting on the zedboard

Solved
4 posts / 0 new
aditya's picture
aditya
Junior(0)
linux is not booting on the zedboard

Hi,
   I have done first partition of mine Zedbaord and given it name Boot and i copied following things here:-

BOOT.bin                 

uEnv.txt                        

devicetree.dtb      

uImage

uramdisk.image.gz     

 

Now i am trying to boot it from SD card but it is not happening and i am getting the following message. In this message i have highlighted the error message specially along with other relevant message that i have got in mine tty terminal.

 

U-Boot 2014.01 (Oct 08 2016 - 12:33:09)

 

I2C:   ready

Memory: ECC disabled

DRAM:  512 MiB

MMC:   zynq_sdhci: 0

SF: Detected S25FL256S_64K with page size 256 Bytes, erase size 64 KiB, total 32 MiB

*** Warning - bad CRC, using default environment

 

In:    serial

Out:   serial

Err:   serial

Net:   Gem.e000b000

Hit any key to stop autoboot:  3  2  1  0 

Device: zynq_sdhci

Manufacturer ID: 27

OEM: 5048

Name: SD04G

Tran Speed: 50000000

Rd Block Len: 512

SD version 3.0

High Capacity: Yes

Capacity: 3.7 GiB

Bus Width: 4-bit

reading uEnv.txt

226 bytes read in 7 ms (31.3 KiB/s)

Loaded environment from uEnv.txt

Importing environment from SD ...

Running uenvcmd ...

Device: zynq_sdhci

Manufacturer ID: 27

OEM: 5048

Name: SD04G

Tran Speed: 50000000

Rd Block Len: 512

SD version 3.0

High Capacity: Yes

Capacity: 3.7 GiB

Bus Width: 4-bit

reading uImage

4150864 bytes read in 399 ms (9.9 MiB/s)

reading devicetree.dtb

9275 bytes read in 16 ms (565.4 KiB/s)

reading uramdisk.image.gz

18047061 bytes read in 1698 ms (10.1 MiB/s)

Wrong Image Format for bootm command

ERROR: can't get kernel image!

Copying Linux from SD to RAM...

reading uImage

4150864 bytes read in 399 ms (9.9 MiB/s)

reading devicetree.dtb

9275 bytes read in 16 ms (565.4 KiB/s)

reading uramdisk.image.gz

18047061 bytes read in 1698 ms (10.1 MiB/s)

Wrong Image Format for bootm command

ERROR: can't get kernel image!

zynq-uboot> 

 

 

The content of mine uenv.txt file is as follows:-

 

boot_Zed=mmcinfo;fatload mmc 0 0x3000000 ${kernel_image}; fatload mmc 0 0x2A00000 ${devicetree_image}; fatload mmc 0 0x2000000 ${ramdisk_image}; bootm 0x3000000 0x2000000 0x2A00000

uenvcmd=run boot_Zed

 

I have created the ramdiskimage by following command:-

mkimage -A ARM -T ramdisk -C gzip -n 'ZED filesystem' -d ramdisk.image.gz uramdisk.image.gz

 

Upon execution of above command i got the following message:-

 

 

Image Name:   ZED filesystem

Created:      Mon Oct 24 10:40:13 2016

Image Type:   ARM Linux RAMDisk Image (gzip compressed)

Data Size:    18046997 Bytes = 17624.02 kB = 17.21 MB

Load Address: 00000000

Entry Point:  00000000

 

 

So based on mine above information please can u please tell/suggest me the solution of mine problem.

 

Regards

Aditya

 

 

 

 

zedhed's picture
zedhed
Moderator(25)
RE: linux is not booting on the zedboard

Hi Aditya,

I ran into similar problems when we started using larger RAMdisk images on ZedBoard. I found that my problem was related to copying files over the top of each other in memory when U-Boot is loading components from the SD card.

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.

Overwriting either the kernel and devicetree with over data would prevent you from successfully booting Linux. I suggest you go back and evaluate where these Linux components can be loaded into memory so that they do not overlap.

Another alternative to managing all of this on your own would be to switch over to using either Xilinx PetaLinux Tools or Wind River Pulsar Linux to help you get your design up and running faster.

Regards,

-Kevin

aditya's picture
aditya
Junior(0)
Hi Kevin,

Hi Kevin,
               First of all thanks for such a great reply as myself would have never figured it out as i am very new to such kind of Linux development environment on SoC boards. I will look into this and come back to u. The addresses that i am using,i  have got from http://architechboards-zedboard.readthedocs.org/en/latest/quick.html webpage and also this matches with U-boot/ zed_common.h file. So i thought that it is standard thing.
So what you told seems to me logical also. So i will change the addresses. I have total address 0x20000000 .So one thing that::-
 1- is it that , at each address only one byte is stored?????Why i am asking this because from some tutorials i got this thing(may be i understood wrong) that at each address two bytes(16 bit) are stored.
 2- So i will change accordingly in mine uenv.txt file ,  then do i also need to change something in mine U-boot/ zed_common.h(which basically contains the setenv variables definitions at the boot time).
lastely, Nice suggestion by you:- "Another alternative to managing all of this on your own would be to switch over to using either Xilinx PetaLinux Tools or Wind River Pulsar Linux to help you get your design up and running faster."
       But right now i am in not in a situation to jump into this. I have posted many questions on this forum and As you can see that i am on this work since last one and half months because i started following the webpage http://zedboard.org/product/wilink-8-adaptor which suggested to me to use http://architechboards-zedboard.readthedocs.org/en/latest/quick.html.That is why i could not use PetaLinux etc and now i have come very far.
Thanks you guys always guiding me and helping me all the time. As i have come so far, so let me try this the last hurdle also.
Please keep on guiding me.
Regards
Aditya
 
 
 

zedhed's picture
zedhed
Moderator(25)
RE: linux is not booting on the zedboard

Hi Aditya,

Unfortunately, it looks like the kernel crash arises due to some problem within drivers/clk/zynq/clkc.c which can be very difficult to track down.

One method to track this down is to undo all of your hardware platform and devicetree changes to get back to a known working point. Slowly adding pieces back in until it fails is usually one of the only ways to find out which setting can be causing issues resulting in the crash you reported.

Regards,

-Kevin