Cross- Compiling Android Kernel - SGS2

  • 54 Antworten
  • Letztes Antwortdatum
Ich will meinen Server per SSHFS aufs sgs2 mounten.
Die Möglichkeit den Speicher vom Handy per sshfs am PC zu mounten gibts als App, anderstrum scheint es aber nicht zu gehen, da der orginal Android-Kernel kein fuse drin hat (behauptet zumindest google^^).
 
Wenn ich das aber richtig mal verfolgt habe, wurde fuse als zusätzliches Modul bei einigen Kernel mal dazu gelegt.

Steinigt mich nicht, kann auch sein das ich mich mit ntfs grad verhaspelt habe und das nie so war. Aber technisch gesehen sollte man fuse ja aktivieren können.
 
MadMurdoc schrieb:
Wenn ich das aber richtig mal verfolgt habe, wurde fuse als zusätzliches Modul bei einigen Kernel mal dazu gelegt.

Wobei man diesbezüglich mit einem Entwickler/Programmierer sprechen sollte, oder sich auf XDA schlauer zu machen.

NTFS/FAT ist eigentlich immer dabei, und auch die typischen Linux-Dateisystem EXT1/2/3/4 und noch einige, aber SSHFS und FUSE?

Mhm,,,

Wobei anscheinend der GB-Siyah-Kernel SSHFS implementiert hatte.
Fuse glaub ich nicht.

Sollte aber mit Scripten oder einen befehlen sicherlich auch zu bewerkstelligen sein.

Gruß
 
Ist Fuse nicht Grundvoraussetzung für SSHFS? Laut Wiki schon^^

Ist dieses XDA nicht für Programmierer? Da ich dort nur nerven kann "macht mal bitte wer" und selbst nichts beisteuern kann bin ich dort doch eher fehl am Platz...

Aber nochmal:

Diese Anleitung hört sich für mich so an, als könnte ich mir ohne weiteres meinen eigenen Kernel bauen, und damit FUSE aktivieren. Wenn ich danach noch SSHFS installiere (ist ja nur ein Programm und nicht der Kernel) dann sollte ich zumindest per Shell sshfs aufrufen können oder?
 
Blindi schrieb:
Nachtrag:
Ich glaube dass es an Path liegt oder anderen verlinkungen!


es wird immer "arm-none-eabi-gcc: not found" angezeigt!
genannte oder ähnliche datei ist nirgends im system vorhanden!

keine ahnung woran das liegt!
habe es auch schon mit Linaro-Toolchain versucht, alles von grund auf neu installiert, den richtigen path gesetzt und auch dementsprechend verlinkt!

script mehrmals angepasst!
irgendwas hat der TE nicht berücksichtigt!
keine chance

Dann sollten wir mal GM oder einen anderen Kernel Dev ansprechen bzgl. How To made a Kernel...
 
  • Danke
Reaktionen: -earth-
Das wäre eine klasse Idee!

Ich habe mir schon einmal gedacht, den CM 9 Kernel aus den Quellen zu bauen, und dann eventuell einige kleine Änderungen vor zu nehmen.
https://github.com/teamhacksung/android_kernel_samsung_smdk4210

Ich habe die letzten 2 Tage mal im Netz gesucht, wie man das am besten anstellt, aber einen richtigen Ansatz hab eich nicht wirklich gefunden.

Das (build_kernel.sh) Script gibt es dort ja nicht.
 
Richtig weil du dir das Skript selber bauen sollst.
Das Skript führt nix anderes aus, als die normale Kernel kompilation eines Linux Kernels. Nur sind noch ein paar Spielregeln zu beachten dessen ich mir nicht ganz bewusst bin und diese schlicht nicht verstehe.
 
Ok, das Thema will mich nicht los lassen (vermutlich driftet das Thema hier im Fred ab, dafür könnte man dann ja ein eigenes Thema erstellen)

Ich habe damals unter Gentoo den Kernel selber kompiliert, das war im Nachhinein recht simpel, nachdem man einen Einstig hatte, und wusste, wie der Rest von statten geht.

Ich habe mehrere Anleitungen gefunden, ich werde mich noch mal mit dem Bau des Kernels auseinander setzen.
 
Das gehört aber in den Thread, hier gehts ja um das kompilieren des Kernels und deine Frage bzw. das Skript gehört dann dazu, ist ja nunmal nötig sonst kannst du nicht kompilieren wenn ich das richtig verstehe.

Da ja die Architektur geändert werden muss, und das ganze permanent zu tun ist sicherlich dein fehler anstatt dies temporär mit dem Skript zu tun. :)
 
Ich habe nun einmal versucht, "etwas" zu kompilieren.

Folgendes habe ich gemacht:

sudo apt-get install git-core libncurses5-dev (Pakete installieren)

mkdir -p ~/sgs2/kernel/ (Ordner für Kerneldateien erstellen)

cd ~/sgs2/kernel/ (in den Ordner wechseln)

git clone https://github.com/teamhacksung/android_kernel_samsung_smdk4210 (Git repo in den Ordner "clonen")

