#!/bin/sh #To run this script the following is necessary # 1.kernel should mtd support as module. # 2.kernel should hsve jffs2 support as module. # 3.kernel should have loopback device support . # 4.you should have fs-bench utility (http://h2np.net/tools/fs-bench-0.2.tar.gz) # 5.results will be copied to /tmp/log and /tmp/log1 files #DESCRIPTION: This testscript creates a jffs2 file system type and tests the filesystem test #and places the log in the log directory.The file system test actually creates a tree of large #directories and performs the delete and random delete operations as per the filesystem stress #algorithim and gives a report of real time ,user time,system time taken to perform the file #operations. #script created G.BANU PRAKASH (mailto:prakash.banu@wipro.com). # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See # the GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # MTD_RAM=mtdram MTD_BLOCK=mtdblock JFFS2=jffs2 LOOP=loop MTD_BLKDEVS=mtd_blkdevs ZLIB_DEFLATE=zlib_deflate ZLIB_INFLATE=zlib_inflate MTD_CORE=mtdcore MOUNT_DIR=/mnt LOG_DIR=/tmp/log LOG_DIR1=/tmp/log1 HOME_DIR=/home BLOCK_DIR=/dev/mtdblock export PATH=$PATH:/sbin if [ $(id -ru) -ne 0 ]; then echo "must be root to run this" exit fi lsmod |grep $MTD_RAM if [ $? -ne 0 ]; then echo "inserting mtd ram and its dependencies" fi modprobe $MTD_RAM total_size=32768 erase_size=256 if [ $? -ne 0 ]; then echo "check wheather MTD -mtdram is been compiled in the kernel" fi lsmod |grep $MTD_BLOCK if [ $? -ne 0 ]; then echo "inserting mtdblock and its dependencies" fi modprobe $MTD_BLOCK if [ $? -ne 0 ]; then echo "check wheather mtdblock is been compiled in the kernel" fi lsmod |grep $JFFS2 if [ $? -ne 0 ]; then echo "inserting jffs2 and its dependencies" fi modprobe $JFFS2 if [ $? -ne 0 ]; then echo "check wheather jffs2 is been compiled in the kernel" fi lsmod |grep $LOOP if [ $? -ne 0 ]; then echo "inserting loopback device module" fi modprobe $LOOP if [ $? -ne 0 ]; then echo "check wheather loopback device option is been compiled in the kernel" fi mkdir -p $BLOCK_DIR mknod $BLOCK_DIR/0 b 31 0 >/dev/null 2>&1 mount -t jffs2 $BLOCK_DIR/0 $MOUNT_DIR mount|grep $JFFS2 if [ $? -eq 0 ]; then echo "jffs2 mounted sucessfully" else echo "mount unsucessfull" fi cd $MOUNT_DIR echo "This is will take long time " ./test.sh >log 2>&1 ./test2.sh >log1 2>&1 mv log $LOG_DIR mv log1 $LOG_DIR1 cd $HOME_DIR #cleanup echo "unmounting $MOUNT_DIR " umount $MOUNT_DIR echo "removing the modules inserted" rmmod $MTD_BLOCK rmmod $MTD_BLKDEVS rmmod $LOOP rmmod $JFFS2 rmmod $ZLIB_DEFLATE rmmod $ZLIB_INFLATE rmmod $MTD_RAM rmmod $MTD_CORE rm -rf /dev/mtdblock echo "TEST COMPLETE" echo "RESULTS LOGGED IN FILE /tmp/log and /tmp/log1 "