1. Prepare for required resources:
Fedora Linux 7
arm-linux-tools-20061213.tar.gz
snapgear-3.5.0.tar.gz
BSD_ixp400AccessLibrary-2_4.zip
IPL_ixp400NpeLibrary-2_4.zip
snapgear-modules-20071004.sh
sharutils-4.6.3-1.fc7.i386.rpm
2. Compile kernel
2.1 Install Fedora Linux 7 with basic development tools (i.e. gcc)
2.2 Unzip snapgear
tar xzf snapgear-3.5.0.tar.gz
2.3 Unzip arm-linux cross compiler to folder /opt
tar xzf arm-linux-tools-20061213.tar.gz -C /opt
2.4 Make sure sharutil RPM is installed
rpm -i sharutils-4.6.3-1.fc7.i386.rpm
2.5 Patch snapgear
chmod 777 snapgear-modules-20071004.sh
./snapgear-modules-20071004.sh
cd snapgear
patch -p1 < ../snapgear-20071004.patch
2.6 Unzip ixp400 driver
mkdir -p modules/ixp425/ixp400-2.4
cd modules/ixp425/ixp400-2.4
unzip ../../../../BSD_ixp400AccessLibrary-2_4.zip
unzip ../../../../IPL_ixp400NpeLibrary-2_4.zip
patch -p1 < ../../../../modules-csr2.4-20071004.patch
2.7 Configure and compile source code
export PATH=/opt/usr/local/bin/:$PATH
make CROSS_COMPILE=arm-linux- ARCH=arm menuconfig, then configure as follows:
make CROSS_COMPILE=arm-linux- ARCH=arm
3. Network Configuration
vi vendors/Intel/IXDP425/rc
hostname IXDP425
mount -t proc proc /proc
mount -o remount,rw /dev/root /
ifconfig lo 127.0.0.1
#insmod ixp400.o
#cat /etc/IxNpeMicrocode.dat > /dev/ixNpe
#insmod ixp400_eth.o
#ifconfig ixp0 192.168.0.1 broadcast 192.168.0.255 netmask 255.255.255.0
route add -net 127.0.0.0 netmask 255.255.255.0 lo
#dhcpcd &
cat /etc/motd
#
#Install and configure NPE
insmod /lib/modules/2.6.19-uc1/kernel/ixp425/ixp400-2.4/ixp400.ko
cat /etc/IxNpeMicrocode.dat > /dev/ixNpe
insmod /lib/modules/2.6.19-uc1/kernel/ixp425/net-2.4/ixp400_eth.ko
ifconfig eth0 192.168.0.1