Kernelconfig aus laufenem System

debian user german

Martin
Servus NG!

Gibt es ein tool, dass mir aus einer laufenden 2.6.x- installation die 
Kernelconfig soweit zurechtbiegt, dass bereits laufende Module in einem 
neuen Configure-/Makefile bereits aktiviert sind?

Gruss, Martin
                                            
Andreas
Wenn der laufende Kernel per Debian-Paket installiert wurde liegt die
Config unter /boot als config-2.6.XX, wenn ich mich nicht taeusche gilt
das auch fuer Kernel die mit make install "installiert" wurden (man
moege mich korrigieren wenn ich da falsch liege).

Ansonsten stellen manche Kernel (wenn die entsprechende Option aktiviert
ist) die Config unter /proc als config.gz zur Verfuegung.

Andreas
                                            
Martin
Ist schon recht, ich glaube, ich meine das anders:
Ich würde gerne einen modularen Kernel starten, eine Liste ersellen, 
welche Module auf der HW laufen und alles Notwendige in einem neuen 
Kernel einkompilieren. lsmod, lspci & co ist mir einfach zu anstrengend :-o


Wo geht das denn? Ich kann mir zwar aus /proc alles mögliche (doch recht 
mühsam) zusammensuchen, aber das dort wie von Zauberhand eine config.gz 
erscheint, habe ich noch nicht geschafft. Wie macht man das?
                                            
Ulrich
in General Setup: "Enable access to .config through /proc/config.gz" auf
"y" stellen.  Option: CONFIG_IKCONFIG_PROC in .config

Ulrich
                                            
Andreas
Das hatte ich befuerchtet ;-)


Letztere sind aber die einzige Moeglichkeit. Der modulare Kernel hat
Module fuer alles moegliche. Welche davon dein System benutzt haengt
davon ab welche du laedst. Oder was hotplug so hinbekommt, falls das
wirklich jede Hardware korrekt erkennt. In jedem Fall waere die Ausgabe
von lsmod der korrekte Anfang fuer das aufspueren aller notwendigen
Optionen. Sowas macht man ja eigentlich nicht taeglich, bei oft
wechselnder Hardware wuerde ich sowieso beim modularen Kernel bleiben.


CONFIG_IKCONFIG_PROC=y

setzen. Mit make menuconfig findest du die entsprechende Option unter
General Setup (wenn man CONFIG_IKCONFIG (Kernel .config support) gesetzt
hat).

Andreas
                                            
Martin
Ein haeufiges phaenomen im usenet. Hast du denn den disclaimer nicht 
gelesen? ;-.)


Der Punkt ist einfach, das fuer meinen Laptop gewisse anpassungen 
erforderlich sind, z.B.ipw1200, acerhk. Und da ich mir nie die Muehe 
mache, die Config zu sichern, bevor ich die Kernelquellen wieder 
loesche, ist das beim Kernelupdate immer so eine Geduldsprobe mit der 
Konfiguration.


Solch Kleinigkeit eignet sich hervorragend uebersehen zu werden. Sowas...

