Mittwoch, 23. Mai 2012, 18:32

Du bist nicht angemeldet.



Easyy-S

Boardgrafiker

  • »Easyy-S« ist der Autor dieses Themas

Beiträge: 2 986

Ubuntu: 12.04

Kernel: generic

Desktop: GNOME Shell

Architektur: 64-bit

Danksagungen: 3 / 1

  • Private Nachricht senden

1

Samstag, 19. Januar 2008, 00:27

Kernel selber kompilieren (2.6.x)

Dieses HowTo kann in Form eines PDFs in unserer Datenbank herunter geladen werden: download


In diesem HowTo möchte ich beschreiben, wie man einen Kernel selber kompiliert.
Da das Kompilieren eines Kernels eher für fortgeschrittene Anwender ist, gehe ich nicht auf die kleinsten Details des Vorgehens ein. Dies setzt gewisse Grundkenntnisse voraus. Somit dient dieses HowTo eher als kleine Gedankenstütze und Nachschlagewerk.

Verwendetes System: Ubuntu 7.10 Gutsy Gibbon
Kernelversion: 2.6.23.14
Easyy-S

Mein pubkey

Dein eigener UbuntuFreunde-Avatar: hier - Dein UbuntuFreunde-Banner: hier

Easyy-S

Boardgrafiker

  • »Easyy-S« ist der Autor dieses Themas

Beiträge: 2 986

Ubuntu: 12.04

Kernel: generic

Desktop: GNOME Shell

Architektur: 64-bit

Danksagungen: 3 / 1

  • Private Nachricht senden

2

Samstag, 19. Januar 2008, 00:49

Vorbereitungen:

Quellcode

1
sudo aptitude install build-essential kernel-package libncurses5-dev bin86


Quellen herunter laden, nach /usr/src/ kopieren, entpacken und softlink 'linux' (/usr/src/linux) auf das Verzeichnis der Kernelquellen anlegen.
Die Kernelkonfiguration von Ubuntu als Basis heranziehen:

Quellcode

1
sudo cp /boot/config-$(uname -r) /usr/src/linux/.config

In das Verzeichnis /usr/src/linux wechseln.

Soll der Kernel mit einem Patch versehen werden, ist dies an dieser Stelle zu tun.
Wie dies geschieht, wird weiter unten beschrieben.

Sind die Quellen bereits zum kompilieren verwendet worden, muss das Verzeichnis von altem Ballast befreit werden:

Quellcode

1
sudo make-kpkg clean

Konfiguration erstellen:

Quellcode

1
sudo make menuconfig

Neben den eigenen Anpassungen sind folgende Einstellungen auf jeden Fall notwendig, da sonst das booten des neuen Kernels zum scheitern verurteilt ist.
Unterhalb von Processor type and features --->

Zitat

[*] High Resolution Timer Support
[*] Tickless System (Dynamic Ticks)

Weiterhin noch einige andere Einstellungen:
Unterhalb von General setup --->

Zitat

[*] Prompt for development and/or incomplete code/drivers

Unterhalb von Device Drivers --->, Graphics support --->

Zitat

<*> Support for frame buffer devices
[*] Enable firmware EDID
[*] VESA VGA graphics support

Alle anderen Module entfernen.

Unterhalb von Kernel hacking --->

Zitat

[ ] Show timing information on printks
[ ] Kernel debugging

Konfiguration speichern und Kernel kompilieren:

Quellcode

1
sudo make-kpkg --initrd --revision=COMPUTERNAME.EIGENE_VERSIONSNUMMER --append-to-version=.COMPUTERNAME.EIGENE_VERSIONSNUMMER linux-image linux-headers

COMPUTERNAME.EIGENE_VERSIONSNUMMER ist den eigenen Bedürfnissen an zu passen.
Hierbei ist darauf zu achen, dass bei der Option 'append-to-version' ein führender 'Punkt' gesetzt wird.
Als Beispiel:
--revision=ubuntufreunde.rev01 --append-to-version=.ubuntufreunde.rev01

Ist der Kompiliervorgang abgeschlossen, findet man in /usr/src/ zwei debs (Kernel und Header), die einfach mittels 'dpkg -i' installiert werden können.

Fertig

Easyy-S

Boardgrafiker

  • »Easyy-S« ist der Autor dieses Themas

Beiträge: 2 986

Ubuntu: 12.04

Kernel: generic

Desktop: GNOME Shell

Architektur: 64-bit

Danksagungen: 3 / 1

  • Private Nachricht senden

3

Samstag, 19. Januar 2008, 00:50

Bootup logo - Pinguine

Wer auf dem Terminal zu Beginn des Bootvorgangs einen Pinguin ( einen pro CPU-Kern ) sehen möchte, kann dies wie folgt aktivieren:
Unterhalb von Device Drivers --->, Graphics support --->

Zitat

[*] Bootup logo --->
[*] Standart 224-color Linux logo

Easyy-S

Boardgrafiker

  • »Easyy-S« ist der Autor dieses Themas

Beiträge: 2 986

Ubuntu: 12.04

Kernel: generic

Desktop: GNOME Shell

Architektur: 64-bit

Danksagungen: 3 / 1

  • Private Nachricht senden

4

Samstag, 19. Januar 2008, 00:54

Kernel patchen

Den patch nach /usr/src/ kopieren.
In das Verzeichnis /usr/src/linux/ wechseln und patch importieren:

Quellcode

1
sudo patch -p1 <../DATEINAME_DES_PATCHES