Debian auf Milestone

  • 49 Antworten
  • Letztes Antwortdatum
morgon schrieb:
Debian fully working on the Motorola Droid! Included is an ext2.ko module for those of us running stock kernels that lack ext2fs support. (I will provide support in comments.) : Android

beschreibt die Installation von Debian auf dem Droid.

Hat das schon jemand auf dem Milestone (der ja mit dem Droid ziemlich identisch ist oder) erfolgreicht probiert?

Wäre ein wichtiges Argument für mich da ich im Moment eher zum N900 tendiere...

Impossible!
Nur das Droid in den USA kann unsignierte Images laden!
Unser Milestone in EMEA lädt nur signierte Images - da keiner den signierungskey kennt NO WAY AT THE MOMENT!:eek:
 
Wir aufgrund des vernagelten Bootloaders vom Milestone leider nicht möglich sein. Bedanken kannst du dich bei Motorola der als einziger Hersteller den Bootloader von nem Androidphone signiert hat. Leider!
Gruß
Jarny

*edit* Lowbyte war schneller
 
Danke für die schnelle Antwort!

Dann wird's wohl kein Milestone ...
 
So ist das nicht ganz richtig!

Also auf dem Droid wird das Debian auch nicht wirklich installiert. Es wird nur eine chroot-Umgebung eingerichtet. Und das geht genau so mit dem Milestone. Was man dafür braucht ist halt ein passendes ext2.ko Modul, aber das gibt es hier im Forum ja zum Glück schon, siehe post von Newton im APP2SD Beitrag. Und busybox damit man in diese Installation chrooten kann. Dann kann man das genau so wie dort beschrieben machen. Ich hab Debian mit vncserver am laufen und es funktioniert recht gut.

xperit
 
Würde x11 damit auch funktionieren?
 
Cool! :D

Funktioniert die Installation genauso wie auf dem Droid oder gibt es Milestone-spezifische Unterschiede?
 
X11 läuft nicht direkt, aber über den Umweg eines vncservers und der app androidvnc kann man auf X zugreifen, ich hab mich da für iceWM als windowmanager entschieden. Leider hat man so dann keine Graphikbeschleunigung oder sowas. Das hat aber auch den Vorteil, dass das Android System nicht beeinflusst wird und so das Telefon noch normal funktioniert.

Ich hab einige Anleitungen gemixed, aber im Prinzip sollte das mit der Anleitung funktionieren, das ext2.ko muss man halt vorher noch laden und für das loop-device musste ich mit mknod /dev/loop0 anlegen. Ging aber alles recht problemlos.

Xperit
 
magst du das mal bitte genauer beschreiben, was du genau gemacht hast? und wie es jetzt funktioniert/aussieht?
 
Ich hab die anleitung nicht ganz durchgelesen, aber versetzt einen dieses kernel module in die lage loop devices zu erstellen (was ja normal nicht möglich ist)?

Ich dachte das laden von kernel modulen wäre nicht möglich, wegen bootloader und so? Wenn das jetzt möglich ist, könnten wir doch auch ein modul für swap support haben und endlich swap to sd zum laufen bekommen, oder?

Sorry, wenn das ein wenig off topic geht.
 
Hey, der link mit der Anelitung ist down.
Sie ist aber noch im cache von google: Droid Does Debian! [Archive] - Alldroid

Hab jetzt alles soweit parat, bevor ich da iwas in meinem Milestone mache, wollt ich gern nochmal wissen wohin mit der ext2.ko ?
 
Normaleweise kommen die .ko Dateien nach /system/lib/modules. ;)
 
Mh, nu komm ich nicht weiter.. sobald ich debiandroid.sh ausführe, kommt:

Usage: mount [-r] [-w] [-o options] [-t type] device directory
unknown option -- -mount: invalid option --
mount: No such file or directory
mount: No such file or directory
mount: No such file or directory
busybox: not found
  • debiandroid.sh liegt unter /data/local/debian/ mit chmod 775.
  • Busybox hab ich mit LMF installiert und ist unter /data/ zu finden.
  • Die ext2.ko liegt unter /system/lib/modules/ mit chmod 664.
  • Die debian.img liegt unter /sdcard/debian.

Alles wie in der Anleitung beschrieben.

@xperit: Du hast es schon zum laufen bekommen auf dem Milestone ?
Könntes du mir erklären wie genau, und welche Firmware etc.
---------------------------------------------------------------------------------------------------------

Edit: mknod << den Befhel kennt adb nicht. Wie soll ich den ausführen ?
Edit 2: Ok gibts doch, lässt sich aber nur per adbr ausführen.. bei mir kommt aber:

# mknod /dev/loop0
BusyBox v1.15.2 (2009-12-12 21:02:34 CST) multi-call binary

Usage: mknod [OPTIONS] NAME TYPE MAJOR MINOR

Create a special file (block, character, or pipe)

Options:
-m Create the special file using the specified mode (default a=rw)
TYPEs include:
b: Make a block device
c or u: Make a character device
p: Make a named pipe (MAJOR and MINOR are ignored)
Edit 3:
In der Anleitung ist iwie was durch ein ander.
Man muss die .img datei in /sdcard/debian/ in debian2.img bennen und nicht debian.img.
Unter /data/local/ muss man einen Ordner "mnt" erstellen.
In dem nochmal die Ordner "proc", "sys", "sdcard", und "dev"; in diesem (dev) noch einen mit dem Namen "pts".

Bin jetzt soweit gekommen, dass es nur noch 2 Fehlermeldungen gibt:

# ./debiandroid.sh
mount: mounting h�
on /data/local/debian/mnt failed: Invalid argument
chroot: can't execute '/bin/bash': No such file or directory
Edit 4:

