Commit dfcb2a88 authored by Mike Hibler's avatar Mike Hibler

Changes to make MFS installs a little more automated.

Mostly added a taget for the newnode MFS.
parent c8580306
......@@ -298,6 +298,18 @@ frisbee-mfs-nostatic-install: destdircheck frisbee-mfs-nostatic
@$(MAKE) -C os frisbee-mfs-install
@$(MAKE) -C clientside frisbee-mfs-install
newnode-mfs: mfsoscheck
@$(MAKE) -C clientside newnode-mfs
newnode-mfs-nostatic: mfsoscheck
@NOSTATIC=1 $(MAKE) -C clientside newnode-mfs
newnode-mfs-install: destdircheck newnode-mfs client-mkdirs
@$(MAKE) -C clientside newnode-mfs-install
newnode-mfs-nostatic-install: destdircheck newnode-mfs-nostatic client-mkdirs
@$(MAKE) -C clientside newnode-mfs-install
cdboot: mfsoscheck client
@echo "CD/Dongle files built"
......
......@@ -37,6 +37,8 @@ mfs: mfs-subdirs
mfs-install: client-mkdirs mfs-install-subdirs
frisbee-mfs: frisbee-mfs-subdirs
frisbee-mfs-install: client-mkdirs frisbee-mfs-install-subdirs
newnode-mfs: newnode-mfs-subdirs
newnode-mfs-install: client-mkdirs newnode-mfs-install-subdirs
TARBALLDESTDIR = /var/tmp/emulab-client
client-tarball:
......
......@@ -51,6 +51,8 @@ mfs:
mfs-install:
frisbee-mfs:
frisbee-mfs-install:
newnode-mfs:
newnode-mfs-install:
# How to recursively descend into subdirectories to make general
# targets such as `all'.
......
#
# EMULAB-COPYRIGHT
# Copyright (c) 2000-2011 University of Utah and the Flux Group.
# Copyright (c) 2000-2012 University of Utah and the Flux Group.
# All rights reserved.
#
SRCDIR = @srcdir@
......@@ -29,6 +29,8 @@ mfs:
mfs-install:
frisbee-mfs:
frisbee-mfs-install:
newnode-mfs:
newnode-mfs-install:
# How to recursively descend into subdirectories to make general
# targets such as `all'.
......
......@@ -102,6 +102,9 @@ mfs-install:
CLIENT_BINDIR=/usr/local/bin $(MAKE) -e -C growdisk client-install
CLIENT_BINDIR=/usr/local/bin $(MAKE) -e -C frisbee.redux client-install
newnode-mfs: mfs
newnode-mfs-install: mfs-install
cdboot-install: mfs-install
subdir-distclean:
......
#
# EMULAB-COPYRIGHT
# Copyright (c) 2000-2011 University of Utah and the Flux Group.
# Copyright (c) 2000-2012 University of Utah and the Flux Group.
# All rights reserved.
#
SRCDIR = @srcdir@
......@@ -36,6 +36,8 @@ mfs: client
mfs-install: client-install
frisbee-mfs:
frisbee-mfs-install:
newnode-mfs:
newnode-mfs-install:
# How to recursively descend into subdirectories to make general
# targets such as `all'.
......
......@@ -156,6 +156,11 @@ frisbee-mfs: client
frisbee-mfs-install: frisbee-mfs
@$(MAKE) -C $(MDSUBDIR) frisbee-mfs-install
newnode-mfs: client
newnode-mfs-install: newnode-mfs
@$(MAKE) -C $(MDSUBDIR) newnode-mfs-install
#
# XXX argh! assumes FreeBSD inner boss
#
......
#
# EMULAB-COPYRIGHT
# Copyright (c) 2000-2011 University of Utah and the Flux Group.
# Copyright (c) 2000-2012 University of Utah and the Flux Group.
# All rights reserved.
#
......@@ -37,6 +37,16 @@ RCDIR = $(DESTDIR)/usr/local/etc/rc.d
ISMFS = $(ETCDIR)/ismfs
INSTALL = /usr/bin/install -c
destdircheck:
@if [ -z "$(DESTDIR)" ]; then \
echo "You must define DESTDIR for this target!"; \
false; \
fi
@if [ "$(DESTDIR)" = "/" ]; then \
echo "DESTDIR is '/', really really bad idea!"; \
false; \
fi
install client-install: bincheck basefbsd-install etc-install \
sup-install script-install bin-install
......@@ -103,18 +113,38 @@ script-install: dir-install
# * We still use rc.conf.d/dhclient right now
# (til we switch to 6.x rc.d files)
#
frisbee-mfs-install:
frisbee-mfs-install: destdircheck
$(INSTALL) -m 755 -o root -g wheel -d $(DESTDIR)/usr/local/etc
(cd ../freebsd5; $(MAKE) all frisbee-mfs-install)
rm -f $(SYSETCDIR)/testbed/dhclient
rm -f $(DESTDIR)/usr/local/etc/dhclient*
ln -s /etc/dhclient* $(DESTDIR)/usr/local/etc/
@if [ -r $(SRCDIR)/master.passwd ]; then \
$(INSTALL) -m 600 $(SRCDIR)/master.passwd $(SYSETCDIR); \
pwd_mkdb -d $(SYSETCDIR) $(SYSETCDIR)/master.passwd; \
fi
@if [ -r $(SRCDIR)/group ]; then \
$(INSTALL) -m 644 $(SRCDIR)/group $(SYSETCDIR); \
fi
mfs-install:
mfs-install: destdircheck
(cd ../freebsd5; $(MAKE) all mfs-install)
rm -rf $(JAILDIR)
rm -f $(SYSETCDIR)/testbed/dhclient
rm -f $(DESTDIR)/usr/local/etc/dhclient*
ln -s /etc/dhclient* $(DESTDIR)/usr/local/etc/
@if [ -r $(SRCDIR)/master.passwd ]; then \
$(INSTALL) -m 600 $(SRCDIR)/master.passwd $(SYSETCDIR); \
pwd_mkdb -d $(SYSETCDIR) $(SYSETCDIR)/master.passwd; \
fi
@if [ -r $(SRCDIR)/group ]; then \
$(INSTALL) -m 644 $(SRCDIR)/group $(SYSETCDIR); \
fi
newnode-mfs-install: mfs-install
(cd ../../../tools/teachswitch; $(MAKE) DESTDIR=$(DESTDIR) client-install)
$(INSTALL) -m 755 $(SRCDIR)/../../../install/newclient $(BINDIR)/newclient
$(INSTALL) -m 755 $(SRCDIR)/mfs-newnode-testbed.sh $(RCDIR)/testbed.sh
#
# CD/Flash install DOES have the FreeBSD 6 stuff
......
# $FreeBSD: src/etc/master.passwd,v 1.40 2005/06/06 20:19:56 brooks Exp $
#
root:kEi.I6fTKyJDg:0:0::0:0:Charlie &:/root:/bin/csh
toor:kEi.I6fTKyJDg:0:0::0:0:Chaplin &:/root:/bin/csh
root:$1$0DKicYf8$PsfF3uhmTrtuaJKH/rxtQ/:0:0::0:0:Charlie &:/root:/bin/csh
toor:*:0:0::0:0:Chaplin &:/root:/bin/csh
daemon:*:1:1::0:0:Owner of many system processes:/root:/usr/sbin/nologin
operator:*:2:5::0:0:System &:/:/usr/sbin/nologin
bin:*:3:7::0:0:Binaries Commands and Source:/:/usr/sbin/nologin
......
#!/bin/sh
#
# Copyright (c) 2000-2004, 2007 University of Utah and the Flux Group.
# All rights reserved.
# This file is part of the Emulab network testbed software.
#
# Emulab is free software, also known as "open source;" you can
# redistribute it and/or modify it under the terms of the GNU Affero
# General Public License as published by the Free Software Foundation,
# either version 3 of the License, or (at your option) any later version.
#
# Emulab 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 Affero General Public License for
# more details, which can be found in the file AGPL-COPYING at the root of
# the source tree.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
# PROVIDE: testbed
#
. /etc/emulab/paths.sh
#
# Boottime initialization.
#
case "$1" in
start|faststart)
echo ""
$BINDIR/newclient
;;
stop)
# Foreground mode.
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esac
exit 0
......@@ -118,9 +118,12 @@ script-install: dir-install
#
frisbee-mfs-install: destdircheck
(cd ../freebsd5; $(MAKE) all frisbee-mfs-install)
rm -rf $(SYSETCDIR)/rc.conf.d
rm -f $(SYSETCDIR)/testbed/dhclient
rm -f $(DESTDIR)/usr/local/etc/dhclient*
ln -s /etc/dhclient* $(DESTDIR)/usr/local/etc/
rmdir $(DESTDIR)/usr/local/etc/emulab
$(INSTALL) -m 644 $(SRCDIR)/mfs-frisbee-rc.conf $(SYSETCDIR)/rc.conf
@if [ -r $(SRCDIR)/master.passwd ]; then \
$(INSTALL) -m 600 $(SRCDIR)/master.passwd $(SYSETCDIR); \
pwd_mkdb -d $(SYSETCDIR) $(SYSETCDIR)/master.passwd; \
......@@ -129,11 +132,15 @@ frisbee-mfs-install: destdircheck
$(INSTALL) -m 644 $(SRCDIR)/group $(SYSETCDIR); \
fi
mfs-install:
mfs-install: destdircheck
(cd ../freebsd5; $(MAKE) all mfs-install)
rm -rf $(JAILDIR)
rm -rf $(SYSETCDIR)/rc.conf.d
rm -rf $(DESTDIR)/root/.cvsup
rm -f $(SYSETCDIR)/testbed/dhclient
rm -f $(DESTDIR)/usr/local/etc/dhclient*
ln -s /etc/dhclient* $(DESTDIR)/usr/local/etc/
$(INSTALL) -m 644 $(SRCDIR)/mfs-rc.conf $(SYSETCDIR)/rc.conf
@if [ -r $(SRCDIR)/master.passwd ]; then \
$(INSTALL) -m 600 $(SRCDIR)/master.passwd $(SYSETCDIR); \
pwd_mkdb -d $(SYSETCDIR) $(SYSETCDIR)/master.passwd; \
......@@ -141,3 +148,8 @@ mfs-install:
@if [ -r $(SRCDIR)/group ]; then \
$(INSTALL) -m 644 $(SRCDIR)/group $(SYSETCDIR); \
fi
newnode-mfs-install: mfs-install
(cd ../../../tools/teachswitch; $(MAKE) DESTDIR=$(DESTDIR) client-install)
$(INSTALL) -m 755 $(SRCDIR)/../../../install/newclient $(BINDIR)/newclient
$(INSTALL) -m 755 $(SRCDIR)/mfs-newnode-testbed.sh $(RCDIR)/testbed.sh
# Common to both MFSes
sendmail_enable="NONE"
inetd_enable="NO"
ldconfig_paths=""
ldconfig_paths_aout=""
blanktime="NO"
update_motd="NO"
background_fsck="NO"
rc_info="YES"
# turn on syslogd for debugging
syslogd_enable="NO"
autoboot="no"
varmfs="NO"
ip6addrctl_enable="NO"
moused_nondefault_enable="NO"
cleanvar_enable="NO"
clear_tmp_X="NO"
virecover_enable="NO"
newsyslog_enable="NO"
gptboot_enable="NO"
# Specific to frisbee MFS
cron_enable="NO"
devd_enable="NO"
#
# FreeBSD has no way to say "DHCP on all available interfaces" without
# spelling out here what all those interfaces are. So here we just say
# to (statically) configure the loopback device. The real network
# interfaces are identified in rc.conf.d/dhclient for use by the
# rc.d/dhclient script.
#
network_interfaces="lo0"
#
# Argh! dhclient in FreeBSD 5 has a new auto-background "feature",
# it dives into the background after 10 seconds regardless of whether
# it has received a response. This is fubar for us. Unfortunately,
# we cannot just crank this number through the roof because it is based
# on a polling interval which actually has a rational purpose. The timeout
# is actually (2 * polling_interval) where polling_interval is how often
# dhclient rechecks an interface without link. We need to keep this value
# reasonable in the event that we boot up and don't immediately have link
# on the control net. So lets try 15 seconds (30 second auto-background
# timeout) and see how things go.
#
dhclient_flags="-i 15"
#!/bin/sh
#
# EMULAB-COPYRIGHT
# Copyright (c) 2000-2012 University of Utah and the Flux Group.
# All rights reserved.
#
# PROVIDE: testbed
# REQUIRE: sshd
#
. /etc/emulab/paths.sh
#
# Boottime initialization.
#
case "$1" in
start|faststart)
echo ""
$BINDIR/newclient
;;
stop)
# Foreground mode.
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esac
exit 0
# Common to both MFSes
sendmail_enable="NONE"
inetd_enable="NO"
ldconfig_paths=""
ldconfig_paths_aout=""
blanktime="NO"
update_motd="NO"
background_fsck="NO"
rc_info="YES"
# turn on syslogd for debugging
syslogd_enable="NO"
autoboot="no"
varmfs="NO"
ip6addrctl_enable="NO"
moused_nondefault_enable="NO"
cleanvar_enable="NO"
clear_tmp_X="NO"
virecover_enable="NO"
newsyslog_enable="NO"
gptboot_enable="NO"
# Specific to admin MFS
sshd_enable="YES"
cron_enable="YES"
ntpdate_enable="YES"
ntpdate_flags="boss"
nfs_client_enable="YES"
#
# FreeBSD has no way to say "DHCP on all available interfaces" without
# spelling out here what all those interfaces are. So here we just say
# to (statically) configure the loopback device. The real network
# interfaces are identified in rc.conf.d/dhclient for use by the
# rc.d/dhclient script.
#
network_interfaces="lo0"
#
# Argh! dhclient in FreeBSD 5 has a new auto-background "feature",
# it dives into the background after 10 seconds regardless of whether
# it has received a response. This is fubar for us. Unfortunately,
# we cannot just crank this number through the roof because it is based
# on a polling interval which actually has a rational purpose. The timeout
# is actually (2 * polling_interval) where polling_interval is how often
# dhclient rechecks an interface without link. We need to keep this value
# reasonable in the event that we boot up and don't immediately have link
# on the control net. So lets try 15 seconds (30 second auto-background
# timeout) and see how things go.
#
dhclient_flags="-i 15"
#
# EMULAB-COPYRIGHT
# Copyright (c) 2000-2011 University of Utah and the Flux Group.
# Copyright (c) 2000-2012 University of Utah and the Flux Group.
# All rights reserved.
#
SRCDIR = @srcdir@
......@@ -35,6 +35,8 @@ mfs:
mfs-install:
frisbee-mfs:
frisbee-mfs-install:
newnode-mfs:
newnode-mfs-install:
# How to recursively descend into subdirectories to make general
# targets such as `all'.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment