mkinitrd mit minix

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
raina
Beiträge: 206
Registriert: 10.02.2004 18:29:42
Wohnort: Berlin

mkinitrd mit minix

Beitrag von raina » 01.06.2005 17:19:59

Ich brauche eine initrd mit minix-FS.
Leider haben mkcramfs und mkfs.minix verschiedene syntax, habe im mkinitrd.conf in der Zeile

Code: Alles auswählen

MKINITRD=mkcramfs %s %s > /dev/null
mkcramfs durch mkfs.minix ersetzt und dann

Code: Alles auswählen

 mkinitrd -o /boot/vmlinuz-2.6.11.11 2.6.11.11
aufgerufen, aber so einfach geht's nicht:
mkfs.minix (util-linux-2.12p)
Usage: mkfs.minix [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]
Ich hab leider nichts darüber gefunden, was die Parameter %s im Skript zu bedeuten haben, auskommentieren hilft nichts. Aber gehen solls wohl:
man mkinitrd
...
NOTES
By default mkinitrd will generate a CRAMFS image. You can generate an
initrd image of another type by changing the MKIMAGE setting in mkini-
trd.conf.
Was fehlt?
Debian kaputt?
http://www.debianforum.de
Windows kaputt?
Hotline: 0180 5 67 23 30 (Support-Anfragen werden mit 75,00 € + MwSt. pro Anfrage berechnet)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 01.06.2005 22:31:52

Code: Alles auswählen

SYNOPSIS
       mkcramfs  [-h]  [-b  blksize]  [-e edition] [-i file] [-n name] dirname
       outfile
d.h.:

das erste %s muß dem Verzeichnis entsprechen, das zweite dem outputfile


so ungefähr (weil ungetestet) könnte ein "mkminixfs" Script ausschauen:

Code: Alles auswählen

#!/bin/sh
INPUTDIR=$1
OUTPUTFILE=$2
TMPFILE=/tmp/initrd.tmp
MOUNTPOINT=/tmp/initrd

dd if=/dev/zero of=$TMPFILE bs=1k count=400
mkfs.minix -c $TMPFILE
test ! -d $MOUNTPOINT || exit
mkdir $MOUNTPOINT
test -d $MOUNTPOINT || exit
mount -o loop -t minix $TMPFILE $MOUNTPOINT || exit
cp -a $INPUTDIR/* $MOUNTPOINT/ || exit
umount $MOUNTPOINT
rmdir $MOUNTPOINT
cp $TMPFILE $OUTPUTFILE
und folgende Zeile in die mkinitrd.conf eintragen:

Code: Alles auswählen

MKIMAGE=mkminixfs %s % >/dev/null

Gruß
gms

Benutzeravatar
raina
Beiträge: 206
Registriert: 10.02.2004 18:29:42
Wohnort: Berlin

Beitrag von raina » 02.06.2005 18:13:07

Versteh ich nicht!
Vielen Dank für den Aufwand ein neues mkinitrd zu programmieren, aber wie ruf ich das auf, wo geb ich meine Kernelversion ein ...?
Ich will nur sowas machen wie hier beschrieben:
http://www.digitalhermit.com/linux/Kern ... RATION-2-6
To create the initrd, do the following:

$ mkinitrd /boot/initrd-2.6.0.img 2.6.0
Meine /etc/mkinitrd/mkinitrd.conf enthält folgenden Abschnitt
# Command to generate the initrd image.
MKIMAGE='mkcramfs %s %s > /dev/null'
man mkinitrd.conf erklärt dazu
...
MKIMAGE
This should be a command that produces an initrd image given a
directory. It must contain two occurrences of %s. The first
one will be replaced by the path to the directory for the candi-
date image. The other one will be replaced by the name of the
output file. This can be used to produce images of types other
than CRAMFS. For example, to generate ROMFS images, set MKIMAGE
to 'genromfs -d %s -f %s'.
für mich sieht das so aus, als könnte ich da irgendwie eine Zeile mit mkfs.minix einfügen, kenn aber die Syntax nicht.
Debian kaputt?
http://www.debianforum.de
Windows kaputt?
Hotline: 0180 5 67 23 30 (Support-Anfragen werden mit 75,00 € + MwSt. pro Anfrage berechnet)

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 » 02.06.2005 18:36:11

Aber wieso muß die Initrd ausrechnet im Minixformat sein.
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
raina
Beiträge: 206
Registriert: 10.02.2004 18:29:42
Wohnort: Berlin

Beitrag von raina » 02.06.2005 18:49:03

Ich versuch nach dem HOWTO: http://loop-aes.sourceforge.net/loop-AES.README meine Rootpartition zu verschlüsseln, aber
build-initrd.sh script depends on having minix file
system support in the kernel and working mkfs.minix program binary.
Ich hab jetzt schon nen neuen Kernel gebaut und nach der Empfehlung
CONFIG_CRAMFS=n is needed because cramfs code may
incorrectly detect initrd's compressed minix file system as cramfs file
system.
den neuen Kernel ohne cramfs Unterstützung gebaut. Würde jetzt aber gerne zuvor mal testen, ob der neue Kernel auch funzt. Dafür brauche ich eini minix- initrd.
Ist das O.K.? :wink:
Debian kaputt?
http://www.debianforum.de
Windows kaputt?
Hotline: 0180 5 67 23 30 (Support-Anfragen werden mit 75,00 € + MwSt. pro Anfrage berechnet)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 02.06.2005 19:24:38

raina hat geschrieben:Versteh ich nicht!
Vielen Dank für den Aufwand ein neues mkinitrd zu programmieren
Ich habe kein mkinitrd programmiert, sondern ein mkminixfs als äquivalent zum mkcramfs
raina hat geschrieben: für mich sieht das so aus, als könnte ich da irgendwie eine Zeile mit mkfs.minix einfügen, kenn aber die Syntax nicht.
mkfs.minix ist das Äquivalent zu mkfs.cramfs. Beide erstellen nur ein Filesystem auf einem Device.

mkminixfs ist als Äquivalent zu mkcramfs gedacht und soll daher wie dieses ein von mkinitrd erstelltes Verzeichnis in ein initrd-File "umwandeln".

Der Aufruf von mkinitrd bleibt daher vollkommen gleich, du mußt nur diese Zeile

Code: Alles auswählen

MKIMAGE=mkcramfs %s %s > /dev/nulll
durch diese

Code: Alles auswählen

MKIMAGE=<path to>/mkminixfs %s % >/dev/null
in der "mkinitrd.conf" ändern


Gruß
gms

Antworten