[U-Boot-Users] A simple howto boot sequoia (ARCH=powerpc) using flattened device tree (FDT)

Stefan Roese sr at denx.de
Fri May 23 10:04:16 CEST 2008


Hi Larry,

On Thursday 22 May 2008, Larry Johnson wrote:
> >> => run nfsargs addip addtty
> >> => printenv bootargs
> >> bootargs=root=/dev/nfs rw nfsroot=172.25.1.3:/opt/eldk/ppc_4xxFP
> >> ip=172.25.1.88:172.25.1.3:::sequoia:eth0:off panic=1
> >> console=ttyS0,115200
>
> The "sequoia.dts" file in linux-2.6-denx contains a line specifying
> "bootargs", and this apparently overrides the environment variable, as
> can be seen by typing "cat /proc/cmdline" under Linux.

Correct. And when the "chosen" node exists, the "bootm" doesn't override the 
bootargs. There are three ways to change this behavior:

a) Delete the chosen node from the dts
b) Run "fdt chosen" in U-Boot before booting Linux
c) Change U-Boot to enable overwriting the chosen node upon Linux
   booting without needing to call "fdt chosen"

Currently I usually use a) if possible. So I won't add a chosen node when I 
create a new board port. But I would like to see c) implemented too 
for "older" arch/powerpc board ports (like Sequoia) that have a chosen node 
in their dts. Anyone care to send a patch for this? :)

> >> => fdt addr 1000000
> >> => fdt chosen
> >> => fdt list
> >
> > <...>
> >
> >> => fdt print
> >
> > <...>
> >
> >> => bootm 200000 - 1000000
> >> ## Booting image at 00200000 ...
>
> When I run this using U-Boot 1.3.3, it tells me that it's booting a
> "Legacy Image".  Is this correct?

Yes. This refers to the "old" uImage formate compared to the "new" FIT 
(Flattened Image Tree) uImage format. Please see README for more infos about 
this FIT.

> >>    Image Name:   Linux-2.6.25-00002-ga9bf9f0
> >>    Image Type:   PowerPC Linux Kernel Image (gzip compressed)
> >>    Data Size:    1277003 Bytes =  1.2 MB
> >>    Load Address: 00000000
> >>    Entry Point:  00000000
> >>    Verifying Checksum ... OK
> >>    Uncompressing Kernel Image ... OK
> >>    Booting using the fdt at 0x1000000
> >>    Loading Device Tree to 007fc000, end 007fefff ... OK
> >> Using Sequoia machine description
> >
> > <...>
> >
> > Thats it. Now you should boot into your shiny new Linux kernel. Attached
> > is a gzipped output of my startup (for the curious).
> >
> > Once my kernel started I used the following commands to update my u-boot
> >
> > environment:
> >> setenv ftd_get 'tftp 200000 ${bootfile};tftp 1000000
> >> sequoia/sequoia.dtb;fdt addr 1000000;' setenv net_nfs 'run ftd_get
> >> nfsargs addip addtty; fdt chosen;bootm 200000 - 1000000' saveenv
> >
> > Best regards
> >
> > Niklaus
>
> I normally test Linux by booting Sequoia from the flash images
> distributed by AMCC.  The flash partition information in "sequoia.dts"
> is for an early distribution (Rev. 2, I think).  The latest distribution
> I have is Rev. 6.  (Is there anything later?)

Not that I am aware of. But we should probably update it (again) to add the 
dtb partition. The kernel.org canyonlands.dts should be a good example.

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




More information about the U-Boot mailing list