If you wish to use
the mtd nandsim device as a simulator for testing yaffs, you can follow these
steps:
1) Make sure you
have a recent 2.6 kernel with a recent MTD tree. (If you ask the MTD folk,
they'll tell you to run the mtd patchin script from the latest cvs version of
MTD.)
2) Configure your
kernel to enable the mtd nand support and nandsim driver. Make sure that the
following are set in .config:
CONFIG_MTD=m
CONFIG_MTD_CHAR=m
CONFIG_MTD_BLOCK=m
CONFIG_MTD_NAND=m
CONFIG_MTD_NAND_NANDSIM=m
You can set them to
'y' rather than 'm' if you don't want the modules form.
3) make and install
your kernel and modules in the usual way, then boot.
4) To use the
nandsim, you need to load some MTD modules, unless you've configured MTD into
the kernel:
modprobe
mtdblock
modprobe mtdchar
modprobe nandsim
5) Verify that the
nandsim device has loaded properly:
cat
/proc/mtd
You will see
something like
dev: size erasesize name
mtd0:
00800000 00002000 "NAND simulator partition"
If everything went
well.
6) what the nand
device is called will depend on your Linux distro, and whether you are using
devfs or udev, but the '0', or whatever mtd reports as the device associated
with the simulator, in the above will show up in the name. On my
ubuntu system, if /proc/mtd reports 'mtd0' then the block device is
/dev/mtdblock0 and the char device is /dev/mtd0.
7) You can mount
yaffs on the nandsim in the usual way. I have /mnt/nand as the directory I
mount on, so I would mount using
mount -t yaffs
/dev/mtdblock0 /mnt/nand
If you find any
errors in this, please let me know. It wll eventually find its way into
the yaffs documentation.
Marty