# Kernel neu kompilieren aus externer Umgebung

## m0021

Guten Tag, ich habe folgendes Problem:

Ich habe meine Kernel neu kompiliert, habe dabei was abgeschaltet, was notwendig ist um das root fs zu mounten.

Meine Frage ist nun, wie kann ich von der minimal-install-cd aus den kernel neu kompilieren habs schon versucht mit:

mount /dev/sda6 /mnt/gentoo

chroot /mnt/gentoo

dann in /usr/src/linux gewechselt

make menuconfig -> vorher abgeschaltete features wieder aktiviert

und make && make modules install

hat aber scheinbar nicht funktioniert (denke mal, da der teil fehlt wo ich mich als root einlogge)

also wie muss ich vorgehen um das problem zu lösen ?

sind meine ersten gehversuche mit gentoo, also seid bitte nachsichtig

danke an alle die versuchen mir zu helfen

----------

## Hollowman

Hi

Hast du nach dem make & make modules_install auch /boot gemountet und den Kernel da hin kopiert?

Sebastian

----------

## m0021

ich hab /boot nich gemountet, da /boot nur ein unterverzeichniss von / ist und auf der gleichen partition liegt...

und ja ich hab mit:

(im /usr/src/linux verzeichniss) cp arch/i368/boot/bzImage /boot/kernel-2.6.31-r6

die kernel ins boot-Verzeichniss kopiert

----------

## boris64

Für alle, die es (bis heute) noch nicht mitbekommen haben:

Statt den Kernel manuell nach /boot zu kopieren,

kann man auch einfach(er) ein

```
make install
```

ausführen

----------

## Hollowman

Hi

Das bringt aber nur was wenn der Kernel den Standart Namen hat. 

@ m0021

Sag doch ma woran es beim booten hängt. Vielleicht hast noch was vergessen. Im Grub auch denn richtigen Kernel gewählt?

Sebastian

----------

## m0021

in grub hab ich den richtigen Dateinamen gewählt....

der Fehler schaut wie folgt aus:

VFS: Cannot open root device "sda6" or unknown-block(8,6)

....

Pid: 1, comm: swapper Not tained 2.6.31-gentoo-r6

hab jedoch alle notwendigen sachen fest in den kernel eingebunden die bei mir in verdacht stehen notwendig zu sein um das root fs zu mounten, vorher ging lief der kernel mit den gleichen einstellungen. ich denke das es nicht an der kernel konfiguration liegt sondern an der methode wie ich vorgehe....

----------

## andi_s

 *Quote:*   

> make && make modules install

 

falls es kein tippfehler ist: der richtige befehl muss

```
make && make modules_install
```

lauten... (man beachte den unterstrich)

----------

## m0021

war ein tippfehler

----------

## moben

Also die Methode ist in Ordnung, kenn das, schon X-mal z.b. ext4 support vergessen oder sowas... 

Habs aber immer über LiveCD-chroot oder booten eines alten Kernels wieder hinbekommen (immer nen funktionierenden Kernel auf /boot zu haben schadet ned *g*)

----------

## Hollowman

Hi

Zeig ma bitte deine Grub.conf und die Ausgaben von fdisk -l /dev/sda

Dann würde ich dir raten, wie schon vorher gesagt immer 2 Kernel zu haben. Einen der sicher geht und den normalen.

Ich kopiere immer bevor ich den neuen einspiele den alten nach /boot/Kernel_Save und hab 2 Einträge in der Grub.conf.

Sebastian

----------

## mv

 *Hollowman wrote:*   

> Ich kopiere immer bevor ich den neuen einspiele den alten nach /boot/Kernel_Save und hab 2 Einträge in der Grub.conf.

 

Weshalb kopieren, wenn es doch ein Symlink tut - dann weißt Du im Zweifelsfall auch am ursprünglichen Namen welche Kernel-Version das ist. Ich benutze daher schon seit langem ein Script, das (jeweils nach interaktiver Abfrage) erst die verschiedenen Make-Befehle ausführt (wo möglich, als User) und dann Kernel kopiert und Symlinks aktualisiert. In grub.conf stehen nur die Namen der Symlinks.

Zum eigentlichen Problem: Der Fehlermeldung nach scheint er ja schon den Kernel korrekt gebacken zu haben und ihn zu benutzen; es sieht schon danach aus, als wenn irgendein Treiber nicht eingebunden ist (vielleicht hat sich da im 2.6.31 gegenüber Deinem vorherigen Kernel was geändert...)

----------

