# Kernel von kernel.org nutzen

## Thott Chif

Nachdem ich mit dem gentoo kernel source ein paar Probleme hatte, habe ich mir einfach den aktuellen 33-Kernel con kernel.org geladen, konfiguriert und installiert. Das ganze rennt bis jetzt wunderbar, doch lese ich gerade das bei der Installation des NVIDIA Treibers, die Installationsroutine per lnux-symlink herausfindet welcher Kernel am laufen ist und das Modul dann für diesen kompiliert. Gibt es da keine Probleme mit meinem kenel.org Kernel oder sollte das ohne Störung durchlaufen. Und übehaupt, tuen sich damit das ich nicht den gentoo patched Kernel nutze  nochmehr Probleme auf?

Bin insgesamt noch Gentoo Anfänger, komme so von der Alles-Vorkonfiguriert-Ecke Ubuntu^^

----------

## franzf

prinzipiell sollte das kein Problem sein, dass du dir deinen eigenen Kernel von kernel.org ziehst.

Du bekommst den selben aber auch via sys-kernel/vanilla-sources  :Wink: 

Und der aktualisiert sich automatisch, musst nicht immer wieder auf kernel.org den aktuellsten runter laden.

----------

## Thott Chif

gut, kann ich denn dann irgendwie die konfiguration des aktuellen Kernels speichern dann per emerge vanilla-sources mr den aktuellen nach /usr/src laden, und meine gespeicherte Knfiguration wieder laden?

----------

## think4urs11

 *franzf wrote:*   

> Und der aktualisiert sich automatisch

 

*erbsenzähl* s/aktualisiert sich automatisch/kann wie alles andere in Gentoo mittels emerge aktualisiert werden/  :Wink: 

@Thott Chif: Willkommen in den Gentoo-Foren und viel Spaß mit Gentoo.  :Smile: 

----------

## Thott Chif

Danke für den Willkomensgruß, eine Frage hätte ich noch, läd portage eigentlch den Sourcecode con einem speziellen Gentoo Server mit speziell gepatchten Versionen oder direkt vom SVN Tree des Projektes (Oder welches System auch immer das Projekt nutzt)?

----------

## Josef.95

 *Thott Chif wrote:*   

> gut, kann ich denn dann irgendwie die konfiguration des aktuellen Kernels speichern dann per emerge vanilla-sources mr den aktuellen nach /usr/src laden, und meine gespeicherte Knfiguration wieder laden?

 Jo, das sollte machbar sein..

zb wie folgt: 

```
# emerge -av vanilla-sources
```

Nun den Symlink setzen, dies geht zb recht einfach mit

# eselect kernel list

# eselect kernel set NUMMER 

