From 9925b900a19b5be8a13a75eee6560cb275018ba6 Mon Sep 17 00:00:00 2001 From: Matteo Croce Date: Tue, 20 May 2008 19:02:19 +0000 Subject: create /etc/fstab on boot (closes #3458) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@11225 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/Makefile | 2 +- package/base-files/files/etc/init.d/fstab | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) (limited to 'package/base-files') diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 7fbeb6f330..b80fee3ff7 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -161,7 +161,7 @@ define Package/base-files$(TARGET)/install rm -f $(1)/var ln -sf /tmp $(1)/var mkdir -p $(1)/etc - ln -sf /tmp/resolv.conf $(1)/etc/resolv.conf + ln -sf /tmp/resolv.conf /tmp/fstab $(1)/etc/ $(call Package/base-files/install-target,$(1)) for conffile in $(1)/etc/config/*; do \ if [ -f "$$$$conffile" ]; then \ diff --git a/package/base-files/files/etc/init.d/fstab b/package/base-files/files/etc/init.d/fstab index 2d2976ffcb..f661b9d15f 100755 --- a/package/base-files/files/etc/init.d/fstab +++ b/package/base-files/files/etc/init.d/fstab @@ -15,9 +15,8 @@ do_mount() { [ -n "target" ] || return 0 mkdir -p $target config_get_bool enabled "$cfg" "enabled" '1' - [ "$enabled" -gt 0 ] && { - mount -t $fstype -o $options $device $target - } + [ "$enabled" -eq 0 ] && options="noauto,$options" + echo "$device $target $fstype $options 0 0" >> /tmp/fstab } do_swapon() { @@ -25,8 +24,8 @@ do_swapon() { config_get device "$cfg" device [ -n "device" ] || return 0 config_get_bool enabled "$cfg" "enabled" '1' - [ "$enabled" -gt 0 ] && type swapon >/dev/null && { - swapon $device + [ "$enabled" -gt 0 ] && { + echo "$device none swap ${noauto}sw 0 0" >> /tmp/fstab } } @@ -52,8 +51,11 @@ do_swapoff() { start() { config_load fstab + echo '# WARNING: this is an auto generated file, please use uci to set static filesystems' > /tmp/fstab config_foreach do_mount mount config_foreach do_swapon swap + mount -a + swapon -a } stop() { -- cgit v1.2.3