Dies ist eine alte Version des Dokuments!


Installation von Emdebian Grip auf den Karo TX25

Die folgende Anleitung erklärt die Installation von Emdebian Grip (Squeeze) auf den TX25 SOM der Firma Karo.

Dokumente und Downloads

  • TODO

Voraussetzung

  • PC oder VM mit installiertem Debian oder Ubuntu
  • Karo TX25 mit dem Starter-Kit V oder einem anderen passenden Carrier-Board.
  • PC mit serieller Schnittstelle (oder USB-to-RS232 Converter) und installierter Terminal-Anwendung (z.B. minicom, Cutecom, PuTTY, etc.)

Vorbereitung

  1. Debian Multistrap installieren:
    # apt-get install multistrap
  2. Emdebian-Archiv-Schlüssel installieren:
    # apt-get install emdebian-archive-keyring
  3. Qemu installieren:
    # apt-get install qemu qemu-user-static
  4. Unterstützung für zusätliche Binärformate installieren:
    # apt-get install binfmt-support
  5. schroot installieren:
    # apt-get install schroot
  6. mtd-utils installieren:
    # apt-get install mtd-utils

Root File System erstellen

  1. Multistrap Konfiguration erstellen:
    # nano -w karotx25.multistrap
    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
  2. Root File System bootstrappen:
    # multistrap -f karotx25.multistrap 
  3. Skript für automatische Konfiguration erstellen:
    # nano -w /opt/multistrap/autoconfig.sh
    autoconfig.sh
    #!/bin/sh
    export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true
    export LC_ALL=C LANGUAGE=C LANG=C
    /var/lib/dpkg/info/dash.preinst install
    dpkg --configure -a
    mount proc -t proc /proc
    dpkg --configure -a
  4. Konfigurationsskript ausführbar machen:
    #chmod 755 /opt/multistrap/autoconfig.sh
  5. schroot Konfiguration erstellen:
    # nano -w /etc/schroot/chroot.d/emdebian-grip-armel.conf
    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
  6. Untere Adresslimitierung für Qemu deaktivieren:
    # echo 0 > /proc/sys/vm/mmap_min_addr
  7. Qemu-Binary in das erstellte Root FS kopieren:
    # cp /usr/bin/qemu-armel-static /opt/multistrap/usr/bin/
  8. Chroot Umgebung betreten:
    # schroot -c emdebian-grip-armel
  9. Konfigurationsskipt ausführen:
    (emdebian-grip-armel)# /autoconfig.sh
  10. Root Passwort festlegen:
    (emdebian-grip-armel)# passwd
  11. Mount-Punkte festlegen:
    (emdebian-grip-armel)# nano -w /etc/fstab
    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
  12. Serielles Terminal konfigurieren:
    1. getty auf serielle Schnittstelle legen:
      (emdebian-grip-armel)# nano -w /etc/inittab
      1. 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
      2. Serielles Terminal aktivieren durch hinzufügen der folgenden Zeile am Ende der Datei:
        s0:23:respawn:/sbin/getty -L ttymxc0 115200 linux
    2. Sicherstellen, dass der Benutzer root sich am seriellen Terminal anmelden kann. Dazu muss in der Datei /etc/securetty folgende Zeile zu finden sein:
      ttymxc0
  13. Netzwerkkonfiguration:
    (emdebian-grip-armel)# nano -w /etc/network/interfaces
    interfaces
    # /etc/network/interfaces -- configuration file for ifup/ifdown
    # 2011-04-07 martin.zueger@ntb.ch
    
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet dhcp
    #iface eth0 inet static
    #address 192.168.1.234
    #netmask 255.255.255.0
  14. Chroot Umgebung wieder verlassen:
    (emdebian-grip-armel)# exit
  15. Qemu-Binary im erstellten Root FS wieder löschen:
    # rm /opt/multistrap/usr/bin/qemu-armel-static
  16. Dateisystemabbild erzeugen:
    # mkfs.jffs2 -n -e 0x20000 -p 0x20000 -l -D /opt/multistrap/dev_table -d /opt/multistrap -o emdebian-wheezy-grip-phycore-mpc5200b.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: inf04-server.ntb.ch1) 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:

Root FS

Linux Kernel und Root File System installieren

TODO

Installation testen

TODO

Abschliessende Arbeiten

TODO

1)
Bitte Ordner mit dem eigenen Benutzernamen erstellen. Dateien und Ordner, die ausserhalb dieses Ordners erstellt werden, werden ohne Vorwarnung wieder gelöscht!