Kernel ohne initrd

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
obg
Beiträge: 26
Registriert: 09.05.2006 11:04:35

Kernel ohne initrd

Beitrag von obg » 06.09.2006 18:53:24

Hallo,

ich versuche jetzt schon eine Weile einen neuen Kernel zu bauen (
Debian Sarge 2.4.33).
Leider scheitert es.

Hab es jetzt mit und ohne initrd (mit und ohen cramsfs) versucht.
Was muss ich im kernel alles weglassen das ich keine initrd brauche?
Bzw. was macht initrd eigentlich ganz genau?


Fehlermeldung beim booten

Code: Alles auswählen

VFS: Cannot open root device "hde2" or 21:02
Please append a correct "root" boot option 
hde ist absicht vom anderen kernel kann er auch booten.

menu.lst

Code: Alles auswählen

title           Debian GNU/Linux, kernel 2.4.33
root            (hd0,1)
kernel          /boot/vmlinuz-2.4.33 root=/dev/hde2 ro
savedefault
boot

title           Debian GNU/Linux, kernel 2.4.33 (recovery mode)
root            (hd0,1)
kernel          /boot/vmlinuz-2.4.33 root=/dev/hde2 ro single
savedefault
boot

title           Debian GNU/Linux, kernel 2.4.27-2-386
root            (hd0,1)
kernel          /boot/vmlinuz-2.4.27-2-386 root=/dev/hde2 ro
initrd          /boot/initrd.img-2.4.27-2-386
savedefault
boot

title           Debian GNU/Linux, kernel 2.4.27-2-386 (recovery mode)
root            (hd0,1)
kernel          /boot/vmlinuz-2.4.27-2-386 root=/dev/hde2 ro single
initrd          /boot/initrd.img-2.4.27-2-386
savedefault
boot
fstab

Code: Alles auswählen


# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/hde2       /               reiserfs notail          0       1
/dev/hdh1       /save           reiserfs defaults        0       2
/dev/hde1       none            swap    sw              0       0
/dev/hdc        /media/cdrom0   iso9660 ro,user,noauto  0       0
/dev/fd0        /media/floppy0  auto    rw,user,noauto  0       0
config vom kernel:
http://www.pasting.de/?449

Kompiliert jeweils mit

Code: Alles auswählen

make-kpkg --revision=custom.1.0 kernel_image

Code: Alles auswählen

make-kpkg --revision=custom.1.0 --initrd kernel_image
wenn mir da bitte einer helfen könnte, die kiste (compaq proliant dl320) zum laufen zu bekommen.

hatte das selbe sys gestern mit etch 4-5x neu kompiliert, ohne probleme, leider bin ich auf einen 2.4.x kernel angewiesen

danke im vorraus

Code: Alles auswählen

make-kpkg --revision=custom.1.0 kernel_image

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 06.09.2006 19:06:58

Du musst eigentlich nix weglassen. Du musst nur ein paar Dinge, die du zum Booten brauchst fest in deinen Kernel einbauen.
Im Normalfall sind das die Treiber fuer den IDE-Chipsatz, den SCSI-/SATA-Controller und die Treiber fuer das benutzte Dateisystem. Sobald der Kernel ohne was nachzuladen die Root-Partitionen lesen kann, kann er dort alle benoetigten Module herholen und braucht die initrd nicht mehr.

Welche Konfigurationspunkte in der Kernelconfig das nun bei dir sind kann ich dir auch nicht sagen. Aber ich denke, du solltest nun ungefaehr ne Vorstellung haben, was du brauchst.

morpheus_on_the_root
Beiträge: 16
Registriert: 30.08.2006 16:46:18

Beitrag von morpheus_on_the_root » 06.09.2006 19:08:26

Ich glaube bei dem 2.4er Kernel brauchst du für die cramfs Geschichte noch einen patch.

mfg

obg
Beiträge: 26
Registriert: 09.05.2006 11:04:35

Beitrag von obg » 06.09.2006 19:53:07

morpheus_on_the_root hat geschrieben:Ich glaube bei dem 2.4er Kernel brauchst du für die cramfs Geschichte noch einen patch.

mfg
hmm auch bei den aktuellen?

