====== pyneo installieren ====== Eine Schnelleinführung zur Installation von pyneo findet man auf der offziellen Webseite [[http://pyneo.org/documentation/howto/debian.html|hier]]. Ich möchte auf dieser Seite eine zu 100% nachvollziehbare Installationsanleitung verfassen und freue mich wie immer über Anregungen. Anmerkung: [[http://wiki.openmoko.org/wiki/Qi|Qi]] muss für das folgende Setup installiert sein. Alle Befehle müssen als root ausgeführt werden. ===== Vorbereitung der microSD-Karte ===== pyneo basiert seit kurzer Zeit auf Debian und wird damit auf die microSD-Karte installiert, was darüber hinaus auch flexibilität bringt. Es bietet sich an zwei Partitionen auf der microSD-Karte anzulegen. Eine Partition in diese das Debian-System installiert wird, sowie eine für die eigenen Dateien. ==== microSD-Karte partitionieren ==== Als root mit cfdisk /dev/*microsddevice* cfdisk im interaktiven Modus starten (Dateisystem darf nicht eingebunden sein). Anschließend zwei neue Partitionen (System: 1 GB, Daten: Rest des freien Bereichs) erstellen und mit einem Linux-Dateisystem (83) markieren. ==== ext3-Dateisystem einrichten ==== Mit folgendem Kommando wird das ext3-Dateisystem eingerichtet: mkfs -t ext3 /dev/*microsdpartition* Jeweils für jede der zwei Partitionen ausführen. ===== Basissystem installieren ===== ==== rootfs installieren ==== Erste Partion mit 1 GB ins System einbinden und in das Verzeichnis wechseln. Anschließend auf der [[http://pyneo.org/downloads/debian/|pyneo Downloadseite]] das Debiansystem mit pyneo (armelchroot-full, pyneo mit allen Abhängigkeiten) herunterladen. Beispiel: wget http://pyneo.org/downloads/debian/armelchroot-full.tar.gz Das Archiv anschließend mit tar -xvzf *archiv* entpacken. ==== kernel installieren ==== Die Kernel-Installation besteht aus einem Kernel (GTA01 / GTA02), sowie einem dazupassenden Modulpaket. === Kernel GTA01 === wget http://pyneo.org/downloads/debian/modules-GTA01_andy-tracking_2763b78dd365a140.tar.gz wget http://pyneo.org/downloads/debian/uImage-moredrivers-GTA01_andy-tracking_2763b78dd365a140.bin === Kernel GTA02 === wget http://pyneo.org/downloads/debian/modules-GTA02_stable-b749274fadec33a6.tar.gz wget http://pyneo.org/downloads/debian/uImage-moredrivers-GTA02_stable-b749274fadec33a6.bin Der Kernel (uImage*) wird nach /boot auf der microSD-Karte kopiert. Das Archiv wird im Wurzelverzeichnis der ersten Partition entpackt (wie oben). Damit Qi den Kernel findet muss ein Symlink im Boot-Verzeichnis erstellt werden. Qi sucht auf dem GTA01 nach dem Namen uImage-GTA01.bin bzw uImage-GTA02.bin auf dem GTA02. Die Dateien duerfen Symlinks sein, was das wechseln der Kernel einfach macht. Beispiel für GTA02: mv uImage-moredrivers-GTA02_stable-b749274fadec33a6.bin boot cd boot ln -s uImage-moredrivers-GTA02_stable-b749274fadec33a6.bin uImage-GTA02.bin ===== Booten ===== Nachdem ihr die oben genannten Anweisungen befolgt habt, solltet ihr nun schnellstmöglich ;) eure microSD-Karte zurück ins Neo einlegen und starten (normal über die Power-Taste). Bereits nach kurzer Zeit sollte euch ein Terminal auf dem Display begrüßen. Nun ist auch das einloggen über ssh möglich. ===== Einrichten ===== ==== User anlegen ==== Einloggen über ssh ssh root@192.168.0.202 Sollte es hier zu Problemen kommen, muss zuerst das Netwerkdevice für das Freerunner ermittelt werden, dies kann mit dem "dmesg"-Befehl geschehen. Anschließend folgende Befehle ausführen: ifconfig eth2 192.168.0.200 ssh root@192.168.0.202 Damit wird dem Netwerkdevice eth2 die IP 192.168.0.200 zugewiesen. Um dies zu automatisieren kann man die Einstellungen direkt in der Datei /etc/network/interfaces abspeichern - siehe dazu [[openmoko:patricks_ersteschritte]] Nach dem einloggen solltet ihr zuerst das System grundlegend einrichten. pyneo möchte einen Schlussstrich hinter die Benutzung von root als Standarduser ziehen deshalb muss zuerst ein Standarduser im System eingerichtet werden. adduser user Danach alle Fragen beantworten und ihr Habt einen neuen Nutzer mit dem Namen User. User bietet sich an da bereits die Config für pyneo auf User ausgelegt ist, kann aber auch umgeändert werden. ==== pyneod.ini Configdatei ==== Falls ihr besondere Einstellungen (anderer Nutzername, damit ändern sich die Verzeichnisnamen) ändern wollt, findet ihr diese unter /etc/pyneod.ini ==== Homepartition auf der zweiten Partition einrichten ==== Es bietet sich an das /home-Verzeichnis direkt auf der microSD-Karte anzulegen, so steht es immer zur Verfügung auch wenn eines neues Betriebssystem auf der ersten Partition der Karte installiert wird. Dazu ist einfach folgende Ergänzung in der Datei /etc/fstab durchzuführen. /dev/mmcblk0p2 /home ext3 defaults 0 2 Damit sieht die Datei folgendermaßen aus. /dev/mmcblk0p2 /home ext3 defaults 0 2 rootfs / ext2 defaults,errors=remount-ro,noatime 0 1 proc /proc proc defaults 0 0 tmpfs /etc/network/run tmpfs defaults,noatime 0 0 tmpfs /tmp tmpfs defaults,noatime 0 0 tmpfs /var/lock tmpfs defaults,noatime 0 0 tmpfs /var/run tmpfs defaults,noatime 0 0 tmpfs /var/tmp tmpfs defaults,noatime 0 0 Und schon wird ab sofort bei jedem Start die zweite Partition der microSD-Karte unter /home gemountet. ==== Update ==== Da pyneo noch ein relativ junges Projekt mit vielen Änderungen ist und auch nicht die Ressourcen hat, durchweg neue System-Tar-Archive zu publizieren laden wir einfach das aktuelle pyneo herunter und installieren es im System händisch. Frank Gau aus dem IRC-Channel #pyneo.org auf freenode.net hat dazu ein kleines Shell-Script geschrieben das uns jene Arbeit abnimmt. Eine kleine Veränderung meinerseits erlaubt das herunterladen in das /tmp-Verzeichnis dazu muss kein Verzeichnis /home/scripts bestehen. #!/bin/sh /etc/init.d/pyneod stop /etc/init.d/gsm0710muxd stop rm -r /usr/share/pyneod rm -r /usr/lib/python2.5/site-packages/pyneo rm /etc/pyneod.ini rm /etc/dbus-1/system.d/pyneod.conf cd /tmp/ wget http://pyneo.org/downloads/HEAD/pyneod-HEAD.tgz wget http://pyneo.org/downloads/HEAD/python-pyneo-HEAD.tgz tar -xvzf pyneod-HEAD.tgz tar -xvzf python-pyneo-HEAD.tgz rm python-pyneo-HEAD.tgz rm pyneod-HEAD.tgz mv pyneod-HEAD /usr/share/pyneod mv /usr/share/pyneod/pyneod.ini /etc/ mv /usr/share/pyneod/pyneod.conf /etc/dbus-1/system.d/ cd python-pyneo-HEAD mv pyneo /usr/lib/python2.5/site-packages cd .. rm -R python-pyneo-HEAD /etc/init.d/dbus restart /etc/init.d/gsm0710muxd start /etc/init.d/pyneod start Vim starten, 'i' drücken, Script reinkopieren, ESC drücken und mit ':w update.sh' abspeichern sowie mit :q den Editor verlassen. Danach das Script ausführbar machen und den Updateprozess mit den folgenden Befehlen einleiten. chmod +x update.sh ./update.sh Sollte bei euch die Domainauflösung nicht funktionieren, ist sicherlich kein Nameserver im lokalen Netz verfügbar dazu einfach folgenden Befehl ausführen. echo nameserver 208.67.222.222 > /etc/resolv.conf Für dauerhafte Einrichtung ist in der Datei /etc/network/interfaces im usb0-Bereich folgendes hinzuzufügen up echo nameserver 208.67.222.222 > /etc/resolv.conf Danach das Script nochmal ausführen. Nun sollte der Updateprozess funktionieren.