Probleme mit 2.6.20er Kernel Backen

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
tantalus

Probleme mit 2.6.20er Kernel Backen

Beitrag von tantalus » 23.05.2007 17:55:38

Hallo Leute,

Hab hier ein Problem mit dem Kernel backen bei dem ich nicht weiter komme, aber so wie ich euch kenne wird das fuer euch nur eine Lapalie sein, deshal schreib ich gleich mal was ich alles gemacht habe nur damit ich den nvidia treiber installieren kann weil irgend ein Virtualisierungszeugs im 2.6.20 aktiviert ist und sich damit nicht vertraegt.

Also hab folgendes getan:

Code: Alles auswählen

cd /usr/src/
tar -jxf linux-source-2.6.20.tar.bz2

ln -s linux-source-2.6.20 linux

cd linux

make xconfig (hab das virtualisierungszeugs rausgenommen)

dann das ganze gespeichert in die /usr/src/linux/.config


make depend && make modules && make modules_install && make bzImage


cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-rst-2.6.20-1-686
cp /usr/src/linux/System.map /boot/System.rst-2.6.20-1-686.map
cp /usr/src/linux/.config /boot/config.rst-2.6.20-1-686
Bishierher keine Fehler!
vi /boot/grub/menu.lst

Code: Alles auswählen

## ## End Default Options ##

title           Debian GNU/Linux, kernel 2.6.20-1-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.20-1-686 root=/dev/hda1 ro
initrd          /boot/initrd.img-2.6.20-1-686
savedefault

