.config beim kernel kompileren [mehrfach gelöst]

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

.config beim kernel kompileren [mehrfach gelöst]

Beitrag von garibaldi » 12.01.2006 19:33:07

Liebe Leute;

ich wollte mal wieder einen Versuch starten, einen kernel zu kompilieren und bin dabei nach der Anleitung http://www.debianforum.de/wiki/DebianizedLinuxKernel vorgegangen. Bei "make menuconfig" habe ich ein merkwüdiges Problem: als ich versuchte, im vorletzten menupunkt die .config zu laden, kam ich gar nicht in die Zeile, in der ich diese Datei angeben muss!

Laut Anleitung ist das Paket libncurses5-dev dafür zuständig, wenn ich's richtig verstanden habe, also hier mal dessen Status:

Code: Alles auswählen

# dpkg -s libncurses5-dev
Package: libncurses5-dev
Status: install ok installed
Priority: optional
Section: libdevel
Installed-Size: 5172
Maintainer: Daniel Jacobowitz <ncurses-maint@debian.org>
Architecture: i386
Source: ncurses
Version: 5.4-4
(...)
Was läuft hier schief?

Ich habe das Problem gerade gelöst, während ich dies schreibe, aber nur über einen Umweg:

Code: Alles auswählen

marvin:/usr/src/linux# ln -s /boot/config-2.6.8-2-686 .config
Ich schick' diesen Artikel trotzdem los, falls jemand dasselbe Problem hat, und eine wirkliche Lösung ist das ja nicht :roll:

Beste Grüße, Garibaldi
Zuletzt geändert von garibaldi am 14.01.2006 18:17:38, insgesamt 2-mal geändert.
Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 12.01.2006 21:48:16

Eine der besseren Möglickkeiten wäre gewsen man die Datei kopiert, ne andere man hätte sie importiert , aber das ist eigentlich bei Kernel 2.6.xx nicht mehr notwendig. Aber einfach <Backspace> und die Zeile lässt sich editieren.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von garibaldi » 12.01.2006 22:54:49

KBDCALLS hat geschrieben:Aber einfach <Backspace> und die Zeile lässt sich editieren.
Aha! Funktioniert, wäre ich aber in meinem Leben nicht drauf gekommen. Könnte man ja in die wiiki 'reinschreiben.

Aber dann noch eine Frage, warum wäre das Kopieren sinnvoller als ein symbolischer link?
Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

Methusalix

kernel kompileren

Beitrag von Methusalix » 12.01.2006 23:01:40

Hallo,

