Commit d4458d3b authored by Leigh B Stoller's avatar Leigh B Stoller
Browse files

Merge branch 'master' of git-public.flux.utah.edu:/flux/git/emulab-devel

parents 5e5f07c0 46742257
......@@ -25,7 +25,7 @@ CLEAN_MODULES := $(addsuffix -clean,$(MODULES) toolchain)
root-base root-install $(MODULES) $(INSTALL_MODULES) \
$(CLEAN_MODULES) initramfs
all: $(MODULES)
all: $(MODULES) initramfs
install: uclibc-install $(INSTALL_MODULES)
cp $(SCRIPTS_PATH)/remove_unneeded_modules.pl $(BOOT_PATH)
......
This is the build tree for the Linux-based frisbee MFS.
This is the build tree for the Linux-based Frisbee/admin/newnode MFS.
This can probably only be compiled on a Linux machine.
To build the toolchain for the Linux MFS, do this ($ARCH is either
i386 or x86_64):
# cd testbed/mfs/linux_mfs
# scp ops:/share/linux/mfs/source tarballs
# tar xvjf tarballs/buildroot-20081211.tar.bz2
# cp source/buildroot/buildroot.config.$ARCH buildroot/.config
# cd buildroot
# make oldconfig
# make
Once that's done, edit testbed/mfs/linux_mfs/Makefile and set the ARCH
variable appropriately, then run 'make initramfs'. If everything
works, the boot/ directory will have the kernel and initramfs.
The kernel is compiled but not installed anywhere. You'll have to pull
it out of the build tree for now.
TODO
----
Lots of small things. I've tested the tmcc and frisbee functionality of
the image, but it's not really automated yet. The necessary scripts are
all there, but not yet tested.
COMPILING
---------
- Install the fakeroot package (fakeroot.alioth.debian.org)
- Edit the top-level Makefile and set the MFS_ARCH variable to i386 for
a 32-bit build or x86_64 for a 64-bit build.
- Set TESTBED_PATH and TESTBEDOBJ_PATH in source/testbed/Makefile to
the location of your Emulab source tree and your build tree
respectively.
- Download the source tarballs from ops via scp into a 'tarballs'
directory: 'scp ops:/share/linux/mfs/source tarballs'
- Run 'make' (or 'make toolchain' for the compiler and 'make initramfs'
for the kernel and initramfs).
BUGS
----
......
......@@ -1531,3 +1531,4 @@ CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
ICMP_PINGOFDEATH=y
......@@ -1430,3 +1430,4 @@ CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_CHECK_SIGNATURE=y
ICMP_PINGOFDEATH=y
......@@ -55,6 +55,7 @@ script-install:
mkdir -p $(TARGET_PATH)/var/emulab/lock
mkdir -p $(TARGET_PATH)/var/emulab/boot
mkdir -p $(TARGET_PATH)/var/emulab/db
mkdir -p $(TARGET_PATH)/usr/share/udhcpc
ln -sf /etc/testbed $(TARGET_PATH)/usr/local/etc/emulab
install -m 755 $(TESTBEDOBJ_PATH)/tmcd/linux/sethostname.dhclient $(TARGET_PATH)/usr/share/udhcpc
install -m 755 $(TMCD_PATH)/linux/control_interface $(TARGET_PATH)/etc/testbed
......
......@@ -41,7 +41,7 @@ fi
#
# Handle pseudo arguments in the environment.
#
#
ACPI=${SLICEFIX_ACPI:-'unknown'}
case $ACPI in
0|no|NO)
......@@ -149,9 +149,9 @@ dofreebsd() {
# Try mounting the filesystem as UFSv1 first,
# then try UFSv2 if that doesn't work.
mount -t $fstype -o $fsopts $rootdev /mnt || {
mount -t $fstype -o $fsopts $rootdev /mnt 2> /dev/null || {
fsopts=ro,ufstype=ufs2
mount -t $fstype -o $fsopts $rootdev /mnt || {
mount -t $fstype -o $fsopts $rootdev /mnt 2> /dev/null || {
echo "RO-mount of $rootdev failed"
return 1
}
......@@ -297,20 +297,24 @@ dofreebsd() {
fi
if [ $changedisk -eq 1 ]; then
echo " updating /etc/fstab"
cp -fp /mnt/etc/fstab /mnt/etc/fstab.orig
sed -i -e "s;^/dev/[a-zA-Z][a-zA-Z]*[0-9][0-9]*s[0-9][0-9]*;/dev/${freebsd_disk}s${part};" /mnt/etc/fstab || {
echo "Failed to update /etc/fstab"
umount $rootdev
return 1
}
echo " updating /etc/dumpdates"
cp -fp /mnt/etc/dumpdates /mnt/etc/dumpdates.orig
sed -i -e "s;^/dev/[a-zA-Z][a-zA-Z]*[0-9][0-9]*s[0-9][0-9]*;/dev/${freebsd_disk}s${part};" /mnt/etc/dumpdates || {
echo "Failed to update /etc/dumpdates"
umount $rootdev
return 1
}
if [ -f /mnt/etc/fstab ]; then
echo " updating /etc/fstab"
cp -fp /mnt/etc/fstab /mnt/etc/fstab.orig
sed -i -e "s;^/dev/[a-zA-Z][a-zA-Z]*[0-9][0-9]*s[0-9][0-9]*;/dev/${freebsd_disk}s${part};" /mnt/etc/fstab || {
echo "Failed to update /etc/fstab"
umount $rootdev
return 1
}
fi
if [ -f /mnt/etc/dumpdates ]; then
echo " updating /etc/dumpdates"
cp -fp /mnt/etc/dumpdates /mnt/etc/dumpdates.orig
sed -i -e "s;^/dev/[a-zA-Z][a-zA-Z]*[0-9][0-9]*s[0-9][0-9]*;/dev/${freebsd_disk}s${part};" /mnt/etc/dumpdates || {
echo "Failed to update /etc/dumpdates"
umount $rootdev
return 1
}
fi
fi
if [ $changeentropy -eq 1 ]; then
......
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