title           Debian GNU/Linux, kernel 2.6.20-1-686 (single-user mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.20-1-686 root=/dev/hda1 ro single
initrd          /boot/initrd.img-2.6.20-1-686
savedefault

title           Debian GNU/Linux, kernel 2.6.18-4-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-4-686 root=/dev/hda1 ro
initrd          /boot/initrd.img-2.6.18-4-686
savedefault

title           Debian GNU/Linux, kernel 2.6.18-4-686 (single-user mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-4-686 root=/dev/hda1 ro single
initrd          /boot/initrd.img-2.6.18-4-686
savedefault

[b]
title           Debian GNU/Linux, kernel 2.6.20-1-686-rst
root            (hd0,0)
kernel          /boot/vmlinuz-rst-2.6.20-1-686 root=/dev/hda1 ro
initrd          /boot/initrd.img-2.6.20-rst
savedefault[/b]
diesen Eintrag habe ich erzeugt:


title Debian GNU/Linux, kernel 2.6.20-1-686-rst
root (hd0,0)
kernel /boot/vmlinuz-rst-2.6.20-1-686 root=/dev/hda1 ro
initrd /boot/initrd.img-2.6.20-rst
savedefault


System neugestartet, und erhalte folgenden Fehler wenn ich die

initrd /boot/initrd.img-2.6.20-rst

in der /boot/grub/menu.lst auskommentiere:
VFS: Cannot open root device „hda1“ or unkonown-block(0,0)
Please apend a correct „root=“ boot option
Kernel panik-not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Wenn ich die zeile nicht auskommentiere bleibt der Bildschirm dunkel und es passiert nix, auch nach laengerem warten passierrt nix.

Die Ramdisk habe ich folgender massen erzeugt:

Code: Alles auswählen

cd /boot

 mkinitramfs   -o initrd.img-2.6.20-rst  -r /dev/hda1
Habe aber keine Ahnung ob das so richtig ist, Frueher habe ich das mit mkinitrd glaube ich gemacht, aber das scheint es nicht mehr zugeben.

Der Fehler sagt mir schonmal das der neue Kernel das / (root verzeichniss nicht findet).
Weiter komme ich aber irgendwie nicht. google brachte eigentlich auch nix neues, das meiste was hier zu finden war war noch fuer den 2.4er Kernel, hab aber trotzdem viel ausprobiert was nach abhilfe aussah.
Jetzt hoffe ich auf eure Hilfe.
Den letzten Kernel den ich mir selber basteln musste war mal ein 2.2er, seitdem brauchte ich das nicht mehr ist also schon ne ganze weile her.

Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von garibaldi » 23.05.2007 18:12:34

Hi,
das "rst" ist in deiner kernel Zeile falsch plaziert.

Zeilen kannst du dir übrigens automatisch generieren lassen durch das Script

Code: Alles auswählen

# update-grub
Gruß, garibaldi
Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

tantalus

Beitrag von tantalus » 23.05.2007 18:53:15

Danke fuer den Tip mit

Code: Alles auswählen

update-grub
Ich wusste garnicht das es sowas gibt, der erstellt ja auch eine komplett neue

Code: Alles auswählen

 menu.lst
.
Dabei ist mir aufgefallen das er meinen neuen Kernel ohne ramdisk zeile dort mit einbaut. Kann es sein das meine ramdisk irgendwie falsch ist?
Wenn ja wie baue ich dann eine passende dazu?

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von cirrussc » 23.05.2007 19:02:58

tantalus hat geschrieben:Dabei ist mir aufgefallen das er meinen neuen Kernel ohne ramdisk zeile dort mit einbaut. Kann es sein das meine ramdisk irgendwie falsch ist?
Wenn ja wie baue ich dann eine passende dazu?
Mit

Code: Alles auswählen

mkinitrd -o /boot/initrd.img-'uname -r'    'uname -r'
(enthalten in: initramfs-tools)
uname -r für deine Kernelbezeichnung

gruss cirrussc

tantalus

Beitrag von tantalus » 23.05.2007 19:36:33

@cirrussc
mkinitrd
gibt es irgendwie nicht oder nicht mehr.

Wenn ich

Code: Alles auswählen

mkinitrd -o /boot/initrd.img-'uname -r'    'uname -r'
dann ueberschreibe ich aber die vorhanden ramdisk fuer den Debian Kernel, denn wie gesagt wenn nvidia sich installieren liesse haette ich garnicht versucht mir einen neuen Kernel zu bauen.

Ich koennte es ja auch mal so versuchen:

Code: Alles auswählen

mkinitramfs   -o /boot/initrd.img-'uname -r' 'uname -r'   -r /dev/hda1
Aber da habe ich angst mir meine vorhande ramdisk zu zerschiessen.

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von cirrussc » 23.05.2007 19:59:41

Oh, nee das mit dem uname -r ist ja völliger Quatsch, der läuft ja gerade(is syntaktisch glaube auch falsch :oops: )! Da sollte dann also die Kernelversion hin deren init ramdisk zu erstellen ist.
Hab's oben nochmal hingeschrieben, sollte im Packet "initramfs-tools" entalten sein.

Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von garibaldi » 23.05.2007 20:34:41

Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

tantalus

Beitrag von tantalus » 23.05.2007 20:41:05

Hab die
initramfs-tools
installiert und
mkinitrd
ist nicht im System vorhanden.

Habe aber noch etwas anderes rausgefunden, ich habe mich daran erinnert das es das Tool
rdev
gibt.
Folgendes habe ich rausgefunden:

Code: Alles auswählen

Orginal Debian Kernel:
rdev vmlinuz-2.6.20-1-686

           Root device /dev/.static/dev/cciss/c0d0p7

Mein Kernel:
rdev vmlinuz-rst-2.6.20-1-686 

          Root device /dev/.static/dev/hda1

Original Debian Ramdisk:
 rdev initrd.img-2.6.20-1-686 
            
         Root device /dev/.static/dev/rd/c6d8p5

Meine Ramdisk:
rdev initrd.img-rst-2.6.20-1-686 

      Root device 0x5584
Ich weiss aber nicht woher die Unterschiede kommen, und wie ich das aendern kann.

tantalus

Beitrag von tantalus » 23.05.2007 21:00:37

@garibaldi
Hab es angeschaut und ausprobiert, das ergebnis ist leider das selbe wie vorher.

Code: Alles auswählen

mkinitramfs -o /boot/initrd.img-rst-2.6.20-1-686 /lib/modules/2.6.20-1-686
Ich mache fuer heute schluss vielleicht faelllt mir ja bis morgen noch irgendwas ein.
vielen dank erst einmal fuer eure hilfe.

Benutzeravatar
cirrussc
Beiträge: 6582
Registriert: 26.04.2007 19:47:06
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von cirrussc » 23.05.2007 21:14:42

Ahh, ich glaube hier drinnen zu finden: "initrd-tools" oder Metapacket: "linux-initrd-tool".

cirrussc

Benutzeravatar
garibaldi
Beiträge: 2443
Registriert: 17.09.2004 02:31:12
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von garibaldi » 23.05.2007 23:00:57

tantalus hat geschrieben:@garibaldi
Hab es angeschaut und ausprobiert, das ergebnis ist leider das selbe wie vorher.

Code: Alles auswählen

mkinitramfs -o /boot/initrd.img-rst-2.6.20-1-686 /lib/modules/2.6.20-1-686
Ich mache fuer heute schluss vielleicht faelllt mir ja bis morgen noch irgendwas ein.
vielen dank erst einmal fuer eure hilfe.
Ähm, das "rst" ist schon wieder falsch, gehört doch nach hinten. Und beim Pfad für die Module auch. Schau dir dann das Beispiel noch mal in Ruhe an.

Frohes Schaffen morgen, gaaribaldi
Was einer im Reiche der Wahrheit erwirbt, hat er allen erworben... -- Schiller

tantalus

Beitrag von tantalus » 24.05.2007 11:09:27

Hallo,

So ich habe jetzt einen Funktionierenden Kernel, mein Problem ist geloesst!

Habe dazu folgendes getan:

Code: Alles auswählen

make mrproper

make xconfig

make depend && make modules && make modules_install && make bzImage


cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.20-1-686-rst
cp /usr/src/linux/System.map /boot/System-2.6.20-1-686-rst
cp /usr/src/linux/.config /boot/config-2.6.20-1-686-rst

 mkinitramfs -o /boot/initrd.img-2.6.20-1-686-rst    /lib/modules/2.6.20

update-grub
anschliessend Systemneugestartet, und es funktionierte.
Mein Fehler war vorher in den Zeilen zum Kopieren und in der mkinitramfs zeile, habe die Aenderungen mal hervorgehoben:
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.6.20-1-686-rst
cp /usr/src/linux/System.map /boot/System-2.6.20-1-686-rst
cp /usr/src/linux/.config /boot/config-2.6.20-1-686-rst

mkinitramfs -o /boot/initrd.img-2.6.20-1-686-rst /lib/modules/2.6.20

Das rst hat nix zu bedeuten es ist nur fuer mich zu Unterscheidungszwecken gedacht.
Der Hauptfehler den ich machte war die Falsche Pfad angabe in der Zeile mkinitramfs.
Ich bedanke mich bei allen die mir gestern geholfen haben.
Eine Nacht darueber schlafen hilft doch manchmal ungemein. Dafuer weiss ich jetzt wenigsten wie es funktioniert und woran es gelegen hat.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 24.05.2007 12:30:44

Die einfachere Lösung wäre doch gewesen mit make-kpkg den kernel zu bauen. Und das Deb dann mit dpkg zu installieren.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

tantalus

Beitrag von tantalus » 24.05.2007 13:12:21

Hallo,
das mag sein, aber ich kenne

Code: Alles auswählen

make-kpkg
nicht, und die zeilen die man das findet haben sich mir noch nicht wirklich erschlossen. Damit werde ich aber auch nochmal irgendwann befassen.

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 24.05.2007 13:25:24

Code: Alles auswählen

aptitude install kernel-package
und du hast es.

Und ein Links dazu ins Wiki.

http://wiki.debianforum.de/DebianizedLi ... ke-kpkg%29
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

Antworten