ich habe menuconfig jetzt schon lange nicht mehr benutzt, weil`s mir (ich gebe es zu) zu in unseren Zeiten zu umständlich geworden ist. Aber entscheident sind doch die Prozesse, die dahinterliegen - ob nun menuconfig oder xconfig. Bei der Kernelkonfiguration wird, sozusagen als Ausgangsbasis, eine .config Datei erwartet.
Diese liegt in der Regel unter /usr/src/linux-x.x. Nach einer Kompilierung liegt sie
z.B. in dieser Form vor: /boot/config-2.6.8-2-68. Also ist das wohl ein Namensproblem, das Du mit dem link gelöst hast und ansonsten ist es eine Frage, in welchem Pfad menuconfig die Datei erwartet.

Gruß
Matthias

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 13.01.2006 09:48:25

garibaldi hat geschrieben:
Aber dann noch eine Frage, warum wäre das Kopieren sinnvoller als ein symbolischer link?
Eigenlich immer, die Datei wird ja verändert. Die .config gehört ins Souceverzeichnis eines Kernels, was im Boot liegt rührt von deinem Installierten Kernel-Deb her. Die Datei ist also Debianspezifisches. Hab jedenfalls noch bei keinem anderen Linux gesehen.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von garibaldi » 13.01.2006 14:11:53

KBDCALLS hat geschrieben:
garibaldi hat geschrieben:
Aber dann noch eine Frage, warum wäre das Kopieren sinnvoller als ein symbolischer link?
Eigenlich immer, die Datei wird ja verändert. Die .config gehört ins Souceverzeichnis eines Kernels,
Das leuchtet mir ein, werde deinen Rat befolgen!

Thanks a lot, Garibaldi
Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

zimmys
Beiträge: 68
Registriert: 09.01.2006 10:54:49
Kontaktdaten:

.config

Beitrag von zimmys » 13.01.2006 19:33:27

ich kann dir mit ziemlicher sicherheit sagen das die in /boot verzeichniss liegende config eines frisch installierten sarge nicht die ist, mit der der kernel erstellt wurde.

eben diese habe ich in mein kernel-source verzeichniss als .config kopiert und einen neuen kernel gebacken. der konnte nicht booten, da er mit sata2 nicht klar kommt, aber der "orginale" kann das sehr wohl.

vielleicht hilfts dir ja,

mfg

zimmys

Methusalix

kernel kompileren

Beitrag von Methusalix » 14.01.2006 00:09:03

Hallo,

zimmys hat geschrieben:

Code: Alles auswählen

ich kann dir mit ziemlicher sicherheit sagen...
also mit der ziemlichen Sicherheit wäre ich ein bißchen vorsichtiger. KBDCALLS hat es inhaltlich eigentlich richtig erklärt. Vor der Kompilierung wird eine im Verzeichnis der Sourcen liegende .config als Basiseinstellung ausgewertet (sofern vorhanden). Nach der Kompilierung wird diese als gültige Konfigurationsdatei des aktuellen Kernels unterhalb von /boot als config-2.6.x abgelegt. Diese Konfigurationsdatei beschreibt die ausgewählten Optionen des Kernel.s. Als Original bleibt sie unterhalt der Sourcen (i.d.R. /usr/src/linux-x)
sowieso erhalten. Daher macht es überhaupt keinen Sinn, diese Datei aus dem /boot Verzeichnis wieder in das source Verzeichnis zurückzukopiren, weil sie dort `eh noch vorhanden ist. Denk doch noch mal über Deinen Ansatz und die Grundlagen nach.

Gruß
Matthias

Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: kernel kompileren

Beitrag von garibaldi » 14.01.2006 00:32:29

