in /system/ schreiben ohne Root-Rechte mittels squashfs/unionfs

  • 63 Antworten
  • Letztes Antwortdatum
donut schrieb:
Meine Idee war es einen Kernel zu bauen, der dem Stock-Kernel des Desire entspricht zuzüglich aufs, fest einkompilert. Man könnte das Modul auch mit der Init-Ramdisk laden, das erscheint mir aber unsicher.

Kann man natürlich auch machen. Nur da mein selbstgebackener Kernel sich noch im Splash aufhängt, wollte ich es erstmal per Modul probieren. Jetzt muss so oder so ein neuer Kernel her.


donut schrieb:
Welche Sprache sollte man in dem Projekt verwenden? Deutsch oder Englisch?

Denke mal jeder, der nachvollziehen kann was wir da machen ist der englischen Sprache mehr oder weniger mächtig. Daher wäre ich für letzteres.


donut schrieb:
Wenn das geht, sollte auch der Selbstgekochte laufen.

Meiner tut's noch nicht. Leider fallen mir auch keine Debug Möglichkeiten ein.
Ich versuch es mal erst mit einem Kernel für den Emulator. Da scheint die Fehlersuche leichter zu sein.
siehe: Android's kernel debugger - Android Linux Kernel Development | Google Groups
 
antweb schrieb:
Jetzt muss so oder so ein neuer Kernel her.
Ja. Die Frage ob Modul oder doch fest in den Kernel gebaut müssen wir noch klären.


Eine Plattform für dieses, hoffentlich fruchtbare Projekt ist bereit:
aufs-desire - Project Hosting on Google Code :)

( aufs Desire ist eine kleine Wortspielerei. ;o) )

Ich habe Subversion gewählt. Content und Files lade ich demnächst hoch.
Wer mitmachen möchte, kann sich melden.
Wie das geht?
HowToJoinAProject - support - Instructions on how to join a project - Project Hosting on Google Code

Man muss also einen Gmail-Account haben. Ich dachte, wer ein Android-Phone hat, wird auch einen Gmail-Account haben. ;)

Frohes Schaffen! :)
 
Zuletzt bearbeitet:
Vielleicht bin ich jetzt auch blind, aber haben wir auf der Projetseite eigentlich eine Mailing List?
 
antweb schrieb:
Vielleicht bin ich jetzt auch blind, aber haben wir auf der Projektseite eigentlich eine Mailing List?

antweb, blind oder nicht, there's no mailing list. :eek:
Brauchen wir denn eine?

Die klassische Mailing-Liste, also mit "echten" Emails ist mir persönlich zu starr, unflexibel, immobil, weiß der Kuckuck was, kurz: ich kann die nicht leiden. :rolleyes:

Wie wäre es mit Google Groups ?
Ich kenne mich damit auch noch nicht aus, bin aber ein Fan von Web-Interfaces. Und ein bisschen googleaffin sind wir ja sowieso!?

