Linux and cross compiler

From Glacsweb Wiki
Jump to: navigation, search

Cross compiler

arm-linux-gcc is on leo and teresa in /usr/local/arm/3.3.2 (this is from the ads site for latest debian build).On teresa its in your path by default. Use arm-linux-gcc to compile for the ARM.


Kernel and filesystem

current versions are on leo and teresa in /data/glacsweb/BitsyX/linux /home/Bitsy/ respectively

We are using patch level 8 of the 2.4.27 kernel. A separate debian-based ramdisk.gz is used on the ice.

Full debian on microdrive as per this link sets up something on the Bitsy so it can boot on its own without microdrive - or into full distro if its in.

LEDs are controlled in /home/bitsy/linuxkernel/linux-2.4.27/arch/arm/mach-pxa/leds-adsbitsyx.c and I think CONFIG_LEDS= in kernel config file

Building a Kernel

We're using the older kernel 2.4...

After downloading the src files and patches (and applying them)

cd linux

make adsbitsyx_config

make oldconfig

make menuconfig

make dep zImage

(it seems to make modules "make modules" is used - no idea when!)

Setting up flash area

this is a permanent store we usually mount as /mnt/flash to put files which don;t get wiped on reboot. on a new system you do this (ONCE ever!):

flash_eraseall /dev/mtd3

then set up a mount like this:

mount -t jffs2 /dev/mtdblock3 /mnt/flash/

Keyspan

online docs show that you need to make the devices for the ramdisk:

mknod /dev/ttyUSB0 c 188 0

in make menuconfig we need to choose the driver as its not there by default

Ubuntu

to get a build environment on Ubuntu which includes curses you need to:

use system->administration->software sources to include more repositories

sudo apt-get install build-essential

sudo apt-get install libncurses5-dev