# Kernel aktualisieren

## tux99

Hallo,

ist es wirklich so einfach den Kernel zu aktualisieren:

von live cd starten

kernel sourcen downloaden

kernel konfigurieren

kernel installieren

grub.conf ändern auf neuen kernel

system umounten

system rebooten

linux starten und dann ist der neue kernel aktiv?

oder muss ich noch was anders machen?

kann man ihn auch ohne live cd aktualisieren?

Gibt es ein grafisches menü für die kernelkonfiguration, ich hab da mal was gelesen, das es so was geben soll?

mfg

tux99

----------

## Hilefoks

Moin,

nein - das geht noch einfacher. Schau mal hier ins Handbuch (ab 7b), da ist eigentlich alles beschrieben: http://www.gentoo.de/doc/de/handbook/handbook-x86.xml?part=1&chap=7

Mfg Hilefoks

EDIT: Und um die Konfiguration noch einfacher zu machen kannst du nach dem ermegen des neuen Kernels und anpassen des Symlinks folgendes machen 

```

cd /usr/src/linux

cp /usr/src/'alteKernelQuelle'/.config .

make oldconfig
```

Dadurch übernimmst du deine alte Konfiguration. Es steht dir danach natürlich frei noch ein make menuconfig zu machen.[/b]

EDIT2: Fehler behoben - thx @platinumviperLast edited by Hilefoks on Sun Oct 16, 2005 9:49 pm; edited 1 time in total

----------

## ugus

Oder kannst du auch einfach Genkernel benutzen. Für einbischen mehr Bequemheit.

----------

## SkaaliaN

 *ugus wrote:*   

> Oder kannst du auch einfach Genkernel benutzen. Für einbischen mehr Bequemheit.

 

aber nicht optimal ans eigene system angepasst

----------

## SinoTech

 *Scup wrote:*   

>  *ugus wrote:*   Oder kannst du auch einfach Genkernel benutzen. Für einbischen mehr Bequemheit. 
> 
> aber nicht optimal ans eigene system angepasst

 

Ausserdem machts doch erst richtig Spaß wenn man vor seinen Freunden mit einem selbst gebackenen Kernel pralen kann  :Wink: 

Mfg

Sino

----------

## ugus

 *Scup wrote:*   

>  *ugus wrote:*   Oder kannst du auch einfach Genkernel benutzen. Für einbischen mehr Bequemheit. 
> 
> aber nicht optimal ans eigene system angepasst

 

Eigentlich dieses Punkt was ich immer nicht verstehe. Wie so nicht optimal   :Question: 

ich kann doch mit genkernel auch die config menu aufrufen, cleanen oder mrproper ausführen. 

Was mach genkernell so nicht optimal ?

 *Quote:*   

> Ausserdem machts doch erst richtig Spaß wenn man vor seinen Freunden mit einem selbst gebackenen Kernel pralen kann 

  das stimme ich aber    :Very Happy:   :Laughing: 

----------

## SinoTech

Naja, denke mal genkernel baut mehr Unterstützung in den kernel als du in Wirklichkeit für dein System brauchst, was den Kernel im Endeffekt nur unnötig aufbläht. Du kannst natürlich immer noch, wie du schon selbst gesagt hast, mit der "--menuconfig" Option in die Kernelconfig und dort den unnötigen Kram rauswerfen, nur dann kannst du auch gleich auf genkernel verzichten.

Wenn du weist was du brauchst, erstellst du den Kernel am besten von Hand. Was nötige rein, alle andere raus. Dann hast du einen schönen schlanken Kernel der (hoffentlich) funktioniert.

Mfg

Sino

----------

## ugus

 *SinoTech wrote:*   

> Naja, denke mal genkernel baut mehr Unterstützung in den kernel als du in Wirklichkeit für dein System brauchst, was den Kernel im Endeffekt nur unnötig aufbläht. Du kannst natürlich immer noch, wie du schon selbst gesagt hast, mit der "--menuconfig" Option in die Kernelconfig und dort den unnötigen Kram rauswerfen, nur dann kannst du auch gleich auf genkernel verzichten.
> 
> Wenn du weist was du brauchst, erstellst du den Kernel am besten von Hand. Was nötige rein, alle andere raus. Dann hast du einen schönen schlanken Kernel der (hoffentlich) funktioniert.
> 
> Mfg
> ...

 

Ich glaube ich bin zu faul.   :Confused: 

Einmal habe ich  mit genkernel --menuconfig alle unnötigen Kram rausgeworfen, und .config Datei gesichert. Wenn ich mal neues Kernel kompilieren will, kopiere ich .config Datei und mit genkernel --oldconfig [wenn nötig auch mit --menuconfig] erstelle ich meine neues Kernel. Dabei spare einige operationen wie make Befehls und Kopieren von immage in /boot.

