# kernel .. config

## pieter_parker

hallo

ich will mir einen aktuellen kernel bauen...

ich mache das immer mit genkernell --menuconfig all

vorher habe ich von /usr/src/linux-2.6.20-gentoo-r8/ nach /usr/src/linux/ den symlink gesetzt

im kernel config menu sehe ich dann z.b. ploetzlich das bei prozessor nicht mehr pentium 4 eingestellt ist sondern pentium pro .. auch andere einstellungen sind nicht so wie ich sie beim letzten kernel eingestellt hatte

beim aufruf von genkernell --menuconfig all stand dort etwas von "..running old config.." aber ich hab die einstellungen nicht

wie kriege ich die alten einstellungen im neuem kernel rein?

----------

## Martux

```

cp /usr/src/alter_kernel/.config /usr/src/neuer_kernel/

make oldconfig

```

Wenn Du in der make.conf noch "symlink" setzt, wird beim emergen eines neuen kernels automatisch /usr/src/linux auf die neuen Kernelquellen gesetzt.

----------

## nikaya

Als ich noch Genkernel benutzt habe hatte ich dieses Problem auch immer.Überprüfe mal die Einstellungen in der /etc/genkernel.conf.

Alernativ kannst Du die .config auch manuell mitteilen:

```
genkernel --kernel-config=/pfad/zur/konfiguartionsdatei all
```

Quelle:http://www.gentoo.de/doc/de/genkernel.xml#doc_chap2

Die alten .config-Dateien von Genkernel befinden sich in /etc/kernels/kernel-config-xx-2.6.xx

----------

## pieter_parker

wenn vom alten kernel die .config datei in das verzeichnis von dem neuem kernel kopiere

und dann "make oldconfig" mache...

```

scripts/kconfig/conf -o arch/i386/Kconfig

.config:199:warning: trying to assign nonexistent symbol REGPARM

.config:475:warning: trying to assign nonexistent symbol IP_NF_MATCH_DSCP

.config:480:warning: trying to assign nonexistent symbol IP_NF_MATCH_HASHLIMIT

.config:501:warning: trying to assign nonexistent symbol IP_NF_TARGET_DSCP

.config:847:warning: trying to assign nonexistent symbol SCSI_SATA

.config:848:warning: trying to assign nonexistent symbol SCSI_SATA_AHCI

.config:849:warning: trying to assign nonexistent symbol SCSI_SATA_SVW

.config:850:warning: trying to assign nonexistent symbol SCSI_ATA_PIIX

.config:851:warning: trying to assign nonexistent symbol SCSI_SATA_MV

.config:852:warning: trying to assign nonexistent symbol SCSI_SATA_NV

.config:853:warning: trying to assign nonexistent symbol SCSI_PDC_ADMA

.config:855:warning: trying to assign nonexistent symbol SCSI_SATA_QSTOR

.config:856:warning: trying to assign nonexistent symbol SCSI_SATA_PROMISE

.config:857:warning: trying to assign nonexistent symbol SCSI_SATA_SX4

.config:858:warning: trying to assign nonexistent symbol SCSI_SATA_SIL

.config:859:warning: trying to assign nonexistent symbol SCSI_SATA_SIL24

.config:860:warning: trying to assign nonexistent symbol SCSI_SATA_SIS

.config:861:warning: trying to assign nonexistent symbol SCSI_SATA_ULI

.config:862:warning: trying to assign nonexistent symbol SCSI_SATA_VIA

.config:863:warning: trying to assign nonexistent symbol SCSI_SATA_VITESSE

.config:864:warning: trying to assign nonexistent symbol SCSI_SATA_INTEL_COMBINED

.config:1896:warning: trying to assign nonexistent symbol SND_AC97_BUS

.config:2085:warning: trying to assign nonexistent symbol USB_HIDINPUT

.config:2532:warning: trying to assign nonexistent symbol UNWIND_INFO

*

* Linux Kernel Configuration

*

*

* Code maturity level options

*

Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] y

*

* General setup

*

Local version - append to kernel release (LOCALVERSION) []

Automatically append version information to the version string (LOCALVERSION_AUTO) [N/y/?] n

Support for paging of anonymous memory (swap) (SWAP) [Y/n/?] y

System V IPC (SYSVIPC) [Y/n/?] y

  IPC Namespaces (IPC_NS) [N/y/?]

```

habe hier strg und c gemacht

