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 u-boot & kernel for microZed board
  • 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 8 replies
  • Subscribers 329 subscribers
  • Views 561 views
  • Users 0 members are here
Related

u-boot & kernel for microZed board

Former Member
Former Member over 11 years ago

Can somebody please tell me what configuration to use to create a compatible u-boot & kernel for the microZed board.  When I compile the xilinx-14.3-build2-trd tagged u-boot & kernel, and attempt to boot it, I get the following error:


Error: unrecognized/unsupported machine ID (r1 = 0x1fb6ad84).


Alternatively, could somebody please post instructions for recreating the default factory image from scratch.

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

    I configured u-boot with zynq_zed_config and the kernel with xilinx_zynq_defconfig.

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

    Hi wpd,

    The U-Boot shipped on the QSPI is based upon the xilinx-v14.5 release tag using the zynq_zed_config configuration.  The Linux kernel shipped on the QSPI is using the xilinx-v14.5 release tag using the xilinx_zynq_defconfig kernel configuration. 

    Sorry that we have not published instructions for recreating this yet, but this should get you pointed in the right direction.

    When building the kernel, make sure you are creating the U-Boot header wrapped uImage target.  At build time, you would use the following command to do this:

    make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage

    Then use the uImage output under arch/arm/boot/ instead of the zImage.

    Regards,

    -Kevin

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

    That should get me moving back in the forward direction on Monday.

    --wpd

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

    Thank you (again) for you help.  I built the xilinx-v14.5 versions of u-boot & the kernel.  When I tried booting this, I got:


    Controller never released inhibit bit(s).
    ** Bad device mmc 0 **


    The Google directed me at http://www.wiki.xilinx.com/Zynq+14.5+-+2013.1+Release, which told me that this is a known problem with the 14.5 release and 4GB SDCards.  (Ironically, the microZED ships with a 4GB SDCard).  Fortunately, that page also directed me at a version of U-Boot that doesn't have this issue.  I can confirm that when I built U-Boot from commit f12f87e205d5cd1c75a0d93770de54ffb8b14343, I was able to boot to the point that my ramdisk.image.gz.  At that point, I decided to just grab the uramdisk.image.gz from the 14.5 release page, twiddle the bootargs in my devicetree blob (again with some help from the Google), and I can now boot to a prompt.


    Yay!


    I still a request and a question...



    First the request: Please direct me at the source code for the U-Boot binary that is shipped on the microZed board.  It is not built from the 14.5 sources -- when it boots, the banner shows:


    U-Boot 2013.01-dirty (Jun 14 2013 - 16:25:48)


    The "dirty" part indicates it was not built from a specific git commit.  Even though I now have a U-Boot I can build from source, I feel I need to push on this.  Under the terms of the GPL, Avnet cannot distribute a binary version of U-Boot without also making the source code available.  IANAL, but I'm happy with making the source code available in the form of a git commit hash (and, of course, access to a repository containing that commit).


    And now for the question... I notice that the kernel shipped on the microZed board has 5 MTD partitions (whereas the 14.5 kernel I built has none).  I have managed to find that those 5 partitions are defined in the devicetree blob.  Can you tell me how those partitions got defined in the devicetree blob?  Did you edit the .dts text file by hand, or were they generated with some sort of .dts generator?  In either case, where can I find more documentation about the .dts file syntax and tools for manipulating .dts files?



    Finally, I find this web interface to a barrier to participation in the microZed community -- I can't even preview a comment I write without having to enter a Capcha code.  I can't track new discussions without compulsively viewing a web page (a polling approach vs. an interrupt driven email based approach).  If I am missing something, please tell me.  I would like to be able to participate in and perhaps even contribute to this community, but these barriers are going to drive me nuts, and are likely to drive me (and perhaps others) away.

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

    Hi Patric, it seems they do not take GPL compliance seriously - I did not get any response to http://zedboard.com/content/gpl-compliance . I understand it is not the same as the case of Linksys or others who included the GPL-ed software in their proprietary systems without disclosing the code, with Microzed it is more likely to be just considered an unimportant issue.

    BTW as you have the same board as we do you may try alternative booting of the board that is GPL-compliant and has all the source posted. It is available either as a standalone
    http://sourceforge.net/p/elphel/ezynq
    or as an OE meta:
    http://sourceforge.net/p/elphel/meta-ezynq

    Andrey

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

    Hello Andrey,
    Thank you for your reply.  I am hoping that you are right -- that Avnet is not taking the GPL seriously enough make adherence to it a priority (as opposed to a more sinister reason).  That's a shame, since I think the Zynq is a game changer, and if they were to gain the support of a critical mass of Open Source advocates, nothing would be able to touch it.

    In this case, I think that Avnet has not realized that they _MUST_, under the terms of the GPL, make the source code available.  Right now, all I can do is pester them for it.  After a while I will give up and move away from this (difficult for me to use) forum in favor of greener pastures.

    Thanks for the pointers to the elphel & OE Meta data.  I had found the Elphel project over the course of this past week.  I expect I will need to switch over it pretty soon.

    --wpd

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

    Hi wpd,

    I too ran into this error but I do not see it happen on every microSD card that I use.

    Controller never released inhibit bit(s).
    ** Bad device mmc 0 **

    Thank you for pointing out that this is a known issue, it seems like if this is a known issue it might be best if we migrate to a later release tag (perhaps 2013.3) soon.  Do you have any opinion on this?

    To respond to your other concerns, if you take a look at this release table here, you can see that the 14.5 releases are synonymous with the 2013.1 releases since one is XPS tool based and the other is Vivado tool based and Xilinx timed the releases to go together rather than pollute with more release tags than is necessary to support both releases simultaneously:

    http://www.wiki.xilinx.com/Zynq+Releases

    Based upon that information, that is how I would explain that the 14.5 based U-Boot distributed with MicroZed really is derived from the 14.5 release tag (even though U-Boot shows that it is a 2013.1 based build).

    Please see this other post here where I explain the modification that was made to U-Boot to support slightly different default environment settings:

    http://www.microzed.org/content/u-boot-wont-boot

    That is the explanation for the dirty tag that you see on the binary.

    As for the MTD partitions, this is somewhat documented in the Reference Design/Tutorial entitled "Open Source Linux In System QSPI Programming Tutorial" found on this page here:

    http://www.microzed.org/design/1519/10

    As for the MTD definitions, yes they are defined in the device tree as you have identified but those partitions were defined manually in the device tree source.  Supposedly there exists a device tree generator but I do not make use of the device tree generator as I prefer to make edits to the device tree manually.  If someone does figure out how to use the device tree generator successfully, it would be great to have your findings posted back to the community.

    As far as device tree documentation, this is covered very briefly in our "Implementing Linux on the Zynq-7000 SoC" found on this page here:

    http://www.microzed.org/support/trainings-and-videos

    I myself would like to see a more comprehensive guide to using the device tree, including some examples and how they relate to the various entries.  Some of our community members have uncovered some great material over at Xillybus already:

    http://xillybus.com/tutorials/device-tree-zynq-1

    Sorry about your experience with the forum interface.  I am not a fan of the captchas either but they are a better alternative to the pages of SPAM-bot advertisements we used to have to constantly scrub from the forum pages.  There should be a way to subscribe to a forum topic so that you get updates on new responses.  I will pass your concerns along to our web developers.

    Regards,

    -Kevin

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

    As a note on tracking or following new or existing discussions on the forum:

     

    If you would like to be notified when a comment has been added to an existing discussion you can go click on the 'Subscribe' link below the initial post and set up a notification each time a comment is added to that discussion. You will need to do this individually for each discussion you would like to follow.

     

    If you would like a notification when a new topic is posted you can use the RSS feed. From http://www.microzed.org/forums/zed-english-forum, click on the  RSS icon which takes you to http://www.zedboard.org/forum/eng/rss.  There you can select your notification option. I just checked to verify this option and it worked with the Firefox browser. There were some issues with Chrome and IE that I will check into.

     

    -Gary  

    • 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