PS: Sorry für die späte Antwort. Habe diesmal keine Benachrichtigung von android-hilfe bekommen. :(
 
Zuletzt bearbeitet:
Wir bräuchten auf jeden Fall einen Kommunikationskanal.
Man könnte natürlich das Forum nutzen, aber da das Projekt jetzt englisch ist, wäre eine Mailing List o.Ä. angebracht.
Können gerne auch Google Groups nehmen, das wird ja - soweit ich das mitbekommen habe - öfter für Projekte dieser Art eingesetzt.
 
antweb schrieb:
Wir bräuchten auf jeden Fall einen Kommunikationskanal....
Können gerne auch Google Groups nehmen ...

Okay, habe eine Gruppe aufs-desire eingerichtet. Muss das nur noch richtig einstellen und einen Link auf die Projekt-Seite zaubern.
Lesen kann aktuell jeder und beitreten auch.

aufs-desire | Google Groups
 
Da ich voraussichtlich erst mitte Juli wieder dazu komme mich mit dem Projekt zu befassen, wollt ich mal fragen, wie es so steht.

Hast du inzwischen schon einen lauffähigen Desire-Kernel?
Meiner bleibt immer noch im Splash hängen...
Konnte bis jetzt nur einen lauffähigen Kernel für den Emulator erstellen.

Das Problem ist, dass ich keine Möglichkeit gefunden habe den Bootvorgang zu debuggen.
Ein Boot mit verbose wäre natürlich super, nur scheint das ohne weiteres nicht möglich zu sein.
 
antweb schrieb:
Da ich voraussichtlich erst mitte Juli wieder dazu komme mich mit dem Projekt zu befassen,...
Mir geht es ähnlich. Viel Arbeit.

antweb schrieb:
Hast du inzwischen schon einen lauffähigen Desire-Kernel?
Nein. Ich bin noch beim Einrichten einer Entwicklungsumgebung und der Dokumentation darüber für das Wiki.
Mir schwebt irgend etwas mit einer Art Makefile vor, mit dem alles gebacken wird. Und mit dem man das Desire auch flashen kann. Ich muss noch Infos sammeln, das kostet Zeit.

antweb schrieb:
Das Problem ist, dass ich keine Möglichkeit gefunden habe den Bootvorgang zu debuggen.

Der Kernel kann ja mit ensprechenden Parametern seine Bootmeldungen auf die serielle Schnittstelle schicken. Aber es ist mir bisher nicht gelungen Infos über den Chipsatz zu finden, sprich ein Datasheet. Eventuell kann das USB-Interface genutzt werden?

Hast Du die Quelle von aufs / aufs2? Ich möchte die in google-code einchecken. Bzw. Du könntest das auch machen.
 
donut schrieb:
Hast Du die Quelle von aufs / aufs2? Ich möchte die in google-code einchecken. Bzw. Du könntest das auch machen.

http://aufs.sourceforge.net/

Wenn ich dieses Wochenende Zeit finde mache ich mich mal mit Google Code vertraut und füge das Repo dann hinzu. Kann aber nichts garantieren.

Ich hätte einen Ansatz, warum mein Kernel nicht booten will. Sieht so aus, als müsste man über den parameter --base bei mkbootimg die Kernel Base Address angeben.
Muss aber noch weiter suchen welcher Wert da jetzt gefragt ist.
 
antweb schrieb:
Danke. Dort war ich schon von ein paar Tagen. Der Server mit dem Git-Repo war da jedoch nicht erreichbar. Inzwischen geht es ja wieder. Kümmere mich jetzt selbst darum.
Ich wundere mich gerade nur etwas über die Tatsache, dass der standalone-aufs-Code nur aus drei Files besteht!? Und keins davon ist C-Code.
Im README zu den aufs-utilities steht, dass die _immer_ installiert werden müssen. Es handelt sich dabei um aufs2. Ist das am Ende gar nicht brauchbar für unser Projekt?
antweb schrieb:
... Sieht so aus, als müsste man über den parameter --base bei mkbootimg die Kernel Base Address angeben. ...
Mein Ansatz ist es, das recovery.img und das boot.img aus dem OTA-Update zu zerlegen, um herauszubekommen, wie man boot-Parameter übergeben kann. Der Kernel soll dann eine andere init ausführen oder eine angepasste init-ramdisk, um die aufs-Geschichte zu mounten. Dafür wäre es natürlich ideal ein aufs.ko zu haben, das sich mit dem Werks-Kernel verträgt.
Insofern ist Dein Ansatz mit einem Kernelmodul ganz okay. Ich muss mich erst noch mehr mit dem Kram beschäftigen.
Ich weiß momentan nicht ob ein neuer Kernel mit statisch einkompiliertem aufs oder ein separates Modul besser ist. Bei Knoppix wird ein Modul verwendet.
 
*vote*for*module*

MfG
boombuler
 
donut schrieb:
Ich wundere mich gerade nur etwas über die Tatsache, dass der standalone-aufs-Code nur aus drei Files besteht!? Und keins davon ist C-Code.
Sicher das beim Checkout alles gut gegangen ist?
Da sollten definitiv mehr Dateien sein.

donut schrieb:
Im README zu den aufs-utilities steht, dass die _immer_ installiert werden müssen. Es handelt sich dabei um aufs2. Ist das am Ende gar nicht brauchbar für unser Projekt?
Hm. Ist die frage wie genau man so ein AUFS Dateisystem einrichtet. Man braucht ja zwangsläufig irgendwelche Binaries.

donut schrieb:
Dafür wäre es natürlich ideal ein aufs.ko zu haben, das sich mit dem Werks-Kernel verträgt.
Da kommen die Kernel Patches ins Spiel. Ohne die Läuft das Modul nämlich erstmal nicht (siehe meine aufs.ko).

Jetzt sollte ich wieder ein wenig Zeit haben mich ranzusetzen.
Erstmal muss ich es hinbekommen, dass das System nach meinen Updates wieder bootet.
 
Man muss die boot.img mit dem Parameter --base 0x20000000 erstellen, dann startet der selbstgebaute Kernel.

Ich versuche es erstmal mit einem custom Kernel. Die Kernel Patches wollen bei mir aber noch nicht so ganz.
Wie und ob man aufs auch ohne Manipulation des eigentlichen Kernels zum laufen bekommt wäre dann die nächste Frage.
 
Geschafft. Mit einem modifizierten Kernel wird das Modul geladen.
Code:
insmod /data/local/aufs.ko

Neben den aufs-Patches musste ich auch noch die mm/mmap.c bearbeiten und das Symbol mmap_min_addr (nach Zeile 90) exportieren.
Code:
EXPORT_SYMBOL(mmap_min_addr);

Und siehe da:
Code:
[   83.268005] aufs 2-standalone.tree-29-20100531
 

Anhänge

  • kernel_bravo_aufs_2.zip
    2,2 MB · Aufrufe: 96
  • aufs_kernel2.ko.zip
    1 MB · Aufrufe: 94
Schwere Geburt.. endlich geschafft die Binaries für aufs2-util zu erstellen, nachdem mir git einige Quelltexte unterschlagen hat.
Jetzt muss man diese nur noch aufs Phone bekommen. Muss mich aber erstmal in die update-script Datei einarbeiten... Kennt jemand eine gute Dokumentation?
 
  • Danke
Reaktionen: donut
was willst, musst du denn machen?
dachte das ist alles im kernel bzw. boot.img drin
 
antweb schrieb:
Schwere Geburt.. endlich geschafft die Binaries für aufs2-util zu erstellen, nachdem mir git einige Quelltexte unterschlagen hat.
Vielen Dank für Deine Arbeit! :)
Bin ziemlich überrascht davon nichts mitbekommen zu haben. Habe mir eingebildet Emails zu bekommen, wenn hier oder im aufs-desire - Projekt auf Google-Code was passiert!?
antweb schrieb:
Jetzt muss man diese nur noch aufs Phone bekommen. Muss mich aber erstmal in die update-script Datei einarbeiten... Kennt jemand eine gute Dokumentation?
Ich (noch) nicht.
Aber müssen wir nicht "nur" das boot.img (in dem dann auch die aufs2-utils sind) austauschen? Bei einem unrooted Desire sicher nicht sehr einfach. Oder gibt es inzwischen eine Methode, die das via USB zulässt?