Ach ja, falls jemand auf die Idee kommen sollte, mir zu raten, die 
config zu sichern: Das ist voellig zwecklos, ich kanns mir einfach nicht 
merken :-(

martin
                                            
Martin
du könntest mal 'autokonfig'[1] ausprobieren.  Das hat bei einem Test von
mir eine sehr suabere Grundkonfiguration erstellt, lediglich den
nvidia Frambuffer musste ich ausschalten da ich dann doch §D
beschleunigung haben wollte.

Gruß Martin

[1] http://marc.theaimsgroup.com/?l=linux-kernel&m=112673737002206&w=2
                                            
Andreas
Genau deswegen legen Kernel die mit make-kpkg erzeugt wurden ihre config
in /boot ab. Und solche die mit make install installiert wurden ebenso.
Und wenn du dann die IKCONFIG-Optionen noch aktivierst kannst du sogar
bei kaputten /boot die config lesen in /proc naemlich. Also hab ich dich
doch richtig verstanden, du willst einfach nur "oldconfig" ausfuehren,
bei make-kpkg bzw. "make". make-kpkg holt sich die "neueste" config aus
/boot und "make oldconfig" macht AFAIK dasselbe.


Ist doch kein Problem, ich hab meine Config immer nur gesichert wenn ich
im Kernelsrc ein make mrproper gemacht habe. Dafuer gibts doch
schliesslich die laermenden, waermeproduzierenden (jaja ist nicht ganz
korrekt) Elektronikkisten unterm Schreibttisch (oder obendrauf): Damit
sie uns das Denken abnehmen, insbesondere das Erinnern and solche
Kleinigkeiten...

Andreas
                                            
Christoph
Wenn ich dich richtig verstehe, stimmt das nicht. Die
Kernelkonfiguration für Vanilla-Kernel steht im Verzeichnis der
Sourcen in der Datei .config. Also beispielsweise in
/usr/src/linux-2.6.x/.config.

Grüße,
   Christoph
                                            
Andreas
Klaro steht sie da, aber wenn _ich_ mich nicht irre wird sie auch als
config-xxx in /boot hinterlegt wenn man den Kernel installiert (also
make install ausfuehrt). Wenn man make-kpkg nutzt wird sie in jedem Fall
in /boot hinterlegt.

Andreas
                                            
Christoph
Ah, ok, verstehe. Nein, wird sie nicht:

[email protected]:~$ uname -r
2.6.10-mh1
[email protected]:~$ ls /boot/
boot.0300   config-2.4.18-bf2.4  map            sid.bmp
boot.b      debian.bmp           memtest86.bin  System.map-2.4.18-bf2.4
coffee.bmp  debianlilo.bmp       sarge.bmp      vmlinuz-2.4.18-bf2.4
[email protected]:~$

Da liegt nur noch die Konfigurationsdatei des mit Woody
installierten Kernels.

Grüße,
   Christoph
                                            
Andreas
Aber dein 2.6er liegt da auch nicht ;-) Hmm, grad mal in das Makefile
geguckt: Es gibt ja auch gar kein install-Target. Und man kopiert das
Image mit dem Kernel ja IIRC auch per Hand nach /boot oder /...

Andreas
                                            
Christoph
Richtig.


Nö. Ich benutze schon immer[tm] make bzlilo. Da muss ich
anschließend gar nix mehr machen. Aber es stimmt, dass dieses Target
nirgends dokumentiert ist. Zumindest ist es mir noch nie begegnet.

Grüße,
   Christoph
                                            
Andreas
Funktioniert aber wohl nicht mit Grub oder? Ach und im Makefile meines
2.6.13er find ich das auch nicht?? Aber bzlilo sagt mir was, damals als
ich Suse 6.3 oder so installiert hab und das Handbuch gelesen da tauchte
das auf ;-)

Ist schon merkwuerdig, make bzlilo startet bei meinem 2.6.13er den
Build-Vorgang, taucht aber nicht im Makefile auf und auch sonst in
keiner Datei im Kernel-Source.

Andreas
                                            
Christoph
bzgrub kenne ich jedenfalls nicht ;-) ...


Ich hab's von dem Menschen, der mich damals zu GNU/Linux und auch
Debian brachte.


... wenn du ohnehin so experimentierfreudig bist, probier's doch mal
aus.


Yep, war mir auch irgendwann mal aufgefallen. Aber es funzt und ist
bequem.

Grüße,
   Christoph
                                            
Andreas
Gibts wohl wirklich nicht, aber ein "install" und ein "kernel_install"
ebenso... 


Nee, also _so_ experimentierfreudig bin ich dann auch nicht. Ausserdem
ist das nicht so ganz simpel hinterher rauszukriegen wohin er denn nun
alles installiert hat...

Aber, wenn ich das richtig lese und verstehe nutzt das "install" target
/sbin/installkernel und das wiederum kopiert die .config nach /boot wenn
es sie findet.

Andreas
                                            
Christoph
Ok, dann ist das ja geklärt. Da ich dieses Target nicht verwende,
findet sich bei mir in /boot auch keine .config.

Grüße,
   Christoph
                                            
Frank
Hallo Andreas,


Pfad ggf. anpassen:
grep -A2 bzlilo /usr/src/linux/arch/i386/Makefile

Frank
                                            
Andreas
Aha, die includen das Makefile in Zeile 447, kein Wunder dass man das
nicht findet. Boese Buben diese Kernelentwickler ;-)

Andreas