Atheros PB42 ------------ 1. Compiler Tool Chain Before you can compile the Linux kernel, libraries and applications to generate a PB42 image you must install an appropriate compiler tool chain. I suggest you use the mips-linux tool chain that accompanies this source distribution (the mips-linux-tools-XXXXXXXX.tar.gz package). To install this toolchain do: 1. login as root 2. cd / 3. tar xvzf mips-linux-tools-XXXXXXXX.tar.gz This package contains binaries of the following tools: binutils-2.17 gcc-3.4.4 glibc-2.3.6 2. Building the Source Follow these simple steps to compile binary images ready to run on the Atheros PB42 board: 1. tar xvzf uClinux-dist-XXXXXXXX.tar.gz 2. cd uClinux-dist 3. make menuconfig . Choose the "Target Platform Selection" menu item . Select the "Vendor/Product" tab and choose "Atheros/PB42" . Select the "Libc version" tab and choose "uClibc" . "Save and Exit" this configuration 4. make dep 5. make That is it! The final make step will run through and compile the Linux kernel, uClibc library and a sample application set. It will also package the result into two files ready to load onto the PB42 board, vmlinux and ramdisk.gz. The currently only support kernel is 2.6.x and only library is uClibc. Don't choose any of the other kernels or libraries for this platform. 3. Loading and Running You will need a Atheros PB42 board fitted with the RedBoot loader in flash. You should firstly setup RedBoot configuration with a client and server IP address (alternatively you can use the builtin DHCP support). Copy the binary files from uClinux-dist, images/vmlinux and images/ramdisk.gz to the TFTP area of the download server. To load and run Linux with RedBoot issue the following commands: load -r -b 0x80800000 ramdisk.gz load -b 0x80060000 vmlinux exec -c "console=ttyS0,115200 rd_start=0x80800000 rd_size=4M root=/dev/ram0" You should see the Linux boot banner, and then be presented with a bash shell prompt. A reasonable utility set is in place, mostly using the busybox tool set. By default the rc script will run a dhcp client, and so with a local dhcp server in place Linux will acquire an IP address. 4. Saving to Flash with RedBoot You can setup the flash memory from within RedBoot to directly load and run linux. The following procedure describes howto setup and load Linux into the flash: fis init load -r -v -b 0x01600000 zImage fis create -b 0x01600000 -l 0xb0000 zImage load -r -v -b 0x00800000 ramdisk.gz fis create -b 0x00800000 -l 0x1d0000 ramdisk Then create a boot script to automatically load and run: fconfig >> fis load -b 0x00800000 ramdisk >> fis load -b 0x01600000 zImage >> go 0x01600000 5. Customizing the Build Using "make menuconfig" in uClinux-dist you can customize the kernel and application configurations. There is a large selection of packages in the application configuration. Consult the README file at the top level of uClinux-dist for some more information about configuration and building.