[26914] in Source-Commits

home help back first fref pref prev next nref lref last post

Re: /svn/athena r25829 - in trunk/debathena/scripts/installer/pxe:

daemon@ATHENA.MIT.EDU (Benjamin Kaduk)
Fri Mar 1 13:01:13 2013

Date: Fri, 1 Mar 2013 13:00:51 -0500 (EST)
From: Benjamin Kaduk <kaduk@MIT.EDU>
To: Jonathan D Reed <jdreed@MIT.EDU>
cc: source-commits@MIT.EDU
In-Reply-To: <201303011758.r21HwVio005378@drugstore.mit.edu>
Message-ID: <alpine.GSO.1.10.1303011300471.9389@multics.mit.edu>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

Thanks, ACK.
-Ben

On Fri, 1 Mar 2013, Jonathan D Reed wrote:

> Author: jdreed
> Date: 2013-03-01 12:58:31 -0500 (Fri, 01 Mar 2013)
> New Revision: 25829
>
> Added:
>   trunk/debathena/scripts/installer/pxe/raring/
>   trunk/debathena/scripts/installer/pxe/raring/Makefile
>   trunk/debathena/scripts/installer/pxe/raring/debathena-loader.sh
>   trunk/debathena/scripts/installer/pxe/raring/debathena.preseed
>   trunk/debathena/scripts/installer/pxe/raring/debathena/
>   trunk/debathena/scripts/installer/pxe/raring/debathena/check-disks.sh
>   trunk/debathena/scripts/installer/pxe/raring/debathena/installer.sh
>   trunk/debathena/scripts/installer/pxe/raring/debathena/lvm-cluster-machine.partman
>   trunk/debathena/scripts/installer/pxe/raring/debathena/postinstall.sh
>   trunk/debathena/scripts/installer/pxe/raring/debathena/preseed
>   trunk/debathena/scripts/installer/pxe/raring/debathena/preseed.autoinstall
>   trunk/debathena/scripts/installer/pxe/raring/debathena/preseed.common
> Log:
> Add raring PXE support (April is sooner than you think!)
>
> Added: trunk/debathena/scripts/installer/pxe/raring/Makefile
> ===================================================================
> --- trunk/debathena/scripts/installer/pxe/raring/Makefile	                        (rev 0)
> +++ trunk/debathena/scripts/installer/pxe/raring/Makefile	2013-03-01 17:58:31 UTC (rev 25829)
> @@ -0,0 +1,11 @@
> +# This is pretty dangerous in a bunch of ways.  Approach with caution.
> +d=/afs/athena.mit.edu/system/athena10/installer/raring
> +
> +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/raring/debathena/check-disks.sh
> ===================================================================
> --- trunk/debathena/scripts/installer/pxe/raring/debathena/check-disks.sh	                        (rev 0)
> +++ trunk/debathena/scripts/installer/pxe/raring/debathena/check-disks.sh	2013-03-01 17:58:31 UTC (rev 25829)
> @@ -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/raring/debathena/installer.sh
> ===================================================================
> --- trunk/debathena/scripts/installer/pxe/raring/debathena/installer.sh	                        (rev 0)
> +++ trunk/debathena/scripts/installer/pxe/raring/debathena/installer.sh	2013-03-01 17:58:31 UTC (rev 25829)
> @@ -0,0 +1,170 @@
> +#!/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
> +
> +# Start up a minimal athinfod
> +wget http://18.9.60.73/installer/athinfod && chmod 755 athinfod && ./athinfod
> +# Give said athinfod some basic info
> +cat > install-info <<EOF
> +pxetype=$pxetype
> +installertype=$installertype
> +partitioning=$partitioning
> +mirrorsite=$mirrorsite
> +EOF
> +
> +
> +# 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/raring/debathena/lvm-cluster-machine.partman
> ===================================================================
> --- trunk/debathena/scripts/installer/pxe/raring/debathena/lvm-cluster-machine.partman	                        (rev 0)
> +++ trunk/debathena/scripts/installer/pxe/raring/debathena/lvm-cluster-machine.partman	2013-03-01 17:58:31 UTC (rev 25829)
> @@ -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/raring/debathena/postinstall.sh
> ===================================================================
> --- trunk/debathena/scripts/installer/pxe/raring/debathena/postinstall.sh	                        (rev 0)
> +++ trunk/debathena/scripts/installer/pxe/raring/debathena/postinstall.sh	2013-03-01 17:58:31 UTC (rev 25829)
> @@ -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/raring/debathena/preseed
> ===================================================================
> Added: trunk/debathena/scripts/installer/pxe/raring/debathena/preseed.autoinstall
> ===================================================================
> --- trunk/debathena/scripts/installer/pxe/raring/debathena/preseed.autoinstall	                        (rev 0)
> +++ trunk/debathena/scripts/installer/pxe/raring/debathena/preseed.autoinstall	2013-03-01 17:58:31 UTC (rev 25829)
> @@ -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 (&lt; 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/raring/debathena/preseed.common
> ===================================================================
> --- trunk/debathena/scripts/installer/pxe/raring/debathena/preseed.common	                        (rev 0)
> +++ trunk/debathena/scripts/installer/pxe/raring/debathena/preseed.common	2013-03-01 17:58:31 UTC (rev 25829)
> @@ -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 raring
> +# 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/raring/debathena-loader.sh
> ===================================================================
> --- trunk/debathena/scripts/installer/pxe/raring/debathena-loader.sh	                        (rev 0)
> +++ trunk/debathena/scripts/installer/pxe/raring/debathena-loader.sh	2013-03-01 17:58:31 UTC (rev 25829)
> @@ -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/raring/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/raring/debathena.preseed
> ===================================================================
> --- trunk/debathena/scripts/installer/pxe/raring/debathena.preseed	                        (rev 0)
> +++ trunk/debathena/scripts/installer/pxe/raring/debathena.preseed	2013-03-01 17:58:31 UTC (rev 25829)
> @@ -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/raring/debathena-loader.sh ; sh debathena-loader.sh
>
>

home help back first fref pref prev next nref lref last post