
To begin with, I think u-boot is great stuff. I have found u-boot to be well orgainized and easy to understand. I have resolved most of my specific board issues easily.
However, I am having trouble booting linux 2.4.18 using u-boot 1.0.0 on my custom MPC8260ADS board. My target immediately halts at the entry point in linux. I have tried several entry point offsets. Of course, the first entry point I tried was load address of 0 and entry point of 0 like in the DULG documentation. My ICE immediately reports "Target stopped unknown reason; PC = 00000000". In fact, no matter where I set the TEXT_BASE, load address, and entry point I have the same problem.
In my session below, I set the TEXT_BASE, KERNELLOAD, and PAGE_OFFSET address to 00100000.
I am setting the makefile environment variable KERNELLOAD found in ./arch/ppc/Makefile as well as changing in the define directive PAGE_OFFSET found in ./include/asm-ppc/page.h to the same value of 00100000.
I have tried the following 'start' symbol locations to no avail:
00100000 T _start 0010000c T __start 001036c0 t start_here
Below is my u-boot session with some debugging statements turned on in the command cmd_bootm().
Thanks in advance for any tips or debugging suggestions.
-Stan Partridge
U-Boot 1.0.0 (Dec 5 2003 - 15:16:10)
MPC8260 Reset Status: External Soft, External Hard
MPC8260 Clock Configuration - Bus-to-Core Mult 2x, VCO Div 2, 60x Bus Freq 50-150, Core Freq 100-300 - dfbrg 1, corecnf 0x04, busdf 3, cpmdf 1, plldf 0, pllmf 1 - vco_out 266666664, scc_clk 66666666, brg_clk 16666666 - cpu_clk 133333332, cpm_clk 133333332, bus_clk 66666666
CPU: MPC8260 (HiP3 Rev 01, Mask B.3 3K23A) at 133.333 MHz Board: Motorola MPC8260ADS I2C: ready DRAM: 128 MB Now running in RAM - U-Boot at: 07fcb000
In: serial Out: serial Err: serial DOC: DiskOnChip Millennium @ 0xFC000000, 32 MB Net: FCC3 ETHERNET Hit any key to stop autoboot: 0
=> tftpboot 300000 vmlinux.img TFTP from server 192.168.106.58; our IP address is 192.168.116.66; sending throu gh gateway 192.168.116.1 Filename 'vmlinux.img'. Load address: 0x300000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ############################# done Bytes transferred = 2143139 (20b3a3 hex) => imi 300000
## Checking Image at 00300000 ... Image Name: 2.4.18 - Linux Kernel Image Type: PowerPC Linux Kernel Image (uncompressed) Data Size: 2143075 Bytes = 2 MB Load Address: 00100000 Entry Point: 0010000C Verifying Checksum ... OK => bootm 300000 ## Booting image at 00300000 ... Image Name: 2.4.18 - Linux Kernel Image Type: PowerPC Linux Kernel Image (uncompressed) Data Size: 2143075 Bytes = 2 MB Load Address: 00100000 Entry Point: 0010000C Verifying Checksum ... OK OK ## Current stack ends at 0x07FAA820 => set upper limit to 0x00800000 ## cmdline at 0x007FFF00 ... 0x007FFF88 ## Transferring control to Linux (at address 0010000C) ... args (kbd, initrd_start, initrd_end, cmd_start, cmd_end)=(007ffeb0, 00000000, 00 000000, 007fff00, 007fff88)