wie dem auch sei ich hab das ganze so gelöst:
# /etc/mkinitrd/mkinitrd.conf:
# Configuration file for mkinitrd(8). See mkinitrd.conf(5).
#
# This file is meant to be parsed as a shell script.

Code: Alles auswählen

[...]

# Command to generate the initrd image.
#MKIMAGE='mkcramfs %s %s > /dev/null'
MKIMAGE='genromfs -d %s -f %s'

[...]

das sollte den patch ersetzen ....

Du musst eigentlich nix weglassen. Du musst nur ein paar Dinge, die du zum Booten brauchst fest in deinen Kernel einbauen.
Im Normalfall sind das die Treiber fuer den IDE-Chipsatz, den SCSI-/SATA-Controller und die Treiber fuer das benutzte Dateisystem. Sobald der Kernel ohne was nachzuladen die Root-Partitionen lesen kann, kann er dort alle benoetigten Module herholen und braucht die initrd nicht mehr.

Welche Konfigurationspunkte in der Kernelconfig das nun bei dir sind kann ich dir auch nicht sagen. Aber ich denke, du solltest nun ungefaehr ne Vorstellung haben, was du brauchst.
Wenn ich das beachte, kann ich dann den support für den initrd usw. aus dem kernel rausnehmen?

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

Beitrag von KBDCALLS » 06.09.2006 20:58:28

Bei Kernel 2.4.xx wird der Cramfspatch immer noch gebraucht, wenn bei einem Kernel 2.4.xx mit Initrd arbeiten wiil kommt man nicht umhin in die mkinitrd.conf das Verhahren zur Erstellung der Initrd zu änderen . Oder man nimmt die Original Debiansourcen.
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.

obg
Beiträge: 26
Registriert: 09.05.2006 11:04:35

Beitrag von obg » 06.09.2006 21:06:46

hmm hab jetzt mal alles was ich über
lspci
und
lsmod gefunden habe fest in kernel gebaut,
hat leider auch nicht funktioniert (also ohne initrd)
leider steht der server atm in der arbeit und ich bin zuhause ...
muss ich wohl bis morgen warten :(
Oder man nimmt die Original Debiansourcen.
leider gibts ja für sargen nur 2.4.27 ... was neueres gibts ja nicht, leider

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

Beitrag von KBDCALLS » 06.09.2006 21:15:36

Hast du die Modulliste ? Im Prinzip reicht der IDE Kram das Dateisystem auf dem sich die Bootpartiton befindet und der Chipsatztreiber.
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.

obg
Beiträge: 26
Registriert: 09.05.2006 11:04:35

Beitrag von obg » 06.09.2006 22:39:50

jep die ausgaben hab ich noch:
lspci

0000:00:00.0 Host bridge: ServerWorks CNB20LE Host Bridge (rev 06)
0000:00:00.1 Host bridge: ServerWorks CNB20LE Host Bridge (rev 06)
0000:00:02.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
0000:00:03.0 System peripheral: Compaq Computer Corporation Advanced System Management Controller
0000:00:0f.0 ISA bridge: ServerWorks OSB4 South Bridge (rev 51)
0000:00:0f.1 IDE interface: ServerWorks OSB4 IDE Controller
0000:00:0f.2 USB Controller: ServerWorks OSB4/CSB5 OHCI USB Controller (rev 04)
0000:01:03.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
0000:01:04.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
0000:01:05.0 IDE interface: Silicon Image, Inc. (formerly CMD Technology Inc) PCI0649 (rev 02)

lsmod

Module Size Used by Not tainted
appletalk 17796 12 (autoclean)
af_packet 11048 1 (autoclean)
usb-ohci 16488 0 (unused)
usbcore 52268 1 [usb-ohci]
ide-scsi 8272 0
scsi_mod 86052 1 [ide-scsi]
e100 42868 1
md 54912 0 (autoclean) (unused)
ide-cd 27072 0
cdrom 26212 0 [ide-cd]
rtc 5768 0 (autoclean)
reiserfs 152944 2 (autoclean)
ide-detect 288 0 (autoclean) (unused)
cmd64x 6596 1 (autoclean)
serverworks 7292 1 (autoclean)
ide-disk 12448 3 (autoclean)
ide-core 91832 3 (autoclean) [ide-scsi ide-cd ide-detect cmd64x serverworks ide-disk]
unix 12752 14 (autoclean)

Antworten