Aber wie gesagt, ich glaube ich bin einbischen faul.  :Wink: 

----------

## SkaaliaN

 *SinoTech wrote:*   

> Naja, denke mal genkernel baut mehr Unterstützung in den kernel als du in Wirklichkeit für dein System brauchst, was den Kernel im Endeffekt nur unnötig aufbläht. Du kannst natürlich immer noch, wie du schon selbst gesagt hast, mit der "--menuconfig" Option in die Kernelconfig und dort den unnötigen Kram rauswerfen, nur dann kannst du auch gleich auf genkernel verzichten.
> 
> Wenn du weist was du brauchst, erstellst du den Kernel am besten von Hand. Was nötige rein, alle andere raus. Dann hast du einen schönen schlanken Kernel der (hoffentlich) funktioniert.
> 
> Mfg
> ...

 

genau so sehe ich das auch  :Exclamation:   :Wink: 

----------

## Vortex375

Ich weiß nur, dass ich mit Genkernel nichts als Probleme hatte. Vorallem wie ich von devfs auf udev umstellen wollte ging erstmal gar nichts mehr (obwohl ich mich genau an die Anleitung gehalten hatte). Mit meinem eigenen Kernel brauch ich jetzt dieses bescheuerte initrd nichtmehr und alles funktioniert bestens.

----------

## SkaaliaN

 *Vortex375 wrote:*   

> Ich weiß nur, dass ich mit Genkernel nichts als Probleme hatte. Vorallem wie ich von devfs auf udev umstellen wollte ging erstmal gar nichts mehr (obwohl ich mich genau an die Anleitung gehalten hatte). Mit meinem eigenen Kernel brauch ich jetzt dieses bescheuerte initrd nichtmehr und alles funktioniert bestens.

 

ich habe mich auch genau an die anleitung von gentoo wiki gehalten..ich habe keinen genkernel und trotzdem geht udev nicht..kp wieso..mal findet der die nvidia-treiber net und kann daher den x net starten oder er findet die root platte nicht..

----------

## SinoTech

Naja, hatte mit meinem ersten selbst gebackenen Kernel Probleme gehabt. Aber seitdem habe ich mir angewohnt zu so ziemlich jeder Option die Hilfe durch zu lesen und seitdem funktionierts  :Wink: .

Nimmt natürlich bisserl Zeit in Anspruch, aber funktioniert.

Mfg

Sino

----------

## platinumviper

 *Hilefoks wrote:*   

> nein - das geht noch einfacher. Schau mal hier ins Handbuch (ab 7b), da ist eigentlich alles beschrieben: http://www.gentoo.de/doc/de/handbook/handbook-x86.xml?part=1&chap=7

 

Da steht aber immer noch dies ganze überflüssige Kopiererei drin, einfacher geht's mit make install.

 *Hilefoks wrote:*   

