====== Installation von Emdebian Grip auf den Karo TX25 ====== Die folgende Anleitung erklärt die Installation von [[:Software:Linux:Emdebian:start]] Grip (Squeeze) auf den [[http://www.karo-electronics.de/tx25.html | TX25]] SOM der Firma Karo. * [[http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.31.y.git;a=summary | Linux 2.6.31 Web Git]] * [[http://lxr.free-electrons.com/ident?v=2.6.31&a=arm | Linux Cross Reference (2.6.31/ARM)]] ===== Voraussetzung ===== * PC oder VM mit installiertem Debian oder Ubuntu * [[http://www.karo-electronics.de/tx25.html | Karo TX25]] mit dem [[http://www.karo-electronics.de/starterkit_5.html | Starter-Kit V]] oder einem anderen passenden Carrier-Board. * PC mit serieller Schnittstelle (oder USB-to-RS232 Converter) und installierter Terminal-Anwendung (z.B. [[:Software:Linux:minicom]], Cutecom, [[:Software:PuTTY:start]], etc.) ===== Root File System erstellen ===== Wir benutzen Multistrap für das Root-Filesystem gemäss Anleitung: [[software:linux:emdebian:rootfs_erstellen|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 * schroot Konfiguration: [emdebian-grip-armel] description=Emdebian Grip Squeeze (armel) aliases=emdebian-armel type=directory directory=/opt/multistrap root-groups=root users=$USER groups=sbuild * Als Qemu-Binary muss //qemu-armel-static// kopiert werden. * Mount-Punkte (fstab): # /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 * Konfiguration für serielles Terminal: - getty auf serielle Schnittstelle legen in ''/opt/multistrap/etc/inittab'' - Standard TTYs deaktivieren indem die folgenden Zeilen auskommentiert werden: #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 - Serielles Terminal aktivieren durch Hinzufügen der folgenden Zeile am Ende der Datei: s0:23:respawn:/sbin/getty -L ttymxc0 115200 linux - Sicherstellen, dass der Benutzer root sich am seriellen Terminal anmelden kann. Dazu muss in der Datei ''/opt/multistrap/etc/securetty'' folgende Zeile zu finden sein: ttymxc0 * Device-Node Tabelle: 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 - * Dateisystemabbild erzeugen: # mkfs.jffs2 -n -e 0x20000 -p 0x20000 -l -D dev_table -d /opt/multistrap -o emdebian-squeeze-grip-karotx25.jffs2 ===== Dateien für Installation vorbereiten ===== 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.ch\ftp\pub\ | inf004.ntb.ch]]((Bitte Ordner mit dem eigenen Benutzernamen erstellen. Dateien und Ordner, die ausserhalb dieses Ordners erstellt werden, werden ohne Vorwarnung wieder gelöscht!)) Die im Folgenden genauer beschriebenen drei Dateien müssen auf den FTP-Server kopiert werden. ==== Linux Kernel ==== 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: * {{.:zimage-linux-2.6.31-tx25|Kernel-Image Linux 2.6.31 für Karo TX25}} ===== Linux Kernel und Root File System installieren ===== 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 ===== Installation testen ===== RedBoot> fis load linux exec -w 1 -c "init=/sbin/init console=ttymxc0 root=/dev/mtdblock1 rootfstype=jffs2" ===== Weitere Informationen ===== ==== RedBoot Flash Konfiguration auf dem TX25 ==== 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 ==== Original Flash Konfiguration wiederherstellen ==== 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