Thread (6 messages) flat view 6 messages, 3 authors, 2012-06-15

Converting kirkwood-goflexnet to DTS

From: Thomas Petazzoni <hidden>
Date: 2012-06-15 08:41:40

Hello,

Le Fri, 15 Jun 2012 00:53:45 -0400,
Josh Coombs [off-list ref] a ?crit :
quoted
Uncompressing Linux... done, booting the kernel.

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

Available machine support:

ID (hex) ? ? ? ?NAME
ffffffff ? ? ? ?Marvell Kirkwood (Flattened Device Tree)

Please check your kernel config and/or bootloader.
--------------------------
I'm still stuck with the same error.  I'm working against 5.2rc2 with
the Orion/kirkwood printk.c patch.

I'm not 100% on proper etiquette here so rather than spam first and
get scolded, I've pastebined the relevant info.

My current patchset is here: http://pastie.org/4090298
The stripped kernel conf I'm using is here: http://pastie.org/4090323

I'm including all but the iconnect flattened tree board types in my
config, included DTS early testing, and am appending the DTS
definitions to the end of the kernel as I don't expect my uboot to
play nice, so I'm rather surprised to not see any of the boards show
up as supported with that boot error.  I feel like this has got to be
a kernel conf issue, or I'm missing a step in preparing a DTS based
kernel.

I also know my board definition will need cleanup to support both the
GoFlex Net and Home but went this way just to test the concept first.
Seems like your kernel isn't seeing the appended DTB, and therefore
falls back at looking at r1 for a machine ID. Can you detail the
command line you're using to build your kernel?

What I'm doing is:

 1) Build the zImage

 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j4

 2) Build the DTB

 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- armada-xp-db.dtb

 3) Concatenate zImage+DTB

 arch/arm/boot/zImage arch/arm/boot/armada-xp-db.dtb  > zImage-armada-xp.dtb

 4) Run mkimage on it

 /bin/bash scripts/mkuboot.sh -A arm -O linux -T kernel -C none -a 0x00008000 -e 0x00008000 -n 'Linux-marvell' -d zImage-armada-xp.dtb arch/arm/boot/uImage.armada-xp

 5) Boot arch/arm/boot/uImage.armada-xp

Of course, in the final step, you need to adjust the -a and -e options
as needed for your platform. But apparently, your platform uses the
same addresses.

Are you doing something similar to prepare your uImage? As far as I
know, the kernel build process does not automatically append the DTB,
so you have to do it manually as detailed above.

Regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help