Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android OS Entwicklung / Customize

Kernel-Module kompilieren - erster Versuch

Das Thema "Kernel-Module kompilieren - erster Versuch" befindet sich unter Android OS Entwicklung / Customize auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 15.09.2009, 18:47   #51 (permalink)
Android-Hilfe.de Mitglied
 
Benutzerbild von sonic

Modell: Samsung Galaxy S2 (I9100)

Registriert seit: 03.09.2009
Beiträge: 56
Abgegebene Danke: 16
Erhielt 13 Danke für 6 Beiträge
Problem gelöst / Frage beantwortet AW: Kernel-Module kompilieren - erster Versuch

Zitat:
Zitat von sonic Beitrag anzeigen
Falls jemand eine Idee hat, an was der reboot liegen könnte, wäre ich dankbar.
Geschafft
sonic ist offline   Mit Zitat antworten
Alt 20.09.2009, 14:29   #52 (permalink)
Neuer Benutzer

Registriert seit: 12.09.2009
Beiträge: 9
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Kernel-Module kompilieren - erster Versuch

Ist die initrd nun direkt im kernel beim Samsung? Ein extract des original boot.img scheint das nicht anzudeuten. Ich habe beim Kernel kompilieren den extrahierten initrd Pfad angegeben. Ich wurde aber nicht nach user gefragt beim kompilieren wie hier im thread gesagt. Der Kernel bootet aber trotzdem OK. Hmmmm, kann das mir jemand mal erklaeren?

Chris
chrmhoffmann ist offline   Mit Zitat antworten
Alt 20.09.2009, 15:44   #53 (permalink)
Android-Hilfe.de Mitglied
 
Benutzerbild von sonic

Modell: Samsung Galaxy S2 (I9100)

Registriert seit: 03.09.2009
Beiträge: 56
Abgegebene Danke: 16
Erhielt 13 Danke für 6 Beiträge
Standard AW: Kernel-Module kompilieren - erster Versuch

Zitat:
Zitat von chrmhoffmann Beitrag anzeigen
Ist die initrd nun direkt im kernel beim Samsung?
Ich glaub' schon, Änderungen an init.rc wirken sich bei mir aus.

Zitat:
Zitat von chrmhoffmann Beitrag anzeigen
Ich wurde aber nicht nach user gefragt beim kompilieren wie hier im thread gesagt.
Ich auch nicht. Vielleicht, weil ich als root eingeloggt war?
sonic ist offline   Mit Zitat antworten
Alt 01.10.2009, 18:11   #54 (permalink)
Neuer Benutzer

Registriert seit: 09.07.2009
Beiträge: 5
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Rotes Gesicht AW: Kernel-Module kompilieren - erster Versuch

Zitat:
Zitat von sven-ola Beitrag anzeigen
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
Dieser Text bezieht sich auf http://img.kr.samsungmobile.com/imag...OpenSource.zip. Hinweis: alle ASCII-Dateien in diesem ZIP haben CRLF als Zeilenende. Konvertierung mit "find -type f | xargs sed -i -e '/\r//g'" (das erwischt auch ein paar Binärdateien, diese sollten für das Kompilieren aber nicht wichtig sein).

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...
Hi sven-ola, ich versuche gerade nach deiner Anleitung den Kernel zu erstellen. Eine Sache verstehe ich nicht dabei. Wo wird denn bei dir der Source-Code -->> GT-I7500_OpenSource.zip angewendet??
Franke ist offline   Mit Zitat antworten
Alt 03.01.2010, 12:31   #55 (permalink)
Junior Mitglied

Registriert seit: 29.07.2009
Beiträge: 30
Abgegebene Danke: 1
Erhielt 2 Danke für 2 Beiträge
Standard AW: Kernel-Module kompilieren - erster Versuch

Hallo allerseits,

funktioniert soweit. Habe die aktuellsten Sourcen vom Samsung zu nem Kernel übersetzt, der auch sauber gebootet wird. Wegen WLAN-Tethering habe ich netfilter aktiviert.

Allerdings passiert jetzt folgendes, wenn ich das Tethering starten will (und funktioniert dann natürlich auch nicht...):

