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?