```

 (NEW) make[1]: *** wait: Keine Kind-Prozesse.  Schluss.

make[1]: *** Warte auf noch nicht beendete Prozesse...

make[1]: *** wait: Keine Kind-Prozesse.  Schluss.

make: *** [oldconfig] Fehler 2

```

habe strg und c gemacht weil ich mir unsicher war was er dort von mir moechte..

einige bezeichnungen haben sich geaendert und oder es gibt sie nicht mehr?

--

wenn ich von /etc/kernels/ die letzte config datei nehme und sie nach /usr/src/linux/ kopiere und ".config" nenne

und dann genkernell --menuconfig all mache .. ist es wie gehabt, bei prozessor steht pentium pro und nicht pentium 4 wie es ist und wieder sein sollte

--

```

genkernel --kernel-config=/usr/src/linux/.config --menuconfig all

* Gentoo Linux Genkernel; Version 3.4.6

* Running with options: --kernel-config=/usr/src/linux/.config --menuconfig all

* Linux Kernel 2.6.20-gentoo-r8 for x86...

* kernel: >> Running mrproper...

* config: Using config from /usr/src/linux/.config

*         Previous config backed up to .config.bak

cp: Aufruf von stat für »/usr/src/linux/.config« nicht möglich: Datei oder Verzeichnis nicht gefunden

* ERROR: Could not copy configuration file!

* -- Grepping log... --

* config: Using config from /usr/src/linux/.config

*         Previous config backed up to .config.bak

* Gentoo Linux Genkernel; Version 3.4.6

* Running with options: --kernel-config=/usr/src/linux/.config --menuconfig all

* ERROR: Could not copy configuration file!

* -- End log... --

* Please consult /var/log/genkernel.log for more information and any

* errors that were reported above.

* Report any genkernel bugs to bugs.gentoo.org and

* assign your bug to genkernel@gentoo.org. Please include

* as much information as you can in your bug report; attaching

* /var/log/genkernel.log so that your issue can be dealt with effectively.

*

* Please do *not* report compilation failures as genkernel bugs!

```

die genkernel.log datei sagt dazu:

```

* Gentoo Linux Genkernel; Version 3.4.6

* Running with options: --kernel-config=/usr/src/linux/.config --menuconfig all

* Linux Kernel 2.6.20-gentoo-r8 for x86...

* kernel: >> Running mrproper...

COMMAND: make -j2 CC="gcc" LD="ld" AS="as"

awk: Kommandozeile:1: Fatal: Kann Datei '/usr/src/linux-2.6.20-gentoo-r8/include/linux/version.h' nicht zum Lesen öffnen (Datei oder Verzeichnis nicht gefunden).

* config: Using config from /usr/src/linux/.config

*         Previous config backed up to .config.bak

* Gentoo Linux Genkernel; Version 3.4.6

* Running with options: --kernel-config=/usr/src/linux/.config --menuconfig all

* ERROR: Could not copy configuration file!

* -- Grepping log... --

* -- End log... --

* Please consult /var/log/genkernel.log for more information and any

* errors that were reported above.

* Report any genkernel bugs to bugs.gentoo.org and

* assign your bug to genkernel@gentoo.org. Please include

* as much information as you can in your bug report; attaching

* /var/log/genkernel.log so that your issue can be dealt with effectively.

*

* Please do *not* report compilation failures as genkernel bugs!
```

--

wenn ich genkernel mit

genkernel --kernel-config=/etc/kernels/kernel-config-x86-2.6.18-gentoo-r6 --menuconfig all

aufrufe .. ist es genauso,

----------

## pieter_parker

wie bekomme ich die alte config in kernel menu rein?

----------

## Finswimmer

Entweder als .config abspeichern, dann make oldconfig.

Oder du lädst sie im Menü von "make menuconfig". Allerdings weiß ich da nicht, was mit den neuen Optionen passiert, die aufgrund des Versionsunterschieds hinzukommen.

Tobi

----------

## Martux

Ich hatte beim Umstieg auf den 2.6.20er Kernel auch massive Probleme. Z.B. musste der ganze iptables-Kram neu eingestellt werden weil sich Namen und-/oder Orte verschiedener Einstellungen geändert haben   :Rolling Eyes: 

Am "einfachsten" geht das ganze wohl nur noch mit make menuconfig oder make xconfig.

----------

## UTgamer

 *pieter_parker wrote:*   