Matthias-GE hat geschrieben: Daher macht es überhaupt keinen Sinn, diese Datei aus dem /boot Verzeichnis wieder in das source Verzeichnis zurückzukopiren, weil sie dort `eh noch vorhanden ist. Denk doch noch mal über Deinen Ansatz und die Grundlagen nach.
Nun ja, die .config ist dort ja eben nicht vorhanden, weil ich ja zum ersten mal auf diesem System den kernel kompilieren will, welches mit dem vorkompilierten 2.6.8 von sarge läuft. Der Kopiervorgang erfüllt den Sinn, dass ich eine .config habe, die mir zunächst die Vorgaben des Standard-Kernels gibt, der bei mir läuft, so dass ich nicht von Null starten muss. So habe ich jedenfalls die Anleitung (s.o.) verstanden.
Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

Methusalix

kernel kompileren

Beitrag von Methusalix » 14.01.2006 01:38:54

Hallo,

ich gehe jetzt mal davon aus, das Du eine versteckte Datei z.B. mit ls -la /usr/src/* findest. Nur damit keine Mißverständnisse entstehen. Du kannst auch eine vorhandene /boot/Config-2.x.x wieder als .config in das eigentliche source-Verzeichnis zurückkopieren. Das geht schon, aber Sinn macht das -jedenfalls für mich- nicht, weil ich davon ausgehe, das diese .config Datei (nach Standart) dort vorhanden sein sollte.
Wenn Du zum ersten mal einen Kernel kompilieren willst, dann wird zunächst im source-Verzeichnis und dann im /boot/* Verzeichnis nach einer vorhandenen .config Datei gesucht. Wenn sich dort keine finden sollte, wird die unterhalb von /boot befindliche benutzt. Wie ich schon gesagt habe - menuconfig habe ich schon länger nicht benutzt.

Gruß
Matthias

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 14.01.2006 09:50:00

Eine X beliebige Konfigurationsdatei würde ich zu diesem Zweck nicht nehmen wenn das macht. Die sollte schon zu der Kernelversion halbwegs passenen . 2.6.xx , 2,4,xx oder 2.2.xx . Das mit dem Kopieren braucht man eigentlich nur dann machen wenn man einen Source frisch auspackt und das erste mal konfiguriert , oder wenn man den Sourcecode nach dem kompilieren in den Ursprungszustand zurückversetzt hat. Mit

Code: Alles auswählen

make distclean[code] oder  [code] make mrproper


PS. Wenn ein Kernel 2.6.xx läuft dann ist dieser Schritt unnötig wenn man einen Kernel 2.6.xx konfiguriert.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

zimmys
Beiträge: 68
Registriert: 09.01.2006 10:54:49
Kontaktdaten:

die liebe .config

Beitrag von zimmys » 14.01.2006 15:52:53

hallo meine linuxianer

zum verständniss,

garibaldi hatte vollkommen recht. wenn ich die neuen source ziehe, habe ich keine .config.
und da ist's schon leichter eine funktionierende zu verwenden. eben die vom standartkernel aus /boot.

den link auf die config im boot verzeichiss würde ich nicht machen, da du ja dann deine config überschreibst, und keinen ausgangspunkt mehr hast.

ich finde es besser eine kopie zu machen, und diese als /usr/src/kernel-sou...../.config abzulegen. sinnvollerweise editirst du in Makefile die variable EXTRAVERSION = z.Bsp fortlaufend. damit wird die das .config in /boot als config-2.6.8X abgelegt, so heist dann auch dein kernel. damit ist es sehr leicht mehrere kernel (und versuche) paralel im /boot vorzuhalten, ohne konflikte zu riskieren.

z.Bsp so:
dwxr-xr-x 3 root root 4096 2006-01-14 13:27 .
drwxr-xr-x 21 root root 4096 2006-01-14 13:27 ..
-rw-r--r-- 1 root root 37009 2006-01-13 20:04 config-2.6.82
-rw-r--r-- 1 root root 55809 2005-08-16 14:41 config-2.6.8-2-386
-rw-r--r-- 1 root root 37028 2006-01-14 12:16 config-2.6.83
-rw-r--r-- 1 root root 35297 2006-01-14 13:07 config-2.6.84
drwx------ 2 root root 4096 2006-01-14 13:27 grub
-rw-r--r-- 1 root root 4804608 2006-01-12 17:39 initrd.img-2.6.8-2-386
-rw-r--r-- 1 root root 907127 2006-01-13 20:19 System.map-2.6.82
-rw-r--r-- 1 root root 865767 2005-08-16 17:14 System.map-2.6.8-2-386
-rw-r--r-- 1 root root 906027 2006-01-14 12:30 System.map-2.6.83
-rw-r--r-- 1 root root 895251 2006-01-14 13:26 System.map-2.6.84
-rw-r--r-- 1 root root 1382630 2006-01-13 20:19 vmlinuz-2.6.82
-rw-r--r-- 1 root root 1097554 2005-08-16 17:14 vmlinuz-2.6.8-2-386
-rw-r--r-- 1 root root 1358983 2006-01-14 12:30 vmlinuz-2.6.83
-rw-r--r-- 1 root root 1308497 2006-01-14 13:26 vmlinuz-2.6.84

damit hab ich dann 3 verschieden kernel.

*nur unter uns, nur der standartkernel arbeit richtig. auf allen anderen habe noch das folgende problem

http://www.debianforum.de/forum/viewtop ... highlight=

dafür läuft sata2 jetzt endlich.

naja, in diesem sinne euch allen ein schönes wochenende

zimmys

guennid

Beitrag von guennid » 14.01.2006 16:24:19

Wozu kopiert mensch sich selber einen kernel?
Ich denke, doch in erster Linie um einen schlankeren, besser ans eigene System angepassten als den -standard-kernel zu bekommen. Jedenfalls sind das meine Motive.
Wenn es hier nicht um die Rechner eines größeren Netzes (Verwaltung, Uni, Betrieb), sondern nur um den eigenen Desktop oder das kleine private Netz geht, dann habe ich gute Erfahrungen damit gemacht, nichtdie config des standard-kernels als Ausgangsbasis zu benutzen (als Laie weiß ich eh' nicht, welche der zig Möglichkeiten ich gefahrlos rauswerfen kann) sondern mit

Code: Alles auswählen

make defconfig
mir zunächst mal einen minimalen kernel zu backen. Das bißchen cdrom, usb, sound, etc das dann im eigenen System noch nicht funktioniert, kann man dann mit überschaubarem Aufwand nachbessern.

Grüße, Günther

Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von garibaldi » 14.01.2006 17:00:15

@günther: Ja, was die Motive angeht, schließe ich mich dir an; es kommt nur noch eins hinzu: um mein System besser kennenzulernen.

Ich hab' eh' nur ein single-user system und brauche vieles gar nicht. Ich habe nur wenig Arbeitsspeicher und will daher keine überflüssigen Sachen laden.

Dein Tipp ist sehr gut, make debconfig hat mir Problemlos eine neu .config erstellt, die ich dann bei Gelegenheit überarbeiten kann.

Vielen Dank auch an alle anderen für ihre hilfreichen Kommentare!
Zuletzt geändert von garibaldi am 14.01.2006 21:13:04, insgesamt 1-mal geändert.
Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

guennid

Beitrag von guennid » 14.01.2006 17:34:38

Noch 'n Tipp - wenn deine Resourcen es zulassen:
Wenn du mal nicht recht weiterkommst, welche kernel-Module denn nun noch fehlen. Pack 'nen standard-kernel zusätzlich drauf und wenn die hardware mit dem kann, dann vergleiche: Welche relevanten Module hat der einkompiliert, die mein eigener nicht hat?

Grüße, Günther

Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von garibaldi » 14.01.2006 18:16:06

Ja, den laufenden Kernel werde ich narürlich nicht löschen, so daß ich mittels Grub notfalls darauf Zugriff habe. Ich habe den Standardkernel 2.6.8-2686 installiert, der mit sarge mitgeliefert wird, und hatte nur ein kleines Problem mit acpi, welches ich aber gelöst habe. Siehe http://www.debianforum.de/forum/viewtop ... highlight=, falls dich das interessiert.

Beste Grüße, Ralf
Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 15.01.2006 12:12:50

Was gibt es am Standard Debiankernel eigentlich noch zu verschlanken. Der ist ja soweit wie möglich Modularisiert, wenn ich IPV6 oder den Firewallkram nicht brauche muß ich ja die Module nicht laden, oder es vehindern, das sie geladen werden. Trifft für jedes andere ebenfalls zu. Es gibt eigentlich nur zwei Gründe sich einen Kernel zu kompieleren.
  • a) man will wissen was passiert und vor allem wie
    b) Man hat derartig exotische Hardware das es nicht anders geht.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

guennid

Beitrag von guennid » 15.01.2006 17:20:37

KBDCALLS hat geschrieben: wenn ich IPV6 oder den Firewallkram nicht brauche muß ich ja die Module nicht laden, oder es vehindern, das sie geladen werden.
Nichts desto trotz hast du sie auf der Platte. ob nun in vmlinuz oder unter /lib/modules ist dann doch sekundär.

Grüße, Günther

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 15.01.2006 18:16:52

In der Regel haben wirs doch mit Festplatten zu tun dir deutchlich größer als 40 GB sind. Und da stören 30 MB Kernel Module garnicht, bzw sollten doch garnicht weiter auffallen. Wenn doch dann stimmt irgendwas nicht.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Antworten