/dev/hda1 /mnt/cf auto defaults,sync,noauto,noatime,user,exec,suid 0 0
/dev/mmcda1 /mnt/card auto defaults,sync,noauto,noatime,user,exec,suid 0 0
tmpfs /var tmpfs defaults 0 0
-tmpfs /mnt/ram tmpfs defaults 0 0
+
+# we use a non-volatile ramdisk, see /etc/init.d/ramdisk
+#tmpfs /mnt/ram tmpfs defaults 0 0
+#!/bin/sh
+
+. /etc/default/rcS
+
+if test ! -e /proc/mtd
+then
+ test "$VERBOSE" != "no" && echo >&2 "/proc not mounted, or mtd support not enabled in kernel."
+ exit
+fi
+
+RAM_MTD_NO=`cat /proc/mtd | grep mtdram | tail -n 1 | cut -d: -f1 | cut -dd -f2`
+if test -z "$RAM_MTD_NO"; then exit 0; fi
+
+if test -e /dev/mtdblock/0
+then
+ RAM_MTD=/dev/mtd/$RAM_MTD_NO
+ RAM_MTDBLK=/dev/mtdblock/$RAM_MTD_NO
+else
+ RAM_MTD=/dev/mtd$RAM_MTD_NO
+ RAM_MTDBLK=/dev/mtdblock$RAM_MTD_NO
+fi
+
+RAM_MNTPT=/mnt/ram
+RAM_MTD_SIZE_HEX=`cat /proc/mtd | grep mtdram | tail -n 1 | cut -d" " -f 2`
+RAM_MTD_SIZE=`dc 0x$RAM_MTD_SIZE_HEX 1024 / p`
+OLD_MTD_SIZE=`cat /etc/ramdisk.conf`
+echo $RAM_MTD_SIZE > /etc/ramdisk.conf
+
+if test ! -d "$RAM_MNTPT"; then echo >&2 "Mountpoint $RAM_MNTPT does not exist!"; exit 0; fi
+
+if (test ! -e /etc/.configured) || test "$OLD_MTD_SIZE" != "$RAM_MTD_SIZE"; then
+ test "$VERBOSE" != "no" && echo -n "Wiping ramdisk: "
+ dd if=/dev/zero bs=1024 count=$RAM_MTD_SIZE of=$RAM_MTD 2>/dev/null >&2 || exit 1
+ test "$VERBOSE" != "no" && echo "$RAM_MTD";
+ test "$VERBOSE" != "no" && echo -n "Creating filesystem on ramdisk: "
+ mkfs.ext2 $RAM_MTDBLK 2>/dev/null >&2 || exit 1
+ test "$VERBOSE" != "no" && echo "$RAM_MTDBLK";
+fi
+
+test "$VERBOSE" != "no" && echo -n "Mounting ramdisk: "
+mount $RAM_MTDBLK $RAM_MNTPT 2>/dev/null >&2 || exit 1
+test "$VERBOSE" != "no" && echo "$RAM_MTDBLK";
+
+exit 0
PRIORITY = "required"
DEPENDS = "makedevs"
RDEPENDS = "makedevs"
-PR = "r4"
+PR = "r5"
SRC_URI = "file://halt \
file://ramdisk \
${D}/${sysconfdir}/rc5.d \
${D}/${sysconfdir}/rc6.d \
${D}/${sysconfdir}/default
+
install -m 0755 ${WORKDIR}/bootmisc.sh ${D}/etc/init.d
install -m 0755 ${WORKDIR}/checkroot.sh ${D}/etc/init.d
install -m 0755 ${WORKDIR}/finish ${D}/etc/init.d
install -m 0755 ${WORKDIR}/hostname.sh ${D}/etc/init.d
install -m 0755 ${WORKDIR}/mountall.sh ${D}/etc/init.d
install -m 0755 ${WORKDIR}/mountnfs.sh ${D}/etc/init.d
+ install -m 0755 ${WORKDIR}/ramdisk ${D}/etc/init.d
install -m 0755 ${WORKDIR}/reboot ${D}/etc/init.d
install -m 0755 ${WORKDIR}/rmnologin ${D}/etc/init.d
install -m 0755 ${WORKDIR}/sendsigs ${D}/etc/init.d
ln -sf ../init.d/urandom ${D}/etc/rc6.d/S30urandom
ln -sf ../init.d/umountnfs.sh ${D}/etc/rc6.d/S31umountnfs.sh
# ln -sf ../init.d/umountfs ${D}/etc/rc6.d/S40umountfs
+ ln -sf ../init.d/ramdisk ${D}/etc/rcS.d/S30ramdisk
ln -sf ../init.d/reboot ${D}/etc/rc6.d/S90reboot
ln -sf ../init.d/sendsigs ${D}/etc/rc0.d/S20sendsigs
ln -sf ../init.d/urandom ${D}/etc/rc0.d/S30urandom
ln -sf ../init.d/devices ${D}/etc/rcS.d/S01devices
ln -sf ../init.d/sysfs.sh ${D}/etc/rcS.d/S36sysfs
ln -sf ../init.d/devpts.sh ${D}/etc/rcS.d/S31devpts.sh
-# ln -sf ../init.d/ramdisk ${D}/etc/rcS.d/S30ramdisk
install -m 0755 ${WORKDIR}/device_table.txt ${D}/etc/device_table
}