> EDIT: Und um die Konfiguration noch einfacher zu machen kannst du nach dem ermegen des neuen Kernels und anpassen des Symlinks folgendes machen 
> 
> ```
> 
> cd /usr/src/linux
> ...

 

Nur die .config aus dem alten Verzeichnis kopieren, sonst geht einiges schief.

platinumviper

----------

## Hilefoks

 *platinumviper wrote:*   

> Nur die .config aus dem alten Verzeichnis kopieren, sonst geht einiges schief.

 

Oh Gott - ja natürlich! Mein Fehler, sorry. 

Danke, Hilefoks

P.S: Fehler in meinem Post behoben - nicht das noch jemand auf dumme Gedanken kommt.  :Wink: 

----------

## platinumviper

 *tux99 wrote:*   

> Gibt es ein grafisches menü für die kernelkonfiguration, ich hab da mal was gelesen, das es so was geben soll?

 

Ja, sogar zwei. make gconfig basiert auf gtk, ist also fast immer einsetzbar, make xconfig basiert auf qt, ist also eher was für KDE Liebhaber. Funktional sind beide identisch und sehen auch fast gleich aus.

Vor Version 2.5.irgendwas gab es ein auf tcl/tk basierendes make xconfig.

platinumviper

----------

## tgurr

Ich emerge immer zuerst den neuen, passe dann den Symlink an und kopiere wie oben beschrieben die .config aus dem alten Kernel-Verzeichnis nach /usr/src/linux. Danach ein make && make modules_install && make install und die Frage ob er den LiLo aufrufen soll noch mit y beantworten, das wars schon.

----------

## platinumviper

Noch ein kleiner Hinweis: au Dauer sammeln sich in /lib/modules MB-weise und in /usr/src sogar GB-weise Altlasten an, also hin und wieder einmal nachsehen (du -sh /lib/modules/* /usr/src/*). Wer die Kernel geemerged hat, sollte sie auch mit emerge -C wieder entfernen (z.B. emerge -aC "<gentoo-sources-2.6.13-r1") und anschliessend die entsprechenden Verzeichnisse in /usr/src und /lib/modules löschen. Wer die Original-Kernel benutzt, braucht natürlich nur zu löschen. Aber bitte immer mindestens einen garantiert funktionierenden alten Kernel als Backup behalten, der sollte natürlich auch in /etc/lilo.conf bzw. der entsprechende Grub Datei eingetragen sein.

Weitere mögliche Kompilierziele werden übrigens mit make help angezeigt, wobei sich eine Dokumentation bei mir fast nie erstellen lässt, egal in welchem Format.

platinumviper

----------

## Genone

 *platinumviper wrote:*   

>  *Hilefoks wrote:*   nein - das geht noch einfacher. Schau mal hier ins Handbuch (ab 7b), da ist eigentlich alles beschrieben: http://www.gentoo.de/doc/de/handbook/handbook-x86.xml?part=1&chap=7 
> 
> Da steht aber immer noch dies ganze überflüssige Kopiererei drin, einfacher geht's mit make install.

 

Aber auch nur wenn die Config zum Installationsskript passt.

----------

## nic0000

 *ugus wrote:*   

> Ich glaube ich bin zu faul.  
> 
> Einmal habe ich  mit genkernel --menuconfig alle unnötigen Kram rausgeworfen, und .config Datei gesichert. Wenn ich mal neues Kernel kompilieren will, kopiere ich .config Datei und mit genkernel --oldconfig [wenn nötig auch mit --menuconfig] erstelle ich meine neues Kernel. Dabei spare einige operationen wie make Befehls und Kopieren von immage in /boot.
> 
> Aber wie gesagt, ich glaube ich bin einbischen faul. 

 

Ne, du bist nicht faul. Gute Admins sind Faul, denn sie automatisieren alles so weit es technisch machbar ist  :Wink: 

Deshalb ist ja auch Linux ihr liebstes Kind, weil hier es auch alles so schön zu machen ist.

Ich bin zwar kein guter Admin aber ich habe mir auch bisschen geholfen.

```

#!/bin/bash

if [ "$1" = "" ]

then

    echo "*** Edit Kernel ***";

    sleep 3;

        cd /usr/src/linux;

        make menuconfig;

else

    if [ "$1" = "-n" ]

    then

        echo "*** Edit and rebuild Kernel ***";

        sleep 3;

            cd /usr/src/linux;

            make menuconfig;

    echo "*** Rebuild and update Kernel ***";

    sleep 1;

    mount /boot/

    make && make modules_install

    cp /boot/bzImage.cur /boot/bzImage.pre

    cp arch/i386/boot/bzImage /boot/bzImage.test

    cp System.map /boot/

#   Grub auf test setzen:

    grub-set-default 0

#    Wenn externe Treiber wie nVidia, ACX-100 oder Quickcam nachinstalliert werden sollen

#    echo "*** Rebuild XYZ ***";

#    emerge XYZ

    ls -la /boot

    sleep 1;

    umount /boot/

    else

        echo "*** Usage $0 [option]***";

        echo "-n make and update new kernel";

        sleep 3;

    fi

fi

cd ~

