Your kernel patches for the Marvell Mirabox
Jason Cooper
jason at lakedaemon.net
Mon Dec 10 09:02:02 EST 2012
On Sun, Dec 09, 2012 at 04:21:12PM +0100, Bernd wrote:
> Hello Jason,
Hi Bernd!
> If you don't take questions about your patches by direct email, could
> you point me to a mailing list which is more appropriate for asking such
> a question?
I prefer including, at a minimum, the Linux ARM Kernel mailinglist in
the discussion. I've included it in the CC: now. Adding my address to
the To: or CC: helps it stand out from the crowd, so no problem there.
> If you do take questions about it, here is what I did:
>
> I got the kernel source from
>
> git://github.com/MISL-EBU-System-SW/mainline-public.git
>
> commit 0c0029cb1806601430692d48c130a17302a18225, where Olof Johannson
> merged your changes for initial Mirabox support on top of Linus
> Torvalds' 3.7-rc7.
>
> I built the kernel using the cross toolchain for ARM EABI from
> https://sourcery.mentor.com/GNUToolchain/release2322?lite=arm and
> uboot-mkimage from
> http://rapidlibrary.com/files/uboot-mkimage-0-4-tar-gz_ulzywyzvfni89on.html:
Most linux distro's I've seen include a 'uboot-tools' or 'uboot-utils'
that you can install via the package manager. No need to pull it from
unknown places.
> $ make ARCH=arm mvebu_defconfig
> $ make -j4 ARCH=arm CROSS_COMPILE=../arm-2012.09/bin/arm-none-eabi- uImage
Here's the problem. The stock u-boot installed by the manufacturer
doesn't support devicetree. It uses the old method of handing the
kernel a mach_type number to tell the kernel which board init it should
call. 'boardid' in the u-boot environment.
The new method is to hand the kernel an address where the dtb (device
tree blob) was loaded into RAM.
You have two choices, upgrade u-boot (sizeable task), or use a developer
configuration option included in the kernel, CONFIG_ARM_APPENDED_DTB.
Once set, you need to make a zImage, append
arch/arm/boot/armada-<board>.dtb to the zImage, then turn the zImage
into a uImage.
In u-boot you'll need to change the boardid environment variable to
0xffffffff, which needs to be in unsigned integer notation, 4294967295.
In general, you'll want to enable CONFIG_EARLY_PRINTK, and make sure
earlyprintk is in your kernel command line options.
hth,
Jason.
More information about the linux-arm-kernel
mailing list