Die folgende Anleitung erklärt die Installation von Emdebian Grip (Squeeze) auf den TX25 SOM der Firma Karo.
Dokumente und Downloads
Wir benutzen Multistrap für das Root-Filesystem gemäss Anleitung: Root-Filesystem
[General] arch=armel directory=/opt/multistrap/ cleanup=true retainsources= noauth=true unpack=true bootstrap=Grip Updates aptsources=Grip Updates Debian [Grip] packages=ntpdate udev lrzsz isc-dhcp-client ifupdown vim procps iputils-ping psmisc module-init-tools openssl openssh-server cron rsyslog nano source=http://www.emdebian.org/grip keyring=emdebian-archive-keyring suite=squeeze [Updates] packages=apt source=http://www.emdebian.org/grip keyring=emdebian-archive-keyring suite=squeeze-proposed-updates # fallback [Debian] packages= source=http://ftp.uk.debian.org/debian keyring=debian-archive-keyring suite=squeeze
[emdebian-grip-armel] description=Emdebian Grip Squeeze (armel) aliases=emdebian-armel type=directory directory=/opt/multistrap root-groups=root users=$USER groups=sbuild
# /etc/fstab for Karo TX25 # 2011-04-07 martin.zueger@ntb.ch # device dir type options dump fsck /dev/mtdblock1 / jffs2 rw,auto 0 0 #/dev/mtdblock2 /var/log jffs2 rw,auto 0 0 /dev/mmcblk0p1 /media/sdcard auto rw,noauto 0 0 /dev/sda1 /media/usbdisk auto rw,noauto 0 0 tmpfs /tmp tmpfs defaults,size=16m 0 0 tmpfs /var/tmp tmpfs defaults,size=4m 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 usbfs /proc/bus/usb usbfs defaults,noauto 0 0 tmpfs /dev tmpfs defaults,noauto 0 0
/opt/multistrap/etc/inittab
#1:2345:respawn:/sbin/getty 38400 tty1 #2:23:respawn:/sbin/getty 38400 tty2 #3:23:respawn:/sbin/getty 38400 tty3 #4:23:respawn:/sbin/getty 38400 tty4 #5:23:respawn:/sbin/getty 38400 tty5 #6:23:respawn:/sbin/getty 38400 tty6
s0:23:respawn:/sbin/getty -L ttymxc0 115200 linux
/opt/multistrap/etc/securetty
folgende Zeile zu finden sein: ttymxc0
name type mode uid gid major minor start inc count /dev/console c 600 0 0 5 1 0 0 - /dev/kmsg c 660 0 0 1 11 0 0 - #/dev/log s 666 0 0 - - - - - /dev/loop b 640 0 0 7 0 0 1 8 /dev/mem c 640 0 15 1 1 0 0 - /dev/null c 666 0 0 1 3 0 0 - /dev/pts d 755 0 0 - - - - - /dev/random c 666 0 0 1 8 0 0 - /dev/tty c 666 0 0 5 0 0 0 - /dev/tty c 666 0 0 4 0 0 1 6 /dev/urandom c 666 0 0 1 9 0 0 - /dev/zero c 666 0 0 1 5 0 0 - /dev/mtdblock1 b 666 0 6 31 1 0 0 - /dev/mtdblock2 b 666 0 6 31 2 0 0 -
# mkfs.jffs2 -n -e 0x20000 -p 0x20000 -l -D dev_table -d /opt/multistrap -o emdebian-squeeze-grip-karotx25.jffs2
Für die Installation auf dem TX25 müssen die benötigten Dateien auf einem TFTP-Server bereit gestellt werden. Am NTB kann hierfür der FTP-Server des INF-Instituts verwendet werden: inf004.ntb.ch1) Die im Folgenden genauer beschriebenen drei Dateien müssen auf den FTP-Server kopiert werden.
Als Kernel wird der von Karo gelieferte Linux Kernel in Version 2.6.31 verwendet. Das Image ist auf der dem SOM beiliegenden CD zu finden, oder kann hier heruntergeladen werden:
Auf dem Karo TX25 ist der Bootloader RedBoot installiert. Dieser kann die benötigten Dateien per FTP auf das SOM laden. Dazu sind folgende Schritte notwendig:
RedBoot> load -r -b 0x80100000 -h 146.136.36.50 pub/xyz/zimage-linux-2.6.31-tx25 RedBoot> fis create linux load -r -b 0x80100000 -h 146.136.36.50 pub/xyz/emdebian-squeeze-grip-karotx25.jffs2 fis create rootfs
RedBoot> fis load linux exec -w 1 -c "init=/sbin/init console=ttymxc0 root=/dev/mtdblock1 rootfstype=jffs2"
Für die obige Anleitung wurde folgende Flash Konfiguration verwendet:
Name FLASH addr Mem addr Length Datalen Entry point -------------------------------------------------------------------------------- RedBoot 0x00000000 0x00000000 0x00040000 0x00000000 0x00000000 rootfs 0x00040000 0x80100000 0x00C00000 0x00900000 0x80100000 userfs 0x00C40000 0x80100000 0x07120000 0x00000000 0xFFFFFFFF linux 0x07D60000 0x80100000 0x00200000 0x001AAA0C 0x80100000 FIS directory 0x07F60000 0x07F60000 0x0001F000 0x00000000 0x00000000 RedBoot config 0x07F7F000 0x07F7F000 0x00001000 0x00000000 0x00000000
Durch Eingabe der folgenden Befehle in der RedBoot Konsole kann die original Flash Konfiguration von Karo wiederhergestellt werden:
fis init -f fis create -s 0 -l 0x06000000 -b 0x80100000 rootfs fis create -s 0 -l 0x01CC0000 -b 0x80100000 varfs fis create -s 0 -l 0x00260000 -b 0x80108000 -r 0x80108000 -e 0x80108000 linux