Code:
<3>[  229.686470] RTNL: assertion failed at net/core/dev.c (1029)
<4>[  229.686506] [<c00569a0>] (dump_stack+0x0/0x14) from [<c028719c>] (dev_open+0x30/0xfc)
<4>[  229.686593] [<c028716c>] (dev_open+0x0/0xfc) from [<bf021728>] (dev_wlc_ioctl+0x54/0xd8 [bcm4325])
<4>[  229.686925]  r5:00000004 r4:c6c25e24
<4>[  229.686946] [<bf0216d4>] (dev_wlc_ioctl+0x0/0xd8 [bcm4325]) from [<bf022638>] (wl_iw_get_wireless_stats+0x30/0x13c [bcm4325])
<4>[  229.687265]  r8:c5cd6520 r7:c1dc4400 r6:c1dc4400 r5:c20d4820 r4:c20d4820
<4>[  229.687306] [<bf022608>] (wl_iw_get_wireless_stats+0x0/0x13c [bcm4325]) from [<bf018e9c>] (dhd_get_wireless_stats+0x20/0x30 [bcm4325])
<4>[  229.687588]  r6:c5cd6520 r5:c1dc4400 r4:c20d4820
<4>[  229.687616] [<bf018e7c>] (dhd_get_wireless_stats+0x0/0x30 [bcm4325]) from [<c0315f3c>] (get_wireless_stats+0x28/0x34)
<4>[  229.687775]  r4:00000002
<4>[  229.687788] [<c0315f14>] (get_wireless_stats+0x0/0x34) from [<c0316dcc>] (wireless_seq_show+0x38/0x110)
<4>[  229.687840] [<c0316d94>] (wireless_seq_show+0x0/0x110) from [<c0102fec>] (seq_read+0x294/0x3d8)
<4>[  229.687900]  r8:00000400 r7:40000000 r6:c5cd6520 r5:c1dc4400 r4:00000002
<4>[  229.687938] [<c0102d58>] (seq_read+0x0/0x3d8) from [<c011d258>] (proc_reg_read+0xb0/0xc4)
<4>[  229.687991] [<c011d1a8>] (proc_reg_read+0x0/0xc4) from [<c00e590c>] (vfs_read+0xb4/0x144)
<4>[  229.688040] [<c00e5858>] (vfs_read+0x0/0x144) from [<c00e5cd4>] (sys_read+0x44/0x70)
<4>[  229.688081]  r7:00000400 r6:c262c640 r5:00000000 r4:00000000
<4>[  229.688113] [<c00e5c90>] (sys_read+0x0/0x70) from [<c0051c20>] (ret_fast_syscall+0x0/0x2c)
<4>[  229.688178]  r8:c0051dc8 r7:00000003 r6:000003ff r5:00094fc8 r4:00094fc8
<3>[  229.688403] BUG: scheduling while atomic: iwconfig/1702/0x00000002
<4>[  229.688451] Modules linked in: bcm4325 multipdp dpram [last unloaded: bcm4325]
WLAN an sich funktioniert. Ideen?

Danke und Gruß
Sven

Geändert von gong (06.01.2010 um 18:40 Uhr)
gong ist offline   Mit Zitat antworten
Alt 07.01.2010, 16:46   #56 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von Archer

Modell: Samsung Galaxy S2 (i9100)

Registriert seit: 17.07.2009
Beiträge: 459
Abgegebene Danke: 13
Erhielt 83 Danke für 50 Beiträge
Archer eine Nachricht über ICQ schicken Archer eine Nachricht über MSN schicken Archer eine Nachricht über Skype™ schicken
Standard AW: Kernel-Module kompilieren - erster Versuch

Zitat:
Zitat von sven-ola Beitrag anzeigen
* 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).
Öhm... Lag die darin 'rum oder hast du die speziell extrahiert?
Archer ist offline   Mit Zitat antworten
Alt 07.01.2010, 19:24   #57 (permalink)
Super-Moderator
 
Benutzerbild von mjrgens

Registriert seit: 29.05.2009
Beiträge: 2.882
Abgegebene Danke: 0
Erhielt 580 Danke für 332 Beiträge
Standard AW: Kernel-Module kompilieren - erster Versuch

Die initrd kannst du aus dem boot.img (Samsung nennt das Image nur kernel?) extrahieren. Siehe hier.
__________________
T-Mobile G1 · HTC Magic (Prototype) · HTC Magic · Samsung Galaxy (GT-I7500)

mjrgens ist offline   Mit Zitat antworten
Alt 08.01.2010, 14:54   #58 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von Archer

Modell: Samsung Galaxy S2 (i9100)

Registriert seit: 17.07.2009
Beiträge: 459
Abgegebene Danke: 13
Erhielt 83 Danke für 50 Beiträge
Archer eine Nachricht über ICQ schicken Archer eine Nachricht über MSN schicken Archer eine Nachricht über Skype™ schicken
Standard AW: Kernel-Module kompilieren - erster Versuch

Zitat:
Zitat von gong Beitrag anzeigen
Code:
<3>[  229.688403] BUG: scheduling while atomic: iwconfig/1702/0x00000002
<4>[  229.688451] Modules linked in: bcm4325 multipdp dpram [last unloaded: bcm4325]
WLAN an sich funktioniert. Ideen?
ist der bcm4325 ein cs blob?
Archer ist offline   Mit Zitat antworten
Alt 08.01.2010, 15:36   #59 (permalink)
Junior Mitglied

Registriert seit: 29.07.2009
Beiträge: 30
Abgegebene Danke: 1
Erhielt 2 Danke für 2 Beiträge
Standard AW: Kernel-Module kompilieren - erster Versuch

Zitat:
Zitat von Archer Beitrag anzeigen
ist der bcm4325 ein cs blob?
selbstverständlich.
gong ist offline   Mit Zitat antworten
Alt 09.01.2010, 03:11   #60 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von Archer

Modell: Samsung Galaxy S2 (i9100)

Registriert seit: 17.07.2009
Beiträge: 459
Abgegebene Danke: 13
Erhielt 83 Danke für 50 Beiträge
Archer eine Nachricht über ICQ schicken Archer eine Nachricht über MSN schicken Archer eine Nachricht über Skype™ schicken
Standard AW: Kernel-Module kompilieren - erster Versuch

Ich bekomme tether hin (soweit ich sehen kann, windows als client, dass ja keine Details geben darf, weil das macht ja den User kaputt).

Problem ist gerade noch, dass mein client der Wahl keine IP bekommt.
Archer ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

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




Du liest gerade: "Kernel-Module kompilieren - erster Versuch" unter "Android OS Entwicklung / Customize" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.