[U-Boot] having trouble booting a simple kernel on a TQM860 board

(since it's been a while since i've had to mess with u-boot, it is entirely possible that i'm doing something amazingly dumb but here we go.)
i've got two different types of PPC boards in front of me -- some lite5200's and some tqm860's -- and all i want to do is verify that i can build a kernel for each, TFTP it down to the board and boot that kernel. i don't care that it will fall over when it tries to mount a root filesystem, i just want to see the early kernel boot output to verify that at least that part of the process is working.
i'm using the 2.6.37 kernel for both and while the lite5200s have a fairly new version of u-boot (2010.12), the TQMs have an ancient version (0.4.0, possibly slightly newer), and i have no freedom to update those so don't even make the suggestion. i just have to live with that.
the lite5200s are no problem. with them, i just:
$ make ARCH=powerpc 52xx/lite5200b_defconfig $ make ARCH=powerpc
and eventually, i get arch/powerpc/boot/cuImage.lite5200, download that and go. so the lite5200s are not an issue.
with the tqm860's, i'm following some documentation that was given to me that allegedly has worked in the past, so i run:
$ make ARCH=powerpc tqm8xx_defconfig $ make ARCH=powerpc uImage
what i get in arch/powerpc/boot is:
$ file uImage uImage: u-boot legacy uImage, Linux-2.6.37, Linux/PowerPC, OS Kernel Image (gzip), 1301506 bytes, Fri Dec 2 18:08:06 2011, Load Address: 0x00000000, Entry Point: 0x00000000, Header CRC: 0x476FD0BD, Data CRC: 0xE355BE2A $ $ mkimage -l uImage Image Name: Linux-2.6.37 Created: Fri Dec 2 18:08:06 2011 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1301506 Bytes = 1271.00 kB = 1.24 MB Load Address: 00000000 Entry Point: 00000000
which *seems* all right, but i'm not a powerpc expert. so i copy this to the TFTP dir under the name "uImage.tqm860", and on the board:
=> tftp 400000 uImage.tqm860 TFTP from server 192.168.202.100; our IP address is 192.168.202.79 Filename 'uImage.tqm860'. Load address: 0x400000 Loading: ... snip ... done Bytes transferred = 1301570 (13dc42 hex) =>
i can check that the download worked:
=> imi 400000
## Checking Image at 00400000 ... Image Name: Linux-2.6.37 Created: 2011-12-02 23:08:06 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1301506 Bytes = 1.2 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK =>
and, at this point, i would think that all i need to do is:
=> bootm 400000 ## Booting image at 00400000 ... Image Name: Linux-2.6.37 Created: 2011-12-02 23:08:06 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1301506 Bytes = 1.2 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK
and that's where it hangs.
i have no idea if it's still booting properly but i've simply screwed up the serial port setting.
does this set of steps look reasonable? the configuration, the building, the TFTP, the verification steps, the "bootm" command? this is what's printed when the board resets:
U-Boot 0.4.0 (Apr 13 2004 - 15:01:22)
CPU: XPC860xxZPnnD4 at 80 MHz: 16 kB I-Cache 8 kB D-Cache FEC present Board: TQM860LDB0A3-P80.208 DRAM: 16 MB FLASH: 8 MB In: serial Out: serial Err: serial Net: SCC ETHERNET [PRIME], FEC ETHERNET PCMCIA: No Card found
am i just missing something obvious? what should i use for the kernel console setting? i'm open to suggestions.
rday

On 12/02/2011 05:19 PM, Robert P. J. Day wrote:
and, at this point, i would think that all i need to do is:
=> bootm 400000 ## Booting image at 00400000 ... Image Name: Linux-2.6.37 Created: 2011-12-02 23:08:06 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1301506 Bytes = 1.2 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK
You need to use a cuImage, just as you did with lite5200.
Or update U-Boot and pass a device tree.
and that's where it hangs.
i have no idea if it's still booting properly but i've simply screwed up the serial port setting.
does this set of steps look reasonable? the configuration, the building, the TFTP, the verification steps, the "bootm" command? this is what's printed when the board resets:
U-Boot 0.4.0 (Apr 13 2004 - 15:01:22)
CPU: XPC860xxZPnnD4 at 80 MHz: 16 kB I-Cache 8 kB D-Cache FEC present Board: TQM860LDB0A3-P80.208 DRAM: 16 MB FLASH: 8 MB In: serial Out: serial Err: serial Net: SCC ETHERNET [PRIME], FEC ETHERNET PCMCIA: No Card found
am i just missing something obvious? what should i use for the kernel console setting? i'm open to suggestions.
console=ttyCPM0
-Scott

On Fri, 2 Dec 2011, Scott Wood wrote:
On 12/02/2011 05:19 PM, Robert P. J. Day wrote:
and, at this point, i would think that all i need to do is:
=> bootm 400000 ## Booting image at 00400000 ... Image Name: Linux-2.6.37 Created: 2011-12-02 23:08:06 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1301506 Bytes = 1.2 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK
You need to use a cuImage, just as you did with lite5200.
ok, so what's the "make" invocation to get one of those? i'm not a ppc expert so i don't know much about device trees. i tried the following:
$ make ARCH=powerpc cuImage.tqm8xx CHK include/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h CALL arch/powerpc/kernel/systbl_chk.sh /home/rpjday/karim/el/ws/tqm860/kernel/linux-2.6.37/scripts/dtc/dtc -O dtb -o arch/powerpc/boot/tqm8xx.dtb -b 0 -p 1024 /home/rpjday/karim/el/ws/tqm860/kernel/linux-2.6.37/arch/powerpc/boot/dts/tqm8xx.dts DTC: dts->dtb on file "/home/rpjday/karim/el/ws/tqm860/kernel/linux-2.6.37/arch/powerpc/boot/dts/tqm8xx.dts" WRAP arch/powerpc/boot/cuImage.tqm8xx powerpc-unknown-linux-gnu-ld: arch/powerpc/boot/cuboot-tqm8xx.o: No such file: No such file or directory make[1]: *** [arch/powerpc/boot/cuImage.tqm8xx] Error 1 rm arch/powerpc/boot/tqm8xx.dtb make: *** [cuImage.tqm8xx] Error 2
so i'm open to suggestions.
rday

On 12/02/2011 05:41 PM, Robert P. J. Day wrote:
ok, so what's the "make" invocation to get one of those? i'm not a ppc expert so i don't know much about device trees. i tried the following:
$ make ARCH=powerpc cuImage.tqm8xx CHK include/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h CALL arch/powerpc/kernel/systbl_chk.sh /home/rpjday/karim/el/ws/tqm860/kernel/linux-2.6.37/scripts/dtc/dtc -O dtb -o arch/powerpc/boot/tqm8xx.dtb -b 0 -p 1024 /home/rpjday/karim/el/ws/tqm860/kernel/linux-2.6.37/arch/powerpc/boot/dts/tqm8xx.dts DTC: dts->dtb on file "/home/rpjday/karim/el/ws/tqm860/kernel/linux-2.6.37/arch/powerpc/boot/dts/tqm8xx.dts" WRAP arch/powerpc/boot/cuImage.tqm8xx powerpc-unknown-linux-gnu-ld: arch/powerpc/boot/cuboot-tqm8xx.o: No such file: No such file or directory make[1]: *** [arch/powerpc/boot/cuImage.tqm8xx] Error 1 rm arch/powerpc/boot/tqm8xx.dtb make: *** [cuImage.tqm8xx] Error 2
so i'm open to suggestions.
In the cuboot section of arch/powerpc/boot/wrapper, add "*-tqm8xx" to the "*-mpc866ads|*-mpc885ads..." list.
-Scott

On Fri, 2 Dec 2011, Scott Wood wrote:
On 12/02/2011 05:41 PM, Robert P. J. Day wrote:
ok, so what's the "make" invocation to get one of those? i'm not a ppc expert so i don't know much about device trees. i tried the following:
$ make ARCH=powerpc cuImage.tqm8xx CHK include/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh CHK include/generated/compile.h CALL arch/powerpc/kernel/systbl_chk.sh /home/rpjday/karim/el/ws/tqm860/kernel/linux-2.6.37/scripts/dtc/dtc -O dtb -o arch/powerpc/boot/tqm8xx.dtb -b 0 -p 1024 /home/rpjday/karim/el/ws/tqm860/kernel/linux-2.6.37/arch/powerpc/boot/dts/tqm8xx.dts DTC: dts->dtb on file "/home/rpjday/karim/el/ws/tqm860/kernel/linux-2.6.37/arch/powerpc/boot/dts/tqm8xx.dts" WRAP arch/powerpc/boot/cuImage.tqm8xx powerpc-unknown-linux-gnu-ld: arch/powerpc/boot/cuboot-tqm8xx.o: No such file: No such file or directory make[1]: *** [arch/powerpc/boot/cuImage.tqm8xx] Error 1 rm arch/powerpc/boot/tqm8xx.dtb make: *** [cuImage.tqm8xx] Error 2
so i'm open to suggestions.
In the cuboot section of arch/powerpc/boot/wrapper, add "*-tqm8xx" to the "*-mpc866ads|*-mpc885ads..." list.
ok, that's looking better as i now have the following:
$ mkimage -l /var/lib/tftpboot/cuImage.tqm8xx Image Name: Linux-2.6.37 Created: Fri Dec 2 18:53:22 2011 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1325774 Bytes = 1294.70 kB = 1.26 MB Load Address: 00400000 Entry Point: 00400518 $
which suggests it's safe to TFTP it to 200000 given its size and the load address, so ...
=> tftp 200000 cuImage.tqm8xx TFTP from server 192.168.202.100; our IP address is 192.168.202.79 Filename 'cuImage.tqm8xx'. Load address: 0x200000 Loading: ... snip ... done Bytes transferred = 1325838 (143b0e hex) => imi 200000
## Checking Image at 00200000 ... Image Name: Linux-2.6.37 Created: 2011-12-02 23:53:22 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1325774 Bytes = 1.3 MB Load Address: 00400000 Entry Point: 00400518 Verifying Checksum ... OK => setenv bootargs console=ttyCPM0,115000 => bootm 200000
at which point i get the kernel uncompressing, followed by several lines of garbage, suggesting that perhaps my minicom setup is not right. any final suggestions about console port setup? i get the feeling i'm really close ...
rday

Dear "Robert P. J. Day",
In message alpine.DEB.2.02.1112021838270.4763@oneiric you wrote:
$ make ARCH=powerpc cuImage.tqm8xx
We have never tested or supported cuImages for TQMxxxx - there has never been any need for that, because these boards have always been fully mainlined, so you can always just run top of tree.
Best regards,
Wolfgang Denk

On Fri, 2 Dec 2011, Scott Wood wrote:
On 12/02/2011 05:19 PM, Robert P. J. Day wrote:
and, at this point, i would think that all i need to do is:
=> bootm 400000 ## Booting image at 00400000 ... Image Name: Linux-2.6.37 Created: 2011-12-02 23:08:06 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1301506 Bytes = 1.2 MB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK
You need to use a cuImage, just as you did with lite5200.
i believe i've solved this issue, at least. i downloaded ELDK 4.2 and installed the ppc_8xx- toolchain. with that, i managed to compile u-boot 2010.12 and flashed it to my TQM860, reset and, lo and behold, i have a 2010.12 u-boot. so my u-boot issue seems to be resolved.
Or update U-Boot and pass a device tree.
and that's where it hangs.
i have no idea if it's still booting properly but i've simply screwed up the serial port setting.
does this set of steps look reasonable? the configuration, the building, the TFTP, the verification steps, the "bootm" command? this is what's printed when the board resets:
U-Boot 0.4.0 (Apr 13 2004 - 15:01:22)
CPU: XPC860xxZPnnD4 at 80 MHz: 16 kB I-Cache 8 kB D-Cache FEC present Board: TQM860LDB0A3-P80.208 DRAM: 16 MB FLASH: 8 MB In: serial Out: serial Err: serial Net: SCC ETHERNET [PRIME], FEC ETHERNET PCMCIA: No Card found
am i just missing something obvious? what should i use for the kernel console setting? i'm open to suggestions.
console=ttyCPM0
ok, i'm still having trouble getting a bootable kernel so here's what i did. using 2.6.37 version of kernel source, i followed your advice and first just configured for the 860 with:
$ make ARCH=powerpc tqm8xx_defconfig
then
$ make ARCH=powerpc uImage
which generated a uImage file. but as i understand it, i want a cuImage-format file as i used with my lite5200, so i edited the file arch/powerpc/boot/wrapper (as you suggested) and made the following change:
case "$platform" in *-mpc866ads|*-mpc885ads|*-adder875*|*-ep88xc|*-tqm8xx) ^^^^^^^^^ added
which now allows me to do the following:
$ make ARCH=powerpc cuImage.tqm8xx
and it's my understanding that this is the file i'll TFTP down to the TQM860 board and boot, correct?
here's a look at that file:
$ mkimage -l /var/lib/tftpboot/cuImage.tqm8xx Image Name: Linux-2.6.37 Created: Sun Dec 4 20:51:56 2011 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1258640 Bytes = 1229.14 kB = 1.20 MB Load Address: 0x00400000 Entry Point: 0x0040055C $
look reasonable? so i download to the board to address 200000, check it:
=> imi 200000
## Checking Image at 00200000 ... Legacy image found Image Name: Linux-2.6.37 Created: 2011-12-05 1:51:56 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1258640 Bytes = 1.2 MiB Load Address: 00400000 Entry Point: 0040055c Verifying Checksum ... OK =>
but at this point, any attempt to "bootm 200000" gives me (as before):
## Booting kernel from Legacy Image at 00200000 ... Image Name: Linux-2.6.37 Created: 2011-12-05 1:51:56 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1258640 Bytes = 1.2 MiB Load Address: 00400000 Entry Point: 0040055c Verifying Checksum ... OK Uncompressing Kernel Image ... OK
immediately followed by a long line of diamonds with question marks inside them. i would assume i've just screwed up the console setting, but i've tried various combinations of tty0, ttyS0 and ttyCPM0, with different baud rates. any hint as to what i should be looking at?
i suspect i'm close, i just have this last issue to deal with. thanks.
rday

