| | #21 (permalink) |
| Junior Mitglied Registriert seit: 30.08.2009
Beiträge: 32
Abgegebene Danke: 4
Erhielt 3 Danke für 3 Beiträge
| Wenn ja, wäre eine kleine Erklärung nett |
| | |
| | #22 (permalink) |
| Erfahrener Benutzer Registriert seit: 08.07.2009
Beiträge: 200
Abgegebene Danke: 1
Erhielt 14 Danke für 12 Beiträge
|
Ja, geht ganz einfach:
|
| | |
| | #23 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 31.07.2009
Beiträge: 75
Abgegebene Danke: 1
Erhielt 25 Danke für 13 Beiträge
|
Geht leider nicht so einfach: Erstens: "dos2unix" konvertiert in diesem Fall nicht richtig. Besser mit sed -i -e 's/\r//g', sonst kompiliert irgend ein *.h nicht. Zweitens: es gibt ein paar "echte" Binaries (siehe Anhang), da darf man das CRLF nicht einfach ersetzen. Drittens: es fehlt die initrd. Die ist in den Kernel hineinkompiliert und wird nicht vom Bootloader als Datei hinzugeladen. Das muesste in .config die Einstellung CONFIG_INITRAMFS_SOURCE sein. Bin auf der Suche nach dem Original-Initrd.img; kann man sicher aus einen existierendem Kernel rausholen. Heute aber keine Zeit mehr. // Sven-Ola |
| | |
| | #24 (permalink) | |||
| Erfahrener Benutzer Registriert seit: 08.07.2009
Beiträge: 200
Abgegebene Danke: 1
Erhielt 14 Danke für 12 Beiträge
| Zitat:
Zitat:
Zitat:
| |||
| | |
| | #25 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 31.07.2009
Beiträge: 75
Abgegebene Danke: 1
Erhielt 25 Danke für 13 Beiträge
|
So - jetzt hab' ich es auch hin. Mit swap und iptables. Hier meine Notizen, falls jemand selbst kompilieren will kann's ja hilfreich sein. Dateien sind hier: Code: http://81.89.105.192/linux-2.6.27-galaxy.patch.lzma http://81.89.105.192/initrd-galaxy-2.6.27-GT-i7500I7500VIAIG6I7500XXIG8I7500XXIG8_500.tgz 70e0eb7961110ff6a01eff8781333c8d GT-I7500_OpenSource.zip Hinweise: der Samsung-Kernel ist ein Stock-2.6.27, allerdings wurde ein "Infinite Retry Loop in IP-Config" mit einer Änderung behoben (aus 2.6.27.14, siehe LKML 9d8dba6c979fa99c96938c869611b9a23b73efa9). Außerdem sind die Kernel-Sourcen wohl über einen Windows-Rechner gegangen, es fehlen großgeschriebene Dateien z.B. net/netfilter/xt_TCPMSS.c (das gibts auch als kleingeschriebene Datei net/netfilter/xt_tcpmss.c im Kernel-Tree und ein typisches Windows überschreibt dann). * Den Kernel linux-2.6.27.tar.bz2 von kernel.org herunterladen. Auspacken und den Patch anwenden (der Patch enthält nur die Unterschiede vom Stock-2.6.27er Kernel auf das oben angeführte ZIP-Archiv): tar xvjf linux-2.6.27.tar.bz2 lzcat linux-2.6.27-galaxy.patch.lzma | patch -p1 -d linux-2.6.27 * Vom Telefon die Konfiguration ziehen (bin faul und mache als "root" weiter): sudo bash cd linux-2.6.27 adb pull /proc/config.gz . gunzip config.gz mv config .config * Die Initrd holen, auspacken und den Pfad in der .config eintragen, z.B. CONFIG_INITRAMFS_SOURCE="initrd/". Meine Initrd habe ich aus GT-i7500I7500VIAIG6I7500XXIG8I7500XXIG8_500.zip (später zurückgezogenes Update aus Aug 2009). In der Datei "/default.prop" sind außerdem die Einstellungen auf "ro.secure=0" und "ro.debuggable=1" geändert, damit der "root"-Zugriff funktioniert. * Kompilieren, dabei 2 * mit [Return] den Benutzer "root" fuer die Initrd bestätigen: make CROSS_COMPILE=/usr/src/android/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin/arm-eabi- * Aufspielen mit "fastboot": (Galaxy an USB stoepseln) fastboot flash:raw boot arch/arm/boot/zImage (Fastboot wartet, Galaxy ausschalten) (Warten bis die Ladeanzeige die volle Batterie zeigt) (Mit der Tastenkombination Annehmen + Powertaste halten und damit einschalten) (Schwarzer Bildschirm, das Fastboot beginnt mit dem Flashen, 5 Sekunden) (Mein Galaxy startet und läuft ganz normal [freu]) * Jetzt kommt die Kür: "make menuconfig", einschalten was man haben will. Wirklich wichtig: General/SWAP[*], Net/Opt/Netfilter[*], Net/Opt/Netfilter/Adv[ ] ("Advanced" ausschalten schaltet die einfachen Sachen automatisch als Modules ein). Konfiguration speichern und aufräumen mit "make CROSS_COMPILE=[siehe oben] clean". Dann noch einmal Kompileren/Aufspielen. * Nun noch ein Swapfile. SSH in das Galaxy und dann: dd if=/dev/zero of=/sdcard/swap.img bs=1048576 count=96 mkswap /sdcard/swap.img swapon /sdcard/swap.img Das wars, meine Kiste läuft... ![]() Code: localhost:/sdcard# free -m
total used free shared buffers cached
Mem: 93 92 1 0 0 22
-/+ buffers/cache: 69 24
Swap: 95 0 95 adb remount for i in drivers/net/wireless/broadcom/bcm4325.ko drivers/dpram/dpram.ko drivers/dpram/multipdp.ko;do adb push $i /system/libmodules/;done * Dann noch meine zusätzlichen Module für mein Debian hochladen: tar cvzf /tmp/bla.tgz $(find -name "*.ko") adb push /tmp/bla.tgz /tmp/ (zur Debian-Shell auf dem Galaxy wechseln) mkdir /lib/modules/$(uname -r)/ cd /lib/modules/$(uname -r)/ tar xvzf /tmp/bla.tgz depmod -a iptables -nvL (sollte die iptables-Module laden und was anzeigen) Geändert von sven-ola (04.09.2009 um 10:59 Uhr) Grund: Module hochladen falsch |
| | |
| | #26 (permalink) |
| Android-Hilfe.de Mitglied Modell: Samsung Galaxy S2 (I9100) Registriert seit: 03.09.2009
Beiträge: 56
Abgegebene Danke: 16
Erhielt 13 Danke für 6 Beiträge
|
Hmm, mein kernel (config angehängt) schickt das Galaxy in eine Endlosschleife beim booten. Nach einigen Durchläufen der Android-Animation startet es neu. Gibt es irgendeine Möglichkeit, sich die kernel messages anzusehen?
|
| | |
| | #27 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 31.07.2009
Beiträge: 75
Abgegebene Danke: 1
Erhielt 25 Danke für 13 Beiträge
|
Hey, keine Ahnung, warum das beim ersten mal gleich funktioniert hat. Beim weiter basteln hatte ich dasselbe. Die Kernel-Module unter /system/libmodules/ passen nicht (sind für SWAP=NO) und stürzen wohl ab. Ich hab's dann so gemacht: * Orig-Kernel draufmachen, Neustart * adb remount * adb shell mv /system/libmodules /system/libmodules.orig * adb shell mkdir /system/libmodules * Herunterfahren und Kernel-mit-Swap draufspielen * Starten (ohne Module==Kein Dienst, läuft aber) * adb remount * for i in $(find -name bcm4325.ko -or -name dpram.ko -or -name multipdp.ko);do adb push $i /system/libmodules/;done Und schon läuft's auch bei mir wieder: Code: root@pcacer:/usr/src/galaxy-kernel/linux-2.6.27# adb shell
# deb
su: access granted, courtesy of www.magicandroidapps.com
e2fsck 1.40.8 (13-Mar-2008)
/sdcard/debian.img: clean, 40884/73728 files, 160023/262144 blocks
root@localhost:/# free -m
total used free shared buffers cached
Mem: 93 91 2 0 0 23
-/+ buffers/cache: 68 25
Swap: 95 0 95 // Sven-Ola Geändert von sven-ola (06.09.2009 um 14:10 Uhr) Grund: Noch'n Nachtrag |
| | |
| Folgender Benutzer bedankt sich bei sven-ola für diesen Beitrag: | sonic (06.09.2009) |
| | #30 (permalink) |
| Junior Mitglied Registriert seit: 30.08.2009
Beiträge: 32
Abgegebene Danke: 4
Erhielt 3 Danke für 3 Beiträge
|
Ah, danke für die Aufklärung ![]() Muss man denn nun eigentlich den Weg über den Originalkernel+Patch gehn oder kann man auch die unveränderten aus dem Samsungarchiv nehmen (bis auf die initrd)? |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Aktivierung des Root-Accounts | mjrgens | Root / Hacking / Modding für Samsung Galaxy | 334 | 05.05.2012 07:17 |
| Kernel patchen? | The One | Android OS Entwicklung / Customize | 1 | 04.10.2010 11:02 |
| iPhone 3.0 GS vs Android 1.5 - ein Versuch in Fairness | Autarkis | Smalltalk und Offtopic | 69 | 23.10.2009 18:48 |
| FUSE Kernelmodul kompilieren? [Gelöst] | wonder75 | Android OS Entwicklung / Customize | 1 | 01.08.2009 20:27 |
| tuntap-module für Android? | z0rc | Android App Entwicklung | 0 | 18.03.2009 23:20 |