[U-Boot-Users] [PPC4xx][AMCC][kilauea] Support kilauea under Linux ARCH "powerpc"?
Grant Erickson
gerickson at nuovations.com
Thu May 22 23:56:51 CEST 2008
On 5/22/08 2:09 PM, H L wrote:
> Hope all will forgive the Linux incursion, but was hoping someone here might
> have some insight to any effort under way for supporting the kilauea board
> under the "powerpc" ARCH in Linux 2.6. The initial support of this board
> appears supported under "ppc" in 2.6.23. My read of various forums indicates
> that "official" support of ARCH "ppc" is going away and platforms therein are
> (or have been) migrated to "powerpc", I did find kilauea board code under
> "powerpc" in 2.6.25.xx at kernel.org, however while it builds, it won't boot.
> I would very much appreciate hearing from anyone who may know of any work or
> plans (even rumors related to same, lol) to get it working.
Your best approach, at present, is to build from the DENX 2.6 GIT repository
at:
git://www.denx.de/git/linux-2.6-denx.git
Kernel.org top-of-tree should* also boot; however, I suspect you ran into
the same problem I ran into with "it doesn't boot" in arch/powerpc. The
'arch/powerpc' directory requires booting with BOTH a kernel image (uImage)
and a flattened device tree (FDT) device tree blob (DTB). The device tree
source (DTS) files are in linux/arch/powerpc/boot/dts/.
The 'net_nfs' script in the default u-boot-1.3.3 "Kilauea" environment
details how this is done:
net_nfs=tftp ${kernel_addr_r} ${bootfile}; tftp ${fdt_addr_r}
${fdt_file}; run nfsargs addip addtty;
"bootm ${kernel_addr_r} - ${fdt_addr_r}
So, basically, you need to put the uImage at some RAM address (e.g.
kernel_addr_r) and the DTB at some RAM address (e.g. fdt_addr_r).
A more "advanced technique" involves enabling FIT image support in u-boot
and booting a FIT multi-image (see u-boot-1.3.3/doc/uImage.FIT/...)
consisting of a compressed kernel image (i.e. vmlinux.bin.gz) and a DTB.
Such an image is generated with the u-boot 'mkimage' command and the
following input file:
/ {
description = "Linux Kernel with Device Tree";
#address-cells = <1>;
images {
kernel at 1 {
description = "Kernel";
data = /incbin/("@KERNEL@");
type = "kernel";
arch = "@ARCH@";
os = "@OS@";
compression = "gzip";
load = <00000000>;
entry = <00000000>;
hash at 1 {
algo = "crc32";
};
};
fdt at 1 {
description = "Device Tree";
data = /incbin/("@FDT@");
type = "flat_dt";
arch = "@ARCH@";
compression = "none";
hash at 1 {
algo = "crc32";
};
};
};
configurations {
default = "config at 1";
config at 1 {
description = "Kernel with Device Tree";
kernel = "kernel at 1";
fdt = "fdt at 1";
};
};
};
Replace @FOO@ above with values appropriate for your environment.
Regards,
Grant Erickson
More information about the U-Boot
mailing list