mrm2ms Linuxdinger

Kernel

Derzeit ist ein 2.6.30er kernel mit passendem Patch linux-2.6.30-geu09.patch.txt verfügbar.

Update: 3.5.4er Kernel - kann noch zu spontaner Selbstentzündung führen, läuft aber sonst stabil. linux-3.5.4-mr1002.patch.txt

GNU/Debian

Debian kann man wie folgt auf den WRS bringen: Auf einem bestehenden Debian-Linux (Architektur egal) wird mit debootstrap ein File-System-Image für die armel-Architektur erstellt:

debootstrap --foreign --arch=armel squeeze /tmp/debian

Danach liegt ein rudimentäres Dateisytstem in /tmp/debian. Auf diesem müssen jetzt noch auf einem ARM-System (z.B. Dockstar) die Post-Install-Routinen ausgeführt werden, die durch –foreign unterdrückt wurden.

Wir benötigen einen USB-Stick mit zwei Partitionen, da der uboot nur vfat-Partitionen einlesen kann, um den Kernel zu laden. Für das eigentliche Dateisystem verwenden wir ext3 (das sollte man idealer Weise dann auch in den Kernel fest einkompilieren, da wir keine Init-Ramdisk verwenden hust). Das vorbereitete Dateisystem übertragen wir auf die EXT3-Partition und mounten diese auf die Dockstar.

chroot /mnt/ /bin/bash
debootstrap --second-stage

Jetzt kann man sich erst mal einen Kaffee machen - das dauert etwas.

Das uImage für den Kernel legen wir auf die vfat-Partition. Am Dateisystem müssen noch zwei kleine Anpassungen vorgenommen werden: In der etc/shadow muss root der Login ermöglicht werden und in etc/inittab muss der getty für ttyS0 eingeschaltet werden:

T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100

Jetzt kann aus uboot heraus debian über den USB-Stick gebootet werden:

usb start
fatload usb 0:1 0x21000000 uimage
setenv bootargs mem=32M console=ttyS0,115200 mtdparts=atmel_nand:8M(kernel),-(rootfs) ubi.mtd=kernel ubi.mtd=rootfs root=/dev/sda2 rootfstype=ext3 rootdelay=10
bootm 0x21000000

mit Mucross

Mucross ist eine (kostenflichtige) Distribution der Firma kernel concepts aus Siegen. Kostenpflichtig ist dabei die Toolchain und der Zugang zum opkg repository. Die erzeugten Programme und File-Systems können kostenfrei und als open Source weiter gegeben werden. m2m Germany hat eine passende Lizenz.

  • Anfangs booten die Dinger nicht mit schreibgeschütztem Filesystem, da sie während dem Bootvorgang folgendes fragen:
    mv: overwrite '/etc/udev/saved.uname'?

     Dies kann man wie folgt abschalten:

    • Mit mrm2ms Special-Seriel-Adapter drangehen (Baudrate 115200)
    • Booten und Nachfrage mit yes bestätigen
    • Einloggen mit default-Daten: root, root
    • Filesystem beschreibbar machen:
      mount -o remount,rw /
    • /etc/default/udev editieren:
      DEVCACHE="/etc/dev.tar"

      ändern zu

      #DEVCACHE="/etc/dev.tar"
  • Ein weiteres Problem ist, dass dropbear beim Booten einmal mit beschreibbarem root-Filesystem starten muss, damit die Keys erzeugt werden können. Deshalb:
    • /etc/init.d/dropbear editieren (Der Schritt kann wahrsch. entfallen):
      readonly_rootfs=0
      for flag in `awk '{ if ($2 == "/") { split($4,FLAGS,",") } }; END { for (f in F
        case $flag in
         ro)
           readonly_rootfs=1
           ;;
        esac
      done

      ändern zu

      readonly_rootfs=1
      #for flag in `awk '{ if ($2 == "/") { split($4,FLAGS,",") } }; END { for (f in F
      #  case $flag in
      #   ro)
      #     readonly_rootfs=1
      #     ;;
      #  esac
      #done
    • /etc/fstab editieren und root-filesystem rw mounten lassen statt ro
    • Dockstar neu booten, SSH-Keys sollten generiert werden.
    • /etc/fstab editieren und root-filesystem wieder ro mounten lassen statt rw
  • Jetzt sollte der Bootvorgang vollständig automatisiert durchlaufen. Das Ding sollte jetzt via SSH erreichbar sein auf der per DHCP zugewiesenen IP.

Mit Bluetooth spielen

  • microcom -s 115200 /dev/ttyS2
    • Zum Beenden ctrl-x
    • help für Hilfe
 
 
projekte/mrmslinuxdinger.txt · Zuletzt geändert: 2012-09-18 15:35 von Moritz Rosenthal
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki