Sie sind nicht angemeldet.

1

23.09.2012, 18:50

Kernel-Update mit genkernel

Hallo zusammen,

ich verwende das erste Mal genkernel und möchte ein Kernelupdate machen. Manuell kopiere ich die .config in das Verzeichnis der neuen Sourcen und rufe "make oldconfig" auf. Dasselbse möchte ich mit genkernel tun, weil standardmäßig die Module für meine WLAN-Karte gefehlt haben und ich das ergänzen musste. Wenn ich .config in das neue Source-Verzeichnis kopiere und genkernel --menuconfig all aufrufe dann scheinen die Optionen vom alten Kernel deaktiv zu sein, die ich damals manuell angeschalten habe. Verwendet genkernel überhaupt .config? Wie muss ich korrekt vorgehen?
Mittelfristig möchte ich wieder meinen eigenen Kernel bauen, wie kann ich von der aktuellen Kernel-Konfiguration eine Basis ableiten?

Danke Gen-Too

2

23.09.2012, 21:44

Damit der Genkernel die vorhandene ".config" verwendet und nicht überschreibt, musst Du dem Genkernel "--oldconfig" mitgeben. Am besten setzt Du die Option direkt in der/etc/genkernel.conf.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

3

27.09.2012, 20:06

Hallo,

so habe ich es versucht, danke. Ich bekomme mit dem neuen Kernel eine kernel-panic (no boot fs found). Ich habe ext4 als fs für die boot-Partition. Der alte Kernel startet klaglos. Ich fürchte die Konfiguratinen sind nicht gleich. Ist es denn überhaupt gesagt, dass die .config im Verzeichnis des alten genkernel-Kernels aktuell war?

Viele Grüße

Gen-Too

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Gen-Too« (27.09.2012, 20:53)


4

28.09.2012, 06:22

Der alte Kernel startet klaglos.

Hm, hast du nicht des config genommen?

Also in etwa so:

Quellcode

1
2
3
4
5
# cp /proc/config.gz > /usr/src/linux/.config
# cd /usr/src/linux
# make oldconfig
...
# genkernel --no-clean --install all


Da sollte IMHO eigentlich das gleiche rauskommen.
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

5

29.09.2012, 22:04


Also in etwa so:

Quellcode

1
2
3
4
5
# cp /proc/config.gz > /usr/src/linux/.config
# cd /usr/src/linux
# make oldconfig
...
# genkernel --no-clean --install all



Ich hatte statt der config aus /proc die aus /usr/src/linux-alterkernel verwendet. Aber offenbar legt genkernel dort nicht die aktuelle config ab, so wie ich das von der manuellen Konfiguration gewohnt bin?
Kann ich die config aus /proc hernehmen und auf dieser Basis mit make oldconfig; make all; make modules_install händisch einen Kernel als Basis zu bauen um von der Black-Box genkernel loszukommen? Ich sehe nämlich, dass genkernel beim Start noch einiges überprüft...

Viele Grüße

Gen-Too

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Gen-Too« (30.09.2012, 14:00)


6

30.09.2012, 08:41

(mach noch ein '[' vor meinem letzten /quote, ... nicht ganz korrekt guckbar ...)

make oldconfig ist ein Teil des kernels und modifiziert AFAIK eine bestehende config um new/changed/dropped Optionen. Da ist es irrelevant von wo du die config hernimmst.

Das ist dann ein von dir gebauter Kernel deines Vertrauens ... oder die Konfig von irgendeinem anderen Live-Kernel. Da kannst du nehmen, was du willst: Ubuntu, openSuSE, Fedora ... egal. Wenn du einen kernel hast, der dir gefällt, dann kopiere ide /proc/config.gz und füttere damit deinen eigenen Kernel.

Das ist legitim. Einige Distis kommen natürlich schon mit modifizierten Kernels daher - no na - aber das sollte dann kein Problem sein.

genkernel legt im übrigen die erfolgreich kompilierten und installierten configs in /etc/kernels ab.