Dear Robert,
In message alpine.DEB.2.02.1112042100270.15118@oneiric you wrote:
i believe i've solved this issue, at least. i downloaded ELDK 4.2 and installed the ppc_8xx- toolchain. with that, i managed to compile u-boot 2010.12 and flashed it to my TQM860, reset and, lo and behold, i have a 2010.12 u-boot. so my u-boot issue seems to be resolved.
You update U-Boot, but to a version 4 releases old. Why not to current code?
which generated a uImage file. but as i understand it, i want a cuImage-format file as i used with my lite5200, so i edited the file
No. Now you don't need a cuImage nay more. Just use the DT as I showed you in the builkd and boot log I sent before.
look reasonable? so i download to the board to address 200000,
...
but at this point, any attempt to "bootm 200000" gives me (as before):
...
immediately followed by a long line of diamonds with question marks
You may want to read the FAQ:
http://www.denx.de/wiki/view/DULG/LinuxUncompressingError
Best regards,
Wolfgang Denk

On Mon, 5 Dec 2011, Wolfgang Denk wrote:
Dear Robert,
In message alpine.DEB.2.02.1112042100270.15118@oneiric you wrote:
i believe i've solved this issue, at least. i downloaded ELDK 4.2 and installed the ppc_8xx- toolchain. with that, i managed to compile u-boot 2010.12 and flashed it to my TQM860, reset and, lo and behold, i have a 2010.12 u-boot. so my u-boot issue seems to be resolved.
You update U-Boot, but to a version 4 releases old. Why not to current code?
i have a number of lite5200s as well that all have 2010.12 on them and since they work fine for now, i just wanted to make everything consistent for some people who will be using those boards this week. once this session is over, everything will be reflashed to the current version. your point is, of course, well taken.
which generated a uImage file. but as i understand it, i want a cuImage-format file as i used with my lite5200, so i edited the file
No. Now you don't need a cuImage nay more. Just use the DT as I showed you in the builkd and boot log I sent before.
ah, gotcha. i'll do that, thanks.
rday

