element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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 Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • 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
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • 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 Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Software Application Development Booting kernel 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 Verified Answer
  • Replies 7 replies
  • Subscribers 329 subscribers
  • Views 1070 views
  • Users 0 members are here
Related

Booting kernel from sd card

Former Member
Former Member over 9 years ago

Hi,

 

i 'am trying to build a sd card with Linaro from scratch. I have been to able to generate my boot.bin with first stage bootloader, bitstream and u-boot (from xilinx repository). I also have compiled my kernel (lastest version in xilinx repository) compiled the devi-tree file supplied with the kernel and setup my uEnv.txt with bootargs and bootcmd.

U-boot can load the kernel and boot it, but as soon as the kernel tries to mount a filessystem from sd card it crashed with the following message :

 

VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
0100           16384 ram0  (driver?)
0101           16384 ram1  (driver?)
mmcblk0: mmc0:aaaa SL08G 7.40 GiB
 mmcblk0: p1 p2
0102           16384 ram2  (driver?)
0103           16384 ram3  (driver?)
0104           16384 ram4  (driver?)
0105           16384 ram5  (driver?)
0106           16384 ram6  (driver?)
0107           16384 ram7  (driver?)
0108           16384 ram8  (driver?)
0109           16384 ram9  (driver?)
010a           16384 ram10  (driver?)
010b           16384 ram11  (driver?)
010c           16384 ram12  (driver?)
010d           16384 ram13  (driver?)
010e           16384 ram14  (driver?)
010f           16384 ram15  (driver?)
1f00            1024 mtdblock0  (driver?)
1f01            5120 mtdblock1  (driver?)
1f02             128 mtdblock2  (driver?)
1f03            6016 mtdblock3  (driver?)
1f04            4096 mtdblock4  (driver?)
b300         7761920 mmcblk0  driver: mmcblk
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

 

 

I first suspected that the default device tree config for zedboard does not have a correct clock configuration for the sdhc peripheral. But adding clokc frequency to the dts file did not work. Any idea of what i'am doing wrong ?

Thanks

  • Sign in to reply
  • Cancel
  • Former Member
    0 Former Member over 9 years ago

    It looks like the kernel doesn't have a valid path for the root file system, hence it is correctly complaining that it cannot open a null location for this.   Did you set this up in the device tree, or pass the boot parameters from u-boot?  Either way, something appears to be  wrong with what you specified, and that's where I would start looking.  

    The ADI wiki has some good information on booting Zynq devices with the Linaro kernel - you might want to check that out for some examples on how they do it:

    https://wiki.analog.com/resources/tools-software/linux-drivers/platforms/zynq

    Ron

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

    I pass the kernel args using u-boot and it correctly appear in the kernel boot log. I haven't tried passing the bootargs in device-tree.

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

    I made some progress by doing the following :

    - choosing the right kernel for my vivado distribution

    - configuring bootargs straight into the kernel (at compile time)

    - using root=b302 instead of using root=/dev/mmcblk0p2

     

    since then the error changed a bit but still no boot for now :

    VFS: Cannot open root device "b302" or unknown-block(179,2): error -6

     

     

    any idea ?

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

    Why did you wrote root="b302"? root=/dev/mmcblk0p2 was ok if you want to boot from second partition of SD card.

    And I might be wrong, but I don't see any connection between Vivado ditribution and kernel version.

    Also compiling bootargs into kernel does not seem like good idea, because you may want to boot fro example from NFS in the future, and you would have to boot kernel again in this case.

    It would be easier to help if you provide your uEnv file and fragment of device-tree with boot args.

    And I assume, while building u-boot you followed this instruction: http://www.wiki.xilinx.com/Build+U-Boot especially

    make zynq_zed_config

    ?

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

    I have tried to put root=/dev/mmcblk0p2 and used the zynq-zed device tree configuration, and this is what i have :

     

    VFS: Cannot open root device "mmcblk0p2" or unknown-block(0,0): error -6        
    Please append a correct "root=" boot option; here are the available partitions:
    mmc0: new high speed SDHC card at address aaaa                                  
    mmcblk0: mmc0:aaaa SL08G 7.40 GiB                                               
     mmcblk0: p1 p2                                                                 
    1f00            1024 mtdblock0  (driver?)                                       
    1f01            5120 mtdblock1  (driver?)                                       
    1f02             128 mtdblock2  (driver?)                                       
    1f03            6016 mtdblock3  (driver?)                                       
    1f04            4096 mtdblock4  (driver?)                                       
    b300         7761920 mmcblk0  driver: mmcblk                                    
      b301           16033 mmcblk0p1 00000000-01                                    
      b302         7745855 mmcblk0p2 00000000-02 

     

    I am not sure but it seems to indicate that the sd card is detected after the kernel tried to mount the filesystem ...

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

    Found the bug ... its me. i had a typo in my bootargs which would prevent the kernel to parse it. Now it works fine.

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

    can you show your working bootargs line? 

    • 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