Hi It took me a evening to put everything together. Therefore I send this mail hoping it may help somebody else. Hopefully some of the content will find its way into the DULG/FAQ, may as point 14.3.30. "Booting using flattened device tree (FDT)"
First one needs a recent U-boot with FDT support compiled into, e.g 1.3.2-rc3-g772003e4-dirty (Apr 11 2008 - 15:56:0 for the sequoia board. Secone one needs a recent Linux kernel made using "ARCH=powerpc", e.g. from 2.6.25-00002-ga9bf9f0 from git://www.denx.de/git/linux-2.6-denx.git. Third one needs a recent dtc (Device Tree Compiler). The following commands $ git clone http://www.jdl.com/software/dtc.git $ cd dtc && make && sudo cp dtc /usr/local/bin should do the job. Now you are ready to compile the device tree blob. I used the commands given in http://www.denx.de/wiki/view/DULG/LinuxFDTBlob dtc -b 0 -V 17 -R 4 -S 0x3000 -I dts -O dtb -f arch/powerpc/boot/dts/sequoia.dts \ > /tftpboot/sequoia/sequoia.dtb Now power up your sequoia board and execute the following commands to start a Linux kernel on a NFS root device. The following commands did the job for me: > Hit any key to stop autoboot: 0 > => tftp 200000 /tftpboot/sequoia/uImage > Waiting for PHY auto negotiation to complete.. done > ENET Speed is 100 Mbps - FULL duplex connection (EMAC0) > Using ppc_4xx_eth0 device > TFTP from server 172.25.1.3; our IP address is 172.25.1.88 > Filename '/tftpboot/sequoia/uImage'. > Load address: 0x200000 > Loading: ################################################################# > ###################### > done > Bytes transferred = 1277067 (137c8b hex) > => tftp 1000000 /tftpboot/sequoia/sequoia.dtb > ENET Speed is 100 Mbps - FULL duplex connection (EMAC0) > Using ppc_4xx_eth0 device > TFTP from server 172.25.1.3; our IP address is 172.25.1.88 > Filename '/tftpboot/sequoia/sequoia.dtb'. > Load address: 0x1000000 > Loading: # > done > Bytes transferred = 12288 (3000 hex) > => 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 > => fdt addr 1000000 > => fdt chosen > => fdt list <...> > => fdt print <...> > => bootm 200000 - 1000000 > ## Booting image at 00200000 ... > 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
sequoia.log.gz
Description: GNU Zip compressed data
------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users