-- Download ARM EABI Toolchain, entpackt nach ~/sgs2/arm-2011.09 --

((export CCOMPILER=[extraction directory]/bin/arm-none-eabi-)) (create an environment variable denoting the location of the toolchain as follows)

export CCOMPILER=/home/chris/sgs2/arm-2011.09/bin/arm-none-eabi-

cd android_kernel_samsung_smdk4210 (Ins Kernel Verzeichniss wechseln)

cp arch/arm/configs/cyanogenmod_galaxys2_defconfig .config

ARCH=arm make menuconfig

make ARCH=arm CROSS_COMPILE=$CCOMPILER -j`grep 'processor' /proc/cpuinfo | wc -l`

Bis dahin läuft soweit alles, doch dann kommt folgende Fehlermeldung:

/home/chris/sgs2/kernel/android_kernel_samsung_smdk4210/scripts/gen_initramfs_list.sh: Cannot open 'source/usr/galaxys2_initramfs.list'
make[1]: *** [usr/initramfs_data.cpio] Fehler 1
make: *** [usr] Fehler 2


Das war es schon wieder für mich.
Irgendwie sind die Anleitungen, die ich zur Hilfe genommen habe, nicht wirklich komplett, oder ich habe das etwas fehlinterpretiert.

Vielleicht liegt es auch an der Konfiguration der: cyanogenmod_galaxys2_defconfig .config
 
Hallo,
ich würde gerne einen fertigen Kernel bearbeiten, z.B. Frequenzen entfernen, einen Governor hinzufügen...

Ich habe mir daraufhin diesen Kernel einmal herunter geladen:
http://cm9.finnq.de/kernel-cm9-3.0.30-20120428-galaxys2-signed.zip

Ich habe das Archiv entpackt, und dort liegt ein boot.img

Dieses boot.img wollte ich dann (unter Ubuntu) entpacken, und zwar auf folgende weise:

Zum Entpacken:
1) Verzeichnis anlegen (z.B. mkdir boot) und die boot.img da rein kopieren
2) die ersten 8 Byte wegschneiden: dd if=boot.img of=boot.gz bs=8 skip=1
3) entpacken: gunzip boot.gz
4) auspacken: cpio -i < boot

Das funktioniert aber nicht, das boot.gz hat kein gzip format.


Gibt es eine andere Möglichkeit, das boot.img zu öffnen, bzw. den Kernel zu bearbeiten?

Gruß
 
Zuletzt bearbeitet von einem Moderator:
-earth- schrieb:
Hallo,
ich würde gerne einen fertigen Kernel bearbeiten, z.B. Frequenzen entfernen, einen Governor hinzufügen...

Ich habe mir daraufhin diesen Kernel einmal herunter geladen:
http://cm9.finnq.de/kernel-cm9-3.0.30-20120428-galaxys2-signed.zip

Ich habe das Archiv entpackt, und dort liegt ein boot.img

Dieses boot.img wollte ich dann (unter Ubuntu) entpacken, und zwar auf folgende weise:

Zum Entpacken:
1) Verzeichnis anlegen (z.B. mkdir boot) und die boot.img da rein kopieren
2) die ersten 8 Byte wegschneiden: dd if=boot.img of=boot.gz bs=8 skip=1
3) entpacken: gunzip boot.gz
4) auspacken: cpio -i < boot

Das funktioniert aber nicht, das boot.gz hat kein gzip format.


Gibt es eine andere Möglichkeit, das boot.img zu öffnen, bzw. den Kernel zu bearbeiten?

Gruß

Nein! ... aber das erstellen eines Kernels ist nicht weiter schwer, wenn man die fertigen Quellen, via github.com zieht ;)

PS: falls du mit dem HowTo nicht weiterkommst, sag einfach bescheit ...

Mfg
 
  • Danke
Reaktionen: -earth-
Hallo voku,
vielen Dank schon einmal.

Ich habe mir dein HowTo einmal angesehen, das Script verarbeitet wohl die Quellen siyahkernel3 und initramfs3.


Ich wollte darauf hin dann einmal versuchen, einen Kernel aus dem teamhacksung für das s2 zu bauen.


Das ist dann aber kläglich gescheitert, mit der Fehlermeldung:


/home/chris/sgs2/kernel/android_kernel_samsung_smdk4210/scripts/gen_initramfs_list.sh: Cannot open 'source/usr/galaxys2_initramfs.list'

make[1]: *** [usr/initramfs_data.cpio] Fehler 1
make: *** [usr] Fehler 2

Meine Vorgehensweise habe ich 2 Posts über deinem beschrieben.
 
Da hier nicht viel mehr kommt wie es mir aussieht, kann der geneigte User vielleicht hier die Infos bekommen die er haben möchte.
 
  • Danke
Reaktionen: killerplauze und -earth-

Ähnliche Themen

Androidflash
Antworten
5
Aufrufe
3.237
firemaker911
firemaker911
j1gga84
Antworten
299
Aufrufe
79.249
j1gga84
j1gga84
beicuxhaven
Antworten
6
Aufrufe
3.406
HCD
HCD
Zurück
Oben Unten