| |||||||
Das Thema "[How-To] Debian (chroot) mit LXDE auf dem Milestone" befindet sich unter Anleitungen für Motorola Milestone auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 09.05.2010
Beiträge: 11
Abgegebene Danke: 0
Erhielt 10 Danke für 4 Beiträge
| Das hat den Vorteil, dass man Zugriff auf eine vollwertige Shell und auf nahezu alle Programme hat, die einem Debian bietet (z.B. nmap, samba, ssh, wireshark etc.) Ebenso kann man eine grafische Oberfläche installieren, auf die man per VNC zugreifen kann. Man findet zwar einige Anleitungen im Netz, allerdings nicht direkt für das Milestone, darum habe ich mich dazu entschieden, hier eine kleine Howto für den Stein zusammenzufassen. Es gibt grundsätzlich 2 Möglichkeiten: 1. Mit debootstrap eine chroot-Umgebug erstellen, diese auf das Smartphone kopieren und alle weiteren Schritte von dort ausführen. 2. Mit build-arm-chroot eine chroot-Umgebung erstellen, die second-stage und die Paketinstallation durchführen bevor man das Image auf das Milestone kopiert. Die 2. Möglichkeit bietet den Vorteil, dass man die Rechnenleistung des Milestone während der second-stage von debootstrap nicht an die grenzen treibt. Mit Android 2.0.1 hat sich debootstrap durch die hohe Last auf meinem Milestone mehrmals aufgehängt. Mit 2.1 habe ich es erst einmal getestet, dabei lief es ohne Probleme durch. Trotzdem werde ich hier nur die 2. Methode beschreiben, da es für die 1. mehrere Anleitungen im Netz gibt und sich die 2. für mich als die zuverlässigere herausgestellt hat ![]() Voraussetzungen: - Android 2.0.1 / 2.1 - root - busybox (im Anhang) - ConnectBot oder ein anderer Terminal Emulator - Dateimanager z.B. Root Explorer (gibts im Market zu kaufen) oder man macht alles im Terminal - android VNC client - Ubuntu GNU/Linux (eine VM geht genau so gut) - ext2.ko (im Anhang) - Scripts (im Anhang) Chroot-Umgebung erstellen mit Ubuntu: Zunächst werden debootstrap und qemu-arm-static benötigt. Qemu um die second-stage von debootstrap unter Ubuntu ausführen zu können. Code: $ sudo apt-get install qemu-arm-static debootstrap Eine Imagedatei mit einem ext2 Dateisystem und ca. 3,3GB Größe erstellen, das sollte für einige Programme reichen: Code: $ sudo dd if=/dev/zero of=debian.img bs=1024 count=3500000 $ sudo mkfs.ext2 -F debian.img $ sudo tune2fs -c0 debian.img Ein Verzeichnis erstellen und das erstellte Image mounten: Code: $ mkdir debian $ sudo mount -o loop debian.img debian/ Mit build-arm-chroot das Basissystem installieren und anschließend den Mountpoint für die SD-Karte erstellen: Code: $ sudo build-arm-chroot --verbose --arch=armel --foreign lenny debian http://ftp.de.debian.org/debian $ sudo mkdir debian/sdcard Jetzt kann man per chroot in das neu installierte System wechseln: Code: $ sudo mount -t proc none debian/proc/ $ sudo mount -t sysfs sysfs debian/sys/ $ sudo mount -t devpts devpts debian/dev/pts $ sudo chroot debian/ /bin/bash # export HOME=/root # export LC_ALL=C Um Pakete installieren zu können braucht APT noch eine Quelle: Code: # echo 'deb http://ftp.de.debian.org/debian lenny main contrib non-free' > /etc/apt/sources.list # apt-get update Die grafische Oberfläche (hier LXDE) und einen VNC-Server installieren: Code: # apt-get install lxde tightvncserver Code: # apt-get clean # killall /usr/bin/qemu-arm-static # exit $ sudo umount debian/proc $ sudo umount debian/dev/pts $ sudo umount debian/sys $ sudo umount debian/ Das Milestone vorbereiten um das Debian-System nutzen zu können: Zuerst auf der SD-Karte einen Ordner namens "debian" erstellen und die zuvor erzeugte Datei debian.img hineinkopieren. Die debian.zip aus dem Anhang herunterladen, die Dateien nach /sdcard/debian/ entpacken. Jetzt die Dateien auf dem Milestone in die richtigen Ordner kopieren und die Berechtigung setzen: Code: # mount -o remount,rw -t yaffs2 /dev/block/mtdblock6 /system # cp /sdcard/debian/busybox /system/bin/ # chmod 755 /system/bin/busybox # cp /sdcard/debian/ext2.ko /system/lib/modules/ # chmod 644 /system/lib/modules/ext2.ko # cp /sdcard/debian/startdeb /system/bin/ # chmod 755 /system/bin/startdeb # cp /sdcard/debian/stopdeb /system/bin/ # chmod 755 /system/bin/stopdeb Folgende Ordner müssen noch als Mountpunkt ertellt werden: Code: # mkdir /data/local/debian # mkdir /data/local/debian/mnt Code: $ su # startdeb Code: # echo 'nameserver 4.2.2.2' > /etc/resolv.conf Code: # echo "localhost" > /etc/hostname # echo "127.0.0.1 localhost.localdomain localhost" > /etc/hosts LXDE und den VNC-Server fertig einrichten: Code: # export HOME=/root # export USER=root # vncserver -geometry 854x480 Die Datei /root/.vnc/xstartup editieren, z.B. mit nano: Code: # nano -w /root/.vnc/xstartup Code: #/etc/X11/Xsession Code: lxsession Nun ein Startscript für LXDE erstellen: Code: # nano -w /usr/sbin/lxde Code: #!bin/bash export USER=root vncserver -geometry 854x480 Code: # chmod +x /usr/sbin/lxde So vermeidet man, dass jedes mal wenn man z.B. unter LXDE eine Konsole öffnet, ein neuer VNC-Server (mit LXDE) gestartet wird. Zusätzlich kann man ein Script erstellen, welches LXDE wieder beendet (tötet): Code: # nano -w /usr/sbin/klxde Code: #!/bin/bash killall Xtightvnc && killall lxsession Script ausführbar machen und LXDE starten: Code: # chmod +x /usr/sbin/klxde # lxde Nun mit dem VNC Client eine Verbindung zu localhost Port 5901 herstellen mit dem zuvor gesetzten Passwort. Wenn alles geklappt hat, sollte man nun die LXDE Oberfläche sehen. Jetzt kann nach jedem Neustart des Steins mit "startdeb" die Debian chroot-Umgebung gemountet und "gestartet" werden. Mit "lxde" kann dann der VNCServer inkl LXDE gestartet werden. Für Anregungen und Verbesserungsvorschläge bin ich immer offen. Viel Spaß beim Ausprobieren! Geändert von Fnordi (11.05.2010 um 10:59 Uhr) |
| | |
| Folgende Benutzer bedanken sich bei Fnordi für diesen Beitrag: | 7Voo (09.05.2010), frucht_gummi (12.08.2010), Hdr32 (09.05.2010), Lubomir (10.05.2010), parabolon (09.05.2010), punkrocker (20.06.2010), sandimann (17.05.2010) |
| | #2 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 29.03.2010
Beiträge: 107
Abgegebene Danke: 32
Erhielt 24 Danke für 10 Beiträge
|
Hatte Debian eben schon fast zum laufen bekommen. Hat aber ewig gedauert, da die Anleitung unvollständig und für das G1 waren. Deswegen bin ich grad dabei alles nochmal neu nach deiner Anleitung zu machen. Die 2. Methode ist viel besser als die erste! ![]() Habs gleich soweit und bin sicher das es klappen wird! Vielen Dank, das du dir die Zeit genommen hast! ![]() Der Thread sollte angepinnt werden. <3 Edit: Jetzt bin ich wieder bei der Package configuration von lxde, eben auf Windows wurde es Fehlerhaft angezeigt, deswegen diese ganze komischen Zeichen. Bin jetzt aber auf Linux und kann da jetzt was auswählen:
Was soll ich auswählen ? Geändert von 7Voo (09.05.2010 um 21:02 Uhr) |
| | |
| | #3 (permalink) |
| Neuer Benutzer Registriert seit: 09.05.2010
Beiträge: 11
Abgegebene Danke: 0
Erhielt 10 Danke für 4 Beiträge
|
Im Zweifelsfall immer Return drücken, Standard eben |
| | |
| Folgender Benutzer bedankt sich bei Fnordi für diesen Beitrag: | 7Voo (09.05.2010) |
| | #7 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 29.03.2010
Beiträge: 107
Abgegebene Danke: 32
Erhielt 24 Danke für 10 Beiträge
|
Scheint irgendwas falsch zu sein in deinem startdeb script. Bekomme immer das hier: Code: # startdeb insmod: init_module '/system/lib/modules/ext2.ko' failed (File exists) ioctl LOOP_SET_FD failed: Device or resource busy mount: mounting /sdcard on /data/local/debian/mnt/sdcard failed: No such file or directory mount: mounting none on /data/local/debian/mnt/proc failed: No such file or directory mount: mounting sysfs on /data/local/debian/mnt/sys failed: No such file or directory mount: mounting devpts on /data/local/debian/mnt/dev/pts failed: No such file or directory chroot: cannot execute /bin/bash: No such file or directory Edit: Muss man busybox nicht erst installieren und den Pfad exportieren ? Geändert von 7Voo (09.05.2010 um 22:18 Uhr) |
| | |
| | #8 (permalink) | |
| Neuer Benutzer Registriert seit: 09.05.2010
Beiträge: 11
Abgegebene Danke: 0
Erhielt 10 Danke für 4 Beiträge
| Zitat:
Ich glaube da stimmt was nich mit deinem loop-Device, du hattest das vorhin selbst angelegt für eine andere Anleitung, richtig? Was gibt denn folgendes aus: Code: busybox losetup -f Geändert von Fnordi (09.05.2010 um 22:34 Uhr) | |
| | |
| | #9 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 29.03.2010
Beiträge: 107
Abgegebene Danke: 32
Erhielt 24 Danke für 10 Beiträge
|
loop0 existiert nicht mal mehr in /dev/. Aber trotzdem kriegt startdeb es nicht hin eine zu erstellen. Edit: Code: # busybox losetup -f /dev/loop1 |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Debian auf Milestone | morgon | Root / Hacking / Modding für Motorola Milestone | 49 | 09.05.2010 20:35 |
| Sammlung zur Anleitung der Installation und Nutzung von Debian auf dem G1 | S4L3Mbufu | T-Mobile G1 Forum | 0 | 10.03.2010 19:20 |
| Debian auf dem Galaxy | sven-ola | Root / Hacking / Modding für Samsung Galaxy | 14 | 03.03.2010 15:51 |
| Mehrere Kalender mit Exchange auf dem Milestone? | denzman | Motorola Milestone Forum | 4 | 08.02.2010 21:47 |
| Mp4 Audio auf dem Milestone mit Tags? | The_real_Otto | Motorola Milestone Forum | 7 | 06.01.2010 10:43 |