Jump to content


Photo

How to mount a jffs2 enigma2 image on Linux

HOWTO

  • Please log in to reply
3 replies to this topic

#1 alpacino

  • Member
  • 4 posts

0
Neutral

Posted 19 November 2010 - 22:28

### How to mount a jffs2 enigma2 image on Linux .

This can be used for mounting a linux or enigma2 image just to check its contents.
Obviously, using an altered image via this procedure to flash a box, is a little dangerous !!!

1. sudo mkdir /media/jffs2

2. create the following script (chmod +x).

--------------------------------
/usr/local/bin/mount_jffs2.sh :
--------------------------------
#!/bin/bash

if [ -z "$1" ]; then
echo "Loop mount an JFFS2 image to /media/jffs2."
echo "Using a block device emulating a Memory Technology Device (MTD) via block2mtd."
echo ""
echo "Usage : sudo $0 /path/to/image.jffs2 [unmount]"
exit 1
fi

# ORIGINAL SCRIPT is FROM :
# https://wiki.maemo.o..._the_root_image


JFFSIMG=$1 # jffs image
LOOP="/dev/loop1" # loop device
MP="/media/jffs2" # mount point
MTDBLOCK="/tmp/mtdblock0" # MTD device file
KVER="2.6"
BLKMTD="block2mtd"
BLKMTDERASESIZE="0x20000" # mtd eraseblock bytes size in hex (131072 bytes, 128.0 KiB)
BLKMTDOPTIONS="block2mtd=${LOOP},${BLKMTDERASESIZE}" # module params
UMNT=""

echo "$0" | grep unmount_ >/dev/null 2>&1
[ $? -eq 0 ] && UMNT=1
if [ $# -gt 1 -a x"$2"x = x"unmount"x ]; then
UMNT=1
fi

uname -r | egrep '^2\.6' >/dev/null 2>&1
if [ $? -ne 0 ]; then
KVER="2.4"
BLKMTD=blkmtd
fi


#### mount ######
if [ x"${UMNT}"x = x""x ]; then
if [ ! -b ${MTDBLOCK} ] ; then
mknod ${MTDBLOCK} b 31 0 || exit 1
fi
lsmod | grep loop >/dev/null 2>&1
if [ $? -ne 0 ]; then
modprobe loop
[ $? -ne 0 ] && echo "loopback module loading failed" && exit 1
sleep 1
fi
losetup ${LOOP} ${JFFSIMG} || exit 1
sleep 1
modprobe mtdblock
if [ x"${KVER}"x = x"2.4"x ]; then
modprobe ${BLKMTD} device=${LOOP} erasesz={BLKMTDERASESIZE} || exit 1
else
modprobe ${BLKMTD} ${BLKMTDOPTIONS} || exit 1
## next is useless
#echo "${LOOP},{BLKMTDERASESIZE}" > /sys/module/block2mtd/parameters/block2mtd
fi
sleep 1
## test
cat /proc/mtd
mtdinfo -a
modprobe jffs2
[ ! -d ${MP} ] && mkdir -p ${MP}
mount -t jffs2 ${MTDBLOCK} ${MP} || exit 1

else
#### ummount ######
umount ${MP}
if [ $? -ne 0 ]; then
modprobe -r jffs2
modprobe -r ${BLKMTD}
modprobe -r mtdblock
sleep 1
losetup -d ${LOOP}
/bin/rm -f ${MTDBLOCK}
echo "Cannot unmount JFFS2 at $MP" && exit 1
fi
modprobe -r jffs2
modprobe -r ${BLKMTD}
modprobe -r mtdblock
sleep 1
losetup -d ${LOOP}
/bin/rm -f ${MTDBLOCK}
fi
-------------------------------------------


3. In order to mount/umount directly from nautilus you need to have the following
scripts in your ~/.gnome2/nautilus-scripts/ folder (chmod +x).

Simply right click on image and go Scripts-> Mount_jffs2 or UnMount_jffs2.

-----------
Mount_jffs2
-----------
#!/bin/bash
# mount

gksudo -k /bin/echo "got r00t?"

BASENAME=`basename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS .jffs2`

if sudo /usr/local/bin/mount_jffs2.sh $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
then
zenity --info --title "JFFS2 Mounter" --text "$BASENAME Successfully Mounted on /media/jffs2"
#nautilus /media/jffs2 --no-desktop
exit 0

else

zenity --error --title "JFFS2 Mounter" --text "Cannot mount $BASENAME!"
exit 1

fi


--------------
UnMount_jffs2
--------------
#!/bin/bash
# unmount

gksudo -k /bin/echo "got r00t?"

BASENAME=`basename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS .jffs2`

if sudo /usr/local/bin/mount_jffs2.sh $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS unmount
then
zenity --info --title "JFFS2 Mounter" --text "Successfully unmounted $BASENAME on /media/jffs2"
exit 0

else

zenity --error --title "JFFS2 Mounter" --text "Cannot unmount $BASENAME!"
exit 1

fi

Re: How to mount a jffs2 enigma2 image on Linux #2 hemertje

  • Forum Moderator
    PLi® Core member
  • 33,473 posts

+118
Excellent

Posted 20 November 2010 - 14:50

please use our wiki for additional information

on the Glassfibre 1GB DVB-C...


Re: How to mount a jffs2 enigma2 image on Linux #3 alpacino

  • Member
  • 4 posts

0
Neutral

Posted 21 November 2010 - 00:13

it's here:
http://www.pli-image...MountJffs2Image

Re: How to mount a jffs2 enigma2 image on Linux #4 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 21 November 2010 - 00:18

thanks :)



Also tagged with one or more of these keywords: HOWTO

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users