(oder eben manuell setzen... :Wink: 

Und dann zb die aktuell laufende config aus /proc kopieren 

```
# zcat /proc/config.gz > /usr/src/linux/.config

# cd /usr/src/linux

# make oldconfig

# make menuconfig

usw...
```

Viel Erfolg

----------

## franzf

 *Thott Chif wrote:*   

> läd portage eigentlch den Sourcecode con einem speziellen Gentoo Server mit speziell gepatchten Versionen oder direkt vom SVN Tree des Projektes (Oder welches System auch immer das Projekt nutzt)?

 

Gentoo packt auf seine Mirrors nur Original-Souren! Wenn gepatcht wird, dann macht das "emerge", dabei wird aber das Original.tar.bz (oder was auch immer) nicht verändert.

Desweiteren vewenden die kernel-devs für die Sourceverwaltung nicht svn sondern git. Und dir als Einsteiger würde ich so etwas experminetelles nicht raten. Sollte das Probleme bereiten hast du schlechte Karten, den Übertäter zu finden  :Sad: 

Das Einfachste ist bei Gentoo, immer alles aus dem portage (==das, was emerge installieren kann) zu nehmen. Um Aktualisierungen, Patches usw. brauchst du dich dann nicht mehr kümmern (heißt: bei nem neuen KDE die Sourcen selber runterladen und händisch installieren - das machst DU mit emerge).

----------

## Randy Andy

Thott Chif, 

willkommen bei Gentoo auch von meiner Seite. 

@franzf,

jetzt muss ich aber auch mal nachfragen, ob ich das richtig verstehe:

Die gentoo-sources sind also die original kernel.org archiv-dateien (tar.bz o.ä.) + zusätzliche gentoo-spezifische patches, die durch portage darauf angewendet werden.

Die vanilla-sources entsprechen also 1:1 den kernel.org Dateien mit dem vorteil der einfacherern Anwendbarkeit mittels portage.

Was mich aber stets verwirrt sind die Versionsabeichungen der gentoo-sources zu kernel.org (mit vanilla hab ich das nie nachgehalten)

Wie kann ich das change-log der gentoo-sources einsehen um mich darüber zu informieren?

Aktuell benötige ich dringend diesen patch:

http://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Fnext%2Fpatch-v2.6.33-next-20100301.bz2;z=3304

Wie wende ich sowas auf meinen kernel an, bzw wie guck ich nach wann das in den gentoo-sources implementiert ist, wie's bei kernel.org geht weiss ich ja schon...

Vielen Dank,

Andy.

----------

## franzf

 *Randy Andy wrote:*   

> Die gentoo-sources sind also die original kernel.org archiv-dateien (tar.bz o.ä.) + zusätzliche gentoo-spezifische patches, die durch portage darauf angewendet werden.

 

Genau.

 *Quote:*   

> Die vanilla-sources entsprechen also 1:1 den kernel.org Dateien mit dem vorteil der einfacherern Anwendbarkeit mittels portage.

 

Genau.

 *Quote:*   

> Was mich aber stets verwirrt sind die Versionsabeichungen der gentoo-sources zu kernel.org (mit vanilla hab ich das nie nachgehalten)
> 
> Wie kann ich das change-log der gentoo-sources einsehen um mich darüber zu informieren?

 

```
less /usr/portage/sys-kernel/gentoo-sources/ChangeLog
```

Da steht dann z.B. sowas:

```
*gentoo-sources-2.6.32-r7 (24 Feb 2010)

  24 Feb 2010; Mike Pagano <mpagano@gentoo.org>

  +gentoo-sources-2.6.32-r7.ebuild:

  Includes linux patch 2.6.32.9
```

Soll heißen dass bis gentoo-sources-2.6.32-r6 die kernel.org-2.6.32.8 die Basis waren.

Im Übrigen wirst du lange suchen müssen um einen 2.6.32.9 in deinen distfiles zu finden. Das machen auch die vanilla-sources mit den auf ftp.kernel.org erhältlichen patches.

 *Quote:*   

> Aktuell benötige ich dringend diesen patch:
> 
> http://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Fnext%2Fpatch-v2.6.33-next-20100301.bz2;z=3304
> 
> Wie wende ich sowas auf meinen kernel an, bzw wie guck ich nach wann das in den gentoo-sources implementiert ist, wie's bei kernel.org geht weiss ich ja schon...

 

Da wird es "etwas" komplizierter.

Das patchen der Kernel-Sourcen übernehmen im portage die eclasses (die ebuilds sind ja äußerst minimalistisch  :Wink: ). /usr/portage/eclass/kernel-2.eclass kannst du dir mal reinziehen.

Aber eclass ändern ist so ein Problem - nach dem nächsten sync ist die Änderung futsch  :Razz: 

Also eigenes ebuild ins lokale Overlay und in alter Manier in src_prepare deinen eigenen Patch einfügen.

Beispiele gibt es zu Hauf, ausschauen tut das dann so:

```
src_prepare() {

    epatch "${FILESDIR}"/MyBestPatch.patch

}
```

Wobei FILESDIR auf das hier zeigt:

/usr/local/portage/sys-kernel/vanilla-sources/files

FILESDIR eben  :Wink: 

Musst natürlich den Pfad an deine Verhältniss anpassen - dein lokales PORTDIR_OVERLAY muss ja nicht zwingend in /usr/lokal/portage liegen.

----------

## Randy Andy

Danke Franz,

für die konkreten Erläuterungen.

Werde das bei nächster Gelegenheit (Zeit) mal angehen!

Gruß, Andy.

----------

