PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mein ewiges Problem mit der initrd



thewilli
23.10.04, 18:51
Hallo!
Inzwischen beschäftige ich mich nun einige Zeit mit Linux und bin über die erste DAU - Phase hinausgewachsen. Jedoch gibt es ein Problem mit dem ich mich nun schon einige Zeit herumschlage und auch nach intensivem googeln keine Antwort finden:

Wie erstelle ich eine initrd?

Ich benutze kein Suse, sondern ein System mit Gentoo und ein anderes mit Debian. Unter Suse gab es den schönen und einfachen Befehl mk_initrd. Unter Debian/Gentoo gibt es zwar mkinitrd (ohne "_"), doch dieser scheint dem Anderen nicht zu ähneln, da die entsprechenden Parameter, bei denen man unter Suse das Kernel Image und die Ausgangsdatei angiebt, fehlen.

Also - wie erstelle ich eine initrd für einen Kernel? (Ich weiß das es auch andere Möglichkeiten gibt, möchte aber trotzdem eine initrd, ich weiß schon warum ;))

Danke im Voraus!

[LX]
23.10.04, 20:16
Für Debian z.B. mit

make-kpkg -revision=blah1.0 -initrd kernel_image

thewilli
23.10.04, 20:55
Erstmal Danke!! Ich hab das mal umgesetzt (das Revision ist doch der Zusatzanhang an die Version oder?), funktioniert leider nicht, es erscheint folgende Ausgabe:


wje@wjesys:/boot$ ls
config-2.4.27-1-386 grub initrd.img-2.4.27-1-386 System.map-2.4.27-1-386 vmlinuz-2.4.27-1-386 vmlinuz-2.6.9
wje@wjesys:/boot$ make-kpkg --initrd vmlinuz-2.6.9
Error: Unknown target vmlinuz-2.6.9
use --targets to display help on valid targets.

was hab ich falsch gemacht?

zander
23.10.04, 21:24
vmlinuz-2.6.9 ist kein gültiges Ziel, kernel-image war buchstäblich gemeint.

thewilli
23.10.04, 22:03
oops...

ja, jetzt funktioniert es! Eine Frage aber doch noch - wo finde ich die initrd nachdem ich sie mit make-kpkg erstellt habe?

zander
23.10.04, 22:17
make-kpkg erstellt im übergeordneten Verzeichnis ein .deb Paket; nach dessen Installation finden sich die zugehörigen Dateien in /boot wieder.

Hirogen2
24.10.04, 04:13
>Mein ewiges Problem mit der initrd
Genau, da stellt sich doch erstmal die Frage: wozu initrd überhaupt.

zander
24.10.04, 09:22
Die Frage geht Hand in Hand mit der Frage "wozu hochgradig modulare Kernel" (wobei insbesondere die Modularität beim Systemstart benötigter Subsysteme gemeint ist), die hier schon häufig diskutiert worden ist.

thewilli
24.10.04, 11:03
erstmal danke!

ich hab die initrd jetzt einfach weggelassen und die dateisysteme sowie die wichtigen treiber bzw. unterstützungen direkt in den kernel integriert. wenn ich den kompilierten kernel 2.6.9 nun versuche zu booten, erscheint folgende meldung:



VFS: Cannot open root device "hdb2" or unknown-block(0,0)
Please append a correct "root=" boot option


Das Dateisystem ist ReiserFS, die entsprechende Unterstützung integriert. Mit genau den gleichen Einstellungen in Grub lädt der 2.4er Kernel problemlos. Woran kann das liegen?

zander
24.10.04, 12:10
Offenbar hast Du nicht alle benötigten Treiber direkt in den Kernel integriert; stelle sicher, daß Du Unterstützung für IDE Festplatten eingebunden hast. Ansonsten wirst Du mit der Fehlermeldung als Suchbegriff sicherlich viele threads mit Hinweisen finden.

zwenky
24.10.04, 15:42
hab das selbe problem



so ich hab versucht nen neuen kernel zu backen unter Debian sarge

das komische ist unter debian-woody lief der kernel
jetzt hab ich die config und die gleiche source genommen, aber er geht nicht!
ich hab auch noch bissl rumgebastelt etc.
aber nix geht

hab ihn mit:
make-kpkg --initrd kernel_image gemacht

und mit
make-kpkg kernel_image gemacht

grub :

title <-- Debian 2.6.8 SELBST -->
# root (hd2,4)
kernel (hd2,4)/boot/vmlinuz-2.6.8 root=/dev/hda5 ro
# initrd /boot/initrd.img-2.6.8
# savedefault
# boot
beim booten mit inird sind die # weg und das (hd2,4) hinter kernel in der 2ten zeile

aber nix funzt, kimmt immer cannot mount root fs
obwohl er die platte als hda also meine 60gig maxtor erkennt, danach erkennt er die beiden sata platten
dann kommt kernelpanic


Meine Kernelconfig (http://zwenky.piranho.de/daten/kernel-268-test5.txt)

Hirogen2
24.10.04, 21:06
Meine Kernelconfig (http://zwenky.piranho.de/daten/kernel-268-test5.txt)
Offensichtlich:


# CONFIG_BLK_DEV_AEC62XX is not set
# CONFIG_BLK_DEV_ALI15X3 is not set
CONFIG_BLK_DEV_AMD74XX=y
# CONFIG_BLK_DEV_ATIIXP is not set
# CONFIG_BLK_DEV_CMD64X is not set
# CONFIG_BLK_DEV_TRIFLEX is not set
# CONFIG_BLK_DEV_CY82C693 is not set
# CONFIG_BLK_DEV_CS5520 is not set
# CONFIG_BLK_DEV_CS5530 is not set
# CONFIG_BLK_DEV_HPT34X is not set
# CONFIG_BLK_DEV_HPT366 is not set
# CONFIG_BLK_DEV_SC1200 is not set
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_BLK_DEV_SVWKS is not set
CONFIG_BLK_DEV_SIIMAGE=y
# CONFIG_BLK_DEV_SIS5513 is not set
# CONFIG_BLK_DEV_SLC90E66 is not set
# CONFIG_BLK_DEV_TRM290 is not set
# CONFIG_BLK_DEV_VIA82CXXX is not set

Die solltest du mal alle aktivieren, so wie es die Default Configuration macht. (Es sei denn, du weißt ganz genau, dass du ein SII Controller hast.)

zander
25.10.04, 06:58
Das ist nicht unbedingt notwendig; das eigentliche Problem ist, daß CONFIG_BLK_DEV_IDEDISK nicht gesetzt ist.

thewilli
25.10.04, 12:34
hmm - eigentlich habe ich den IDE Treiber direkt eingebunden, und einen RAID Controller benutze ich auch nicht... Woran kann das sonst noch liegen?

tictactux
26.10.04, 23:03
devfs drin ? => rausschmeißen !

siehe auch:
http://www.linuxforen.de/forums/showthread.php?t=156751&highlight=devfs

wolfgang

Freekazonid
27.10.04, 07:43
/boot extra machen und als ext2 partitionieren - sollte man IMMER machen, dann gibts auch 0 probleme mit dem initrd *******.
hab hier wieder nen fall gehabt der hatte fc2 und /boot als ext3, und wir haben verzweifelt aufgegeben weils irgendwie nicht moeglich ist, trotzdem initrd gebastel und allen moeglichen ******* ausprobiert, aber nee...