• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Kernelupdate zu 2.6.6 --> Fehler beim entpacken

OP
P

pburri

Member
ok ^^ danke für die mühe jetzt heissts lets try ^^ oder halt lesen wenns nicht anders geht :D
 
OP
P

pburri

Member
*schock* :shock:

Also: Ich habe da mal gedacht, ich öffne nochmal die kernel konfiguration zum überprüfen...

1. die ist wie der standart, ohne einstellungen
2. ich kann nicht speichern
3. ich wollte mal nach den rechten im ordner schaun... keine... da hab ich ihm halt neue rechte verteilt mit:

Code:
chown -R <benutzer> linux-2.6.6

Wenn ich jetzt wider rein gehe und mal dir machn will --> Keine berechtigungen...

omg sag ich da nur... was mach ich denn da falsch? :oops:
 
A

Anonymous

Gast
Keine Ahnung was da schief gelaufen ist. Im Zweifel einfach nochmal als root anmelden und die Rechte erneut ändern.

Wenn du übrigens mit der Option O=/builddirectory gearbeitet hast, ist die .config in diesem Directory zu finden! Wenn du vorhin als root kompiliert hast, dann musst du die Rechte für dieses Verzeichnis auch noch ändern.
 
OP
P

pburri

Member
Ich hab alles noch mal von vorne gemacht, bis jetzt eigentlich gut gelaufen, wenn ich mit dem neuen und mit dem alten kernel starten will kommt die meldung:

Code:
Root-NFS: No NFS server available, giving up.
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Instert root floppy and press ENTER

Die Verweisse im bootloader sollten stimmen... :roll:
 
A

Anonymous

Gast
Die Meldung mit NFS ist insofern verwirrend, als dass der Kernel verzweifelt nach einem mountbaren root sucht und es als letztes über NFS versucht hat. Das ist aber nicht dein Problem.

Das kann bedeuten, dass die root=/dev/woauchimmer Option in der menu.lst nicht korrekt gesetzt ist, oder dass der Kernel das Filesystem von root nicht kennt. Im letzteren Fall muss das entsprechenede Filesystem entweder in den Kernel kompiliert, oder in der ramdisk vorhanden sein (mkinitrd vergessen?).

Es kann natürlich auch sein, dass deine HDD gar nicht erkannt wurde, weil mit den Treibern was nicht stimmt (was bei meiner S-ATA-Platte manchmal so). Dazu musst du aber die Meldungen vor dem letzten Fehler ansehen. Wenn die Platte sauber erkannt wurde gibt es irgendwo eine Zeile, die die verfügbaren Partitionen anzeigt, z.B.:
Code:
hda1 hda2 <hda5 hda6>
 
OP
P

pburri

Member
Es ist einfach komisch: Der alte und der neue kernel gehen net, aber das filesave schon ??? Ist das normal? Also daraus schliesse ich das das net an der HDD liegt... und mkinitrd hab ich auch net vergessen...
 
A

Anonymous

Gast
Meinst du failsafe? Wenn das geht, heisst das ja es hat was mit der Hardware-Unterstützung zu tun. Schon mal mit noacpi und noapic probiert zu booten?

Aber warum der alte Kernel nicht mehr läuft ist mir ein Rätsel! Was kommt denn da für ein Fehler?

Vielleicht solltest du wirklich mal ein Howto bzw. ein 'How-I-did-it' schreiben, damit man eventuelle Fehler nachvollziehen kann. Je präziser die Angaben und Fehlermeldungen, desto präziser kann dir geholfen werden.
 
OP
P

pburri

Member
Gebrauchsanweisung zur Installation eines neuen Kernels unter SuSE Linux 9.0


Vorwort: Diese Anleitung zeigt wie ein neuer Linux Kernel unter SuSE Linux installiert werden kann.
Das meiste wird hier in der Shell ausgeführt, das heisst jeder einzelner Befehl wird in der Shell ausgeführt.

1. Schritt:

Als erstes benötigen wir den neuen Kernel, welcher auf ftp://ftp.gwdg.de/linux/kernel.org/linux/kernel/v2.6
herunter geladen werden kann. Die benötigte Datei heisst: „linux-2.6.6.tar.gz“
Speichere die Datei am besten nach /root/


2. Schritt:

Entpacke das .gz File in den Ordner /usr/src

Code:

$> su
$> cd /usr/src/
$> tar xvzf /root/linux-2.6.6.tar.gz

3. Schritt:

Es ist nützlich wenn man dem normalen User alle Rechte für diesen Ordner erteilt. Dies wird mit folgendem Befehl gemacht:

Code:


$> chown -R myuser. linux-2.6.0

4. Schritt:

Es ist nötig die existierende Kernelkonfiguration auf die neue KernelQuelle zu übertragen. Dies ist mit diesem Befehl zu verwirklichen:





Code:

$> cd /usr/src/linux-2.6.6
$> zcat /proc/config.gz > /usr/src/linux-2.6.6/.config
$> make O=/ usr/src/linux-2.6.6/ oldconfig && make O=/ usr/src/linux-2.6.6/ prepare


5. Schritt:

Jetzt muss man das Makefile bearbeiten, am besten mit dem Konzueror. /usr/src/linux-2.6.6, rechtsklick auf Makefile/ öffnen mit/ emacs (schlage ich jetzt mal vor) Dort werden folgende Einstellungen vorgenommen:

Code:

VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 0
EXTRAVERSION = -th1


6. Schritt:

Jetzt ist es wichtig die Config Datei anzupassen! Dabei müssen auf dem Rechner die QT-devel Pakete installiert sein! Falls dies nicht zutrifft, gehe ins Kontrollzentrum/Yast2 Module/ Software/System-Update dort nach „QT-devel“ suchen und die gefundenen Packete installieren.

Code:

$> cd /usr/src/linux-2.6.6
$> make xconfig


7. Schritt:

Mit dem Befehl:

Code:

$>make

compilieren

8. Schritt:

Jetzt muss man den compilierten Kernel noch installieren, dies mit dem Befehl:

Code:

$> cd /usr/src/linux-2.6.6/
$> su
$> make modules_install
9. Schritt:

Jetzt muss der neu installierte Kernel und die neue Datei System.map nach /boot/ kopiert werden. Dies wird als Root bewerkställigt.

Code:

$> cp /usr/src/linux-2.6.6/arch/i386/boot/bzImage /boot/vmlinuz-2.6.6-th1
$> cp /usr/src/linux-2.6.6/System.map /boot/System.map-2.6.6-th1




10. Schritt:

Wurden alle für das Booten relevanten Dinge fest in den Kernel compiliert, so kann auf eine Initial Ramdisk (initrd) verzichtet werden. Ansonsten ist diese Initial Ramdisk für den neuen Kernel nun zu erstellen (wiederum als Root):

$> cd /boot
$> mkinitrd -k vmlinuz-2.6.6-th1 -i initrd-2.6.6-th1

Für weitere Informationen zu diesem Befehl, lese das Manual (Code: man mkinitrd)

11. Schritt:

Jetzt muss de Bootloader noch bearbeitet werden. Bei 9.0 ist dies standartmässig Grub. Die einfachste Lösung ist, im Ordner /boot/grub die Datei menu.1st mit dem emacs zu öffnen und den eine neue Auswahl erstellen:



Title Linux_new
Kernel (hd0,1)/boot/vmlinuz-2.6.6-th1 root=/dev/sda2 vga=normal desktop showopts
Initrd (hd0,1)/initrd-2.6.6-th1



Et voilà.

Tut mir leid, komm net auf meinen ftp atm... ^^
 
A

Anonymous

Gast
Da ist noch ein entscheidender Fehler drin!

Wenn du ein Build-Verzeichnis nutzen willst (was du ja beim clonen der config getan hast), dann musst du dies auch in allen weiteren Schritten beibehalten (also immer die gleiche O=/verzeichnis Option verwenden)!!! Sonst wird doch nur die 'alte' config aus dem Quellenverzeichnis verwendet und der Kernel liegt im Quellverzeichnis.

Ausserdem sind die Anpassingen im Makefile falsch. Für den Kernel 2.6.6 muss der Sublevel auch auf 6 gesetzt werden (bei dir: Kernel 2.6.0).
 
OP
P

pburri

Member
Also ich hab jetzt alles richtig gemacht, so wie du gesagt hast... Aber er kann root immer noch net mounten... Ich denk wirklich langsam das die ganze geschichte mit fehlenden installierten paketen zusammenhängt... :roll:
 
A

Anonymous

Gast
Nee ,das ist sehr unwahrscheinlich. Eher liegt es an der Konfiguration der Gerätetreiber. Ich sehe an deiner Anleitung, dass du ein SCSI-System verwendest?! Oder S-ATA? Vielleicht helfen ein paar Hardware-Infos weiter. Und eine genauere Beschreibung der Fehler beim Booten (am besten wäre das gesamte Protokoll, ist aber schwierig, das noch kein syslogging läuft (digicam?).
 
OP
P

pburri

Member
woran siehst denn du das ich SCSI und S-ATA benutze? ^^ Nene, das net... is n Dell, P4 2.8 GHz, 512 MB RAM, IDE HDD, Geforce FX 5200...

Aber noch was, wobei ich dachte es kommt net darauf an: ich machs mit VMWare... Könnte dies das problem sein? :oops:
 
A

Anonymous

Gast
Durch deinen Eintrag in der menu.lst:
... root=/dev/sda2...
/dev/sdx bezeichnet ein SCSI-Laufwerk oder eine S-ATA Platte. Daher auch die Frage, da S-ATA Platten vom 2.4er Kernel noch als /dev/hdx erkannt wurden, vom 2.6er jedoch als /dev/sdx

Dell rüstet manche Systeme mit S-ATA Platten aus, könnte also gut sein. Wenn es jedoch eine normale IDE-Platte ist, dann ist der Fehler ziemlich klar: root=/dev/hda2 in der menu.lst eintragen.

Eventuell auch die initrd mit der Option -d /dev/hda2 erstellen.

Du kannst das überprüfen, indem du dir mal die aktuelle /etc/fstab ansiehst, was dort als root eingetragen ist.

Was VMWare für einen Einfluss hat weiss ich nicht.
 
Oben