[26277] in Source-Commits
/svn/athena r25486 - in trunk/debathena/scripts/installer/pxe: . precise precise/debathena
daemon@ATHENA.MIT.EDU (Jonathan D Reed)
Mon May 7 20:41:03 2012
Date: Mon, 7 May 2012 20:41:02 -0400
From: Jonathan D Reed <jdreed@MIT.EDU>
Message-Id: <201205080041.q480f2rl009271@drugstore.mit.edu>
To: source-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Author: jdreed
Date: 2012-05-07 20:41:01 -0400 (Mon, 07 May 2012)
New Revision: 25486
Added:
trunk/debathena/scripts/installer/pxe/precise/
trunk/debathena/scripts/installer/pxe/precise/Makefile
trunk/debathena/scripts/installer/pxe/precise/debathena-loader.sh
trunk/debathena/scripts/installer/pxe/precise/debathena.preseed
trunk/debathena/scripts/installer/pxe/precise/debathena/
trunk/debathena/scripts/installer/pxe/precise/debathena/check-disks.sh
trunk/debathena/scripts/installer/pxe/precise/debathena/installer.sh
trunk/debathena/scripts/installer/pxe/precise/debathena/lvm-cluster-machine.partman
trunk/debathena/scripts/installer/pxe/precise/debathena/postinstall.sh
trunk/debathena/scripts/installer/pxe/precise/debathena/preseed
trunk/debathena/scripts/installer/pxe/precise/debathena/preseed.autoinstall
trunk/debathena/scripts/installer/pxe/precise/debathena/preseed.common
Log:
Initial checkin of precise installer.
netconfig and related code has been removed.
clusteraddr command-line argument has been de-supported.
Added: trunk/debathena/scripts/installer/pxe/precise/Makefile
===================================================================
--- trunk/debathena/scripts/installer/pxe/precise/Makefile (rev 0)
+++ trunk/debathena/scripts/installer/pxe/precise/Makefile 2012-05-08 00:41:01 UTC (rev 25486)
@@ -0,0 +1,11 @@
+# This is pretty dangerous in a bunch of ways. Approach with caution.
+d=/afs/athena.mit.edu/system/athena10/installer/precise
+
+default:
+ : Use "make install" to move this from where the installer will fetch it.
+
+install: ${d}/debathena.tar.gz
+
+${d}/debathena.tar.gz: debathena.preseed debathena-loader.sh debathena
+ tar czvf ${d}/debathena.tar.gz --exclude "*~" --exclude "*/.svn*" debathena
+ cp debathena.preseed debathena-loader.sh ${d}
Added: trunk/debathena/scripts/installer/pxe/precise/debathena/check-disks.sh
===================================================================
--- trunk/debathena/scripts/installer/pxe/precise/debathena/check-disks.sh (rev 0)
+++ trunk/debathena/scripts/installer/pxe/precise/debathena/check-disks.sh 2012-05-08 00:41:01 UTC (rev 25486)
@@ -0,0 +1,29 @@
+#!/bin/sh
+#
+# This is run by d-i before the partman step (e.g. d-i partman/early_command)
+
+MIN_DISK_SIZE=20000000
+
+youlose() {
+ chvt 5
+ # Steal STDIN and STDOUT back from the installer
+ exec < /dev/tty5 > /dev/tty5 2>&1
+ echo ""
+ echo "****************************"
+ echo "ERROR: $@"
+ echo "Installation cannot proceed. Press any key to reboot."
+ read foo
+ echo "Rebooting, please wait..."
+ reboot
+}
+
+first_disk=`list-devices disk | head -n1`
+if ! echo "$first_disk" | grep -q ^/dev; then
+ youlose "No disks found."
+fi
+if [ "$(sfdisk -s "$first_disk")" -lt $MIN_DISK_SIZE ]; then
+ youlose "Your disk is too small ($(( $MIN_DISK_SIZE / 1000000)) GB required)."
+fi
+# Tell partman which disk to use
+debconf-set partman-auto/disk "$first_disk"
+exit 0
Added: trunk/debathena/scripts/installer/pxe/precise/debathena/installer.sh
===================================================================
--- trunk/debathena/scripts/installer/pxe/precise/debathena/installer.sh (rev 0)
+++ trunk/debathena/scripts/installer/pxe/precise/debathena/installer.sh 2012-05-08 00:41:01 UTC (rev 25486)
@@ -0,0 +1,159 @@
+#!/bin/sh
+
+# Sigh. check-missing-firmware is too stupid to reconfigure the NIC after
+# removing and reloading the module. So we lose network in the middle
+# of the install. The card works just fine without firmware, so we
+# just convince hwdetect and friends that there is no missing firmware.
+# NOTE: Although the nic-firmware udeb does not include the Realtek
+# firmware, shipping the firmware ourselves does not fix the problem,
+# because check-missing-firmware still insists on reloading the module
+# and we lose the network configuration.
+if grep -q "^Vostro 320" /sys/class/dmi/id/product_name || lsmod | grep -q r8169; then
+ # This will break if the firmware eventually wants to live somewhere else
+ # This is possibly a bad idea if there are r8169-based cards that do need
+ # firmware, but if they do, it's not likely they made it this far in the
+ # installation process.
+ rm -f /dev/.udev/firmware-missing/rtl_nic*
+fi
+
+cd /debathena
+
+touch preseed
+
+pxetype=""
+
+# Using debconf here will hang, so parse the command line manually.
+# old options:
+# debathena/clusterforce: implies pxetype=cluster, don't recheck net
+# debathena/clusteraddr: address to use with above
+# new options:
+# debathena/pxetype: could be cluster, but could be other things
+
+# support for clusteraddr is now removed.
+
+pxetype=`sed -e 's/ /\n/g' < /proc/cmdline | grep da/pxe= | sed -e 's/.*=//'`
+installertype=`sed -e 's/ /\n/g' < /proc/cmdline | grep da/i= | sed -e 's/.*=//'`
+mirrorsite=`sed -e 's/ /\n/g' < /proc/cmdline | grep da/m= | sed -e 's/.*=//'`
+partitioning=`sed -e 's/ /\n/g' < /proc/cmdline | grep da/part= | sed -e 's/.*=//'`
+nodhcp=`sed -e 's/ /\n/g' < /proc/cmdline | grep netcfg/disable_dhcp= | sed -e 's/.*=//'`
+
+
+echo "Picked up values from command line:
+pxetype=$pxetype
+installertype=$installertype
+mirrorsite=$mirrorsite"
+
+# Apply some sane defaults
+if [ -z "$installertype" ]; then installertype=production ; fi
+if [ -z "$mirrorsite" ]; then mirrorsite="mirrors.mit.edu" ; fi
+
+# Sanity check
+if [ -z "$pxetype" ]; then
+ echo "ERROR: No pxetype on the command line."
+ echo "Cannot proceed. Reboot now, please."
+ read dummy
+fi
+
+# Color strings. I'd like to use tput, but the installer doesn't have it.
+esc=""
+nnn="${esc}[m" # Normal
+ccc="${esc}[36m" # Cyan
+rrr="${esc}[1;31m" # Bold and red
+ddd="${esc}[1;31;47m" # Plus gray background
+ddb="${esc}[1;31;47;5m" # Plus blinking
+
+# OK, we can arrive at this point in the installer through two
+# ways: from the stage1 installer or from athena-auto-upgrade
+# Anything else is an error and will not be supported.
+# The stage1 installer takes care of sanity-checking networking
+# so if we have a DHCP address here, it's either valid, or we got here
+# from an old athena-auto-upgrade that doesn't do full networking.
+# The latter would imply a very old installation, and reinstallation
+# from scratch is recommended.
+
+# We're not running netconfig here, but install-debathena.sh still
+# uses the information from the preseed. So convert information from
+# the kernel command line to the preseed file format.
+if [ "$nodhcp" = true ]; then
+ sed "s/ /\n/g" < /proc/cmdline | grep "^netcfg" | sed -e "s/^/d-i /" -e "s/=/ string /" >> preseed
+fi
+
+# We're at a point in the install process where we can be fairly sure
+# that nothing else is happening, so "killall wget" should be safe.
+(sleep 5; killall wget >/dev/null 2>&1) &
+if wget -s http://$mirrorsite/ubuntu ; then
+ if ip address show to 18.0.0.0/8 | grep -q . && ! ip address show to 18.2.0.0/16 | grep -q . ; then
+ echo "Network config checks out. Proceeding..."
+ else
+ echo "Your computer seems not to be registered on MITnet, but the mirror"
+ echo "site $mirrorsite is accessible. Continuing anyway."
+ fi
+else
+ echo "${rrr}The mirror site $mirrorsite is NOT accessible in your current"
+ echo "network configuration. Cannot continue."
+ echo "Reboot now."
+ read dummy
+fi
+
+# Perferred hostname of mirror site
+# We want this here even for vanilla installs
+cat >> preseed <<EOF
+d-i apt-setup/hostname string $mirrorsite
+d-i mirror/http/hostname string $mirrorsite
+d-i mirror/country string manual
+d-i mirror/http/directory string /ubuntu
+d-i mirror/http/proxy string
+EOF
+
+if [ vanilla = "$pxetype" ] ; then
+ echo "Starting normal Ubuntu install in five seconds."
+ sleep 5
+ exit 0
+fi
+
+if [ cluster = "$pxetype" ]; then
+ if [ "$partitioning" != "manual" ]; then
+ cat << EOF
+************************************************************
+ ${ddb}DESTROYS${nnn}
+${rrr}THIS PROCEDURE ${ddd}DESTROYS${nnn}${rrr} THE CONTENTS OF THE HARD DISK.${nnn}
+ ${ddb}DESTROYS${nnn}
+
+IF YOU DO NOT WISH TO CONTINUE, REBOOT NOW.
+
+************************************************************
+
+EOF
+ echo "Installing autoinstall preseed file."
+ egrep -v '(^$|^#)' < preseed.autoinstall >> preseed
+ else
+ echo "Installing autoinstall preseed file without automated partitioning."
+ egrep -v '(^$|^#|partman)' < preseed.autoinstall >> preseed
+ fi
+fi
+
+# Shovel in the generically useful preseed stuff regardless.
+egrep -v '(^$|^#)' < preseed.common >> preseed
+
+
+# This is used by the final installer step.
+# A hardcoded number is used as DNS may still be iffy.
+echo "Fetching Debathena postinstaller."
+# 18.92.2.195 = OLD athena10.mit.edu
+# 18.9.60.73 = NEW athena10.mit.edu
+if [ "$installertype" = "beta" ]; then
+ wget http://18.9.60.73/install-debathena.beta.sh
+ mv install-debathena.beta.sh install-debathena.sh
+else
+ wget http://18.9.60.73/install-debathena.sh
+fi
+
+# Let the postinstall know what we are up to.
+echo "$pxetype" > pxe-install-flag
+
+echo "Initial Debathena installer complete; exiting preconfig to start main install."
+if [ "$pxetype" != "cluster" ] || [ "$installertype" = "beta" ]; then
+ echo "Hit return to continue."
+ read r
+fi
+exit 0
Added: trunk/debathena/scripts/installer/pxe/precise/debathena/lvm-cluster-machine.partman
===================================================================
--- trunk/debathena/scripts/installer/pxe/precise/debathena/lvm-cluster-machine.partman (rev 0)
+++ trunk/debathena/scripts/installer/pxe/precise/debathena/lvm-cluster-machine.partman 2012-05-08 00:41:01 UTC (rev 25486)
@@ -0,0 +1,18 @@
+cluster ::
+
+200 200 200 ext3
+ $primary{ } $bootable{ }
+ method{ format } format{ }
+ use_filesystem{ } filesystem{ ext3 }
+ mountpoint{ /boot } .
+
+10000 100000 1000000000 ext3
+ $lvmok{ }
+ use_filesystem{ } filesystem{ ext3 }
+ method{ format } format{ }
+ mountpoint{ / } .
+
+512 300% 300% linux-swap
+ $lvmok{ }
+ method{ swap } format{ } .
+
Added: trunk/debathena/scripts/installer/pxe/precise/debathena/postinstall.sh
===================================================================
--- trunk/debathena/scripts/installer/pxe/precise/debathena/postinstall.sh (rev 0)
+++ trunk/debathena/scripts/installer/pxe/precise/debathena/postinstall.sh 2012-05-08 00:41:01 UTC (rev 25486)
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+# This is only invoked when the relevant preseed entry is passed in
+# during the preinstall questioning. (Thus, not for vanilla installs.)
+
+cp /debathena/preseed /target/root/debathena.preseed
+cp /debathena/install-debathena.sh /target/root
+if test -f /debathena/pxe-install-flag ; then
+ cp /debathena/pxe-install-flag /target/root/pxe-install-flag
+fi
+
+. /lib/chroot-setup.sh
+
+chroot /target dpkg-divert --rename --add /usr/sbin/policy-rc.d
+if ! chroot_setup; then
+ logger -t postinstall.sh -- "Target system not usable. Can't install Debathena."
+ exit 1
+fi
+
+chvt 5
+
+# Something like this approach was once said to fail due to lingering
+# processes keeping the pipeline open and the script hung. According to
+# trac#225 this doesn't happen any more.
+(chroot /target sh /root/install-debathena.sh < /dev/tty5 2>&1 \
+ && touch /debathena/install-succeeded) \
+ | chroot /target tee /var/log/athena-install.log > /dev/tty5
+
+if ! [ -e /debathena/install-succeeded ]; then
+ echo "WARNING: your debathena postinstall has returned an error;" > /dev/tty5
+ echo "see above for details." > /dev/tty5
+ echo > /dev/tty5
+ echo "This shell is provided for debugging purposes. When you exit" > /dev/tty5
+ echo "the shell, your system will reboot into the newly-installed" > /dev/tty5
+ echo "system, though depending on the failure you may see continuing issues." > /dev/tty5
+ /bin/sh < /dev/tty5 > /dev/tty5 2>&1
+fi
+
+sleep 5
+
+chroot_cleanup
+chroot /target dpkg-divert --rename --remove /usr/sbin/policy-rc.d
+
+chvt 1
Added: trunk/debathena/scripts/installer/pxe/precise/debathena/preseed
===================================================================
Added: trunk/debathena/scripts/installer/pxe/precise/debathena/preseed.autoinstall
===================================================================
--- trunk/debathena/scripts/installer/pxe/precise/debathena/preseed.autoinstall (rev 0)
+++ trunk/debathena/scripts/installer/pxe/precise/debathena/preseed.autoinstall 2012-05-08 00:41:01 UTC (rev 25486)
@@ -0,0 +1,246 @@
+# Modified from Hardy's example-preseed.txt.
+
+# This is mildly parsed by the install script.
+
+# Locale and keyboard are set by PXELINUX via kernel options.
+
+##############################################################################
+##############################################################################
+# Stuff which looks bogus for custom installs is current split out up here
+# for later separation.
+d-i pkgsel/update-policy select none
+
+### Network configuration
+# netcfg will choose an interface that has link if possible. This makes it
+# skip displaying a list if there is more than one interface.
+d-i netcfg/choose_interface select auto
+
+##############################################################################
+##############################################################################
+
+# Any hostname and domain names assigned from dhcp take precedence over
+# values set here. However, setting the values still prevents the questions
+# from being shown, even if values come from dhcp.
+# d-i netcfg/get_hostname string unassigned-hostname
+# d-i netcfg/get_domain string unassigned-domain
+
+# Disable that annoying WEP key dialog.
+# d-i netcfg/wireless_wep string
+# The wacky dhcp hostname that some ISPs use as a password of sorts.
+# d-i netcfg/dhcp_hostname string radish
+
+### Partitioning
+# Use the whole disk. Any disk.
+# No, use the first disk (via a shell script that also does sanity checking
+d-i partman/early_command string sh /debathena/check-disks.sh
+# We could also do this to just pick the first disk
+#d-i partman/early_command string debconf-set partman-auto/disk "$(list-devices disk | head -n1)"
+
+# The presently available methods are: "regular", "lvm" and "crypto"
+d-i partman-auto/method string lvm
+
+# Stomp old LVM config.
+d-i partman-auto/purge_lvm_from_device boolean true
+# Don't confirm writing LVM.
+d-i partman-lvm/confirm boolean true
+# ...and for overwriting the same thing from a previous install:
+d-i partman-lvm/device_remove_lvm boolean true
+# ...and for overwriting a completely zeroed disk:
+# This doesn't work when preseeded. It does work manually. Yay.
+# LP:154086 covers the basic problem, though not the nonpreseedability.
+# Except now it does work?
+d-i partman-lvm/confirm_nooverwrite boolean true
+
+# You can choose from any of the predefined partitioning recipes.
+# atomic: All files in one partition (recommended for new users)
+# home: Separate /home partition
+# multi: Separate /home, /usr, /var, and /tmp partitions
+# small_disk (alpha architecture only):
+# Small-disk (< 1GB) partitioning scheme
+# d-i partman-auto/choose_recipe select atomic
+
+# Or provide a recipe of your own...
+# The recipe format is documented in the file devel/partman-auto-recipe.txt.
+# If you have a way to get a recipe file into the d-i environment, you can
+# just point at it.
+d-i partman-auto/expert_recipe_file string /debathena/lvm-cluster-machine.partman
+# This is completely undocumented. Sigh.
+d-i partman-auto-lvm/new_vg_name string athena
+# As reported in Trac #253
+d-i partman-auto-lvm/guided_size string max
+# Don't punt for no-method filesystems. Another undocumented option.
+d-i partman-basicmethods/method_only boolean false
+
+# This makes partman automatically partition without confirmation, provided
+# that you told it what to do using one of the methods above.
+d-i partman/confirm_write_new_label boolean true
+d-i partman/choose_partition select finish
+d-i partman/confirm boolean true
+d-i partman/confirm_nooverwrite boolean true
+
+### Base system installation
+# Select the initramfs generator used to generate the initrd for 2.6 kernels.
+#d-i base-installer/kernel/linux/initramfs-generators string yaird
+
+# The kernel image (meta) package to be installed; "none" can be used if no
+# kernel is to be installed.
+d-i base-installer/kernel/image linux-generic
+
+### Account setup
+# No user account; root account with standard password:
+d-i passwd/make-user boolean false
+d-i passwd/root-login boolean true
+d-i passwd/root-password password profroot
+d-i passwd/root-password-again password profroot
+
+# Normal user's password, either in clear text
+#d-i passwd/user-password password insecure
+#d-i passwd/user-password-again password insecure
+# or encrypted using an MD5 hash.
+#d-i passwd/user-password-crypted password [MD5 hash]
+# Create the first user with the specified UID instead of the default.
+#d-i passwd/user-uid string 1010
+
+# The user account will be added to some standard initial groups. To
+# override that, use this.
+#d-i passwd/user-default-groups string audio cdrom video
+
+### Apt setup
+# You can choose to install restricted and universe software, or to install
+# software from the backports repository.
+d-i apt-setup/restricted boolean true
+d-i apt-setup/universe boolean true
+# Stop configuring backports (originally needed for Jaunty on the 755s)
+# d-i apt-setup/backports boolean true
+# Uncomment this if you don't want to use a network mirror.
+#d-i apt-setup/use_mirror boolean false
+# Select which update services to use; define the mirrors to be used.
+# Values shown below are the normal defaults.
+#d-i apt-setup/services-select multiselect security
+#d-i apt-setup/security_host string security.ubuntu.com
+#d-i apt-setup/security_path string /ubuntu
+d-i apt-setup/country string US
+# Actual mirror host now taken care of (semi-secretly) by the installer script.
+# d-i apt-setup/hostname string mirrors.mit.edu
+d-i apt-setup/directory string /ubuntu
+d-i apt-setup/country US
+
+
+# Additional repositories, local[0-9] available
+#d-i apt-setup/local0/repository string \
+# http://local.server/ubuntu hardy main
+#d-i apt-setup/local0/comment string local server
+# Enable deb-src lines
+#d-i apt-setup/local0/source boolean true
+# URL to the public key of the local repository; you must provide a key or
+# apt will complain about the unauthenticated repository and so the
+# sources.list line will be left commented out
+#d-i apt-setup/local0/key string http://local.server/key
+
+# By default the installer requires that repositories be authenticated
+# using a known gpg key. This setting can be used to disable that
+# authentication. Warning: Insecure, not recommended.
+#d-i debian-installer/allow_unauthenticated string true
+
+### Package selection
+tasksel tasksel/first multiselect standard, ubuntu-desktop
+#tasksel tasksel/first multiselect standard, lamp-server
+#tasksel tasksel/first multiselect standard, kubuntu-desktop
+
+# Individual additional packages to install
+#d-i pkgsel/include string openssh-server build-essential
+
+# Language pack selection
+#d-i pkgsel/language-packs multiselect de, en, zh
+
+# Some versions of the installer can report back on what software you have
+# installed, and what software you use. The default is not to report back,
+# but sending reports helps the project determine what software is most
+# popular and include it on CDs.
+#popularity-contest popularity-contest/participate boolean false
+
+### Boot loader installation
+# Grub is the default boot loader (for x86). If you want lilo installed
+# instead, uncomment this:
+#d-i grub-installer/skip boolean true
+# To also skip installing lilo, and install no bootloader, uncomment this
+# too:
+#d-i lilo-installer/skip boolean true
+
+# This is fairly safe to set, it makes grub install automatically to the MBR
+# if no other operating system is detected on the machine.
+d-i grub-installer/only_debian boolean true
+
+# This one makes grub-installer install to the MBR if it also finds some other
+# OS, which is less safe as it might not be able to boot that other OS.
+d-i grub-installer/with_other_os boolean true
+
+# Alternatively, if you want to install to a location other than the mbr,
+# uncomment and edit these lines:
+#d-i grub-installer/only_debian boolean false
+#d-i grub-installer/with_other_os boolean false
+#d-i grub-installer/bootdev string (hd0,0)
+# To install grub to multiple disks:
+#d-i grub-installer/bootdev string (hd0,0) (hd1,0) (hd2,0)
+
+# On systems where unauthorized users have access at boot time, you may want
+# to set a GRUB password, either in clear text
+#d-i grub-installer/password password insecure
+#d-i grub-installer/password-again password insecure
+# or encrypted using an MD5 hash.
+#d-i grub-installer/password-crypted password [MD5 hash]
+
+### Finishing up the installation
+# Avoid that last message about the install being complete.
+d-i finish-install/reboot_in_progress note
+
+# This will prevent the installer from ejecting the CD during the reboot,
+# which is useful in some situations.
+#d-i cdrom-detect/eject boolean false
+
+# This is how to make the installer shutdown when finished, but not
+# reboot into the installed system.
+#d-i debian-installer/exit/halt boolean true
+
+### X configuration
+# X can detect the right driver for some cards, but if you're preseeding,
+# you override whatever it chooses. Still, vesa will work most places.
+#xserver-xorg xserver-xorg/config/device/driver select vesa
+
+# A caveat with mouse autodetection is that if it fails, X will retry it
+# over and over. So if it's preseeded to be done, there is a possibility of
+# an infinite loop if the mouse is not autodetected.
+#xserver-xorg xserver-xorg/autodetect_mouse boolean true
+
+# Monitor autodetection is recommended.
+xserver-xorg xserver-xorg/autodetect_monitor boolean true
+# Uncomment if you have an LCD display.
+#xserver-xorg xserver-xorg/config/monitor/lcd boolean true
+# X has three configuration paths for the monitor. Here's how to preseed
+# the "medium" path, which is always available. The "simple" path may not
+# be available, and the "advanced" path asks too many questions.
+xserver-xorg xserver-xorg/config/monitor/selection-method select medium
+xserver-xorg xserver-xorg/config/monitor/mode-list select 1024x768 @ 60 Hz
+
+### Preseeding other packages
+# Depending on what software you choose to install, or if things go wrong
+# during the installation process, it's possible that other questions may
+# be asked. You can preseed those too, of course. To get a list of every
+# possible question that could be asked during an install, do an
+# installation, and then run these commands:
+# debconf-get-selections --installer > file
+# debconf-get-selections >> file
+
+
+#### Advanced options
+### Running custom commands during the installation
+# d-i preseeding is inherently not secure. Nothing in the installer checks
+# for attempts at buffer overflows or other exploits of the values of a
+# preconfiguration file like this one. Only use preconfiguration files from
+# trusted locations! To drive that home, and because it's generally useful,
+# here's a way to run any shell command you'd like inside the installer,
+# automatically.
+
+# This first command is run as early as possible, just after
+# preseeding is read.
+#d-i preseed/early_command string anna-install some-udeb
Added: trunk/debathena/scripts/installer/pxe/precise/debathena/preseed.common
===================================================================
--- trunk/debathena/scripts/installer/pxe/precise/debathena/preseed.common (rev 0)
+++ trunk/debathena/scripts/installer/pxe/precise/debathena/preseed.common 2012-05-08 00:41:01 UTC (rev 25486)
@@ -0,0 +1,36 @@
+# This contains only things which interactive installers are still likely to want.
+
+### Mirror settings
+# All of these are now set by installer.sh
+# d-i mirror/country string manual
+# d-i mirror/http/hostname string mirrors.mit.edu
+# d-i mirror/http/directory string /ubuntu
+# d-i mirror/http/proxy string
+
+# Suite to install.
+d-i mirror/suite string precise
+# Suite to use for loading installer components (optional).
+#d-i mirror/udeb/suite string intrepid
+# Components to use for loading installer components (optional).
+#d-i mirror/udeb/components multiselect main, restricted
+
+### Clock and time zone setup
+# Controls whether or not the hardware clock is set to UTC.
+d-i clock-setup/utc boolean true
+
+# You may set this to any valid setting for $TZ; see the contents of
+# /usr/share/zoneinfo/ for valid values.
+d-i time/zone string US/Eastern
+
+# Controls whether to use NTP to set the clock during the install
+d-i clock-setup/ntp boolean true
+# NTP server to use. The default is almost always fine here.
+#d-i clock-setup/ntp-server ntp.example.com
+
+# This command is run just before the install finishes, but when there is
+# still a usable /target directory. You can chroot to /target and use it
+# directly, or use the apt-install and in-target commands to easily install
+# packages and run commands in the target system.
+#d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
+
+d-i preseed/late_command string sh /debathena/postinstall.sh
Added: trunk/debathena/scripts/installer/pxe/precise/debathena-loader.sh
===================================================================
--- trunk/debathena/scripts/installer/pxe/precise/debathena-loader.sh (rev 0)
+++ trunk/debathena/scripts/installer/pxe/precise/debathena-loader.sh 2012-05-08 00:41:01 UTC (rev 25486)
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# This could probably all just go in the preseed file, but what a mess!
+# 18.9.60.73 = athena10.mit.edu (formerly 18.92.2.195)
+
+cd /
+wget http://18.9.60.73/installer/precise/debathena.tar.gz > /dev/tty5 2>&1
+tar xzf debathena.tar.gz
+chvt 5
+sh debathena/installer.sh < /dev/tty5 > /dev/tty5 2>&1
+chvt 1
+# Pick up the generated preseed file (if any):
+echo file://debathena/preseed
Added: trunk/debathena/scripts/installer/pxe/precise/debathena.preseed
===================================================================
--- trunk/debathena/scripts/installer/pxe/precise/debathena.preseed (rev 0)
+++ trunk/debathena/scripts/installer/pxe/precise/debathena.preseed 2012-05-08 00:41:01 UTC (rev 25486)
@@ -0,0 +1,4 @@
+# Minimal preseed, designed to just punt to our own network-based installer.
+# 18.92.2.195 = athena10.mit.edu
+# 18.9.60.73 = new athena10.mit.edu
+d-i preseed/include_command string wget -q http://18.9.60.73/installer/precise/debathena-loader.sh ; sh debathena-loader.sh