Mkinitrd / Module für den Zugriff auf rootfs

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
Sebastian.S
Beiträge: 437
Registriert: 13.04.2003 13:17:41

Mkinitrd / Module für den Zugriff auf rootfs

Beitrag von Sebastian.S » 24.08.2005 10:59:12

Hallo,

ich habe jetzt einen Red Hat Kernel installiert um das vorkompilierte aarich.o Modul einzubinden. Jetzt kann ich auch auf das IBM ServeRAID7t ohne Probleme zugreifen.

Nun will ich aber ein / auf das RAID legen. Um nun vom / auch lesen zu können, dachte ich, löse ich das Problem mit einer Initial Ramdisk.

Diese habe ich auch erstellt, jedoch findet er sein / immer noch nicht und panic-ed. Wie kann ich meinem initrd mitteilen, welche Module er in welcher Reihenfolge VOR dem Versuch, das / zu mounten, einbinden soll?

Jetzt habe ich bei den /dev/sd-Aliases in /etc/modules.conf das modul aarich hinzugefügt und aarich in die /etc/mkinitrd/modules eingetragen. Hilft nichts. Woran könnte das liegen?

Wer weiß Rat?


TIA,
Sebastian
Humanity stands at a crossroads. [...] Will we evaluate, learn and profit
from [...] these new ideas and opportunities, or will we [...] suppress all of this in favor of
intellectually weak, [...] and sometimes brutally unfair
and inefficient policies?

Benutzeravatar
theBrain
Beiträge: 231
Registriert: 19.01.2003 21:03:06
Wohnort: Erlangen
Kontaktdaten:

Beitrag von theBrain » 24.08.2005 16:06:35

kompiliere dir selber einen Kernel indem der Raidcontroller nicht als Modul geladen wird.
Das / muss ohne Modul erreichbar sein.

hth

Heiko
man muss die Sau auch füttern,
nicht nur schlachten.

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 » 24.08.2005 16:42:51

Ich was ja nicht was du da für einen Kernel hast. Ob 2,4,xx oder 2.6.xx. Das Problem wird Cramfs. sein. Mit 2.4.xx funktionierts garnicht. Wenn bei einem 2.6.xx cramfs als Modul Kompiliert ist dann auch nicht. Also stelle mal auf mkinird auf

Code: Alles auswählen

romfs

Code: Alles auswählen

/etc/mkinitrd/mkinitrd.conf
.
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.

Benutzeravatar
Sebastian.S
Beiträge: 437
Registriert: 13.04.2003 13:17:41

Beitrag von Sebastian.S » 25.08.2005 00:48:51

Wie kann ich das Modul in den Kernel einkompilieren? Der Kernel ist ein RedHat-Kernel 2.4.21-4.EL und dafür habe ich das fertige Modul. Mehr nicht. Leider gibt es keinen Patch oder dergleichen, mit dem ich die Unterstützung in einen eigenen Kernel backen könnte, es gibt tatsächlich nur aarich.o.


Mit romfs werd ich mal probieren. Stimmt es, dass es mit cramfs trotzdem auf 2.4-Kerneln klappt, wenn diese die Debian-Patches enthalten? (Nur so interessehalber)....


Danke,
Sebastian
Humanity stands at a crossroads. [...] Will we evaluate, learn and profit
from [...] these new ideas and opportunities, or will we [...] suppress all of this in favor of
intellectually weak, [...] and sometimes brutally unfair
and inefficient policies?

Benutzeravatar
chabayo
Beiträge: 930
Registriert: 17.08.2005 07:44:33
Lizenz eigener Beiträge: Artistic Lizenz

Beitrag von chabayo » 25.08.2005 01:06:08

...ich will gerne auch mit initrd booten, weil ich gelesen hatte, dass ich beim runterfahren den kompletten speicher der laufenden prozessen in nem file ablegen kann das sich wieder mit dem initrd-system in den speicher legen laesst...oder so...von xp kennst mans doch...

...und weil ich da grad im /usr/src/linux/Documentation/initrd.txt gelesen habe das der kernel die initrd erst als root('/'), mountet, dort die

/linuxrc

ausfuehrt, und man damit seine systemeinstellungen macht (wie autoexec oder startup-sequence).

...steht da wirklich so in etwa drin.


.P.S.: wenn mir einer nen tipp zu oben angesprochenem hat...bin da grad am suchen...

Benutzeravatar
Hosi
Beiträge: 226
Registriert: 17.03.2003 15:17:29

Beitrag von Hosi » 25.08.2005 04:20:15

Du könntest alternativ versuchen, dass initrd-Image über loopback zu mounten (mkdir /huh && mount -t cramfs -o,loop,rw /initrd.img /huh) und die linuxrc so zu bearbeiten, dass das Modul geladen wird. Allerdings brauchst Du dann auch einen Kernel, der mit initrd und cramfs zurechtkommt. Ob das der RedHat-Kernel kann, weiß ich nicht (schau in /proc/config[.gz] nach).

Einen neuen Kernel wirst gar Du nicht kompilieren können, da das Modul nur binär vorliegt?

Vielleicht fragst Du außerdem mal bei IBM nach?

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 » 25.08.2005 08:47:27

Mit den den Kerneln 2.4.xx klappte das mit cramfs nur wenn sie den entsprechen Patch von Debian enthalten. Bei den Kernel 2.6.xxx von Hause aus , die brauchen zusätlich keinen Patch mehr.
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.

