UnixCommands
From University of Washington - Ubicomp Research Page
Jump to navigationJump to search
Mounting a JFFS2 Image
The JFFS2 filesystem is intended to be used with a flash based filesystem and not a block filesystem like a harddrive (or a USB stick which emulates a block filesystem). Because of this you cannot simply mount a .jffs2 image using the loopback device. Instead you need to use a flash emulator (blkmtd in this case) which reads the .jffs2 image via a loopback device (remember since we need the emulation there's no way to mount the loopback directly).
- Connect a free loop device to the .jffs2 image: <bash>losetup /dev/loop0 ~/fs.jffs2</bash>
- Connect the blkmtd emulator module to the loopback device: <bash>modprobe blkmtd device=/dev/loop0</bash>
- Mount the mtdblock device blkmtd attached to <bash>mount /dev/mtdblock0 /mnt/jffs2Image</bash>
- JFFS2 image location:
- Directory to mount the image on:
- Loop back device to use:
Quick Start
-
The basic steps are (you will need to be root to mount and load modules):
All together that would be (where you would need to change ~/fs.jffs2 to point to where your image is and /mnt/jffs2Image to your chosen mount point). <bash>losetup /dev/loop0 ~/fs.jffs2 modprobe blkmtd device=/dev/loop0 mount /dev/mtdblock0 /mnt/jffs2Image</bash>
Creating missing devices
-
If you're missing loop devices here are the mknod commands to create loop0-loop5:
<bash>mknod /dev/loop0 b 7 0
mknod /dev/loop1 b 7 1
mknod /dev/loop2 b 7 2
mknod /dev/loop3 b 7 3
mknod /dev/loop4 b 7 4
mknod /dev/loop5 b 7 5</bash>
And here's how to create the mtdblock devices:
<bash>mknod /dev/mtdblock0 b 31 0
mknod /dev/mtdblock1 b 31 1
mknod /dev/mtdblock2 b 31 2
mknod /dev/mtdblock3 b 31 3
mknod /dev/mtdblock4 b 31 4
mknod /dev/mtdblock5 b 31 5</bash>
Mounting Script
-
Modified from Ed Bartosh's script (here):
<bash>