## Installing VSPDL on an ARM System
### For a System With The Default Kernel
1. Get crosstool from
[ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7800-linux/cross-toolchains/ts7800-crosstool-linux-gnueabi-2005q3-2.tar.gz](ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7800-linux/cross-toolchains/ts7800-crosstool-linux-gnueabi-2005q3-2.tar.gz)
2. Unpack it to some folder (“crosstool”, for example).
3. Get VSPDL binary pack and VSPDModule sources from VSPDL downloads page.
4. Execute:
mkdir -p crosstool/usr/local/vspd
5. Unpack VSPDL binary package tar.gz into crosstool/usr/local/vspd/
6. Copy VSPDModule into crosstool/usr/local/vspd/lib
7. Manually update config files (crosstool/usr/local/vspd/etc/) and startup scripts (/usr/local/vspd/bin/)
8. Add startup scripts to your RC-system.
### For a System Running a Custom Kernel
* Get crosstool from
[ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7800-linux/cross-toolchains/ts7800-crosstool-linux-gnueabi-2005q3-2.tar.gz](ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7800-linux/cross-toolchains/ts7800-crosstool-linux-gnueabi-2005q3-2.tar.gz)
* Unpack it to some folder (“crosstool”, for example).
* Get linux-2.6.21-ts sources:
[ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7800-linux/sources/linux-2.6.21-ts-src-oct102008.tar.gz](ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7800-linux/sources/linux-2.6.21-ts-src-oct102008.tar.gz)
* Unpack into crosstool/usr/src/linux-2.6.21-ts/
* Get VSPDL binary pack and VSPDModule sources from VSPDL downloads page.
mkdir -p crosstool/usr/local/vspd
* Unpack VSPDL binary package tar.gz into crosstool/usr/local/ (crosstool/usr/local/vspd-1.43-dist will be created).
* CD into crosstool/usr/src/linux-2.6.21-ts/ and do steps 6-8 and (if needed) 9 from http://www.embeddedarm.com/about/resource.php?item=415
* Run:
# make prepare
# make modules_prepare
PATH=crosstool/bin:$PATH
export PATH
cd crossotool/usr/local/vspd-1.43-dist/
* run ./install.sh to create some files (it will stop with error).
* cd to ./lib/src/
* In _makewrapper replace
PWD=`pwd`
MAKE_ARGS="-C /usr/src/linux-2.6.21-ts SUBDIRS=$PWD modules"
with
PWD=`pwd`
X="crosstool/arm-none-linux-gnueabi"
MAKE_ARGS="-C ${X}/usr/src/linux-2.6.21-ts SUBDIRS=$PWD modules"
* The first few lines of ./Makefile have to look like this:
# Generated automatically from Makefile.in by configure.
CC=arm-none-linux-gnueabi-gcc
KERNEL_NAME=linux
KERNEL_VER=2.6.21-ts
KERNEL_SUBVER=2.6
KERNEL_PATH=crosstool/usr/src/linux-2.6.21-ts
HAVE_KERNEL=yes
PWD=crosstool/usr/local/vspd-1.43-dist/lib/src
...
* run ./_makewrapper
[me@mypc src]$ ./_makewrapper
make: Entering directory `crosstool/usr/src/linux-2.6.21-ts'
WARNING: Symbol version dump crosstool/usr/src/linux-2.6.21-ts/Module.symvers is missing;
modules will have no dependencies and modversions.
CC [M] crosstool/usr/local/vspd-1.43-dist/lib/src/vspm.o
Building modules, stage 2.
MODPOST 1 modules
CC crosstool/usr/local/vspd-1.43-dist/lib/src/vspm.mod.o
LD [M] crosstool/usr/local/vspd-1.43-dist/lib/src/vspm.ko
make: Leaving directory `crosstool/usr/src/linux-2.6.21-ts'
[me@mypc src]$
* Copy crosstool/usr/local/vspd-1.43-dist/* to crosstool/usr/local/vspd/
* Copy crosstool/usr/local/vspd/lib/src/vspm.ko to crosstool/usr/local/vspd/lib/
* Manually update config files (crosstool/usr/local/vspd/etc/) and startup scripts (/usr/local/vspd/bin/)
* Add startup scripts into your RC-system