Man muss als nächstes in /data/local/debian/mnt/ einen ordner "bin" und in diesem einen "bash" erstellen.
Als nächstes den script erneut ausführen (debiandroid.sh).. bei mir kommt dann leider:

chroot: can't execute '/bin/bash': Permission denied
Hab dem mnt Ordner schon chmod 777 gesetzt, klappt aber nicht. :/
 
Zuletzt bearbeitet von einem Moderator:
Hallo, also ich hab das ja nicht nach der Anleitung gemacht.

Also du hast das image erstellt? Das wird ja in zwei schritten gemacht, also erst mit debootstrap auf nem linux pc, und den 2. Step auf dem handy.

Ich hab es bei mir so gemacht, dass die ext2.ko in /data/local liegt.

Hast Du die busybox installiert?
Dann kannst du ja als root das Modul mit

insmod /data/local/ext2.ko

Dann kannst du mit lsmod überprüfen ob, ob das modul wirklich geladen ist.



Nun erstellt man sich ne loop device file mit:

mknod /dev/loop0 b 7 0

Dann mountest man das image:
mount -o loop /sdcard/debian/debian.img /data/local/debian

( ich benutze partition auf der sd, die mounte ich mit "mount -o noatime /dev/block/mmcblk0p2 /data/local/debian")

Dann brauchst man noch ne paar sachen in die chroot:
mount -o bind /dev /data/local/debian/dev
mount -o bind /sys /data/local/debian/sys
mount -o bind /proc /data/local/debian/proc
mount -t devpts devpts /data/local/debian/dev/pts

Dann ne paar variablen setzen:
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin
export HOME=/root
export USER=root
export TERM=linux

Dann kann man nun nach debian chrooten:

chroot /data/local/debian /bin/bash

Hier musst du dann den zweiten schritt vom debootstrap durchführen.

Das kannst Du dann für später alles in ein skript packen, aber erst ist manuell besser, dann sieht man auch eher wo es hängt.

Xperit.
 
Vielen Dank für die Aneltung!

Ich habe busybox unter /data mit chmod 777 installiert.
ext2.ko hatte ich vorher unter /system/lib/modules/, jetzt unter /data/locale/. Mit insmod hab ich es dann eingebunden mit Erfolg.


Nur leider komme ich hier nicht weiter:

# mount -o loop /sdcard/debian/debian.img /data/local/debian
mount: mounting ��
on /data/local/debian failed: Invalid argument
Woran kanns liegen ? :/
 
Zuletzt bearbeitet von einem Moderator:
@7Voo wie du gemerkt hast in meinem thread hatte ich auch das eine oder andere problem...

ich glaube meine architektur ist der die du zuerst hattest recht ähnlich... liegt wohl daran, dass du ähnliche tutorials gelesen hast wie ich oder ähnliche tips bekommen hast ;)

ich habe ein wenig rumgefummelt und mit folgendem erfolg gehabt (jedenfalls was debian angeht):

Code:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
insmod /system/lib/modules/ext2.ko

--------

mkdir /dev/loop0
mkdir /data/local/mnt

--------

mknod /dev/loop0 b 7 0
mount -o loop,noatime /sdcard/debian/debian.img /data/local/mnt
losetup /dev/loop0 sdcard/debian/debian.img
mount -t devpts devpts /data/local/mnt/dev/pts
mount -t proc proc /data/local/mnt/proc
mount -t sysfs sysfs /data/local/mnt/sys
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin
export HOME=/root
export USER=root
export TERM=linux
chroot /data/local/mnt /bin/bash

die mkdir geschichte habe ich ein wenig abgegrenzt, weil das nur einmal nötig ist (denn wenn ein ordner da ist... dann ist er da... :p) und das ganz oben ist mein initial command im terminal. die debian.img liegt in /sdcard/debian.
 
Also wenn ich adb recovery starte muss ich erstmal /data und /system mounten, damit die Befehle überhaupt gehen.

Dann komm ich hier wieder nicht weiter:

# mount -o loop,noatime /sdcard/debian/debian.img /data/local/mnt
mount: cannot setup loop device

Hab die ext2.ko in /data/local/, denke das macht kein Unterschied ?
 
naja... wenn die ext2.ko in /data/local ist, dann ist es natürlich nicht

Code:
insmod /system/lib/modules/ext2.ko

sondern

Code:
insmod /data/local/ext2.ko

aber für mich funktioniert das in /system/lib/modules/ am besten... habe aber auch noch nichts anderes versucht...
 
Ja das: insmod /data/local/ext2.ko, was schon klar, aber funkt trotzdem nicht.

Ich hab grad nochmal von vorne angefangen mit der debian.img und werds mit der ext2.ko in system/lib/modules probieren.

Könntest du mir mal sagen woher du die ext2.ko genommen hast ?
Hab sie aus dem Apps2SD Thread, aber bin mir nicht sicher ob ich die richtige erwischt hab.
 
Hier ist meine ext2.ko her

... ist sicherlich die selbe die du hast...

meine debian.img habe ich mir aber nicht selbst gemacht... da war ich ein wenig faul...

die ist von hier und da sind auch noch einige andere dateien dabei, aber da ich ja auf meinem ms ein paar probleme mit scripts habe, habe ich das per hand versucht... und am ende steht bei mir wie es soll "localhost #"

ich habe an der stelle auch noch das eine oder andere problem, aber das ist erstmal nicht so wichtig...
 

Ähnliche Themen

P
Antworten
8
Aufrufe
2.178
-FuFu-
-FuFu-
S
  • safetyservices
Antworten
1
Aufrufe
2.033
dragonball
dragonball
M
Antworten
5
Aufrufe
2.249
Mais
M
Zurück
Oben Unten