Installation of uCLinux and Setup For StarEast , IXP425 based board.
The Board has redboot already installed in the flash memory. But, if it not there then you have to build redboot according to processor and board. Also, for
installing redboot on stareast you will require JTAG.
If redboot is already installed then do the following:
/********Install "minicom" (terminal s/w for serial comm.) {version 2.1-8 and 2.1-9 are tried, 2.1-10 has some bugs, try to avoid that) *********/
Commands:
#minicom -s
go to "serial port setup"
Do following changes:
A serial device : /dev/ttys0
E Bps/Par/Bits :115200 8N1
F HW flow control: NO
/************************************************************************************************************************************/
After starting wait for few minutes, u will get
redboot> fconfig //do changes according to your lan settings
Run script at boot: false
Use BOOTP for network configuration: false
Gateway IP address: 10.64.1.1
Local IP address: 10.64.253.18
Local IP address mask: 255.255.0.0
Default server IP address: 10.64.253.17
Console baud rate: 115200
DNS server IP address:
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Default network device: npe_eth0
Update RedBoot non-volatile configuration - continue (y/n)? y
/***********Snapgear Images**************************************************/
Go to snapgear directory.
#tar vxzf snapgear-3.1.1.tar.gz
#tar vxzf snapgear-3.1.x-ixp400-v1.4.2-support.tar.gz {this is active library integration support for IXP400 software}
#cp ixp400AccessLibrary-1_4.zip ./sanpgear/vendors/Intel/IXDP425/ixp400-1.4-uclinux {IXP400 software library}
then run the script:
#snapgear/vendors/Intel/IXDP425/ixp400-1.4-uclinux/install
Now run arm-linux tools:
#tar -zxvf arm-linux-tools-20030927.tar.gz
This will create directory 'usr'.
Move it to your home folder.Then,
#export PATH=/home/<usrname>/usr/local/bin:${PATH}
/************************Configuring snapgear***********************/
First of all install all 'ncurses' libraries.
Go to newly created directory 'snapgear'
#make menuconfig
will show a uclinux v3.1.0 configuration window.
select "Vendor/Product Selection"
vendor -> Intel
Product -> IXDP425
Kernel/Library/Default section:
(linux-2.4.x) Kernel Version
(glibc) Libc Version
[*]Customize Kernel Settings
[*]Customize Vendor/Usr Settings
General setup --->
[*]Support for hot-pluggable devices
General setup --->
Default kernel command string:
"console=ttyS1,115200 root=/dev/ram0 initrd=0x00800000,16M mem=64M@0x00000000"
{"ttyS0 -> ttyS1", "8M -> 16M"}
Block Devices-->
<*> Loopback device support
(16384) Default Ram disk
Network device support --> wireless LAN (non-ham radio)
[*] Wireless LAN (non-hamradio)
/************Configuration specific to minipci card****************************/
Replace pci_auto.c in ..../snapgear/snapgear/linux-2.4.x/arch/arm/mach-ixp425
with the one in folder snapgear.
also, make folowing changes in the file
.../snapgear/snapgear/linux-2.4.x/arch/arm/mach-ixp425/ixdp425-pci.c
for minipci cards.
#define IXP425_PCI_MAX_DEV 5 //originally 4
add this line at line no.70 : {INTD, INTA, INTB, INTC}
/*********************compilation and buildin images for snapgear*******************/
Note: copy the string.h file from /usr/include to /usr/include/linux for for Fedora Core, ubuntu.
Also for ubuntu make following change in /usr/include/linux/types.h
Cory From Line 116 to 130 (following lines)
#ifndef __BIT_TYPES_DEFINED__
#define __BIT_TYPES_DEFINED__
typedef __u8 u_int8_t;
typedef __s8 int8_t;
typedef __u16 u_int16_t;
typedef __s16 int16_t;
typedef __u32 u_int32_t;
typedef __s32 int32_t;
#endif /* !(__BIT_TYPES_DEFINED__) */
typedef __u8 uint8_t;
typedef __u16 uint16_t;
typedef __u32 uint32_t;
and paste them at line 10.
Also, you are changing the file in root directory, hence befor modification you should have
writing permission to this file.
Else, you will get compilation error.
Now run following command for dependancies:
#make dep
#make {It will take time to make}
This will create 2 files to be loaded in the snapgear board.
ramdisk.gz and zImage
/*******************Loading ucLinux Images****************************/
2 ways to load images:
1. Using minicom terminal & "ymodem" protocol through serial port. //This one is not working ..some 'ymodem' problem
2. Using tftp server as a host through ethernet port.
We used tftp method:
Install tftp and tftpd packages.
add following line in /etc/inetd.conf file
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftpboot
make /tftpboot folder if its not present.
Copy the files to be loaded in that folder.
Then in minicom terminal : use following commands:
redboot>load -r -v -b 0x01600000 zImage
redboot>load -r -v -b 0x00800000 ramdisk.gz
redboot>go -n 0x01600000
Now ucLinux should boot.
