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
Avnet Boards General U-boot machine ID
  • 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 7 replies
  • Subscribers 338 subscribers
  • Views 1282 views
  • Users 0 members are here
Related

U-boot machine ID

Former Member
Former Member over 12 years ago

Currently I am testing the zedboard's zynq chip for its potential use in future products.
One of its requirements is to run Windriver Linux, this is giving quite the problems.


After creating a new linux kernel, devicetree and rootfs, I use the xilinx U-Boot to launch this new kernel.


I can launch the original linuz that came with the board using this U-Boot. With my own kernel it gets stuck after 'booting the kernel'.


Now this isnt the most uncommon error and using low-level debugging I managed to extract the following onformation:
<6>Booting Linux on physical CPU 0
<6>Initializing cgroup subsys cpuset
<6>Initializing cgroup subsys cpu
<5>Linux version 3.4.34-rt40-WR5.0.1.0_preempt-rt (gcc version 4.6.3 (Wind River Linux Sourcery CodeBench 4.6a-99) ) #1 SMP PREEMPT RT Tue May 7 10:05:01 CEST 2013
<4>CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
<4>CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
<4>
<4>Error: unrecognized/unsupported machine ID (r1 = 0x1fb56824).
<4>
<4>Available machine support:
<4>
<4>ID (hex)tNAME
<4>fffffffftXilinx Zynq Platform
<4>
<4>Please check your kernel config and/or bootloader.



after a long struggle to find out the problem, it appears that U-Boot is not giving a correct machine ID (the r1) to the kernel.


So the zedlinux does not require this check? is that some sort of config that I can set in my own kernel as well?
I checked the machine ID that the U-Boot creates/finds using dbinfo.
This machine id is identical to the r1 of the error message.


In the xilinx U-boot repository the correct machine ID can be found in mach-types.h but this does not appear to be used by the zynq config. Is this perhaps the problem? Or can I create a new U-Boot that does contain the correct ID?

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

    Maybe this may not work for you but i'll post my solution.

    I use a uImage instead of a zImage that allows me to use the bootm command.
    (if you use Digilent linux or Xilinux you need to have the 'fixed_devtree' configuration in .config disabled. if this option is set, you start with 'go')

    you can use mkimage to convert the zImage to a uImage
    if you add "UIMAGE_LOADADDR=0x8000 uImage" to the make command.

    Besides making a uImage you need to load the uImage one a different address than the zImage because you will get more error if you do.

    instead of loading it at 0x8000, you load it 64 bytes before it at 0x79c0. so im my case (i use a NFS):

    tftp 0x79c0 uImage
    tftp 0x1000000 devicetree.dtb
    bootm 0x79c0 - 0x1000000

    this option works for me, feel free to try it yourself.

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

    Maybe this may not work for you but i'll post my solution.

    I use a uImage instead of a zImage that allows me to use the bootm command.
    (if you use Digilent linux or Xilinux you need to have the 'fixed_devtree' configuration in .config disabled. if this option is set, you start with 'go')

    you can use mkimage to convert the zImage to a uImage
    if you add "UIMAGE_LOADADDR=0x8000 uImage" to the make command.

    Besides making a uImage you need to load the uImage one a different address than the zImage because you will get more error if you do.

    instead of loading it at 0x8000, you load it 64 bytes before it at 0x79c0. so im my case (i use a NFS):

    tftp 0x79c0 uImage
    tftp 0x1000000 devicetree.dtb
    bootm 0x79c0 - 0x1000000

    this option works for me, feel free to try it yourself.

    • 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