element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
ZedBoard Hardware Design linux is not booting on the zedboard
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 6 replies
  • Subscribers 340 subscribers
  • Views 1449 views
  • Users 0 members are here
Related

linux is not booting on the zedboard

100aditya
100aditya over 9 years ago

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
 
 
    
 
    
 
    
 
  • Sign in to reply
  • Cancel
Parents
  • zedhed
    0 zedhed over 9 years ago

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • 100aditya
    0 100aditya over 9 years ago in reply to zedhed

    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

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
  • 100aditya
    0 100aditya over 9 years ago in reply to 100aditya

    Hi Kevin,

                Please see mine previous reply against your reply(if seen already it is ok and you can read this now). Then this is the uenv.txt file that have changed as per mine advertised address:-

    boot_Zed=mmcinfo;fatload mmc 0 0x3300000 ${kernel_image}; fatload mmc 0 0x3200000 ${devicetree_image}; fatload mmc 0 0x200000 ${ramdisk_image}; bootm 0x3300000 0x2000000 0x3200000

    uenvcmd=run boot_Zed

    1- So is it ok now??.

    2- Now also i have used printenv command to list the setenv variables which is as follows.Please have a quick look and suggest me if anything need to be modified here,since i am going to change mine uenv.txt file. But as per mine thinking since i am using uenv.txt file so in that case nothing need to be modified here.

    zynq-uboot> printenv

    baudrate=115200
    bitstream_image=system.bit.bin
    boot_image=BOOT.bin
    boot_size=0xF00000
    bootcmd=run $modeboot
    bootdelay=3
    bootenv=uEnv.txt
    devicetree_image=devicetree.dtb
    devicetree_size=0x20000
    ethact=Gem.e000b000
    ethaddr=00:0a:35:00:01:22
    fdt_high=0x20000000
    importbootenv=echo Importing environment from SD ...; env import -t ${loadbootenv_addr} $filesize
    initrd_high=0x20000000
    ipaddr=10.10.70.102
    jtagboot=echo TFTPing Linux to RAM... && tftpboot 0x3000000 ${kernel_image} && tftpboot 0x2A00000 ${devicetree_image} && tftpboot 0x2000000 ${ramdisk_image} && bootm 0x3000000 0x2000000 0x2A00000
    kernel_image=uImage
    kernel_size=0x500000
    loadbit_addr=0x100000
    loadbootenv=fatload mmc 0 ${loadbootenv_addr} ${bootenv}
    loadbootenv_addr=0x2000000
    mmc_loadbit_fat=echo Loading bitstream from SD/MMC/eMMC to RAM.. && mmcinfo && fatload mmc 0 ${loadbit_addr} ${bitstream_image} && fpga load 0 ${loadbit_addr} ${filesize}
    modeboot=sdboot
    nandboot=echo Copying Linux from NAND flash to RAM... && nand read 0x3000000 0x100000 ${kernel_size} && nand read 0x2A00000 0x600000 ${devicetree_size} && echo Copying ramdisk... && nand read 0x2000000 0x620000 ${ramdisk_size} && bootm 0x3000000 0x2000000 0x2A00000
    norboot=echo Copying Linux from NOR flash to RAM... && cp.b 0xE2100000 0x3000000 ${kernel_size} && cp.b 0xE2600000 0x2A00000 ${devicetree_size} && echo Copying ramdisk... && cp.b 0xE2620000 0x2000000 ${ramdisk_size} && bootm 0x3000000 0x2000000 0x2A00000
    qspiboot=echo Copying Linux from QSPI flash to RAM... && sf probe 0 0 0 && sf read 0x3000000 0x100000 ${kernel_size} && sf read 0x2A00000 0x600000 ${devicetree_size} && echo Copying ramdisk... && sf read 0x2000000 0x620000 ${ramdisk_size} && bootm 0x3000000 0x2000000 0x2A00000
    ramdisk_image=uramdisk.image.gz
    ramdisk_size=0x5E0000
    rsa_jtagboot=echo TFTPing Image to RAM... && tftpboot 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm 0x3000000 0x2000000 0x2A00000
    rsa_nandboot=echo Copying Image from NAND flash to RAM... && nand read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm 0x3000000 0x2000000 0x2A00000
    rsa_norboot=echo Copying Image from NOR flash to RAM... && cp.b 0xE2100000 0x100000 ${boot_size} && zynqrsa 0x100000 && bootm 0x3000000 0x2000000 0x2A00000
    rsa_qspiboot=echo Copying Image from QSPI flash to RAM... && sf probe 0 0 0 && sf read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm 0x3000000 0x2000000 0x2A00000
    rsa_sdboot=echo Copying Image from SD to RAM... && fatload mmc 0 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm 0x3000000 0x2000000 0x2A00000
    sdboot=if mmcinfo; then run uenvboot; echo Copying Linux from SD to RAM... && fatload mmc 0 0x3000000 ${kernel_image} && fatload mmc 0 0x2A00000 ${devicetree_image} && fatload mmc 0 0x2000000 ${ramdisk_image} && bootm 0x3000000 0x2000000 0x2A00000; fi
    serverip=10.10.70.101
    stderr=serial
    stdin=serial
    stdout=serial
    uenvboot=if run loadbootenv; then echo Loaded environment from ${bootenv}; run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd ...; run uenvcmd; fi
    usbboot=if usb start; then run uenvboot; echo Copying Linux from USB to RAM... && fatload usb 0 0x3000000 ${kernel_image} && fatload usb 0 0x2A00000 ${devicetree_image} && fatload usb 0 0x2000000 ${ramdisk_image} && bootm 0x3000000 0x2000000 0x2A00000; fi
     
    Please suggest me.
     
    Regards
    Aditya
     
     
     
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • 100aditya
    0 100aditya over 9 years ago in reply to 100aditya

    Hi Kevin,

                Please see mine previous reply against your reply(if seen already it is ok and you can read this now). Then this is the uenv.txt file that have changed as per mine advertised address:-

    boot_Zed=mmcinfo;fatload mmc 0 0x3300000 ${kernel_image}; fatload mmc 0 0x3200000 ${devicetree_image}; fatload mmc 0 0x200000 ${ramdisk_image}; bootm 0x3300000 0x2000000 0x3200000

    uenvcmd=run boot_Zed

    1- So is it ok now??.

    2- Now also i have used printenv command to list the setenv variables which is as follows.Please have a quick look and suggest me if anything need to be modified here,since i am going to change mine uenv.txt file. But as per mine thinking since i am using uenv.txt file so in that case nothing need to be modified here.

    zynq-uboot> printenv

    baudrate=115200
    bitstream_image=system.bit.bin
    boot_image=BOOT.bin
    boot_size=0xF00000
    bootcmd=run $modeboot
    bootdelay=3
    bootenv=uEnv.txt
    devicetree_image=devicetree.dtb
    devicetree_size=0x20000
    ethact=Gem.e000b000
    ethaddr=00:0a:35:00:01:22
    fdt_high=0x20000000
    importbootenv=echo Importing environment from SD ...; env import -t ${loadbootenv_addr} $filesize
    initrd_high=0x20000000
    ipaddr=10.10.70.102
    jtagboot=echo TFTPing Linux to RAM... && tftpboot 0x3000000 ${kernel_image} && tftpboot 0x2A00000 ${devicetree_image} && tftpboot 0x2000000 ${ramdisk_image} && bootm 0x3000000 0x2000000 0x2A00000
    kernel_image=uImage
    kernel_size=0x500000
    loadbit_addr=0x100000
    loadbootenv=fatload mmc 0 ${loadbootenv_addr} ${bootenv}
    loadbootenv_addr=0x2000000
    mmc_loadbit_fat=echo Loading bitstream from SD/MMC/eMMC to RAM.. && mmcinfo && fatload mmc 0 ${loadbit_addr} ${bitstream_image} && fpga load 0 ${loadbit_addr} ${filesize}
    modeboot=sdboot
    nandboot=echo Copying Linux from NAND flash to RAM... && nand read 0x3000000 0x100000 ${kernel_size} && nand read 0x2A00000 0x600000 ${devicetree_size} && echo Copying ramdisk... && nand read 0x2000000 0x620000 ${ramdisk_size} && bootm 0x3000000 0x2000000 0x2A00000
    norboot=echo Copying Linux from NOR flash to RAM... && cp.b 0xE2100000 0x3000000 ${kernel_size} && cp.b 0xE2600000 0x2A00000 ${devicetree_size} && echo Copying ramdisk... && cp.b 0xE2620000 0x2000000 ${ramdisk_size} && bootm 0x3000000 0x2000000 0x2A00000
    qspiboot=echo Copying Linux from QSPI flash to RAM... && sf probe 0 0 0 && sf read 0x3000000 0x100000 ${kernel_size} && sf read 0x2A00000 0x600000 ${devicetree_size} && echo Copying ramdisk... && sf read 0x2000000 0x620000 ${ramdisk_size} && bootm 0x3000000 0x2000000 0x2A00000
    ramdisk_image=uramdisk.image.gz
    ramdisk_size=0x5E0000
    rsa_jtagboot=echo TFTPing Image to RAM... && tftpboot 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm 0x3000000 0x2000000 0x2A00000
    rsa_nandboot=echo Copying Image from NAND flash to RAM... && nand read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm 0x3000000 0x2000000 0x2A00000
    rsa_norboot=echo Copying Image from NOR flash to RAM... && cp.b 0xE2100000 0x100000 ${boot_size} && zynqrsa 0x100000 && bootm 0x3000000 0x2000000 0x2A00000
    rsa_qspiboot=echo Copying Image from QSPI flash to RAM... && sf probe 0 0 0 && sf read 0x100000 0x0 ${boot_size} && zynqrsa 0x100000 && bootm 0x3000000 0x2000000 0x2A00000
    rsa_sdboot=echo Copying Image from SD to RAM... && fatload mmc 0 0x100000 ${boot_image} && zynqrsa 0x100000 && bootm 0x3000000 0x2000000 0x2A00000
    sdboot=if mmcinfo; then run uenvboot; echo Copying Linux from SD to RAM... && fatload mmc 0 0x3000000 ${kernel_image} && fatload mmc 0 0x2A00000 ${devicetree_image} && fatload mmc 0 0x2000000 ${ramdisk_image} && bootm 0x3000000 0x2000000 0x2A00000; fi
    serverip=10.10.70.101
    stderr=serial
    stdin=serial
    stdout=serial
    uenvboot=if run loadbootenv; then echo Loaded environment from ${bootenv}; run importbootenv; fi; if test -n $uenvcmd; then echo Running uenvcmd ...; run uenvcmd; fi
    usbboot=if usb start; then run uenvboot; echo Copying Linux from USB to RAM... && fatload usb 0 0x3000000 ${kernel_image} && fatload usb 0 0x2A00000 ${devicetree_image} && fatload usb 0 0x2000000 ${ramdisk_image} && bootm 0x3000000 0x2000000 0x2A00000; fi
     
    Please suggest me.
     
    Regards
    Aditya
     
     
     
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube