# Kernel Konfiguration wiederherstellen....

## bd_italy

Hallo, ich habe mal wider ein Problem das ich nicht alleine lösen kann...

als vor einiger zeit meine root-partition voll war habe ich unter /usr/src/ nicht benötigte kernel gelöscht um platz zu schaffen (zumindest dachte ich das   :Rolling Eyes:  )

heute habe ich dann gesehen dass der symlink /usr/src/linux auf einen nicht mehr existente kernelversion zeigt (die gelöschte linux-2.6.17-gentoo-r :Cool: .

daraufhin lies ich den symlink auf den aktuelsten kernel den ich habe zeigen (linux-2.6.18-gentoo-r6).

daraufhin:

```

cd /usr/src/linux

make menuconfig

make && make modules_install

cp arch/i386/boot/bzImage /boot/kernel-linux-2.6.18-gentoo-r6

```

daraufhin habe ich versucht den kernel zu booten was mit einer kernel panic endete da er auf das filesystem nicht zugreifen kann.

d.h. ich müsste jetzt alle optionen die ich in meinem 2.6.17-r8 habe auf den neuen übertragen, leider weiss ich abe rnicht mehr alle...

gibt es eine möglichkeit aus dem alten kernel , den ich noch unter /boot habe die config zu extrahieren und dann mit den gleichen optionen einen 2.6.18-r6 zu bauen??

weil sonst kann ich nie einen kernel updaten ohne einmal wieder alles von hand eingetragen zu haben, und da vergesse ich sicher einige wichtige sachen....

grüße bd_italy

----------

## SinoTech

 *bd_italy wrote:*   

> 
> 
> [...]
> 
> weil sonst kann ich nie einen kernel updaten ohne einmal wieder alles von hand eingetragen zu haben, und da vergesse ich sicher einige wichtige sachen....
> ...

 

Du kannst deine alte config in das "src" Verzeichniss des neuen Kernel kopieren, und dort "make oldconfig" aufrufen.

- Je nachdem wie du den Kernel installiert hast, liegt eine Kopie deiner config unter "/boot" (glaube "make install" kopiert die config Datei dort hin).

- Falls du den Support im Kernel aktiviert hast, findest du die config des aktuellen Kernel auch unter "/proc/config.gz."

```

General setup  --->

    [*] Kernel .config support

        [*] Enable access to .config through /proc/config.gz (NEW)

```

Cheers,

Sino

----------

## bd_italy

hallo,

also /proc/config.gz gibts bei mir

also wäre das die konfiguration des linux-2.6.17-gentoo-r8 von den ich gerade verwende, oder?

und du meinst ich sollte diese config dann in den /usr/src/linux-2.6.18-r6 kopieren und dann den kernel neu machen, dann solte es funktionieren?

weil 2.6.17-r8 habe ich ja nicht mehr drauf und /usr/src/linux zeigt auf di 2.6.18-r6.

bd_italy

----------

## SinoTech

Jo, also unter "/proc/config.gz" sollte die config des aktuell verwendeten Kernel sein (Also der, der gebootet wurde). Habe das zwar noch nicht ausprobiert, aber folgendes sollte funktionieren:

```

$ cd /usr/src/linux

$ gzcat /proc/config.gz > .config

$ make oldconfig

```

Danach evtl. den neuen Kernel anpassen (kommen ja immer wieder Einstellungen dazu) bzw. überprüfen das alles korrekt übernommen wurde. Danach den neuen Kernel bauen.

Du kannst dir natürlich auch erstmal anschauen was in der "/proc/onfig.gz" drin steht:

```

$ gzcat /proc/config.gz | less

```

Wenn es wirklich der original Inhalt der Kernel konfiguration ist, dann sollten die ersten Zeilen in etwa so aussehen:

```

#

# Automatically generated make config: don't edit

# Linux kernel version: 2.6.17-beyond-git2

# Thu Dec 28 17:20:11 2006

#

```

Anhand der angegeben Version siehst du dann ja ob es die config des verwendeten kernels ist (Wie gesagt, ich habe das noch nie probiert).

Cheers,

Sino

----------

## bd_italy

hi,

danke..

ja die config in proc war der kernel der noch funktioniert, also der 17er

habe sie dann in das verzeichniss kopiert und make oldconfig ausgeführt.

dabei musste ich dann für einige neu dazugekommenen sachen angeben ob ich sie haben wollte im kernel oder nicht.

es hat aber mit folgendem abgebrochen:

 *Quote:*   

> Support for VIA PadLock ACE (CRYPTO_DEV_PADLOCK) [N/m/y/?] n
> 
> *
> 
> * Library routines
> ...

 

was kann ich dagegen machen?

grüße bd_italy

----------

## Finswimmer

Ich verstehe das so, dass die .config eine falsche Zeit hat.

Oder auch das Kernel Verzeichnis.

Ein touch .config sollte es wieder hinbiegen.

Tobi

----------

## Polynomial-C

 *SinoTech wrote:*   

> 
> 
> ```
> $ gzcat /proc/config.gz | less
> ```
> ...

 

Dafür gibt's zless. 

```
zless /proc/config.gz
```

Mal abgesehen davon, daß es gzcat auf meinem System gar nicht gibt, sondern nur zcat. Kannst du mir mal sagen, zu welchem Paket gzcat gehört?

----------

## bd_italy

hi,

ein touch auf die config hat leider nicht geholfen.

Habe den Kernel jetzt einfach trotzdem mal erstellt und davon gebootet.

Der Fehler besteht immer noch wie am anfang.

habe mir mal die mühe gemacht ihn abzuschreiben:

 *Quote:*   

> Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

 

könnte vill. etwas anderes die Lösung des Problems sein?

grüße bd_italy

----------

## Christoph Schnauß

 *bd_italy wrote:*   

>  *Quote:*   Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) 
> 
> könnte vill. etwas anderes die Lösung des Problems sein?

 

