[TUTORIAL][KERNEL] Kernel Development Tuts

MadMurdoc

MadMurdoc

Ehrenmitglied
6.047
Dharam's Kernel Development Tutorials​


Seit viele der S2 Kernel Devs gegangen sind oder gehen werden um für das Galaxy S3 zu entwickeln, bin ich der Meinung, dass wir mehr Devs für das S2 brauchen. Nichts gegen die Devs, die gewechselt sind, denn wenn ich könnte, würde ich das auch tun. :smile:
Wie auch immer wird es viele Menschen geben, die das Wissen von Codierung und dem ganzen Kram haben, aber die halt nicht wissen, wie man einen Kernel und alles was dazu gehört baut...
Deshalb präsentiere ich hier das Kernel Development Tutorial für das Galaxy S2. Es wird ähnlich für andere Geräte sein und kann daher auch als Referenz genutzt werden, um einen Kernel für ein anderes Gerät zu bauen benutzt werden. :smile:

Ich stelle mich nicht als Experte dieser Dinge hin, es gibt viele andere großartige Devs für dieses Gerät z.B. codeworkx, chainfire, gokhanmoral, simone201 und viel, viele andere, welche ich in diesem Augenblick übersprungen habe.


  • Ich werde alles Schritt für Schritt erklären.
  • Wenn du noch Zeit hast zum lernen/entwickeln, mach mit.
  • Wenn du einige Schritte zum laufen bekommen hast, aber ein anderer Dev nicht, so bitte hilf ihm bei seinen Problemen. Ich kann nicht jedem und jeder Anfrage antworten.
  • Der meiste Code muss im Terminal ausgeführt werden. Ich werde nicht jedes mal erwähnen "Öffne das Terminal".


Anmerkung:
  • Bitte poste keine unnützlichen Nachrichten.
  • Wenn du keine Ahnung vom coden hast, bitte lerne das vorher.
  • Flute meinen Posteingang nicht mit PN's voll. Ich werde keine PN's beantworten in Bezug auf Kernel Development. Bitte poste es hier im Thread, so dass jeder davon lernen kann.
  • Ich bin nicht verantworlich, wenn du dein Gerät Hardbrickst, während du einen dieser Schritte durchführst


Quelle dieses Tutorials: XDA
 
Zuletzt bearbeitet von einem Moderator:
  • Danke
Reaktionen: fitzgik, madddi, Temur und 3 andere
Installation von Ubuntu​

1. Downloade Ubuntu x64 (64-Bit Version) von Desktop | Ubuntu
2. Installiere Ubuntu direkt oder als virtuelle Maschine (Ich bevorzuge direkte Installation)
3. Wenn du es als virtuelle Maschine installierst, bitte stelle genug RAM und CPU Power zur Verfügung um den Kernel schneller zu bauen, ansonsten dauert es Jahre ;)

Einloggen als Root​

1. Wenn Ubuntu zum ersten mal startet, melde dich mit deinem Nutzername und Passwort an welches du bei der Installation gewählt hattest.
2. Öffne ein Terminal
3. Benutze folgenden Code. (Immer den Code nach $/# ist der den ihr nutzen sollt. Alles nach ## ist ein Kommentar von mir.)
Code:
dharammaniar@ubuntu:~$ sudo passwd
[sudo] password for dharammaniar: ## Hier nutzt ihr das Passwort welches ihr für die Anmeldung genutzt habt.
Enter new UNIX password: ## Enter Passwort für Root (Es kann das selbe Passwort sein wie das Vorletzt)
Retype new UNIX password: ## Nochmal Enter Passwort für Root
passwd: password updated successfully
dharammaniar@ubuntu:~$ su
Password: ## Root passwort eingeben
root@ubuntu:/home/dharammaniar#

4. Sobald ihr die selbe Zeile bekommt wie oben, habt ihr root Zugang.
5. Jetzt meldet euch ab von diesem User und meldet euch als root an in dem ihr als Nutzername root eingebt.
6. Startet jetzt ein Terminal, ihr solltet folgendes erhalten
Code:
root@ubuntu:~#

Die Bauumgebung einrichten​

1. Ihr solltet immer root ausführen.
2. Geh zu System -> Administrator -> Synaptic Packetverwaltung
3. Sucht nach ncurses-devel
4. Installiert libncurses5-dev.
6. Downloaded die Toolchain. Ihr findet diese in den AOSP Quellen. Ich werde diese so schnell wie möglich hochladen.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: fitzgik, madddi, Temur und 3 andere
Downloaden der Quellen​

1. Downloade die Update4 Quellen von Samsung Open Source Release Center oder https://github.com/CheckROM/DK_S2_ICS_KERNEL/tree/5ec9752c34cedf3e8df9e887ecad6db9337de927
2. Downloade die initramfs von https://github.com/CheckROM/DK_S2_ICS_INITRAMFS/tree/d85b2201b79588e70387d3df0ffd2f83d741c4ac oder bitte einige Devs darum zu posten wie man die initramfs vom Samsung Kernel extrahiert. Ich bin momentan dran das herauszufinden..(Wenn ein Dev hier mitliest der uns helfen kann, wir wären ihm dankbar)
3. Erstelle einen Ordner S2.
4. In diesem Ordner erstelle 2 weitere. 1) Kernel 2) initramfs
5. Der Kernel Ordner sollte die Quellen haben z.B. arch, driver und alles andere.
6. initramfs Ordner sollte die init.rc Dateien und den Kram haben.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: fitzgik, madddi, Temur und 3 andere
Reserviert für die Zukunft. :smile::smile:
 
