Re: MPC8568MDS RAMDISK Problem
From: Anatolij Gustschin <agust@denx.de>
Date: 2008-09-02 21:27:54
Hi Agostino, SETTE AGOSTINO - technolabs wrote:
I updated my u-boot
U-Boot 1.3.4-00253-g33aa4ea (Sep 2 2008 - 13:04:22)
CPU: 8568E, Version: 1.1, (0x807d0011)
Core: E500, Version: 2.2, (0x80210022)
Clock Configuration:
CPU:1320 MHz, CCB: 528 MHz,
DDR: 264 MHz (528 MT/s data rate), LBC: 132 MHz
L1: D-cache 32 kB enabled
I-cache 32 kB enabled
Board: 8568 MDS
I2C: ready
DRAM: Initializing
SDRAM: 64 MB
DDR: 512 MB
FLASH: 32 MB
L2: 512 KB enabled
PCI: 32 bit, 66 MHz, async, host, arbiter
Scanning PCI bus 00
PCI on bus 00 - 00
PCIE connected to slot as Root Complex (base address e000a000)
PCIE on bus 01 - 01
In: serial
Out: serial
Err: serial
Net: eTSEC0, eTSEC1, FSL UEC0, FSL UEC1
But now I have the following problem:
## Checking Image at 02000100 ...
Legacy image found
Image Name: Linux-2.6.25.5
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1354587 Bytes = 1.3 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Booting kernel from Legacy Image at 02000100 ...
Image Name: Linux-2.6.25.5
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 1354587 Bytes = 1.3 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02200100 ...
Image Name: initrd
Image Type: PowerPC Linux RAMDisk Image (gzip compressed)
Data Size: 3658157 Bytes = 3.5 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 021f0100
Booting using the fdt blob at 0x21f0100
Uncompressing Kernel Image ... OK
Loading Device Tree to 007fa000, end 007fffff ... OK
WARNING: could not set linux,stdout-path FDT_ERR_NOTFOUND.
ERROR: /chosen node create failed - must RESET the board to recover.Does your "arch/powerpc/boot/dts/mpc8568mds.dts" file contain aliases node with "serial0 = &serial0;" in it? How do you compile your mpc8568mds.dtb DTB and which dtc version are you using to compile it?
Do I need to add some environment variables or set some fdt commands before booting the board?
The mpc8568mds.dts from 2.6.25.5 kernel seems to be Ok. Booting should work if you use this mpc8568mds.dts file. The problem could also be somewhere in U-Boot environment setup.
Here are the env variables
=> printenv
ramboot=run ramargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;bootm $loadaddr $ramdiskaddr
nfsboot=run nfsargs;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr
bootdelay=10
baudrate=115200
loads_echo=1
ethaddr=00:E0:0C:00:00:FD
eth1addr=00:E0:0C:00:01:FD
eth2addr=00:E0:0C:00:02:FD
eth3addr=00:E0:0C:00:03:FD
rootpath=/nfsroot
gatewayip=192.168.1.1
netmask=255.255.255.0
bootfile=your.uImage
netdev=eth0
consoledev=ttyS0
ramdiskaddr=600000
ramdiskfile=your.ramdisk.u-boot
fdtaddr=400000
fdtfile=your.fdt.dtb
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$bau
drate $othbootargs
ramargs=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs
ethact=eTSEC0
serverip=192.168.0.33
ipaddr=192.168.0.126
bootcmdFREE=run ramargs;cp.b fff00000 400000 3500;bootm ff800000 ffa00000 400000
myaps=MPC8568MDS/aps
mtdargs=mtdparts=physmap-flash.0:1M(boot),7M(aps0),7M(aps1),1M(optusr)
pram=0x100000
mem=0x3f00000
pram_start=0x3f00000
loadaddr=0x2000000
aps0_fl_start=0xfe100000
aps0_fl_size=0x00700000
aps1_fl_start=0xfe800000
aps1_fl_end=0xfeefffff
aps1_fl_size=0x00700000
aps_ram_start=0x2000000
aps_ram_kernel_start=0x2000100
aps_ram_dtb_start=0x21f0100
aps_ram_rootfs_start=0x2200100
aps=0
dl_boot=tftp ${aps_ram_start} "u-boot.bin" && protect off 0xfe000000 0xfe07ffff && cp.b ${aps_ram_start} 0xfe000000 ${filesize} && protect on 0xfe000000 0xf
e07ffff && saveenv
bootcmd=if itest ${aps} == 0; then run dl_ram0; else run dl_ram1;fi
altbootcmd=mw.b ${pram_start} 0 ${pram} && if itest ${aps} == 0; then setenv aps 1; else setenv aps 0; fi; saveenv; run bootcmd
dl_ram0=cp.b ${aps0_fl_start} ${aps_ram_start} ${aps0_fl_size};if imi ${aps_ram_kernel_start}; then run bargs;bootm ${aps_ram_kernel_start} ${aps_ram_rootfs
_start} ${aps_ram_dtb_start}; else reset; fi
dl_ram1=cp.b ${aps1_fl_start} ${aps_ram_start} ${aps1_fl_size};if imi ${aps_ram_kernel_start}; then run bargs;bootm ${aps_ram_kernel_start} ${aps_ram_rootfs
_start} ${aps_ram_dtb_start}; else reset; fi
bootlimit=5
initrd_high=no
hostname=MPC8568MDS
aps0_fl_end=0xfe7fffff
dl_aps0=tftp ${aps_ram_start} ${myaps};erase ${aps0_fl_start} ${aps0_fl_end};cp.b ${aps_ram_start} ${aps0_fl_start} ${filesize};boot
dl_aps1=tftp ${aps_ram_start} ${myaps};erase ${aps1_fl_start} ${aps1_fl_end};cp.b ${aps_ram_start} ${aps1_fl_start} ${filesize};boot
bargs=setenv bootargs ${mtdargs} console=ttyS0,$baudrate root=/dev/ram ramdisk_size=500000 rw ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:e
th0:off panic=1 mem=${mem} aps=${aps} ${misc} ${slram}
dl_mykernel=tftp 1000000 MPC8568MDS/uImage; erase ff800000 ff9fffff; cp.b 1000000 ff800000 ${filesize}
dl_myrootfs=tftp 2000000 MPC8568MDS/RamDisk.ext2; erase ffa00000 ffefffff; cp.b 2000000 ffa00000 ${filesize}
dl_mydtb=tftp 400000 MPC8568MDS/mpc8568mds.dtb; erase fff00000 fff7ffff; cp.b 400000 fff00000 ${filesize}
fdt_file=MPC8568MDS/mpc8568mds.dtb
fdt_addr_r=0x21f0100
stdin=serial
stdout=serial
stderr=serial
With previous u-boot I was able to load the images separately, with this u-boot I have the error.What commands do you use to load kernel, ramdisk and dtb files? It is not obvious from the environment above. Best regargs, Anatolij -- 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@denx.de