"not syncing ..." deutet oft darauf hin, daß irgendein Dateisystem nicht richtig angesprochen wird. Oft ext3 - das muß fest im Kernel sein und nicht als Modul.

----------

## SinoTech

 *Polynomial-C wrote:*   

>  *SinoTech wrote:*   
> 
> ```
> $ gzcat /proc/config.gz | less
> ```
> ...

 

Aha, "zless" kannte ich noch gar nicht  :Smile: 

 *Polynomial-C wrote:*   

> 
> 
> Mal abgesehen davon, daß es gzcat auf meinem System gar nicht gibt, sondern nur zcat. Kannst du mir mal sagen, zu welchem Paket gzcat gehört?

 

Gehört zu "app-arch/gzip".

Cheers,

Sino

----------

## Fauli

 *Polynomial-C wrote:*   

> Dafür gibt's zless. 
> 
> ```
> zless /proc/config.gz
> ```
> ...

 

Es reicht sogar ein "less /proc/config.gz".

----------

## bd_italy

 *Christoph Schnauß wrote:*   

>  *bd_italy wrote:*    *Quote:*   Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0) 
> 
> könnte vill. etwas anderes die Lösung des Problems sein? 
> 
> "not syncing ..." deutet oft darauf hin, daß irgendein Dateisystem nicht richtig angesprochen wird. Oft ext3 - das muß fest im Kernel sein und nicht als Modul.

 

mmhhh... aber wenn es im aktuellen kernel (also dem 2.6.17 ) von dem ich gebootet habe fest drinnen ist, solten doch die optionen im neuen nach dieser

prozedur auch drinnen sein, oder?   :Rolling Eyes: 

weil sonst bringt mir di ganze sache ja nichts wenn ich doch wider alles von hand eintragen müsste   :Wink:   :Confused: 

grüße bd_italy

----------

## borsdel

deswegen schrieb ja auch schon jemand hier, dass du das auf alle fälle gegenchecken sollst.

du hast also

```
less /proc/config.gz > /usr/src/linux/.config

touch /usr/src/linux/.config

make oldconfig

make

#usw
```

gemacht? dabei noch evtl. etwas schief gegangen? ist denn dein root-fs nun fest drinne?

mfg borsdel

----------

## aleph-muc

um diese Problem zukünftig zu umgehen, kannst du den Kernel auch mit dem Aufruf 

```
make install
```

 installieren. Das kopiert dir unter anderem die config-Datei ins Verzeichnis /boot.

gruß

aleph

----------

## Christoph Schnauß

 *aleph-muc wrote:*   

> um diese Problem zukünftig zu umgehen, kannst du den Kernel auch mit dem Aufruf 
> 
> ```
> make install
> ```
> ...

 

