Skip to contentSkip to conversation

Running Linux from ARCH=powerpc on Sequoia board

U-Boot-Users Larry Johnson 4 participants 7 messages Apr 22, 2008 – Apr 24, 2008

lore
Share & tools
lore
#0 lore raw

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

#1 lore raw
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 
#6 lore raw
In reply to Larry Johnson
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
#2 lore raw
In reply to Grant Likely

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
=====================================================================

#3 lore raw
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 ... OK
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

$dtc dts/sequoia.dts -O dtb -o sequoia.dtb

Can anyone tell me what went wrong?

Best regards,
Larry

#4 lore raw
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
$dtc dts/sequoia.dts -O dtb -o sequoia.dtb

Can 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.
#5 lore raw
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
$dtc dts/sequoia.dts -O dtb -o sequoia.dtb

Can 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
=====================================================================