summaryrefslogtreecommitdiff
path: root/morphlib/exts/nfsboot.configure
diff options
context:
space:
mode:
authorJonathan Maw <jonathan.maw@codethink.co.uk>2013-03-26 12:08:51 +0000
committerJonathan Maw <jonathan.maw@codethink.co.uk>2013-04-05 11:42:28 +0000
commit2040748226870c24abadcb3972f46a6d30ec596b (patch)
tree371f9e08dd2eefabcf9d5bb50bb16ed7aa22f638 /morphlib/exts/nfsboot.configure
parent6321607144b079246edc6e82e62b3865dae83928 (diff)
downloadmorph-2040748226870c24abadcb3972f46a6d30ec596b.tar.gz
Add nfsboot configuration extension
This configuration-extension removes every network interface but the loopback interface from /etc/network/interfaces and stops /etc/fstab from mounting "/". It will only do this if the environment variable NFSBOOT_CONFIGURE is set on the `morph deploy` command-line.
Diffstat (limited to 'morphlib/exts/nfsboot.configure')
-rwxr-xr-xmorphlib/exts/nfsboot.configure32
1 files changed, 32 insertions, 0 deletions
diff --git a/morphlib/exts/nfsboot.configure b/morphlib/exts/nfsboot.configure
new file mode 100755
index 00000000..8dc6c67c
--- /dev/null
+++ b/morphlib/exts/nfsboot.configure
@@ -0,0 +1,32 @@
+#!/bin/sh
+# Copyright (C) 2013 Codethink Limited
+#
+# 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; version 2 of the License.
+#
+# 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.
+
+
+# Remove all networking interfaces and stop fstab from mounting '/'
+
+
+set -e
+if [ "$NFSBOOT_CONFIGURE" ]; then
+ # Remove all networking interfaces but loopback
+ cat > "$1/etc/network/interfaces" <<EOF
+auto lo
+iface lo inet loopback
+EOF
+
+ # Stop fstab from mounting '/'
+ mv "$1/etc/fstab" "$1/etc/fstab.old"
+ awk '/^ *#/ || $2 != "/"' "$1/etc/fstab.old" > "$1/etc/fstab"
+fi