On Mon, 5 Dec 2011, Wolfgang Denk wrote:
Dear Robert,
In message alpine.DEB.2.02.1112042100270.15118@oneiric you wrote:
i believe i've solved this issue, at least. i downloaded ELDK 4.2 and installed the ppc_8xx- toolchain. with that, i managed to compile u-boot 2010.12 and flashed it to my TQM860, reset and, lo and behold, i have a 2010.12 u-boot. so my u-boot issue seems to be resolved.
You update U-Boot, but to a version 4 releases old. Why not to current code?
which generated a uImage file. but as i understand it, i want a cuImage-format file as i used with my lite5200, so i edited the file
No. Now you don't need a cuImage nay more. Just use the DT as I showed you in the builkd and boot log I sent before.
for the sake of clarification, you write that i don't *need* cuImages anymore, but that's not the same as saying that i *must* move to using device trees. in fact, a cuImage file still works just fine for my lite5200 boards, so obviously the version of u-boot that i've flashed to my TQM boards can still handle that format.
so while it's probably a good idea to move to the device tree recipe, that still doesn't explain why i can't use a cuImage file for my tqm boards. so i'll test the device tree process later today, but i'm still curious as to why a cuImage format file still fails in this case when it works just fine for the other boards.
rday

Dear Robert,
In message alpine.DEB.2.02.1112050701340.21244@oneiric you wrote:
No. Now you don't need a cuImage nay more. Just use the DT as I showed you in the builkd and boot log I sent before.
for the sake of clarification, you write that i don't *need* cuImages anymore, but that's not the same as saying that i *must* move to using device trees. in fact, a cuImage file still works just fine
True, you don't have to use the DT. You don't have to use the most straightforward way that has been well tested for a ton of combinations of recent U-Boot releases against recent kernel releases.
You are free to chose any untested, unsupported way you like.
It's perfectly fine to ignore all good advice you get here. But eventually you should then also stop asking further questions here.
for my lite5200 boards, so obviously the version of u-boot that i've flashed to my TQM boards can still handle that format.
Of course U-Boot can handle this.
so while it's probably a good idea to move to the device tree recipe, that still doesn't explain why i can't use a cuImage file for my tqm boards. so i'll test the device tree process later today, but i'm still curious as to why a cuImage format file still fails in this case when it works just fine for the other boards.
Because this code has never been adapted for nor tested with any TQM8xx boards? But frankly, who cares? This code simply is not needed for these boards.
Best regards,
Wolfgang Denk