So wie:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
$ ls -1 /etc/kernels/
kernel-config-x86_64-2.6.28-gentoo-r1
kernel-config-x86_64-2.6.28-gentoo-r2
kernel-config-x86_64-2.6.28-gentoo-r3
kernel-config-x86_64-2.6.28-gentoo-r4
kernel-config-x86_64-2.6.29-gentoo
kernel-config-x86_64-2.6.29-gentoo-r1
kernel-config-x86_64-2.6.29-gentoo-r2
kernel-config-x86_64-2.6.29-gentoo-r3
kernel-config-x86_64-2.6.29-gentoo-r4
kernel-config-x86_64-2.6.29-gentoo-r5
kernel-config-x86_64-2.6.30-gentoo-r1
kernel-config-x86_64-2.6.30-gentoo-r2
kernel-config-x86_64-2.6.30-gentoo-r4
kernel-config-x86_64-2.6.30-gentoo-r5
kernel-config-x86_64-2.6.31-gentoo
kernel-config-x86_64-2.6.31-gentoo-r2
kernel-config-x86_64-2.6.31-gentoo-r4
kernel-config-x86_64-2.6.31-gentoo-r5
kernel-config-x86_64-2.6.31-gentoo-r6
kernel-config-x86_64-2.6.32-gentoo
kernel-config-x86_64-2.6.32-gentoo-r2
kernel-config-x86_64-2.6.32-gentoo-r3
kernel-config-x86_64-2.6.32-gentoo-r5
kernel-config-x86_64-2.6.33-gentoo
kernel-config-x86_64-2.6.33-gentoo-r1
kernel-config-x86_64-2.6.33-gentoo-r2
kernel-config-x86_64-2.6.34-gentoo
kernel-config-x86_64-2.6.34-gentoo-r1
kernel-config-x86_64-2.6.34-gentoo-r2
kernel-config-x86_64-2.6.35-gentoo-r10
kernel-config-x86_64-2.6.35-gentoo-r11
kernel-config-x86_64-2.6.35-gentoo-r12
kernel-config-x86_64-2.6.35-gentoo-r2
kernel-config-x86_64-2.6.35-gentoo-r5
kernel-config-x86_64-2.6.35-gentoo-r6
kernel-config-x86_64-2.6.35-gentoo-r8
kernel-config-x86_64-2.6.35-gentoo-r9
kernel-config-x86_64-2.6.36-gentoo
kernel-config-x86_64-2.6.36-gentoo-r1
kernel-config-x86_64-2.6.36-gentoo-r3
kernel-config-x86_64-2.6.36-gentoo-r5
kernel-config-x86_64-2.6.36-gentoo-r6
kernel-config-x86_64-2.6.37-gentoo
kernel-config-x86_64-2.6.37-gentoo-r1
kernel-config-x86_64-2.6.37-gentoo-r2
kernel-config-x86_64-2.6.38-gentoo
kernel-config-x86_64-2.6.38-gentoo-r1
kernel-config-x86_64-2.6.38-gentoo-r2
kernel-config-x86_64-2.6.38-gentoo-r3
kernel-config-x86_64-2.6.38-gentoo-r4
kernel-config-x86_64-2.6.38-gentoo-r5
kernel-config-x86_64-2.6.38-gentoo-r6
kernel-config-x86_64-2.6.38-gentoo-r7
kernel-config-x86_64-2.6.39-gentoo
kernel-config-x86_64-2.6.39-gentoo-r1
kernel-config-x86_64-2.6.39-gentoo-r2
kernel-config-x86_64-2.6.39-gentoo-r3
kernel-config-x86_64-3.0.0-gentoo
kernel-config-x86_64-3.0.3-gentoo
kernel-config-x86_64-3.0.4-gentoo
kernel-config-x86_64-3.0.6-gentoo
kernel-config-x86_64-3.0.7-gentoo
kernel-config-x86_64-3.1.0-gentoo
kernel-config-x86_64-3.1.0-gentoo-r1
kernel-config-x86_64-3.1.1-gentoo
kernel-config-x86_64-3.1.2-gentoo
kernel-config-x86_64-3.1.3-gentoo
kernel-config-x86_64-3.1.4-gentoo
kernel-config-x86_64-3.1.5-gentoo
kernel-config-x86_64-3.1.6-gentoo
kernel-config-x86_64-3.2.0-gentoo-r1
kernel-config-x86_64-3.2.11-gentoo
kernel-config-x86_64-3.2.1-gentoo
kernel-config-x86_64-3.2.1-gentoo-r2
kernel-config-x86_64-3.2.2-gentoo
kernel-config-x86_64-3.2.5-gentoo
kernel-config-x86_64-3.2.6-gentoo
kernel-config-x86_64-3.2.9-gentoo
kernel-config-x86_64-3.3.0-gentoo
kernel-config-x86_64-3.3.2-gentoo
kernel-config-x86_64-3.3.4-gentoo
kernel-config-x86_64-3.3.5-gentoo
kernel-config-x86_64-3.4.0-gentoo
kernel-config-x86_64-3.4.3-gentoo
kernel-config-x86_64-3.4.4-gentoo
kernel-config-x86_64-3.5.0-gentoo
kernel-config-x86_64-3.5.2-gentoo
kernel-config-x86_64-3.5.3-gentoo
kernel-config-x86_64-3.5.4-gentoo
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

