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
Avnet Boards General Zedboard does not boot the Linux from SD-card
  • 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 Not Answered
  • Replies 15 replies
  • Subscribers 355 subscribers
  • Views 3580 views
  • Users 0 members are here
Related

Zedboard does not boot the Linux from SD-card

100jade
100jade over 9 years ago

Hello,

my Zedboard does not boot the Linux from the SD-card. It just loads U-Boot and prompts "zed-boot". I have to call "boot" to load Linux. As far as I can tell the jumpers are set correct.

JP7 is on SIG/GND
JP8 is on SIG/GND
JP9 is on 3V3/SIG
JP10 is on 3V3/GND
JP11 is on SIG/GND

JP18 is on 2V5

I have a jumper on JP6

Though I think my board is missing one jumper. On many pictures I see boards that have jumper on the inner pin of JP3.

What is the problem here?

Is it necessary to have the PC connected via UART/JTAG to boot Linux?

Best
Jan

  • Sign in to reply
  • Cancel
  • jafoste4
    0 jafoste4 over 9 years ago

    Hello Jade,

    Based on the setup you provided, you are in SD boot, so that should not be a problem. As far at the JP3 jumper, on my setup goes, I do not have any jumper either so that should not be an issue as well. You do not need to have the PC connect via JTAG to do a SD boot of Linux. However I would suggest you plug your PC into the UART micro USB connection on Zedboard so you can monitor what is going on via a terminal program.

    My questions for you are which linux are you running? Are you running the preloaded linux image that we preload into the sdcard that comes with your Zedboard? Or is it a petalinux/pulsar Linux of some sort? Also try running through the "Zedboard Getting Started Guide" to see if you missed anythign during your setup process.

    http://zedboard.org/support/documentation/1521

    --Josh

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

    Hi Josh,

    thank your for your answer. Regarding your question: I use the preloaded Linux image that comes with the Zedboard. I'm currently reading the Getting Started Guide.

    There is more strange behavior with my board. I use Ubuntu 16.04 LTS on my workstation. I chose that distro/version because it is officially supported by Xilinx for Vivado. I also installed the cable drivers. Still I can not use /dev/ttyUSB0 to connect to the board via UART. I can only use /dev/ttyACM0. Though /dev/ttyUSB0 does exist and I can connect, but there is no output from the board. Connecting with /dev/ttyACM0 always ends up at the zed-boot prompt where I have to run "boot" to load Linux.

    My guess is that I have more than one problem here. Is it possible that U-Boot is not correctly configured on my board? Can you tell me what I can do to configue U-Boot such that it automatically loads Linux?

    What can I do or check regarding the USB problem?

    Best
    Jan

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

    Hi Josh,

    I think the U-Boot configuration that came with my board is not correct. I managed to build and install my own FSBL/U-Boot/Linux using Yocto (Krogoth). It automatically boots the Linux after 3 seconds.

    Best
    Jan

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

    Hello,

    regarding the ttyUSB0/ttyACM0 problem: I think my expectation was wrong here. The board works correct. The ttyUSB0 seems to be reserved for JTAG. I was used to another board where I can use ttyUSB0 for UART.

    Best
    Jan

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

    Hi! Jan,

    I'm in the same situation. I've tried the demos card, the official linux release and I have to write "boot" at the u-boot prompt. I've created a Yocto 2.2 OS, but I'm having the same problem.

    I've created the sd with 2 partition, in the fat 16 I copied boot.bin, uImage, devtree.dtb the uEnv.txt, I decompressed the linux files into second partition, but no way.  Always the same situation that I have to connect in uart to the board and write "boot" in the prompt

     Did you make a special uboot configuration into yocto configuration files?

    Many thanks in advance

    Giuseppe

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

    Hi Giuseppe,

    I think it is still no working correctly for me as well. I definitely saw it booting automatically. Though on the next say it stopped in u-boot again. Can you try to boot to Linux, execute "poweroff" and then press the reset button? Does it boot directly to Linux then? I think that worked for me. I can not check right now myself.

    I love to figure this out. Maybe we can share the effort. My hunch is that there is something wrong in the uEnv.txt.

    Here is mine:

     

    kernel_image=uImage
    devicetree_image=uImage-zynq-zed.dtb
    bootargs=console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait earlyprintk
    uenvcmd=echo Copying Linux from SD to RAM... && fatload mmc 0 0x3000000 ${kernel_image} && fatload mmc 0 0x2A00000 ${devicetree_image} && bootm 0x3000000 - 0x2A00000

     

    Does yours look the same?

    Best regards
    Jan

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

    Hi Jan!

    I'm glad to share the effort with you!

    I the poweroff command is not working for me, so I tried init 0 and after resetting the system reboot normally.

    I have the same uEnv.txt, I thought like you, but after I understood that the uEnv.txt is correct because if you write a command that can't understand It start a bootloop. If you pay attention after writing boot and hit enter, in your uart terminal should appear something like this:

         boot                                                              hit enter
         Device: sdhci@e0100000
         Manufacturer ID: 3
         ------------------------------

         Capacity: 29.7 GiB                                    read the SD card
         Bus Width: 4-bit
         Erase Group Size: 512 Bytes
         reading uEnv.txt                                                                                   read the file
         312 bytes read in 10 ms (30.3 KiB/s)
         Loaded environment from uEnv.txt
         Importing environment from SD ...
         Running uenvcmd ...                                                                                   
    launch the command
         Copying Linux from SD to RAM...
         reading uImage

         3511392 bytes read in 311 ms (10.8 MiB/s)
         reading uImage-zynq-zed.dtb                                                                   read the device tree
         9513 bytes read in 19 ms (488.3 KiB/s)
         ## Booting kernel from Legacy Image at 03000000 ...
          Image Name:   Linux-4.4.0-xilinx
          Image Type:   ARM Linux Kernel Image (uncompressed)
          Data Size:    3511328 Bytes = 3.3 MiB
          Load Address: 00008000
          Entry Point:  00008000
          Verifying Checksum ... OK
         ## Flattened Device Tree blob at 02a00000
          Booting using the fdt blob at 0x2a00000
          Loading Kernel Image ... OK
          Loading Device Tree to 1f313000, end 1f318528 ... OK
         Starting kernel ...
         [    0.000000] Booting Linux on physical CPU 0x0
         --------------------------------------------------------------------------

    And then follow the boot

    So I think If your situation is like this, It read the uEnv.txt. I think the problem is the boot.bin file that stops to u-boot prompt and doesn't follow the boot process, like in the demo SD card made by Digilent or Xilinx.

    Today I'm trying to do new yocto builds.

    Best regards

    Giuseppe

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

    Hi Jan,

    Glad to share the effort with you!

    I have tried the command poweroff, and doesn't work. I used init 0 instead, and after resetting, it works like in your case.

    I think the uEnv.txt is correct, It is the same I use. I think it's correct because It is loaded after to write boot and hit enter.

    If you pay attention to the first lines after hit enter, It is loaded like on my board, as follows:

    boot
    Device: sdhci@e0100000
    Manufacturer ID: 3
    ------------------------------
    Capacity: 29.7 GiB                                       read the SD
    Bus Width: 4-bit
    Erase Group Size: 512 Bytes
     
    reading uEnv.txt                                         read the File uEnv.txt
    312 bytes read in 10 ms (30.3 KiB/s)
    Loaded environment from uEnv.txt
    Importing environment from SD ...
    Running uenvcmd ...
    Copying Linux from SD to RAM...
    reading uImage                                           read the kernel  
    3511392 bytes read in 311 ms (10.8 MiB/s)
    reading uImage-zynq-zed.dtb                              read the device tree
    9513 bytes read in 19 ms (488.3 KiB/s)
    ## Booting kernel from Legacy Image at 03000000 ...
       Image Name:   Linux-4.4.0-xilinx
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    3511328 Bytes = 3.3 MiB
       Load Address: 00008000
       Entry Point:  00008000
       Verifying Checksum ... OK
    ## Flattened Device Tree blob at 02a00000
       Booting using the fdt blob at 0x2a00000
       Loading Kernel Image ... OK
       Loading Device Tree to 1f313000, end 1f318528 ... OK
    Starting kernel ...
    [    0.000000] Booting Linux on physical CPU 0x0
    --------------------------------------------------------------------------
     
    And follows to boot...
     
    I think the problem is the generation of the boot.bin, During the file system generation in yocto probably a layer o a configuration to create the right boot is missing.
     
    Best Regards
    Giuseppe 
     
    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • 100jade
    0 100jade over 9 years ago in reply to gicgatv

    Hi Giuseppe,

    ok ... but I saw the same behavior with the Linux that is installed on the SD card that came with the board. I don't know how that distro was created. Is it Yocto-based?

    Maybe something makes U-Boot halt during the 3 second bootdelay. When using minicom there are sometimes erroneous symbols printed in the terminal. I didn't pay much attention but could that cause U-Boot to halt? I wonder if booting works "better" with a shorter or no bootdelay. I can not try myself as I am on a business trip until Saturday.

    Best
    Jan

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

    Hi Jan,

    I don't know if the U-Boot works better with a shorter bootdelay.

    In my last experiment I understood that the boot created by yocto, needs to rename files that generate. It expects the following files:

    fpga.bin

    system.dtb

    uImage

    Before renaming the file uImage-<machine name>.dtb  generated by Yocto, It was doing the same commented by you, It was stopping, printing strange characters and then you have the prompt available to write "boot" and then boot.

    I renamed my uImage-zynq-zed.dtb into system.dtb and It follows to boot enveif it stops reading Kernel :( My log is following:

    U-Boot SPL 2016.01 (Nov 17 2016 - 20:02:30)
    mmc boot
    Trying to boot from MMC
    reading fpga.bin
    spl_load_image_fat: error reading image fpga.bin, err - -1
    spl: error reading image fpga.bin, err - 1
    reading system.dtb
    reading uImage
    reading uImage

    Here It stops and do not follows the boot, And I can't write "boot"

    I'm trying to have a look to the kernel part. Do you have an Idea about that? 

    What about yor Delay experiment? Regards

    Giuseppe

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
>
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