On Mon, 5 Dec 2011, Wolfgang Denk wrote:
Dear Robert,
In message alpine.DEB.2.02.1112050701340.21244@oneiric you wrote:
No. Now you don't need a cuImage nay more. Just use the DT as I showed you in the builkd and boot log I sent before.
for the sake of clarification, you write that i don't *need* cuImages anymore, but that's not the same as saying that i *must* move to using device trees. in fact, a cuImage file still works just fine
True, you don't have to use the DT. You don't have to use the most straightforward way that has been well tested for a ton of combinations of recent U-Boot releases against recent kernel releases.
You are free to chose any untested, unsupported way you like.
It's perfectly fine to ignore all good advice you get here. But eventually you should then also stop asking further questions here.
please stop being so defensive, wolfgang, it doesn't become you. i have no doubt that using a separate device tree is a better idea. but i also like to be very careful with my terminology.
if someone says using a device tree is better, i'm fine with that. but an earlier claim of yours seemed to suggest that one *needed* to use a DT, and if that's the case, i just want to know that. i simply like to know what my options are in case Plan A doesn't work, i can try Plan B.
also, i was *given* material to work with, and i'm making an effort to change as little of it as possible if i don't have to, at the request of the person who gave it to me. and sometimes, political reasons might trump technical reasons, as much as we don't want them to.
rday