7

30.09.2012, 17:26

So ich habe mir aus /etc/kernels/ die passende Konfig geholt, in das neue Kernel-Verzeichnis kopiert. Dann "make oldconfig" und direkt ohne genkernel "make all".

Wieder habe ich dieselbe Kernelpanic weil der das boot-fs nicht findet. Könnte grub2 da die Finger im Spiel haben?

8

01.10.2012, 07:21

Oh. Gute Frage. Vermutlich schon. Ich bin immer noch auf dem Legacy Grub unterwegs (und alive'n kickin).

Kannst du mal die config, welche du bekommst (inkl. kernel-version) posten?
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

9

01.10.2012, 08:33

Mit Genkernel hattest Du ja eine initramfs mit kompiliert.
Manuell nicht. Die "alte" initramfs kann nicht mit dem neuen benutzt werden da sie ja Kernel-Module des alten Kernels enthält.

Wenn Du auf die initramfs verzichten willst, musst Du alles was der Kernel zum Finden der / Partition benötigt in den Kernel fest einkompilieren (SATA-Controller, Dateisystem, SCSI-Disk-Support)
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

10

01.10.2012, 20:05

Guter Punkt. Ich fürchte ich muss mir das nochmal anschauen. Um ein initrfs zu erzeugen nehme ich ja am besten wieder genkernel ....
Leider habe ich jetzt kein voll arbeitendes System mehr, weil gestern ein update den ati-Treiber neu gegen den neuen Kernel gebaut hat und ich den nicht mehr gegen den alten Kernel gebaut bekomme.

Viele Grüße

Gen-Too

11

02.10.2012, 22:26

Ich habe jetzt einiges über die Black-Box genkernel gelernt. Eine bestehende Konfiguration wird nur verwendet, wenn man die clean-option nicht verwendet. Sonst wird die Standardkonfiguration kopiert und verwendet.... Muss man wissen.

Jetzt habe ich mit genkernel einen Kernel 3.5.4 gebaut, der dieselbe Konfiguration haben sollte wie mein guter alter 3.5.2er. Aber er bootet immer noch nicht (Kernel Panik: sda6 nicht gefunden). Es fällt auf, dass die Schrift Standard-VGA bleibt während der 3.5.2er früh auf höhere Auflösung umschaltet. Ich weiss leider nicht mehr 100% mit welchen genkernel-Optionen ich den 3.5.2er damals gebaut habe.
Hier meine grub2-Konfiguration.

Danke für Tipps.

Gen-Too

PS: Das ist mein Fehler: http://forums.gentoo.org/viewtopic-t-926278-start-0.html
»Gen-Too« hat folgende Datei angehängt:
  • grub.cfg.txt (7,42 kB - 3 mal heruntergeladen - zuletzt: 03.10.2012, 11:16)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Gen-Too« (02.10.2012, 23:14)


12

03.10.2012, 11:29

So jetzt geht es:

Ich hatte vergessen, grub2-mkconfig in eine DAtei umzulenken, deshalb ist die gepostete grub.cfg alt und dort fehlt die initrfs.