Title: Install MontaVista
1Install MontaVista Linux PE 3.1 on ADI Coyote
IXP425
- AdviserDr Cheng(???)
- AuthorShower Tsai(???)
E-mailxshower_at_gmail.com
2Outline
- Introduction
- Set up Host environment
- Compile kernel Image
- Set up Target
- Set up Server
- Hello world
- Kernel module
- IXP400 Software Codelet
3Introduction
- ADI coyote ixp425
- Environment
- Prepare
4ADI Coyote IXP425
Flash
Rs-232
Reset
Intel IXP425
USB 1.1
Phone port
power
WAN port
Mini PCI slot
LAN port
5Development Environment
Hard device
- TFTP server
- zImage
- DHCP server
- NFS server
NFS mount
Network (Most work)
MVL
Mini com
Target board
Serial (Initial setup)
Host computer
6Preparing Development System
- OS
- Mandrake 8.1 (on x86)
- Red Hat 7.3 or 9.0 (on x86)
- SuSE 9.0 (on x86)
- Solaris 8 (on Sparc)
- Windows 2000/XP
- MontaVista Linux PE 3.1
- File
- ipl_ixp400accesslibrarywithcrypto-1_5.zip
(include access library and drivers ) - ixp400linuxethernetdriverpatch-1_2.zip
- ixp400linuxintegrationpatch-1_2.zip (For kernel
path and config CONFIG_IXP425_ETH) - ipl_ixp400npelibrarywithcrypto-1_5.zip
7Initial process (1/2)
HOST
TARGET
Use Minicom / hyper terminal logon Redboot
Install Linux 7.2 / 7.3 with all packages and
shut down the firewall
Configure TFTP?DHCP?NFS server
Press Ctrl C to stop Redboot execute script
Install MVL PE 3.1 Host Binaries?arm_xscale_be ?
intel-ixdp425 LSP on Host and compile zImage
Edit script and network configuration
copy the zImage to /tftpboot
Press reset and restart Target
8Initial process (2/2)
Turn on TARGET
Target execute script
Target download zImage from TFTP
Auto decompress zImage and initial MontaVista
Linux OS
MVL OS get network information from DHCP
MVL OS connect to NFS server
Complete the process and then enter root to use
the system
9Set up Host environment
10Install MontaVista Linux Version 3.1 Host
Binaries
- Insert CD1MontaVista Linux Version 3.1 Host
Binaries - Enter /mnt/cdrom/ install to install MontaVista
Linux
11Install MVL 3.1 Host Binaries
- Open Web Browser, fill the URL with
http//127.0.0.19999
12Install MVL 3.1 Host Binaries
13Install MVL 3.1 Host Binaries
14Install MVL 3.1 Host Binaries
- Make sure everything is right and the press next
15Install MVL 3.1 Development Environment
- Insert CD2MontaVista Linux Version 3.1
Development Environment
16Install MVL 3.1 Development Environment
17Install MVL 3.1 Development Environment
- Make sure everything is right and the press next
18Install MVL 3.1 Development Environment
19Install MVL 3.1 ADI coyote LSP arm_xscale_be
- Insert CD3MontaVista Linux Version 3.1 ADI
Coyote LSP arm_xscale_be
20Install MVL 3.1 Development Environment
- Select ADI coyote Reference Platform
21Install MVL 3.1 cross arm_xscale_be
- Insert CD4MontaVista Linux Version 3.1 cross
arm_xscale_be
22Install MVL 3.1 target arm_xscale_be
- Insert CD5MontaVista Linux Version 3.1 target
arm_xscale_be
23Install MVL 3.1 target arm_xscale_be
24Install MVL 3.1 target arm_xscale_be
25Install MVL 3.1 target arm_xscale_be
26Compile kernel Image
- Get the file
- Patch
- Compile zImage
27File you need
- go www.intel.com and download
- ipl_ixp400accesslibrarywithcrypto-1_5.zip
- ipl_ixp400npelibrarywithcrypto-1_5.zip
- ixp400linuxethernetdriverpatch-1_2.zip
- ixp400linuxintegrationpatch-1_2.zip
- Unzip them to /root/nplab (work dir)
28Patch the file
- Copy the file /opt/montavista/pro/devkit/lsp/adi-c
oyote-arm_xscale_be/linux-2.4.20_mvl31 linux - Here has the source code of the kernel we need
and then create a soft link linux point to the
copy directory
29Patch the file
- Fix ixp400_xscale_sw/buildUtils/environment.linux.
sh - linuxbe_KERNEL_DIR/root/nplab/linux
- IX_XSCALE_SW/root/nplab/ixp400_xscale_sw
- execute . environment.linux.sh
30Patch the file
- Go to /root/nplab/linux
- patch -p1 lt ../ixp400LinuxKernel-BE-1_2.patch
- patch -p1 lt ../ixp400LinuxEthernetDriver-1_2.patch
- Go to /root/nplab
- Use ixp425_eth_update_nf_bridge-1_2.patch to fix
ixp425_eth.c
31Start to compile zImage
- Go to /root/nplab/linux
- make menuconfig
- System Type -gtIXP425 Implementation Options
- Network device support-gtEthernet (10 or 100Mbit)
- Intel IXP425 Ethernet Device support
32Start to compile zImage
- After make menuconfig ,edit .config,patch
Accesslibary CONFIG_IXP425_LIBm - make dep
-
- make zImage
-
33Complete the compile
- We will have the zImage at /root/nplab/linux/arc
h/arm/boot - Copy zImage to /tftpboot
34Set up Target
- Configure moinicom
- Edit Script
35Configure minicom
- Logon Linux by root
- Minicom s to configure minicom
36Configure minicom
- configure serial port by below
37Configure minicom
- Exit Serial port setup and enter Modem and
dialing
38Configure minicom
39Configure minicom
- Save setup as df1
- Select exit to exit and connect to target
- Or select exit from minicom to exit
40Edit Script
- Restart target.
- Press CtrlC to redboot
41Edit Script
- At RedBoot Command line,enter fconfig to edit
Script and network
42Edit Script
zImage ??
43Edit Script
- Set Script waiting time before execute(for
example, wait 3 seconds )
44Edit Script
45Edit Script
46Set up Server
- TFTP server
- DHCP server
- NFS server
47Set up TFTP server
- Edit /etc/xinetd.d/tftp
- Change the disable field from yes to no
48Set up TFTP server
- After save the file , execute etc/init.d/xinetd
reload - zImage will be copied to /tftpboot
49Set up DHCP server
- Check dhcp.leases
- If not, use touch
50Set up DHCP server
51Set up DHCP server
- Restart DHCP server
- Run DHCP server when boot
52Set up NFS server
- Edit /etc/exports
- Add /opt/montavista/pro/devkit/arm/xscale_be/targ
et (rw,no_root_squash,no_all_squash) - Restart NFS
53Set up NFS server
- Run NFS server when boot /sbin/chkconfig nfs on
- Sync NFS daemon/usr/sbin/exportfs -ra
54Hello world
- Set up executable search path
- Compile a program
55The executable search path of Target
- ??Host???MontaVista Linux??
- Application/opt/montavista/host/bin
- Man Pages/opt/montavista/host/man
- Info Pages/opt/montavista/host/info
56The executable search path of host
- ??Host???????Target??????
- Application/opt/montavista/devkit/arm/xscale_be/
bin - Man Pages/opt/montavista/devkit/arm/xscale_be/ma
n - Info Pages/opt/montavista/devkit/arm/xscale_be/i
nfo
57The executable search path of Cross-development
- Application/montavista/devkit/arm/xscale_be/targ
et/bin?Target/bin/opt/montavista/devkit/arm/xsc
ale_be/target/usr/bin?Target/usr/bin/opt/montav
ista/devkit/arm/xscale_be/target/sbin?Target/sbi
n/opt/montavista/devkit/arm/xscale_be/target/usr/
sbin?Target/sbin/opt/montavista/devkit/arm/xsca
le_be/target/usr/share?Target/usr/share - Man Pages/opt/montavista/devkit/arm/xscale_be/ta
rget/usr/share/man - Info Pages/opt/montavista/devkit/arm/xscale_be/t
arget/usr/share/info
58Set up executable search path of Target?Host and
Cross-development
- Set up Host Application path/opt/montavista/pro/h
ost/bin - PATHPATH/opt/montavista/pro/host/bin
- Then we can use the tool MontaVista Linux
provide(ex. mvl-rpm)
montavista
59Set up executable search path of Target?Host and
Cross-development
- Set up Application path of Cross
development/opt/montavista/pro/devkit/arm/xscale_
be/bin - PATHPATH/opt/montavista/pro/devkit/arm/xscale_b
e/bin - Cross development Application perfixxscale_be-(e
x. xscale_be-gcc)
montavista
60Set up executable search path of Target?Host and
Cross-development
- Edit /etc/profile
- Add Host Application path/opt/montavista/pro/hos
t/bin - Add Cross development application
path/opt/montavista/pro/devkit/arm/xscale_be/bin
61Hello world
- Create a directory myapplication
- Edit a progream hellow.c
62Hello world
- Use xscale_be-gcc to compile your c file
- Copy it to the directory where target mount
- /opt/montavista/pro/devkit/arm/xscale_be/target/ro
ot/
63Execute the binary on target
- Logon on target and execute
64Kernel module
- Create kernel module
- Install NPE-Ethernet driver
65Create kernel module
- First, check the environment
- Go to /root/nplab and then use make module to
create kernel module
66Create kernel module
- Execute make modules_install INSTALL_MOD_PATH/
- Install modules to the directory where target
mount
67Install NPE-Ethernet driver module
- Logon on target and use lsmod to show what
modules have been loaded use rmmod to remove
the module
68Install NPE-Ethernet driver module
- Go to /lib/modules/2.4.20_mvl31-coyote/kernel/driv
ers/ixp400/
69Install NPE-Ethernet driver module
- Ismod ixp400.o
- Go to /lib/modules/2.4.18_mvl30-ixdp425/kernel/dri
vers/net - Ismod ixp425_eth.o
70Configure ixp0
- Configure the ip of ixp0
- At same time, minicom
71IXP400 Software Codelet
- Install a codelet
- Test the codelet
72Install ixp400 software codelet driver module
- Go to /lib/modules/2.4.18_mvl30-ixdp425/kernel/dri
vers/ixp400/ - Ismod ixp400.o
- Ismod ixp400_codelets_ethAcc.o with
operationType1
73Test codelet
ixp0????Test??????