Dear Robert,
In message alpine.DEB.2.02.1112051242090.4383@oneiric you wrote:
True, you don't have to use the DT. You don't have to use the most straightforward way that has been well tested for a ton of combinations of recent U-Boot releases against recent kernel releases.
You are free to chose any untested, unsupported way you like.
...
please stop being so defensive, wolfgang, it doesn't become you. i have no doubt that using a separate device tree is a better idea. but i also like to be very careful with my terminology.
I was very careful, actually.
if someone says using a device tree is better, i'm fine with that. but an earlier claim of yours seemed to suggest that one *needed* to use a DT, and if that's the case, i just want to know that. i simply like to know what my options are in case Plan A doesn't work, i can try Plan B.
I told you, several times, and I repeat it here again, for the last time, promised:
If you want to have an easy start, use a separate device tree. This is what has been tested all the time, and what is known to be working.
If you go for cuImage, this is completely untested code on TQM8xx, and you are on your own - this may work, but it is more likely that it doesn't.
Your choice.
also, i was *given* material to work with, and i'm making an effort to change as little of it as possible if i don't have to, at the request of the person who gave it to me. and sometimes, political reasons might trump technical reasons, as much as we don't want them to.
You already updated U-Boot successfully, so there is no need to continue trying cuImages. But it's your choice.
Wolfgang Denk