```

grüße

nico

----------

## Diskus

HAllo,

kann mann auch die .config bei dem Wechsel von 2.6.12-r10 auf 2.6.13-r3(last stabil) verwenden(sprich: make oldconfig) oder sollte man lieber den Kernel neu bauen bzw. wie habt ihr das gemacht?

Diskus

----------

## gentop

Ich würde make oldconfig benutzen und dann halt ggf. ein paar Fragen von make oldconfig bei neuen Optionen beantworten. Dann spart man sich den meisten Konfigurierkrams. Hatte bei den beiden Versionen keine Probleme.

//gentop

----------

## platinumviper

 *Genone wrote:*   

>  *platinumviper wrote:*   einfacher geht's mit make install. 
> 
> Aber auch nur wenn die Config zum Installationsskript passt.

 

Das sollte eigentlich immer gehen, ich habe auch noch nie etwas anderes erlebt, an was für eine seltsame Option denkst Du?

platinumviper

----------

## Diskus

Hallo,

die Frage passt nicht ganz hier her oder?

meine Boot-Partition ist 35 MB groß-die darin enthaltenen Daten sind nur 4,4MB gro(grub-initramfs-kernel-System-map-Verknüpfung)-wieso sind dann auf der Partition nur noch 2MB frei???? und ich kann keinen neuen Kernel dazuinstllieren da Laufwerk voll????

Das ist auf allen meiner Systeme so!!

Diskus

PS:Instalation nach aktuellem Handbuch

----------

## SkaaliaN

ist die partition mit reiser oder mit ext3 formatiert? ich hatte das problem auch mal mit einer reiser-partition.dann habe ich diese zur ext3 gemacht und hatte keine probleme mehr  :Exclamation: 

----------

## SkaaliaN

 *Diskus wrote:*   

> HAllo,
> 
> kann mann auch die .config bei dem Wechsel von 2.6.12-r10 auf 2.6.13-r3(last stabil) verwenden(sprich: make oldconfig) oder sollte man lieber den Kernel neu bauen bzw. wie habt ihr das gemacht?
> 
> Diskus

 

ich hab meine alte config rüberkopiert und diese im kernel geladen

----------

## Diskus

HAllo,

die Partition ist reiserfs-was mich wundert ist das da 8mal die VerknÃ¼pfung "boot" drin steht!-kann ich die lÃ¶schen????-bzw.die Partition einfach mit ext3 neu formatieren?

Diskus

----------

## platinumviper

 *Diskus wrote:*   

> die Partition ist reiserfs-was mich wundert ist das da 8mal die Verknüpfung "boot" drin steht!

 

Reiserfs benötigt ca. 30 MB für das Journal. Im Handbuch steht übrigens, dass man für die Boot-Partition kein journaling-fs benutzen sollte. Der Link boot -> . ist nur einmal vorhanden, aber Du kannst natürlich beliebig tief in ihn rein cd-en   :Wink:  . AFAIK wird der von GRUB benötigt, lass ihn da, er stört nicht.

platinumviper

----------

## ugus

 *nic0000 wrote:*   

> 
> 
> ```
> 
> #!/bin/bash
> ...

 

Nice Script. Vor allem der Teil für die Kompilierung der externen Moduls spart einige Kopfschmerzen.

----------

## nic0000

 *ugus wrote:*   

> Nice Script. Vor allem der Teil für die Kompilierung der externen Moduls spart einige Kopfschmerzen.

 

Danke, das war auch der Grund die Faulheit zu überwinden  :Wink: 

grüße

nico

----------

## SinoTech

Und damit man nicht alle externen module von Hand in das Script eintragen muss, fügen wir noch das hinzu:

```

grep -l '^dir /lib/modules' /var/db/pkg/*/*/CONTENTS | sed -e 's/\/var\/db\/pkg\//=/' -e 's/\/CONTENTS//' -e 's/^=.*\///' -e 's/-[0-9].*$//' | sort -u | xargs emerge

```

(Code habe ich mal in einem anderen Thread gefunden und kopiert)

Mfg

Sino

----------

## Yonathan

wo genau finde ich nähere infos zu den für meine hardware spezifischen treiber? über lspci kann man die ja gut finden, aber wo finde ich infos zu den treibern, die dann dazu passen?

lg. yona

----------

## ugus

 *SinoTech wrote:*   

> Und damit man nicht alle externen module von Hand in das Script eintragen muss, fügen wir noch das hinzu:
> 
> ```
> 
> grep -l '^dir /lib/modules' /var/db/pkg/*/*/CONTENTS | sed -e 's/\/var\/db\/pkg\//=/' -e 's/\/CONTENTS//' -e 's/^=.*\///' -e 's/-[0-9].*$//' | sort -u | xargs emerge
> ...

 

Mensch, wer diese Zeile geschrieben hat, muss gute Augen haben   :Shocked:   :Laughing: 

----------

## nic0000

 *ugus wrote:*   

> 
> 
> ```
> 
> grep -l '^dir /lib/modules' /var/db/pkg/*/*/CONTENTS | sed -e 's/\/var\/db\/pkg\//=/' -e 's/\/CONTENTS//' -e 's/^=.*\///' -e 's/-[0-9].*$//' | sort -u | xargs emerge
> ...

 

Ach was, nur ein verschnürkeltes Gehirn  :Wink: 

Auf jeden Fall habe ich das schon mal eingebut und es funtz vorzüglich!

Wieder ein stück fauler!  :Exclamation: 

Danke und Gruß

nico

----------

## ugus

 *SinoTech wrote:*   

