]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/initscripts/initscripts-1.0/ramdisk
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / initscripts / initscripts-1.0 / ramdisk
1 #!/bin/sh
2
3 . /etc/default/rcS
4
5 FSTYPE=ext2
6
7 if test ! -e /proc/mtd
8 then
9         test "$VERBOSE" != "no" && echo >&2 "/proc not mounted, or mtd support not enabled in kernel."
10         exit
11 fi
12
13 RAM_MTD_NO=`cat /proc/mtd | grep mtdram | tail -n 1 | cut -d: -f1 | cut -dd -f2`
14 if test -z "$RAM_MTD_NO"; then exit 0; fi
15
16 if test -e /dev/mtdblock/0
17 then
18         RAM_MTD=/dev/mtd/$RAM_MTD_NO
19         RAM_MTDBLK=/dev/mtdblock/$RAM_MTD_NO
20 else
21         RAM_MTD=/dev/mtd$RAM_MTD_NO
22         RAM_MTDBLK=/dev/mtdblock$RAM_MTD_NO
23 fi
24
25 RAM_MNTPT=/mnt/ram
26 RAM_MTD_SIZE_HEX=`cat /proc/mtd | grep mtdram | tail -n 1 | cut -d" " -f 2`
27 RAM_MTD_SIZE=`dc 0x$RAM_MTD_SIZE_HEX 1024 / p`
28 test -e /etc/ramdisk.conf && OLD_MTD_SIZE=`cat /etc/ramdisk.conf`
29 echo $RAM_MTD_SIZE > /etc/ramdisk.conf
30
31 if test ! -d "$RAM_MNTPT"; then echo >&2 "Mountpoint $RAM_MNTPT does not exist!"; exit 0; fi
32
33 if (test ! -e /etc/.configured) || test "$OLD_MTD_SIZE" != "$RAM_MTD_SIZE"; then
34   test "$VERBOSE" != "no" && echo -n "Wiping ramdisk: "
35   dd if=/dev/zero bs=1024 count=$RAM_MTD_SIZE of=$RAM_MTD 2>/dev/null >&2 || exit 1
36   test "$VERBOSE" != "no" && echo "$RAM_MTD";
37   test "$VERBOSE" != "no" && echo -n "Creating filesystem on ramdisk: "
38   mkfs.$FSTYPE $RAM_MTDBLK 2>/dev/null >&2 || exit 1
39   test "$VERBOSE" != "no" && echo "$RAM_MTDBLK";
40 fi
41
42 test "$VERBOSE" != "no" && echo -n "Mounting ramdisk: "
43 mount -t $FSTYPE $RAM_MTDBLK $RAM_MNTPT 2>/dev/null >&2 || exit 1
44 test "$VERBOSE" != "no" && echo "$RAM_MTDBLK";
45
46 exit 0