> ...
> 
> *
> 
> * Linux Kernel Configuration
> ...

 Es will von dir garnichts, teilt dir nur mit das es zu dieser Version einige Treiber nicht mehr in dieser Form gibt.

Wenn du diesen Treiber nicht benötigst, brauchst du nichts zu ändern ansonsten mußt du mit make menuconfig auf der Kernelkonsole oder über make xconfig in einem XTerminal die Konfig anpassen.

"make menuconfig" funktioniert auf einer KDE-Konsole nicht.

 *Finswimmer wrote:*   

> Entweder als .config abspeichern, dann make oldconfig.
> 
> Oder du lädst sie im Menü von "make menuconfig". Allerdings weiß ich da nicht, was mit den neuen Optionen passiert, die aufgrund des Versionsunterschieds hinzukommen.
> 
> Tobi

 

Da passiert nicht viel sie werden je nach Kernelwartung (Gentoo, Vanilla, ...) standardmäßig aktiviert oder deaktiviert. Ich baue meine Kernel bereits seit 1998 alle selbst.  :Wink: 

----------

## franzf

 *UTgamer wrote:*   

> 
> 
> [...] ansonsten mußt du mit make menuconfig auf der Kernelkonsole oder über make xconfig in einem XTerminal die Konfig anpassen.
> 
> "make menuconfig" funktioniert auf einer KDE-Konsole nicht.

 

Man braucht kein XTerminal (meinst du xterm?), außerdem funktioniert make menuconfig auch auf einer KDE-Konsole.

Mach mal folgendes:

[Alt+F2] -> kdesu 'cd /usr/src/linux && make xconfig' (bzw. den Shortcut, welchen du für "Befehl ausführen" definiert hast). Klappt bestens!

Und das KDE-Terminal schimpft sich nicht umsonst "Terminal-Emulator", da es die normale "Text-Konsole" emuliert. Ich hab bisher alle meine Kernel in einer KDE-Konsole konfiguriert, und mein System läuft sehr stabil  :Wink: 

Grüße

Franz

----------

## UTgamer

 *franzf wrote:*   

>  *UTgamer wrote:*   
> 
> [...] ansonsten mußt du mit make menuconfig auf der Kernelkonsole oder über make xconfig in einem XTerminal die Konfig anpassen.
> 
> "make menuconfig" funktioniert auf einer KDE-Konsole nicht. 
> ...

 

Unter AMD64 arbeiten menuconfig + ncurses nicht zusammen unter X einzig auf der Kernelkonsole ohne X, das Menü ist nämlich unlesbar! Mag ja sein das es auf den anderen Pozessoren läuft, bei mir zumindest noch nie. Es wird eine Zeile angezeigt und die mit sonderlichen Esc oder sonstigen Zeichencodes wenn man die Zeile auch noch auswählt.

Kleiner Zusatz, Ende 2005 lief unter Gentoo-AMD64 auch mal ncurses unter X, da waren noch Kernel 2.6.12 und 2.6.13. Danach war ncurses kaputt und ist seither noch nicht repariert worden.

Grüße UTgamer

----------

## pieter_parker

habe bisher noch nicht viele kernel gebaut ..und tu mir damit noch etwas schwer

habe immer in der konsole den kernel configuriert und ich denke ich werde es auch so bei behalten weil ich nur auf meinem desktop-pc x laufen habe