Dear Robert,
In message alpine.DEB.2.02.1112021750480.27686@oneiric you wrote:
i'm using the 2.6.37 kernel for both and while the lite5200s have a fairly new version of u-boot (2010.12), the TQMs have an ancient version (0.4.0, possibly slightly newer), and i have no freedom to update those so don't even make the suggestion. i just have to live with that.
What you say boils down to: Please help me, but don't mention the solution, because I'm not going to do that. In short, it's stupid. You are wasting your time, and ours.
In the first step, please update your U-Boot. 0.4.0 has no support for device tree.
Top of tree build and runs just fine (OK, this is a TQM855M instead of a TQM860, but this is just an unimportant detail):
-> eldk-switch -r 5.1 powerpc Setup for powerpc (using ELDK 5.1) -> ./MAKEALL TQM855M pwd Configuring for TQM855M board... text data bss dec hex filename 222242 4468 27536 254246 3e126 ./u-boot
--------------------- SUMMARY ---------------------------- Boards compiled: 1 ----------------------------------------------------------
U-Boot 2011.09-01259-g7708d8b (Dec 03 2011 - 00:55:16)
CPU: XPC855xxZPnnD4 at 66 MHz: 4 kB I-Cache 4 kB D-Cache FEC present Board: TQM855MDCBAB7-T66.102 I2C: ready DRAM: 32 MiB Flash: 8 MiB In: serial Out: serial Err: serial Net: SCC, FEC PCMCIA: No Card found
Type run flash_nfs to mount root filesystem over NFS
Hit any key to stop autoboot: 0
Ditto for Linux:
-> git describe v3.1.4 -> eldk-switch -r 5.1 powerpc Setup for powerpc (using ELDK 5.1) -> make tqm8xx_defconfig -> make -j8 uImage ... Image Name: Linux-3.1.4 Created: Fri Dec 2 23:54:09 2011 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1297168 Bytes = 1266.77 kB = 1.24 MB Load Address: 00000000 Entry Point: 00000000 -> make tqm8xx.dtb DTC arch/powerpc/boot/tqm8xx.dtb DTC: dts->dtb on file "arch/powerpc/boot/dts/tqm8xx.dts"
... => print bootcmd net_nfs kernel_addr_r bootfile fdt_addr_r fdt_file nfsargs addip addcons addmtd bootcmd=run net_nfs net_nfs=tftp ${kernel_addr_r} ${bootfile};tftp ${fdt_addr_r} ${fdt_file};run nfsargs addip addcons addmtd;bootm ${kernel_addr_r} - ${fdt_addr_r} kernel_addr_r=400000 bootfile=TQM855M/uImage fdt_addr_r=600000 fdt_file=TQM855M/tqm8xx.dtb nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath} addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${netdev}:off panic=1 addcons=setenv bootargs ${bootargs} console=${console},${baudrate} ## Error: "addmtd" not defined
=> run net_nfs Using SCC device TFTP from server 192.168.1.1; our IP address is 192.168.1.71 Filename 'TQM855M/uImage'. Load address: 0x400000 Loading: ################################################################# ######################## done Bytes transferred = 1297232 (13cb50 hex) Using SCC device TFTP from server 192.168.1.1; our IP address is 192.168.1.71 Filename 'TQM855M/tqm8xx.dtb'. Load address: 0x600000 Loading: # done Bytes transferred = 4020 (fb4 hex) ## Error: "addmtd" not defined ## Booting kernel from Legacy Image at 00400000 ... Image Name: Linux-3.1.4 Created: 2011-12-02 23:54:09 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 1297168 Bytes = 1.2 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 00600000 Booting using the fdt blob at 0x00600000 Uncompressing Kernel Image ... OK Loading Device Tree to 007fc000, end 007fffb3 ... OK Using TQM8xx machine description Linux version 3.1.4 (wd@pollux.denx.de) (gcc version 4.6.1 20110627 (prerelease) (GCC) ) #2 Sat Dec 3 00:53:34 CET 2011 Zone PFN ranges: DMA 0x00000000 -> 0x00002000 Normal empty Movable zone start PFN for each node early_node_map[1] active PFN ranges 0: 0x00000000 -> 0x00002000 MMU: Allocated 72 bytes of context maps for 16 contexts Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 Kernel command line: root=/dev/nfs rw nfsroot=192.168.1.1:/opt/eldk/ppc_8xx ip=192.168.1.71:192.168.1.1::255.255.0.0:TQM855M:eth1:off panic=1 console=ttyCPM0,115200 PID hash table entries: 128 (order: -3, 512 bytes) Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) Memory: 29688k/32768k available (2508k kernel code, 3080k reserved, 88k data, 89k bss, 100k init) Kernel virtual memory layout: * 0xfffdf000..0xfffff000 : fixmap * 0xfde00000..0xfe000000 : consistent mem * 0xfddfa000..0xfde00000 : early ioremap * 0xc3000000..0xfddfa000 : vmalloc & ioremap SLUB: Genslabs=14, HWalign=16, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 NR_IRQS:512 nr_irqs:512 16 Decrementer Frequency = 0x3ef148 clocksource: timebase mult[3c9b26ca] shift[22] registered console [ttyCPM0] enabled pid_max: default: 4096 minimum: 301 Mount-cache hash table entries: 512 NET: Registered protocol family 16 bio: create slab <bio-0> at 0 Switching to clocksource timebase Switched to NOHz mode on CPU #0 NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 1024 (order: 1, 8192 bytes) TCP bind hash table entries: 1024 (order: 0, 4096 bytes) TCP: Hash tables configured (established 1024 bind 1024) TCP reno registered NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. msgmni has been set to 57 io scheduler noop registered io scheduler deadline registered (default) fff00a80.serial: ttyCPM0 at MMIO 0xc3014a80 (irq = 19) is a CPM UART Generic RTC Driver v1.07 40000000.flash: Found 2 x16 devices at 0x0 in 32-bit bank. Manufacturer ID 0x000001 Chip ID 0x001d00 Amd/Fujitsu Extended Query Table at 0x0040 Amd/Fujitsu Extended Query version 1.3. number of CFI chips: 1 Fixed MDIO Bus: probed eth0: fs_enet: 00:d0:93:00:cb:3b eth1: fs_enet: 00:d0:93:00:cb:3a FEC MII Bus: probed TCP cubic registered NET: Registered protocol family 17 IP-Config: Complete: device=eth1, addr=192.168.1.71, mask=255.255.0.0, gw=255.255.255.255, host=TQM855M, domain=, nis-domain=(none), bootserver=192.168.1.1, rootserver=192.168.1.1, rootpath= VFS: Mounted root (nfs filesystem) on device 0:11. Freeing unused kernel memory: 100k freed ... TQM855M login: root Last login: Sat Dec 3 01:14:08 on console -bash-3.2#
with the tqm860's, i'm following some documentation that was given to me that allegedly has worked in the past, so i run:
$ make ARCH=powerpc tqm8xx_defconfig $ make ARCH=powerpc uImage
what i get in arch/powerpc/boot is:
You fail to build a device tree blob.
=> tftp 400000 uImage.tqm860
You fail to pass the device tree - which is essential.
And device tree support is not present in your old version of U-Boot.
am i just missing something obvious? what should i use for the kernel console setting? i'm open to suggestions.
Seems your documentation is a couple of years out of date. Please update.
Best regards,
Wolfgang Denk

