Running Linux from ARCH=powerpc on Sequoia board
Hi Stefan,
Currently, I can build "zImage" for Sequoia using the powerpc architecture, and load it using U-Boot without a separate FDT binary. Is this the best way to run a Linux from the powerpc tree?
Please excuse me, and send me a pointer, if this is already described somewhere.
Best regards,
Larry
Quoted 5 lines · Larry Johnson
Hi Stefan,
Currently, I can build "zImage" for Sequoia using the powerpc architecture, and load it using U-Boot without a separate FDT binary. Is this the best way to run a Linux from the powerpc tree?
Sorry, I don't understand what you're asking.
There are two way to boot a Linux image from arch/powerpc.
1) build a uImage and get u-boot to pass a device tree blob (if your u-boot had device tree support)
2) build a cuImage which wraps the device tree in the kernel image.
Cheers,
g.
Signature · 5 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.denx.de/pipermail/u-boot/attachments/20080422/528ed017/attachment.htm
Quoted 4 lines · In message <[email protected]> you wrote:
Currently, I can build "zImage" for Sequoia using the powerpc architecture, and load it using U-Boot without a separate FDT binary. Is this the best way to run a Linux from the powerpc tree?
...build an uImage and a device tree.
Best regards,
Wolfgang Denk
Signature · 6 lines
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de "The bad reputation UNIX has gotten is totally undeserved, laid on by people who don't understand, who have not gotten in there and tried anything." -- Jim Joyce, owner of Jim Joyce's UNIX Bookstore
Hi Larry,
Quoted 11 lines · Grant Likely
Quoted 3 lines
Currently, I can build "zImage" for Sequoia using the powerpc architecture, and load it using U-Boot without a separate FDT binary. Is this the best way to run a Linux from the powerpc tree?
Sorry, I don't understand what you're asking.
There are two way to boot a Linux image from
arch/powerpc.1) build a uImage and get u-boot to pass a device tree blob (if your u-boot had device tree support)
2) build a cuImage which wraps the device tree in the kernel image.
Correct. Personally I prefer 1), since it makes the Linux ports easier. No bootwrapper is needed in this case. And all the "infrastructure" for fdt enabled U-Boot images for 4xx is available. Please take a look at sequoia.c/.h and search for CONFIG_OF_LIBFDT.
Just let me know if this is not clear or if you have additional questions.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
Quoted 21 lines · Stefan Roese
Hi Larry,
Quoted 10 lines · Grant Likely
Quoted 3 lines
Currently, I can build "zImage" for Sequoia using the powerpc architecture, and load it using U-Boot without a separate FDT binary. Is this the best way to run a Linux from the powerpc tree?
Sorry, I don't understand what you're asking.
There are two way to boot a Linux image from
arch/powerpc.1) build a uImage and get u-boot to pass a device tree blob (if your u-boot had device tree support)
2) build a cuImage which wraps the device tree in the kernel image.Correct. Personally I prefer 1), since it makes the Linux ports easier. No bootwrapper is needed in this case. And all the "infrastructure" for fdt enabled U-Boot images for 4xx is available. Please take a look at sequoia.c/.h and search for
CONFIG_OF_LIBFDT.Just let me know if this is not clear or if you have additional questions.
Quoted 8 lines
Best regards,
Stefan=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
Thanks Stefan, Grant, and Wolfgang for your comments. Method 2 is working for me, as it turns out that files "cuImage.sequoia and "zImage" are identical.
I'd prefer to use method one. Here's an abbreviated listing of what I get when I try.
<listing>
=> tftp 200000 sequoia/uImage
[...]
Bytes transferred = 1497002 (16d7aa hex)
=> tftp 1000000 sequoia/sequoia.dtb
[...]Bytes transferred = 6659 (1a03 hex)
=> run ramargs addmtd addip addide addtty; bootm 200000 ${ramdisk_addr} 1000000 ## Booting kernel from Legacy Image at 00200000 ...
Image Name: Linux-2.6.25-rc8-01262-g80afde7 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1496938 Bytes = 1.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
## Flattened Device Tree blob at 01000000
Booting using the fdt blob at 0x1000000
## Loading init Ramdisk from Legacy Image at fc400000 ...
Image Name: sequoia Ramdisk Rev 006 Image Type: PowerPC Linux RAMDisk Image (gzip compressed) Data Size: 19409859 Bytes = 18.5 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
Loading Device Tree to 007fe000, end 007ffa02 ... OKfdt_chosen: FDT_ERR_NOSPACE
ERROR: /chosen node create failed - must RESET the board to recover.
U-Boot 1.3.2-00497-g58c5376 (Apr 23 2008 - 16:24:13) [...]
</listing>
The file "sequoia.dtb was created by
$dtc dts/sequoia.dts -O dtb -o sequoia.dtb
Can anyone tell me what went wrong?
Best regards,
Larry
Quoted 3 lines · Larry Johnson
Thanks Stefan, Grant, and Wolfgang for your comments. Method 2 is working for me, as it turns out that files "cuImage.sequoia and "zImage" are identical.
That is because zImage is simply linked to the first target in the image-y list (every target added to image-y is built when you do 'make zImage')
Quoted 11 lines
fdt_chosen:FDT_ERR_NOSPACE
ERROR: /chosen node create failed - must RESET the board to recover.U-Boot 1.3.2-00497-g58c5376 (Apr 23 2008 - 16:24:13) [...]
</listing>The file "sequoia.dtb was created by
$dtcdts/sequoia.dts-O dtb -o sequoia.dtbCan anyone tell me what went wrong?
You're hitting a limitation of current u-boot. It doesn't know how to allocate more space in a device tree blob. Try passing "-S 8192 -R 16" to dtc.
Cheers,
g.
Signature · 2 lines
Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd.
Quoted 7 lines · Grant Likely
Quoted 7 lines
fdt_chosen:FDT_ERR_NOSPACE
ERROR: /chosen node create failed - must RESET the board to recover.U-Boot 1.3.2-00497-g58c5376 (Apr 23 2008 - 16:24:13) [...]
</listing>
Quoted 8 lines
Quoted 4 lines
The file "sequoia.dtb was created by
$dtcdts/sequoia.dts-O dtb -o sequoia.dtbCan anyone tell me what went wrong?
You're hitting a limitation of current u-boot. It doesn't know how to allocate more space in a device tree blob. Try passing "-S 8192 -R 16" to dtc.
And don't forget "-b 0" for the boot CPU number.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================