OpenMoko | Autoconfigure PC and Neo Freerunner

Thursday, 26. February 2009

Worum gehts:  Der Freerunner wird per USB am PC angesteckt und möchte ins lokale Netzwerk eingebunden werden, sowie die Internetverbindung des PCs nutzen.

Wie soll das gehen:  Entweder man öffnet jedesmal eine Shell und tippt 10 Zeilen cryptischen Code ein – oder man macht es nur einmal aber dafür richtig ^^

Zunächst muss man die Datei “interfaces” um folgenden Abschnitt erweitern:

sudo nano /etc/network/interfaces

auto usb0
 iface usb0 inet static
 up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/2 &
 up echo 1 > /proc/sys/net/ipv4/ip_forward &
 up iptables -P FORWARD ACCEPT &
 down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/2 &
 address 192.168.0.200
 netmask 255.255.255.248
 network 192.168.0.0
 up exec /etc/network/if-up.d/moko

Die letzte Zeile kann – muss man aber nicht unbedingt machen. Diese startet das Skript “moko“, welches das erscheinen des Interfaces usb0 mit dem Angebot eine SSH-Verbindung aufzubauen quittiert. (es ist an dieser Stelle natürlich möglich jedes beliebige Skript laufen zu lassen – zB. für Syncronisation)

Das Skript “moko” liegt wie in der Datei “interfaces” definiert im Verzeichnis /etc/network/if-up.d/ und hat folgenden Inhalt:

 #!/bin/bash                                    
foo()                                          
{                                              
echo "Configuration finished! "                
echo ""                                        
echo "Do you want to connect to your freerunner (N/y)"
echo "___________________"                            
echo "N |No"                                          
echo "y |connect through ssh"                         
read ANSWER                                           
        case "${ANSWER}" in                           
                        "y")                          
                        echo "trying to connect through ssh"
                        exec ssh root@192.168.0.202
                        ;;
                        *)
                        echo "done!"
                        sleep 3
                        ;;
                esac
}
export -f foo

exec su username -c "xterm -display :0.0 -e foo"

(“username” muss an dieser Stelle durch den Namen des angemeldeten Benutzers ausgetauscht werden und das Programm “xterm” sollte installiert sein (sudo apt-get install xterm) )

So sieht das Fenster aus, welches beim Anstecken des Freerunners erscheint:

neo1.jpeg

Zur einfacheren Übertragung von Daten bietet es sich darüberhinaus an Dolphin um einen Eintrag auf  sftp://root@192.168.0.202  zu erweitern (zeroconf bietet allerdings mit 2Klicks mehr unter “network” diese Möglichkeit ebenfalls an)

neo.jpeg

Comments are closed.