> 
> 
> ```
> 
> grep -l '^dir /lib/modules' /var/db/pkg/*/*/CONTENTS | sed -e 's/\/var\/db\/pkg\//=/' -e 's/\/CONTENTS//' -e 's/^=.*\///' -e 's/-[0-9].*$//' | sort -u | xargs emerge
> ...

 

Echt Klasse, 

ich habe mal mit module-rebuild vergliechen und die Resultat:

```
module-rebuild list

** Packages which I will emerge are:

        =media-libs/svgalib-1.9.21-r1

        =media-video/qc-usb-0.6.3

        =media-video/nvidia-kernel-1.0.7676

```

und unseres magisches Befehl.

```

grep -l '^dir /lib/modules' /var/db/pkg/*/*/CONTENTS | sed -e 's/\/var\/db\/pkg\//=/' -e 's/\/CONTENTS//' -e 's/^=.*\///' -e 's/-[0-9].*$//' | sort -u | xargs emerge -p

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild   R   ] media-video/nvidia-kernel-1.0.7676

[ebuild   R   ] media-video/qc-usb-0.6.3

[ebuild   R   ] net-fs/shfs-0.35-r1

[ebuild   R   ] media-libs/svgalib-1.9.21-r1

```

module-rubuild das shfs nicht gesehen  :Cool: 

----------

## Diskus

HAllo

@platinumviper

kann ich den Inhalt einfach kopieren und dann die boot-Partition mit ext3 formatieren?(fstb anpassen) und dann zurÃ¼ckkopieren?

Diskus

----------

## nic0000

 *Diskus wrote:*   

> HAllo
> 
> @platinumviper
> 
> 

 

Ich bin zwar nicht platinumviper, aber bevor du wartest antworte ich einfach mal 

*sorry@platinumviper*

 *Diskus wrote:*   

> 
> 
> kann ich den Inhalt einfach kopieren und dann die boot-Partition mit ext3 formatieren?(fstb anpassen) und dann zurÃ¼ckkopieren?

 

Jupp, genau das kannst du machen, ich würde aber verschieben wegen weniger Risiko bei Rechten.

Grüße

nico

----------

## platinumviper

 *nic0000 wrote:*   

> *sorry@platinumviper*

 

Kein Problem, aber

 *Diskus wrote:*   

> 
> 
> kann ich den Inhalt einfach kopieren und dann die boot-Partition mit ext3 formatieren?(fstb anpassen) und dann zurÃ¼ckkopieren?

 

ext3 hat ebenfalls ein Journal, nimm ext2.

 *nic0000 wrote:*   

> ich würde aber verschieben wegen weniger Risiko bei Rechten.

 

Das vermeidet auch Probleme mit /boot/boot/boot/...  :Wink: 

platinumviper

----------

## platinumviper

 *SinoTech wrote:*   

> Und damit man nicht alle externen module von Hand in das Script eintragen muss, fügen wir noch das hinzu:
> 
> ```
> 
> grep -l '^dir /lib/modules' /var/db/pkg/*/*/CONTENTS | sed -e 's/\/var\/db\/pkg\//=/' -e 's/\/CONTENTS//' -e 's/^=.*\///' -e 's/-[0-9].*$//' | sort -u | xargs emerge
> ...

 

Dabei wird die Kategorie abgeschnitten, bei doppelten Paketnamen geht es dann schief:

```
Calculating dependencies

!!! The short ebuild name "fuse" is ambiguous.  Please specify

!!! one of the following fully-qualified ebuild names instead:

    app-emulation/fuse

    sys-fs/fuse
```

So klappt's:

```
grep -l '^dir /lib/modules' /var/db/pkg/*/*/CONTENTS | sed -e 's/\/var\/db\/pkg\//=/' -e

's/\/CONTENTS//' -e 's/^=//' -e 's/-[0-9].*$//' | sort -u | xargs emerge -p
```

platinumviper

----------

## misterjack

für das prob gibts module-rebuild

----------

## Diskus

Hallo,

ich habe nun das Kernel-update durchgezogen aber  :Twisted Evil:   :Twisted Evil:   :Twisted Evil:   ich habe eine total miese Performance unter KDE wenn ich ein Fenster(Ordner) öffnen will-es öffnet sich so ein blödes immer großer wetdendes Viereck bisder Ordner offen ist!!

dma ist an

opengl läuft auch

hdparm -tT gibt die selben Werte wie unter 2.6.12

habe auch die alte .config (make oldconfig) benutzt

unter 2.6.12 läuft alles wie geölt!

Ich brauche den neuen Kernel nur weil mein Notebook nicht ausgeht("Power off "steht noch da alles steht aber die Kiste geht nicht aus  :Twisted Evil:  )

hat jemand ne Idee??

Diskus

----------