Zuletzt bearbeitet:
Reserviert für die Zukunft. :smile::smile:
 
Reserviert für die Zukunft. :smile::smile:
 
Reserviert für die Zukunft. :smile::smile:
 
Reserviert für die Zukunft. :smile::smile:
 
Reserviert für die Zukunft. :smile::smile:
 
Reserviert für die Zukunft. :smile::smile:
 
Cooli McCooli...werde mich mal dran setzen, sobald ich mal ein bissel Zeit habe...juhu... :D
 
Das Tutorial scheint aber noch nicht ganz fertig zu sein, gerade das mit dem CWM fehlt wohl noch. :)
 
Dann mok to... ;)

Nebenbei, geile Sache... :thumbsup:
 
Ich bin auch dabei, daran werde ich sicher viel Spaß haben. Danke für die Idee das Thema so zu zentralisieren. Bisher hatte mich das Zusammensuchen der gewaltigen Infos etwas davon abgeschreckt. Aber so ist das ja wie "Kuchen Backen" für Fortgeschrittene. ;) :)

1k Dank Mad!

Bis Später.
 
Sehr Interessant, weiter so. werde es auch testen, interesse halber.:)
 
Hi

Du solltest vielleicht noch dazu schreiben, das es sich mit anderen Linuxdistributionen funktioniert, man braucht nur die entsprechenden Pakete zu installierten.
Was mich auch noch sehr an deinem Tutorial stört, ist dass man sich als root anmelden soll. Es reicht wenn man als normaler User sudo Befehl ausführt. Ansonsten ist das schonmal ein guter Anfang.

MfG

Gesendet von meinem GT-I9100 mit der Android-Hilfe.de App
 
Es handelt sich nur um eine Übersetzung von dem was ich auf XDA gefunden habe. :)
 
Hi

@MadMurdoc

hoffe es passt hier einigermassen, wollte fragen ob du nur Debian für's bauen von Rom's und Kernel's nutzt, oder auch Ubuntu. Meine Frage rührt daher, ich wollte B2G, alias FirefoxOS, kompilieren nur bricht das bei meinem Debian mit einem Fehler ab, bei Ubuntu läuft es natürlich durch. Da ich mein System nicht wechseln will, würde mich interessieren ob du irgendwelche Probst hattest mit Debian und wie du die lösen konntest.

Sollte dieses hier doch nicht reinpassen dann lösche es einfach Kommentarlos.

MfG
 
Bauen tue ich momentan auf meinem Ubuntu. Unter Debian noch nicht, ansonsten hau dir doch Ubuntu in eine VM, Vorteil musst nicht auf diesen Schnullibuntu umsteigen sondern bleibst bei Debian.
 
  • Danke
Reaktionen: Das-Ich
Hi

hatte ich bereits unter VirtualBox und da läuft es dummerweise durch. Ich hätte nur gerne das es unter Debian läuft, wer nicht, ich finde es nur seltsam das es unter Buntu läuft und unter Debian nicht, obwohl man sämtlche Sachen installiert hat.

MfG
 

Ähnliche Themen

Androidflash
Antworten
5
Aufrufe
3.081
firemaker911
firemaker911
j1gga84
Antworten
299
Aufrufe
77.828
j1gga84
j1gga84
beicuxhaven
Antworten
6
Aufrufe
3.273
HCD
HCD
Zurück
Oben Unten