Benutzeravatar
Sebastian.S
Beiträge: 437
Registriert: 13.04.2003 13:17:41

Beitrag von Sebastian.S » 25.08.2005 12:50:57

@Hosi: Ja, das Modul liegt leider nur binär vor. IBM hilft da auch nicht weiter ("Wir raten Ihnen dringend, ein von IBM offiziell unterstütztes Betriebssystem einzusetzen")

Welche Einstellungen in der kernel-config müssen denn aktiviert sein, damit der Kernel mit initrd zurecht kommt?

@KBDCALLS: Leider funktioniert das Image mit romfs auch nicht..... Ich gebs bald auf :-(



Danke an Alle,
Sebastian
Humanity stands at a crossroads. [...] Will we evaluate, learn and profit
from [...] these new ideas and opportunities, or will we [...] suppress all of this in favor of
intellectually weak, [...] and sometimes brutally unfair
and inefficient policies?

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 » 25.08.2005 12:57:59

Wo ist der Kernel her? Link?
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.

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 » 25.08.2005 13:25:49

Hier sind noch Module zu finden, aber auch nur wieder vorkompiliert adaptec
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.

Benutzeravatar
Sebastian.S
Beiträge: 437
Registriert: 13.04.2003 13:17:41

Beitrag von Sebastian.S » 25.08.2005 15:47:22

Der Kernel ist ein Red Hat Linux (Enterprise Linux 3) Kernel 2.4.21-4 von http://www.whiteboxlinux.org

Die genannte Seite enthält Module für SuSE, meinst du das könnte irgendwie helfen?
Humanity stands at a crossroads. [...] Will we evaluate, learn and profit
from [...] these new ideas and opportunities, or will we [...] suppress all of this in favor of
intellectually weak, [...] and sometimes brutally unfair
and inefficient policies?

Benutzeravatar
Hosi
Beiträge: 226
Registriert: 17.03.2003 15:17:29

Beitrag von Hosi » 25.08.2005 16:31:33

Damit ein Kernel über eine initrd gestartet werden kann, müssen mindestens CONFIG_BLK_DEV_RAM und CONFIG_BLK_DEV_INITRD gesetzt sein (direkt, nicht als Modul). Zusätzlich muss das verwendete Filesystem für die initrd mit rein (also z.B. CONFIG_CRAMFS bei 2.6).
Schau mal, ob Du die "config" des RedHat-Kernel findest (in /boot/?). Die initrd müsste dann auch mit dem Filesystem erstellt werden, das der Kernel unterstützt.

Und bevor Du die initrd erstellst (z.B. mkinitrd -o /boot/initrd.img /lib/modules/2.4.21-4.EL) müsstest Du in /etc/mkinitrd/modules Dein Modul eintragen. mkinitrd nutzt standardmäßig allerdings cramfs.

Benutzeravatar
Sebastian.S
Beiträge: 437
Registriert: 13.04.2003 13:17:41

Beitrag von Sebastian.S » 25.08.2005 23:02:54

Hosi hat geschrieben:Damit ein Kernel über eine initrd gestartet werden kann, müssen mindestens CONFIG_BLK_DEV_RAM und CONFIG_BLK_DEV_INITRD gesetzt sein (direkt, nicht als Modul). Zusätzlich muss das verwendete Filesystem für die initrd mit rein (also z.B. CONFIG_CRAMFS bei 2.6).
Schau mal, ob Du die "config" des RedHat-Kernel findest (in /boot/?). Die initrd müsste dann auch mit dem Filesystem erstellt werden, das der Kernel unterstützt.
Diese beiden Einstellungen sind in den Red Hat Kernel fest einkompiliert, allerdings sind sowohl CRAMFS als auch ROMFS nur als Modul drin..... Ich werd mal gucken, ob ich vielleicht doch noch nen SuSE-Kernel mit alien behandle oder so ;-)


THX,
Sebastian
Humanity stands at a crossroads. [...] Will we evaluate, learn and profit
from [...] these new ideas and opportunities, or will we [...] suppress all of this in favor of
intellectually weak, [...] and sometimes brutally unfair
and inefficient policies?

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 » 26.08.2005 14:41:20

Es gibt ja noch andere Möglickeiten. Das Dateisystem der Initrd ist ja nicht festgeschrieben, man kann sie im EXT2 oder Aauch Minix Format erstellen. Da mußte man beim Roten Hut schauen wie der das macht.
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.

Benutzeravatar
Sebastian.S
Beiträge: 437
Registriert: 13.04.2003 13:17:41

Beitrag von Sebastian.S » 27.08.2005 12:47:57

KBDCALLS hat geschrieben:Es gibt ja noch andere Möglickeiten. Das Dateisystem der Initrd ist ja nicht festgeschrieben, man kann sie im EXT2 oder Aauch Minix Format erstellen. Da mußte man beim Roten Hut schauen wie der das macht.
Die Distribution selber ist ja ein Debian. Also müsste man nur mkinitrd.conf so anpassen, dass dir initrd ein ext2 wird. Weißt du, wie das geht?


Liebe Grüße
Sebastian
Humanity stands at a crossroads. [...] Will we evaluate, learn and profit
from [...] these new ideas and opportunities, or will we [...] suppress all of this in favor of
intellectually weak, [...] and sometimes brutally unfair
and inefficient policies?

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 » 27.08.2005 12:58:33

Eine Lösung ist mir bislang dazu auch noch nicht eingefallen.
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