```

server ~ # cd /usr/src/linux

server linux # make oldconfig

  HOSTLD  scripts/kconfig/conf

scripts/kconfig/conf -o arch/i386/Kconfig

.config:199:warning: trying to assign nonexistent symbol REGPARM

.config:475:warning: trying to assign nonexistent symbol IP_NF_MATCH_DSCP

.config:480:warning: trying to assign nonexistent symbol IP_NF_MATCH_HASHLIMIT

.config:501:warning: trying to assign nonexistent symbol IP_NF_TARGET_DSCP

.config:847:warning: trying to assign nonexistent symbol SCSI_SATA

.config:848:warning: trying to assign nonexistent symbol SCSI_SATA_AHCI

.config:849:warning: trying to assign nonexistent symbol SCSI_SATA_SVW

.config:850:warning: trying to assign nonexistent symbol SCSI_ATA_PIIX

.config:851:warning: trying to assign nonexistent symbol SCSI_SATA_MV

.config:852:warning: trying to assign nonexistent symbol SCSI_SATA_NV

.config:853:warning: trying to assign nonexistent symbol SCSI_PDC_ADMA

.config:855:warning: trying to assign nonexistent symbol SCSI_SATA_QSTOR

.config:856:warning: trying to assign nonexistent symbol SCSI_SATA_PROMISE

.config:857:warning: trying to assign nonexistent symbol SCSI_SATA_SX4

.config:858:warning: trying to assign nonexistent symbol SCSI_SATA_SIL

.config:859:warning: trying to assign nonexistent symbol SCSI_SATA_SIL24

.config:860:warning: trying to assign nonexistent symbol SCSI_SATA_SIS

.config:861:warning: trying to assign nonexistent symbol SCSI_SATA_ULI

.config:862:warning: trying to assign nonexistent symbol SCSI_SATA_VIA

.config:863:warning: trying to assign nonexistent symbol SCSI_SATA_VITESSE

.config:864:warning: trying to assign nonexistent symbol SCSI_SATA_INTEL_COMBINED

.config:1896:warning: trying to assign nonexistent symbol SND_AC97_BUS

.config:2085:warning: trying to assign nonexistent symbol USB_HIDINPUT

.config:2532:warning: trying to assign nonexistent symbol UNWIND_INFO

*

* Linux Kernel Configuration

*

*

* Code maturity level options

*

Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] y

*

* General setup

*

Local version - append to kernel release (LOCALVERSION) []

Automatically append version information to the version string (LOCALVERSION_AUTO) [N/y/?] n

Support for paging of anonymous memory (swap) (SWAP) [Y/n/?] y

System V IPC (SYSVIPC) [Y/n/?] y

  IPC Namespaces (IPC_NS) [N/y/?] (NEW)         

```

ich verstehe hier nicht ganz was er von mir moechte?

es haben sich dinge geaendert und oder sind geloescht?

am besten ich bestaetige hier alles mit enter .. also mit dem was er mir vorgibt?

oder?

----------

## Martux

Genau!

Meine Faustregel bei make oldconfig oder menuconfig:

EXPERIMENTAL=n

es sei denn es ist dringend benötigt

Ansonsten=y

oder nach bestem, Gewissen einstellen  :Wink: 

Finger weg von allem wovon Du nicht genau weißt was es ist.

Gruß, Marcus

[EDIT]

enter,enter,ener,enter...

----------

## pieter_parker

.. er uebernimmt aber trotzdem nicht die einstellungen der alten .config datei

WARUM

----------

## UTgamer

```
.config:***:warning: trying to assign nonexistent symbol
```

Dies bedeuted das der neue Kernel die vorherigen älteren Treiber nicht mehr kennt.

Gerade bei SCSI_SATA hat sich sehr sehr viel geändert. In 2.6.20 hat SATA zum ersten mal ein eigenes Menü erhalten. 

Du mußt wenn du SATA benutzt noch die SATA-Treiber im Kernel einstellen.

Die anderen Punkte sind eher Kleinigkeiten.

 *pieter_parker wrote:*   

> .. er uebernimmt aber trotzdem nicht die einstellungen der alten .config datei
> 
> WARUM

 

Nein übernimmt er auch nicht.

.oldconfig war unter Kernel 2.4.x ein richtiges Feature, ähnlich wie damals make clean und make dep. Unter Kernel 2.6 sind einige Sachen vereinfacht worden. Also eine.oldconfig schadet nicht zur Aufbewahrung von Einstellungen aber einen praktischen Zweck hat sie irgendwie nicht mehr. .config ist die einzig entscheidende Konfiguration.

Bewahre deine .oldconfig auf und arbeite einfach nur mit der .config.

----------

## UTgamer

Hey pieter_parker, hast noch garnicht gesagt welche HW du hast.  :Wink:  Evtl. hat ja jemand die Gleiche oder weiß was du einstellen mußt. Hast du mal einen Link zu deiner Hauptplatine direkt beim Hersteller? 

dort sind alle eingebauten Komponenten zu finden.

Wenn du dann garnicht weiter kommst über vnc (kannst live zuschauen) biete ich dir Unterstützung an.

(Über ssh ist es für mich zu unpraktisch kompliziert weil ncurses unter X nicht sauber läuft.Praktisch wäre auch gleichzeitig noch eine Teamspeak Verbindung. Skype ist Spionagesoftware, habe ich zwar nutze ich aber nicht mehr.)

----------

