Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
software:linux:emdebian:tx25 [2013-07-12 14:42] – angelegt kalberersoftware:linux:emdebian:tx25 [2016-11-21 12:42] (aktuell) ditaranto
Zeile 1: Zeile 1:
-====== Emdebian auf dem Karo TX-25 ======+====== 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.
 +
 +<box blue right 35% | **Dokumente und Downloads**>
 +  * [[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)]]
 +</box>
 +
 +===== 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]]
 +  * <file - karotx25.multistrap>
 +[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
 +</file>
 +  * schroot Konfiguration: <file - emdebian-grip-armel.conf>[emdebian-grip-armel]
 +description=Emdebian Grip Squeeze (armel)
 +aliases=emdebian-armel
 +type=directory
 +directory=/opt/multistrap
 +root-groups=root
 +users=$USER
 +groups=sbuild</file>
 +  * Als Qemu-Binary muss //qemu-armel-static// kopiert werden. 
 +  * Mount-Punkte (fstab): <file - 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</file>
 +  * Konfiguration für serielles Terminal:
 +    - getty auf serielle Schnittstelle legen in ''/opt/multistrap/etc/inittab''
 +      - Standard TTYs deaktivieren indem die folgenden Zeilen auskommentiert werden: <code>#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</code>
 +      - Serielles Terminal aktivieren durch Hinzufügen der folgenden Zeile am Ende der Datei: <code>s0:23:respawn:/sbin/getty -L ttymxc0 115200 linux</code>
 +    - 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: <code>ttymxc0</code>
 +
 +  * Device-Node Tabelle: <file - device_table> 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 -</file>
 +  * Dateisystemabbild erzeugen: <code># mkfs.jffs2 -n -e 0x20000 -p 0x20000 -l -D dev_table -d /opt/multistrap -o emdebian-squeeze-grip-karotx25.jffs2</code>
 +
 +===== 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:
 +<code>
 +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
 +</code>
 +
 +===== Installation testen =====
 +<code>
 +RedBoot> fis load linux
 +exec -w 1 -c "init=/sbin/init console=ttymxc0 root=/dev/mtdblock1 rootfstype=jffs2"
 +</code>
 +
 +===== Weitere Informationen =====
 +==== RedBoot Flash Konfiguration auf dem TX25 ====
 +Für die obige Anleitung wurde folgende Flash Konfiguration verwendet:
 +<code>
 +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
 +</code>
 +
 +==== Original Flash Konfiguration wiederherstellen ====
 +Durch Eingabe der folgenden Befehle in der RedBoot Konsole kann die original Flash Konfiguration von Karo wiederhergestellt werden:
 +<code>
 +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
 +</code>