mtdblock mount issue
Adams Richard-W36112
rgadams at motorola.com
Wed Feb 6 11:20:06 EST 2008
> -----Original Message-----
> From: linux-mtd-bounces at lists.infradead.org
> [mailto:linux-mtd-bounces at lists.infradead.org] On Behalf Of
> Max Stirling
> Sent: Monday, February 04, 2008 6:20 AM
> To: linux-mtd at lists.infradead.org
> Subject: mtdblock mount issue
>
> Hi,
>
> I am trying to mount a cramfs partition from flash. I have
> the low level driver written and MTDBLOCK_RO module is enabled in MTD,
>
> My mount fails with invalid argument error.
>
> /mount: Mounting /dev/mtdblock on /home/crfs failed: Invalid argument/
>
> I am using a 512 byte NAND flash 16byte spare.
>
> I can find cramfs in /proc/filesytems and the mtdblock is
> under /proc/devices.
>
> I had enabled a few debug statements in the mtdblock_ro and
> the low level nand driver code. I find that the mount is
> reading 32 pages after which it fails with invalid argument.
> Below is the log.
>
> If you see the log below, the flow of code is
>
> cramfs_read ==> do_blktrans_request ==> mtdblock_readsect
> ==> mt_read(my low level read function which returns success)
>
> I even dumped the hex of the data being read by my low level
> driver module and found to match the cramfs image that I
> wrote to the flash.
>
>
> ######################*LOG*##########################
>
> /home # mkdir crfs
> /home # cat /proc/devices | grep mtdblock
> 31 mtdblock
> /home # cat proc/filesystems | grep cramfs
> cramfs
> /home #
> /home # mknod /dev/mtdblock b 31 0
> /home # mount -t cramfs /dev/mtdblock /home/crfs
> mount: /dev/mtdblock is write-protected, mounting read-only
> cramfs_read
> do_blktrans_request nsect:8 block:0
> mtdblock_readsect
> mt_read offset:0
> mt_read status:0
> mtdblock_readsect
> mt_read offset:512
> mt_read status:0
> mtdblock_readsect
> mt_read offset:1024
> mt_read status:0
> mtdblock_readsect
> mt_read offset:1536
> mt_read status:0
> mtdblock_readsect
> mt_read offset:2048
> mt_read status:0
> mtdblock_readsect
> mt_read offset:2560
> mt_read status:0
> mtdblock_readsect
> mt_read offset:3072
> mt_read status:0
> mtdblock_readsect
> mt_read offset:3584
> mt_read status:0
> do_blktrans_request nsect:8 block:0
> mtdblock_readsect
> mt_read offset:4096
> mt_read status:0
> mtdblock_readsect
> mt_read offset:4608
> mt_read status:0
> mtdblock_readsect
> mt_read offset:5120
> mt_read status:0
> mtdblock_readsect
> mt_read offset:5632
> mt_read status:0
> mtdblock_readsect
> mt_read offset:6144
> mt_read status:0
> mtdblock_readsect
> mt_read offset:6656
> mt_read status:0
> mtdblock_readsect
> mt_read offset:7168
> mt_read status:0
> mtdblock_readsect
> mt_read offset:7680
> mt_read status:0
> do_blktrans_request nsect:8 block:0
> mtdblock_readsect
> mt_read offset:8192
> mt_read status:0
> mtdblock_readsect
> mt_read offset:8704
> mt_read status:0
> mtdblock_readsect
> mt_read offset:9216
> mt_read status:0
> mtdblock_readsect
> mt_read offset:9728
> mt_read status:0
> mtdblock_readsect
> mt_read offset:10240
> mt_read status:0
> mtdblock_readsect
> mt_read offset:10752
> mt_read status:0
> mtdblock_readsect
> mt_read offset:11264
> mt_read status:0
> mtdblock_readsect
> mt_read offset:11776
> mt_read status:0
> do_blktrans_request nsect:8 block:0
> mtdblock_readsect
> mt_read offset:12288
> mt_read status:0
> mtdblock_readsect
> mt_read offset:12800
> mt_read status:0
> mtdblock_readsect
> mt_read offset:13312
> mt_read status:0
> mtdblock_readsect
> mt_read offset:13824
> mt_read status:0
> mtdblock_readsect
> mt_read offset:14336
> mt_read status:0
> mtdblock_readsect
> mt_read offset:14848
> mt_read status:0
> mtdblock_readsect
> mt_read offset:15360
> mt_read status:0
> mtdblock_readsect
> mt_read offset:15872
> mt_read status:0
> cramfs_read
> mount: Mounting /dev/mtdblock on /home/crfs failed: Invalid argument
> /home #
>
> ########################################################
>
>
> I hope I have provided the maximum information. Looking
> forward for some
> help.
>
You need to mount the file system as read only. I believe I've seen this
error when I've mounted a squashfs (also a read only file system)
without specifying the read only option.
Try this command:
mount /dev/mtdblock /home/crfs -t cramfs -o ro
Rick
More information about the linux-mtd
mailing list