Skip to contentSkip to conversation

Loosing grub mbr after mounting jffs2 image with loop0 and mtdblock0

DISCUSSION [email protected] 1 participant 2 messages Oct 11, 2004 – Oct 13, 2004 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

Hello list!

I'm relatively new to linux-mtd and have the following problem:

I'm using 128MB-Cf-Cards with an ext2 and a jffs2 partition.

The image i write to the cf-card has a grub-loader on it that will boot the jffs2-image on (eg) /dev/hde2...

Now, when I want to change the image-partition, i mount it with

modprobe loop
losetup /dev/loop0 imagefile.img
modprobe mtdcore
modprobe blkmtd device=/dev/loop0 erasesz=64
mount -t jffs2 /dev/mtdblock0 /mnt/cfdisk

I then work on the filesystem and unmount everything after the changes are done.

However, when I write the new image to a cfdisk (dd), I loose the grub info and booting reports "no valid filesystem" / bootimage...

I suppose, it has to do with the way I mount the jffs2 partition (as I'm actually mounting the entire image as loopdev/jffs2)...?
I'm unsure about what would be the right way to do this.

Any ideas, on how to proceed working on the 2nd partition of hde as jffs2 w/o loosing the grub mbr?

Thanks for any answers or pointers in the right direction, and sorry if this has been asked before, i couldn't find an appropriate answer yet..

Greetings
chris

#1 lore raw
Quoted 5 lines · On Mon, Oct 11, 2004 at 01:20:17PM +0200, [email protected] wrote:

I suppose, it has to do with the way I mount the jffs2 partition (as I'm actually mounting the entire image as loopdev/jffs2)...?
I'm unsure about what would be the right way to do this.

Sorry for posting this on the wrong list.

For completeness sake:
The solution was fairly simple, all i had to do was set the loopdevice up correctly with the right byte-offset inside the image and forget about the erasesz-option to the blkmtd module (eg):

losetup -o 5881928 /dev/loop0 file.img
modprobe blkmtd device=/dev/loop0
mount -t jffs2 /dev/mtdblock0 /mnt/cfmnt

...

umount /dev/mtdblock0
rmmod blkmtd; rmmod jffs2;
losetup -d /dev/loop0

After that, one can safely dd the image to the cf-card w/o loosing partitionings, grub etc.

Sorry again,
chris