Nö, das tut es nicht. Es ist allerdings immer ratsam, sich die funktionierende .config in irgendein Verzeichnis (das muß nicht zwingend /boot sein) zu kopieren. "make install kompiliert den Kernel neu, das ist richtig. Er liegt dann aber immer nich unterhalb von /usr/src/linux und muß auch noch ins /boot-Verzeichnis geschubst werden. Zusätzlich muß die System.map nach /boot kopiert werden. Und schließlich würde es mit einem neuen Kernel immer noch eine "kernel panic" geben, wenn man vergißt, auch noch "make modules_install" zu fahren.

----------

## SinoTech

 *Christoph Schnauß wrote:*   

>  *aleph-muc wrote:*   um diese Problem zukünftig zu umgehen, kannst du den Kernel auch mit dem Aufruf 
> 
> ```
> make install
> ```
> ...

 

Falsch. Ein "make install" kopiert dir alles was du benötigst nach "/boot", und legt dir zusätzlich Symlinks an:

 *ls -l /boot wrote:*   

> 
> 
> System.map -> System.map-2.6.17-beyond-git2
> 
> config -> config-2.6.17-beyond-git2
> ...

 

"config" ist dabei ein Link auf die aktuelle config, "vmlinuz" ein Link auf das Kernel image, ... .

 *Christoph Schnauß wrote:*   

> 
> 
> [...]
> 
> Und schließlich würde es mit einem neuen Kernel immer noch eine "kernel panic" geben, wenn man vergißt, auch noch "make modules_install" zu fahren.

 

Er würde lediglich die Module nicht finden. Eine kernel panic gibt es deswegen aber nicht.

Cheers,

Sino

----------

## Christoph Schnauß

 *SinoTech wrote:*   

> Ein "make install" kopiert dir alles was du benötigst nach "/boot", und legt dir zusätzlich Symlinks an

 

Dann benutzen wir unterschiedliche Systeme. Bei mir tut es das nicht.

----------

## platinumviper

 *Christoph Schnauß wrote:*   

>  *SinoTech wrote:*   Ein "make install" kopiert dir alles was du benötigst nach "/boot", und legt dir zusätzlich Symlinks an 
> 
> Dann benutzen wir unterschiedliche Systeme. Bei mir tut es das nicht.

 

Dann hast Du sys-apps/debianutils nicht installiert, make install sucht nach /sbin/installkernel (und nach ~/bin/installkernel, falls Du etwas eigenes schreiben möchtest), wenn das nicht gefunden wird, werden nur der Kernel und System.map nach $INSTALL_PATH bzw. /boot kopiert und lilo aufgerufen. Das Script /sbin/installkernel aus dem Paket sys-apps/debianutils ist flexibler (Symlinks), kopiert auch die .config und unterstützt auch andere Linux-Loader (elilo, silo und palo), den Hurd-Loader GRUB und Disketten.

Seltsam, dass die debianutils bei Dir nicht installiert sind, wenn ich versuche sie zu deinstallieren, bekomme ich eine Warnung:

```
!!! 'sys-apps/debianutils' is part of your system profile.

!!! Unmerging it may be damaging to your system.
```

Wohin zeigt bei Dir /etc/make.profile?

Das Gentoo-Handbuch ist bezüglich der Kernel-Konfiguration/Installation der absolute Horror, es wird so ziemlich alles falsch gemacht, was man falsch machen kann; bei anderen Distributionen und in den verschiedenen Wikis, HowTos u.ä. sieht es auch nicht besser aus. Wenn Du etwas wirklich gutes zu diesem Thema lesen möchtest: Linux Kernel in a Nutshell (kostenlose Online-Version) oder Linux Kernel in a Nutshell (Buch, 198 Seiten, 34 Euro) von Greg Kroah-Hartman, Kernel-Entwickler und Mitglied der Gentoo-Kernel-Herd, der aber wohl nie in der Gentoo-Doku nachgelesen hat, wie er den Kernel kompilieren soll   :Wink:  .

In den fast 14 Jahren, die ich Linux benutze und den Kernel immer selbst kompiliert habe, habe ich nie eine so gute und fundierte Anleitung gesehen.

platinumviper

----------

## bd_italy

Hallo,

sorry dass ich mich nich eher wider mit einer Antwort gemeldet habe, habe zur Zeit ziemlich viel um die Ohren....

 *Quote:*   

>  ist denn dein root-fs nun fest drinne

 

war es immer (fest, nicht als modul)

habe das gerade extra nochmal nachkontrolliert.

Gibt es sons noch irgendwelche Anhaltspunkte die zu einer Kernelpanic mit dieser

Meldung führen könnten?

Grüße bd_italy

----------