On Sat, 3 Dec 2011, Wolfgang Denk wrote:
Dear Robert,
In message alpine.DEB.2.02.1112021750480.27686@oneiric you wrote:
i'm using the 2.6.37 kernel for both and while the lite5200s have a fairly new version of u-boot (2010.12), the TQMs have an ancient version (0.4.0, possibly slightly newer), and i have no freedom to update those so don't even make the suggestion. i just have to live with that.
What you say boils down to: Please help me, but don't mention the solution, because I'm not going to do that. In short, it's stupid. You are wasting your time, and ours.
In the first step, please update your U-Boot. 0.4.0 has no support for device tree.
as i already mentioned in an earlier e-mail, these are not my boards and i have no authority to do that. so i am *necessarily* restricted to trying to do this with u-boot 0.4.0, and that's just the way it is. sometimes, you just have to work with what you're given, wolfgang. sorry if that cramps your style.
rday

Dear Robert,
In message alpine.DEB.2.02.1112021920050.7187@oneiric you wrote:
as i already mentioned in an earlier e-mail, these are not my boards and i have no authority to do that. so i am *necessarily* restricted to trying to do this with u-boot 0.4.0, and that's just the way it is. sometimes, you just have to work with what you're given, wolfgang. sorry if that cramps your style.
It's your problem, not mine.
Wolfgang Denk
participants (3)
-
Robert P. J. Day
-
Scott Wood
-
Wolfgang Denk