N1200 How To TFTP Boot Kernel And Ramdisk

TFTP Server Configuration
Setup a TFTP server on a device of your choice and use IP address 192.168.1.99 for this example. You will need serial port access to the N1200 so that you can issue commands to the bootloader U-Boot. The root directory of your TFTP server must hold the kernel and ramdisk files that you need to boot your n1200. In this example the kernel file is zImage and the ramdisk file is ramdisk.bin.

How To Boot Kernel and Ramdisk Using Serial Console
Using an appropriate serial communication utility (for example minicom on Linux/OS X or HyperTerminal on Windows) configure this to talk to your n1200 and power the device on. You will see the U-Boot prompt:

U-Boot 1.1.3 (FSL Development) (Apr 23 2007 - 12:32:10) MPC83XX Clock configuration: Coherent System Bus: 266 MHz Core:                266 MHz Local Bus Controller: 266 MHz Local Bus:            33 MHz DDR:                 266 MHz I2C:                 133 MHz TSEC1:               133 MHz TSEC2:               133 MHz USB MPH:              88 MHz USB DR:               88 MHz CPU: MPC83xx, Rev: 11 at 266.666 MHz Board: Thecus N1200 I2C:  ready DRAM: SDRAM on Local Bus is NOT available! DDR RAM: 128 MB FLASH: 8 MB PCI1 32bit on PMC1 & PMC2 & PMC3 In:   serial Out:  serial Err:  serial Net:  Freescale TSEC0: PHY is Realtek RTL8211B (1cc912) Freescale TSEC1: PHY id 1410c87 is not supported! Freescale TSEC1: No PHY found Freescale TSEC0, Freescale TSEC1 Thecus Version: 4, PIC version: 4 Hit any key to stop autoboot: 0

When you see countdown in the last line above in your serial utility stop the boot process by pressing any key a few times. You should then see the U-Boot prompt ready to take your input:

=>

Configure the network settings for U-Boot:

=> setenv serverip 192.168.1.99 (IP of tftp server) => setenv gatewayip 192.168.1.1 (default gateway) => setenv ipaddr 192.168.1.140 (IP of n1200) => saveenv (optional - saves config beyond reboot/shutdown)

Set a macro for easily tftp booting in the future:

=> setenv gotftp 'tftp $loadaddr zImage; tftp $ramdiskaddr ramdisk.bin; setenv bootargs console=ttyS0,115200; bootm $loadaddr $ramdiskaddr' => saveenv

Now, boot your ramdisk:

=> run gotftp Speed: 1000, full duplex Using Freescale TSEC0 device TFTP from server 192.168.1.99; our IP address is 192.168.1.140 Filename 'zImage'. Load address: 0x200000 Loading: ################################################################# #################################################################         #################################################################          #################################################################          ##### done Bytes transferred = 1351843 (14a0a3 hex) Speed: 1000, full duplex Using Freescale TSEC0 device TFTP from server 192.168.1.99; our IP address is 192.168.1.140 Filename 'ramdisk.bin'. Load address: 0xf00000 Loading: ################################################################# #################################################################         #################################################################          #################################################################          #################################################################          #################################################################          #################################################################          ########################################################## done Bytes transferred = 2623300 (280744 hex) Image Name:  Linux-2.6.26.7 Image Type:  PowerPC Linux Kernel Image (gzip compressed) Data Size:   1351779 Bytes =  1.3 MB    Load Address: 00400000 Entry Point: 004005a4 Verifying Checksum ... OK   Uncompressing Kernel Image ... OK   Image Name:  ramdisk image Image Type:  PowerPC Linux RAMDisk Image (gzip compressed) Data Size:   2623236 Bytes =  2.5 MB    Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK   Loading Ramdisk to 07d2f000, end 07faf704 ... OK Using MPC834x MDS machine description ........etc
 * 1) Booting image at 00200000 ...
 * 1) Loading RAMDisk Image at 00f00000 ...

You should now have booted your kernel with your ramdisk. You should receive lots of output over the serial console and eventually reach a login prompt for your firmware if it is setup to allow a login over a serial port.