From: Matteo Croce Date: Tue, 20 May 2008 19:02:19 +0000 (+0000) Subject: create /etc/fstab on boot (closes #3458) X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;h=ac5a224a4430a2fa4222e73b955b0895c73b9f5a;hp=1c6d915069babe7c4809119d10fc808d2f2e6b1b create /etc/fstab on boot (closes #3458) SVN-Revision: 11225 --- 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() {