Ach ja, warum ist das Modul immer noch so groß? Das ist ja größer als der Kernel. Kommt mir irgendwie spanisch vor. :-|
 
Zuletzt bearbeitet:
burst schrieb:

Das sieht doch ganz nett aus. Hier habe ich auch noch was gefunden: How to Create Android Update Zip Package | All About Web & Mobile Application Development

donut schrieb:
Aber müssen wir nicht "nur" das boot.img (in dem dann auch die aufs2-utils sind) austauschen?

Das ist sicher der richtige Weg. Da ich aber aufs noch nie benutzt habe, wollte ich die Binaries zu Testzwecken erstmal so installieren. Meine aktuelle Rom ist gerootet. Der nächste Schritt wäre dann natürlich die Ramdisk.

donut schrieb:
Ach ja, warum ist das Modul immer noch so groß? Das ist ja größer als der Kernel. Kommt mir irgendwie spanisch vor. :-|

Da sagst du was. Aber wenigstens funktioniert es schon mal. Nachdem aufs erstmal vollständig auf meinem Phone läuft, wird das Kernelmodul noch einmal unter die Lupe genommen.
 
Wie weit seit ihr denn genau? Ich könnte ja mal bei PauloBrien und bei den Jungs von XDA um Hilfe bitten. Das ganze wird dann International :D
 

Ähnliche Themen

Maysi2k
Antworten
5
Aufrufe
2.514
Maysi2k
Maysi2k
X
Antworten
9
Aufrufe
2.372
x8651
X
K
Antworten
13
Aufrufe
1.574
Maysi2k
Maysi2k
Zurück
Oben Unten