aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Thibodeau <kyron@neuralbs.com>2008-07-19 21:56:01 -0400
committerEric Thibodeau <kyron@neuralbs.com>2008-07-19 21:56:01 -0400
commita47daa41a620c72df6a87f9dffa71f91c82fef4e (patch)
tree71184e609a93d70db9c2ab10ad0acb0adc76ceec /catalyst
parentSwitch to AuFS, USE nonfs4 (diff)
downloadclustering-livecd-a47daa41a620c72df6a87f9dffa71f91c82fef4e.tar.gz
clustering-livecd-a47daa41a620c72df6a87f9dffa71f91c82fef4e.tar.bz2
clustering-livecd-a47daa41a620c72df6a87f9dffa71f91c82fef4e.zip
Multiple fixes and feature additions:
Fix: - stderr misredirrection `>2 --> >&2` - Messages now display the scriptname and not just "STATELESS... - Now setting domainname in the right place Features: - now a single tmpfs folder is mounted and folders created under that folder, ** the function should be easy to modify if ever one was to mount another FS than tmpfs ** Kernel command line parameter now required, ie: rwdev=tmpfs Misc: - Cleaned out unused and commented code - Renamed some functions
Diffstat (limited to 'catalyst')
-rwxr-xr-xcatalyst/nfsroot/2008.0/overlay/boot/stateless.sh59
1 files changed, 26 insertions, 33 deletions
diff --git a/catalyst/nfsroot/2008.0/overlay/boot/stateless.sh b/catalyst/nfsroot/2008.0/overlay/boot/stateless.sh
index 39e9071..ab59076 100755
--- a/catalyst/nfsroot/2008.0/overlay/boot/stateless.sh
+++ b/catalyst/nfsroot/2008.0/overlay/boot/stateless.sh
@@ -17,46 +17,32 @@ ahostname(){
MYHOST="${NODE_NAME}${MYIP##*.}"
echo "I proclaim that I am $MYHOST !!"
else
- echo DHCP told me my hostname is ${MYHOST}...
- echo "Setting domainname to DHCP's settings"
- /bin/domainname $DOMAIN
+ echo "DHCP told me my hostname is ${MYHOST}..."
fi
- echo "STATELESS: Setting Hostname to $MYHOST"
+ echo "$0: Setting Hostname to $MYHOST"
echo "HOSTNAME=\"$MYHOST\"" > /etc/conf.d/hostname
/bin/hostname "$MYHOST"
+
+ echo "Setting domainname to DHCP's settings: $DOMAIN"
+ /bin/domainname $DOMAIN
}
-#getparams() {
-# #local cmdline=$(dmesg | grep '^Kernel command line' | sed 's/^Kernel command line://g')
-# cmdline=$(cat /proc/cmdline)
-# for pp in $cmdline; do
-# echo $pp | grep '^softlevel=' >/dev/null 2>&1
-# if [ $? -eq 0 ]; then
-# echo $pp | sed 's/softlevel=//g'
-# return 0
-# fi
-# done
-# echo ""
-# return 1
-#}
-isset() {
- #for p in $(getparams | tr ',' ' '); do
- for p in $(get_param softlevel); do
- if [ "$p" == "$1" ]; then
- return 0
- fi
- done
- return 1
+# Used to mount the RW part of the ROOT, it should be easy to add other
+# FS than tmpfs here.
+mount_rw_dev() {
+ echo "$0: Mounting $RWDEV as Read Write device ..."
+ if [ $RWDEV == "tmpfs" ]; then
+ mount -n -t tmpfs -o defaults tmpfs_rw /mnt/rw_mounts/
+ fi
}
-aunionfs() {
+mount_rw_dir() {
while [ "$1" != "" ]; do
- echo "STATELESS: Mounting tmpfs $1 ..."
- mount -n -t tmpfs -o defaults tmpfs_$1 /mnt/$UNIONMOD/$1
- echo "STATELESS: Mounting $1 using $UNIONMOD ..."
- mount -n -t $UNIONMOD -o dirs=/mnt/$UNIONMOD/$1=rw:/$1=ro ${UNIONMOD}_$1 /$1
+ echo "$0: Mounting $1 using $UNIONMOD ..."
+ mkdir -p /mnt/rw_mounts/$1
+ mount -i -n -t $UNIONMOD -o dirs=/mnt/rw_mounts/$1=rw:/$1=ro ${UNIONMOD}_$1 /$1
shift
done
}
@@ -90,13 +76,13 @@ get_param() {
echo $*
else
shift $PARAM
- iecho $1
+ echo $1
fi
return 0
;;
esac
done
- echo "Parameter '$1' not found" >2
+ echo "Parameter '$1' not found" >&2
return 1
}
@@ -118,19 +104,26 @@ import_dhcp_info() {
ROOTSERV=$(get_param rootserver 1)
}
+# if mounting /proc becomes a problem we have to use the following:
+# PARSELINE=$(dmesg | grep '^Kernel command line' | sed 's/^Kernel command line://g')
import_cmdline() {
mount -n -t proc none /proc
PARSELINE=$(cat /proc/cmdline)
UNIONMOD=$(get_param unionmod 1)
+ RWDEV=$(get_param rwdev 1)
}
import_dhcp_info
+import_cmdline
+[ ! -z $RWDEV ] && mount_rw_dev
if [ ! -z $UNIONMOD ]; then
echo "Loading $UNIONMOD"
+ # we should detect wether it's a mod or kernel builtin...
$MODPROBE $UNIONMOD
- aunionfs etc var tmp
+ mount_rw_dir etc var tmp
fi
+touch /etc || /bin/bash
ahostname
ahosts
exec /sbin/init