Initrd mountolasa

Fórumok

Initrd mountolasa

Hozzászólások

Sziasztok,

Van egy ungzipped initrd fajlom amit a genkernel generalt.
(Csak megjegyzeskent: gentoonal nincs mkinitrd)

A "gzip -d" utan probaltam felmountolni a szokasos modon:
[code:1:8fb70af3ac]mount -o loop ./initrd ./loop -t ext2[/code:1:8fb70af3ac]
majd ezt kaptam:
[code:1:8fb70af3ac]mount: wrong fs type, bad option, bad superblock on /dev/loop1,
or too many mounted file systems
(could this be the IDE device where you in fact use
ide-scsi so that sr0 or sda or so is needed?)[/code:1:8fb70af3ac]
3 mountolt particiom van + a loop lenne, tehat nem lehetnek tul sokan. Termeszetesen probaltam cramfs, es squashfs -sel is, de az eredmeny ua.

Ami furcsa, hogy a loop0 allokalt es nem tudom eltavolitani a memoriabol sem:
[code:1:8fb70af3ac]root@laptop rigidus # ps -FA | grep loop
root 9527 1 0 0 0 0 Aug19 ? 00:00:00 [loop0]
[/code:1:8fb70af3ac]
Termeszetesen a sigkill -re nem teszi a dolgat, ugyanugy allokaltan marad. :twisted:

A kerdeseim a kovetkezok lennenek:
1. Hogyan lehet megallapitani egy image-rol, hogy milyen fajlrendszert tartalmaz?
2. A gentoo ext2 -t hasznal az initrd-hez?

Koszonet a valaszokert elore is :)

PS: Amugy, gyanitom, hogy a 2. -re ext2 lenne az evidens, mivel csak ez van a reiserfs-en kivul a kernelbe forgatva es felmountolja inditaskor. De lehet, hogy valami gentoo specifikus egyedi adatformatumrol lenne szo?

[quote:7a0933d9f4="-GreG-"]forums gentoo org?

Eddig a chaten próbáltam, senkinek nem volt semmi ötlete a problémára, de pont most írom át a gentoo forumába.

Mindenesetre koszi. :)

S ha így próbálod:

mount initrd /root/initrd -t ext2 -o loop

Nem értem, miért az a './initrd' opció nálad, de ha így szoktad... (az 'initrd' alkönyvtár, és nem fájl?)

?

[quote:a6dc20fd6a="LGee"]S ha így próbálod:

mount initrd /root/initrd -t ext2 -o loop

Mar eleg sokfele variaciot vegigjatszottam ezzel is es sajnos ugyanaz.

Legutobb igy neztem:
[code:1:a6dc20fd6a]root@laptop tony # mount /home/tony/initrd /home/tony/loop/ -o loop -t ext2
mount: wrong fs type, bad option, bad superblock on /dev/loop1,
or too many mounted file systems
(could this be the IDE device where you in fact use
ide-scsi so that sr0 or sda or so is needed?)[/code:1:a6dc20fd6a]

Nem értem, miért az a './initrd' opció nálad, de ha így szoktad... (az 'initrd' alkönyvtár, és nem fájl?)

A ./ az aktualis konyvtarat jelenti. Tehat ha eppen benne allok a konyvtarba ahol ezek vannak a kkor nem kell kiirnom a teljes utvonalat mindkettonek.

De ha a stuff pont ott van az aktuális könyvtárban, nem kell elé semmi, csak ha futtatni akarod...

[quote:0f4f85a49f="rigidus"][code:1:0f4f85a49f]mount -o loop ./initrd ./loop -t ext2[/code:1:0f4f85a49f]

Probald egyszeruen igy:
[code:1:0f4f85a49f]mount -o loop ./initrd ./loop[/code:1:0f4f85a49f]

1. Hogyan lehet megallapitani egy image-rol, hogy milyen fajlrendszert tartalmaz?

A "file" parancs fel szokta ismerni a filerendszer imageket.

Nekem igy megy :
[code:1:bcc61e497a]mount -t cramfs /mnt/initrd.img-2.6.8-2-386 /mnt/initrd -o loop[/code:1:bcc61e497a]

Ja bocsi , nem olvastam el reszletesen a nyito hozzaszolast, ugyhogy akkor semmi.

[quote:ca8392b553="pozsy"][quote:ca8392b553="rigidus"][code:1:ca8392b553]mount -o loop ./initrd ./loop -t ext2[/code:1:ca8392b553]

Probald egyszeruen igy:
[code:1:ca8392b553]mount -o loop ./initrd ./loop[/code:1:ca8392b553]

Sajnos ezeket mar vegigzongoraztam. Ilyenkor szokott a memoriaba maradni a loop, aztan onnet nem tavozik. :mrgreen:

Ez viszont megadta a titkok nyitjat:

1. Hogyan lehet megallapitani egy image-rol, hogy milyen fajlrendszert tartalmaz?

A "file" parancs fel szokta ismerni a filerendszer imageket.

[code:1:ca8392b553]
tony@laptop ~/loop $ file initrd
initrd: ASCII cpio archive (SVR4 with no CRC)
[/code:1:ca8392b553]

Viszont pont a lenyeget nem engedi kicsomagolni, a /dev konyvtarat:
[code:1:ca8392b553]tony@laptop ~/loop $ cpio -i < initrd
cpio: dev/null: Operation not permitted
cpio: dev/tty1: Operation not permitted
cpio: dev/console: Operation not permitted
5 blocks
[/code:1:ca8392b553]
Ezt ki lehetne cselezni valahogy? Igazabol nem is annyira a fajlok kellenek, hanem latni azt hogy mit csomagolt bele.

[quote:ce9ccc69a8="LGee"]De ha a stuff pont ott van az aktuális könyvtárban, nem kell elé semmi, csak ha futtatni akarod...

Ez tiszta sor, en is csak utolag tettem hozza megerositeskent.

Helló!

[quote:269d6a38f3="rigidus"]Sajnos ezeket mar vegigzongoraztam. Ilyenkor szokott a memoriaba maradni a loop, aztan onnet nem tavozik. :mrgreen:

man losetup (losetup -d /dev/loopX)

[quote:269d6a38f3="rigidus"]A "file" parancs fel szokta ismerni a filerendszer imageket.
[code:1:269d6a38f3]
tony@laptop ~/loop $ file initrd
initrd: ASCII cpio archive (SVR4 with no CRC)
[/code:1:269d6a38f3]
Viszont pont a lenyeget nem engedi kicsomagolni, a /dev konyvtarat:
[code:1:269d6a38f3]tony@laptop ~/loop $ cpio -i < initrd
cpio: dev/null: Operation not permitted
cpio: dev/tty1: Operation not permitted
cpio: dev/console: Operation not permitted
5 blocks
[/code:1:269d6a38f3]
Ezt ki lehetne cselezni valahogy? Igazabol nem is annyira a fajlok kellenek, hanem latni azt hogy mit csomagolt bele.

A fentiekből úgy gondolom, hogy ez egy initramfs megoldás. Nézd meg a gentoodban a /usr/share/genkernel/ gen_initramfs.sh fájlt! Abból rájössz, hogy miért nem működik a fenti "loopos mount" :-) megoldás, valamint azt is láthatod, hogy mit pakol bele az initrdbe.

Szabi