Initial Work;

This documents my initial work.

NOTE: this document/procedure is somewhat fragmentary.

The first step is to hook up a serial console to access u-boot.  The unit has pads for the serial port for connection to a level shifter such as the A232DBH3v (in the middle of the page) available from CompSys.   Since the pads did not fit and easily obtainable set of connectors I soldered wires to a 2.54mm 4 pin single row header that I hot-glued down. Here is a picture of the connector and pictures of the A232DBH3v, inside and out. I also added a JTAG connector , seen in the pictures.

The source code used in this procedure is available from D-Link, as a single tarfile here, the file I used is here.

My first goal is to rebuild the kernel from scratch, this requires a cross compiler and the 2.4.21 kernel supplied needs gcc-2.95 and mkimage from the u-boot package.  After building the u-boot in the previous link copy the mkimage executable to the toolchain:

cp u-boot/tools/mkimage /opt/uclibc-powerpc/bin

Now we can build the kernel.

Once we have built a kernel, we can use u-boot to load it, but first as a back up we should  extract the kernel from the firmware file, I have written this utility for that purpose.  Here is a summary of u-boot.

Now, we can load a new kernel and test it out.

RAMDisk

The ramdisk image has a size limit of 0x2E0000 (3014656) bytes.  It is an ext2 filesystem gziped with a u-boot header.  The command to produce a ramdisk image from a gziped ext2 image is:
mkimage -A ppc -O linux -T ramdisk -C gzip -a 0 -e 0 -d <gziped ext2 image> -n default <u-boot ramdisk image>
Amoung other files on the ramdisk is a CRAMFS image, "image.cfs"
...
Document made with NvuLast Updated Jan 01, 2007