Wie kann ich auf der D-Box ein cdk-cramfs.img mounten?
Versucht habe ich es über das Loopback-Device.
Der Kernel in der Yadd vom 04.05. hat Loop-Support.
Die Devices liegen unter /dev/loop/0-6
Mache ich ein:
mount -t cramfs /tmp/cdk-cramfs.img /mnt -o loop
bekomme ich die Fehlermeldung: Bad Block Device
Ein:
mount -t cramfs /tmp/cdk-cramfs.img /mnt -o loop=/dev/loop/0
bringt mich auch nicht weiter.
Wieso liegen die Loop-Devices eigentlich im Unterverzeichnis loop?
Unter Linux sind sie direkt unter /dev als loop0-loop6.
Über Anregungen würde ich mich freuen. Danke!
PS: Das cdk-cramfs.img ist noch im Big-Endian-Format.
Loopback-Device
-
- Tuxboxer
- Beiträge: 2452
- Registriert: Montag 21. Oktober 2002, 10:04
Kernel:
Busybox:
Dann klappts auch mit dem Loop-Device
P.S.: Getestet nur mit SquashFS, aber das hattet ihr damals ja noch nicht...
Code: Alles auswählen
CONFIG_BLK_DEV_LOOP=y
Code: Alles auswählen
CONFIG_FEATURE_MOUNT_LOOP=y
P.S.: Getestet nur mit SquashFS, aber das hattet ihr damals ja noch nicht...
Schon gelesen ???
ENIGMA-DOC
ENIGMA-DOC
-
- Developer
- Beiträge: 279
- Registriert: Mittwoch 26. Juni 2002, 22:19
Ich zitiere mich mal selbst aus einem anderen Forum.
Ist zwar für ein jffs2 Image. funktioniert aber vielleicht auch mit nem cramfs
Vielleicht hilfts ja...
Ist zwar für ein jffs2 Image. funktioniert aber vielleicht auch mit nem cramfs
Vielleicht hilfts ja...
So, habs geschafft.
Es fehlte noch der blkmtd Treiber, den ich über die Kernelconfig als Modul kompiliert habe.
Damit kann man ein jffs2 Dateisystem auf nem Blockdevice betreiben.
Ging dann konkret mit:
losetup /dev/loop/0 /tmp/image.img
insmod blkmtd device=/dev/loop/0
mount -t jffs2 /dev/mtdblock/5 /mnt/image
Gruß
Der Papst
Der Papst
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
-
- Tuxboxer
- Beiträge: 2452
- Registriert: Montag 21. Oktober 2002, 10:04
Mit kann man z.B. ein squashfs-root-Image nach /tmp/mtd3 mounten und dann wie ein normales ro-Verzeichnis behandeln, es lassen sich z.B. auch Anwendungen ausführen (hab mal versucht Neutrino im Loop-Device zu starten, das hat zunächst mal nicht geklappt).
Denkbar ist (mit einigen Anpassungen) z.B. Plugins, Spiele in solch einem tmp-Image zu haben, das dann bei Bedarf gemounted wird.
Weswegen es aber hauptsächlich im neuen yadi-Snap ist, ist weil so die Überprüfung eines zu flashenden Update-mtd3s möglich ist, es kann z.B. die Versionsnummer usw ausgelesen werden, bevor geflasht wird.
Das Anlegen der devices wie oben beschrieben ist im 1.10.0.1 nicht notwendig.
Code: Alles auswählen
mount -t squashfs -o loop /tmp/mtd3.img /tmp/mtd3
Denkbar ist (mit einigen Anpassungen) z.B. Plugins, Spiele in solch einem tmp-Image zu haben, das dann bei Bedarf gemounted wird.
Weswegen es aber hauptsächlich im neuen yadi-Snap ist, ist weil so die Überprüfung eines zu flashenden Update-mtd3s möglich ist, es kann z.B. die Versionsnummer usw ausgelesen werden, bevor geflasht wird.
Das Anlegen der devices wie oben beschrieben ist im 1.10.0.1 nicht notwendig.
Schon gelesen ???
ENIGMA-DOC
ENIGMA-DOC
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
-
- Neugieriger
- Beiträge: 9
- Registriert: Mittwoch 22. Mai 2002, 08:11
Hallo essu,
vielen Dank für die Antwort.
Besser spät als nie
Meine Lösung war bisher das Modul mtdram nachzuladen und dann mit
dd if=$CRAMFS of=/dev/mtd/7
mount ...
das cramfs/jffs2 zu laden.
Das cramfs kann man ja mittlerweile auch prima auf dem PC via loop mounten, seit es little-endian ist. Squashfs mit entsprechendem Patch ebenso.
Nur mit dem JFFS2 habe ich noch so meine Probleme. Mit dem Kernel 2.4.xx bekomme ich das big-endian der dbox nicht gemountet. Das funktioniert glaube ich erst mit neueren Kernels. Oder kennst du hierfür eine Möglichkeit für Kernel 2.4.21/27?
Grüße,
gryzor
vielen Dank für die Antwort.
Besser spät als nie
Meine Lösung war bisher das Modul mtdram nachzuladen und dann mit
dd if=$CRAMFS of=/dev/mtd/7
mount ...
das cramfs/jffs2 zu laden.
Das cramfs kann man ja mittlerweile auch prima auf dem PC via loop mounten, seit es little-endian ist. Squashfs mit entsprechendem Patch ebenso.
Nur mit dem JFFS2 habe ich noch so meine Probleme. Mit dem Kernel 2.4.xx bekomme ich das big-endian der dbox nicht gemountet. Das funktioniert glaube ich erst mit neueren Kernels. Oder kennst du hierfür eine Möglichkeit für Kernel 2.4.21/27?
Grüße,
gryzor