cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
6,673 Views
Registered: ‎08-19-2009

unsupported machine ID during linux kernel boot on Zynq ZC702

I'm trying to boot U-boot/Linux/devicetree from source "Xilinx-14.2-build1-trd" on ZC702 but seeing an error with machine ID.

 

This is the output:

 

zynq-uboot> bootm 0x3000000 0x2000000 0x2a00000
## Booting kernel from Legacy Image at 03000000 ...
Image Name: Linux-3.3.0-14.2-build1-01491-g4
Created: 2014-04-08 21:12:02 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2319808 Bytes = 2.2 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
Image Name:
Created: 2014-04-08 21:40:23 UTC
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 2608513 Bytes = 2.5 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
Booting using the fdt blob at 0x2a00000
Loading Kernel Image ... OK
OK
Loading Ramdisk to 0f8f6000, end 0fb72d81 ... OK
Loading Device Tree to 00ffc000, end 00ffff83 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

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

Available machine support:

ID (hex) NAME
00000d32 Xilinx Zynq Platform
00000d0f Xilinx Zynq Platform
00000d32 Xilinx Zynq Platform
00000d0f Xilinx Zynq Platform
00000d0f Xilinx Zynq Platform

Please check your kernel config and/or bootloader.

 

 

 

What should I look at to diagnose this problem?

 

Thanks,

Alex

 

0 Kudos
6 Replies
Highlighted
Xilinx Employee
Xilinx Employee
6,670 Views
Registered: ‎03-13-2012

You seem to mix and match kernel, u-boot and DT. IIRC, we migrated to the bootm way of booting in 14.3. Previously, Linux was booted using go and slighlty different flow. You need to make sure U-Boot, DT and Kernel are in sync and for pre-14.3 releases the bootm flow does probably not work.

0 Kudos
Highlighted
Observer
Observer
6,658 Views
Registered: ‎08-19-2009

Where can I find documentation on the "go" command flow?

 

Also, if I'm running this on the ZC702, can I use the same FSBL from the current release files when JTAG booting?  Do I need to source a specific ps7_init.tcl file?

 

Thanks,

Alex

0 Kudos
Highlighted
Observer
Observer
6,653 Views
Registered: ‎08-19-2009

I started fresh with clean checkouts of "14.2-build1-trd" for both u-boot and the kernel

 

I built u-boot and kernel and created the device tree dtb file from /14.2-build1-trd/linux-xlnx/arch/arm/boot/dts/zynq-zc702.dts

 

During jtag boot, I'm using the FSBL and uramdisk from the 14.2 Release files.  Is this ok?

 

I still get the unsupported machine ID error.

 

- Alex

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
6,649 Views
Registered: ‎03-13-2012

Why are you working with those ancient sources. I think things would be a lot easier if you just used the recent sources and TRD versions.

 

If everything is coming from the same release tag, things should work. What is your boot command in U-Boot to start Linux? Did you go back to the method using 'go'?

0 Kudos
Highlighted
Observer
Observer
6,646 Views
Registered: ‎08-19-2009

I have a wifi radio that has a driver supporting up to a kernel version of 3.4.39.  I thought this would be an easy way to roll back to this version.  I'm open to other options?

 

In u-boot I'm using bootm 0x3000000 0x2000000 0x2a00000.  Do I need the 'go' method.  Where can I get documentation on how to use that command for booting?

 

Thanks,

Alex

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
6,642 Views
Registered: ‎03-13-2012

I don't recall the details and documentation seemed to have vanished. There are some pointers here http://www.wiki.xilinx.com/Zynq+Linux#x-Device%20Tree-Device%20Tree%20In%20Memory , but not too many details. IIRC, you'd have to load DT, ramdisk and zImage to fixed addresses in memory and the just hand of to the kernel by using U-Boot's 'go' command.

0 Kudos