diff options
Diffstat (limited to 'source/installer/sources/initrd/usr/lib/setup/pxesetup')
-rwxr-xr-x | source/installer/sources/initrd/usr/lib/setup/pxesetup | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/source/installer/sources/initrd/usr/lib/setup/pxesetup b/source/installer/sources/initrd/usr/lib/setup/pxesetup new file mode 100755 index 00000000..fb7831a3 --- /dev/null +++ b/source/installer/sources/initrd/usr/lib/setup/pxesetup @@ -0,0 +1,120 @@ +#!/bin/sh +# +# Copyright 2011 Eric Hameleers, Eindhoven, NL +# Copyright 2011 Patrick Volkerding, Sebeka, Minnesota USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# Bug reports, suggestions, etc for pxesetup: alien@slackware.com +# +TMP=/var/log/setup/tmp +if [ ! -d $TMP ]; then + mkdir -p $TMP +fi +rm -f $TMP/SeT* +# If a keymap was set up, restore that data: +if [ -r $TMP/Pkeymap ]; then + cp $TMP/Pkeymap $TMP/SeTkeymap +fi +echo "on" > $TMP/SeTcolor # turn on color menus +PATH="$PATH:/usr/lib/setup" +export PATH; +export COLOR=on +# Before probing, activate any LVM partitions that may exist from +# before the boot - perhaps the Slackware tree is on a local partition: +vgchange -ay 1> /dev/null 2> /dev/null +if probe -l 2> /dev/null | grep -E 'Linux$' 1> /dev/null 2> /dev/null ; then + probe -l 2> /dev/null | grep -E 'Linux$' | sort 1> $TMP/SeTplist 2> /dev/null +fi + +while [ 0 ]; do + + dialog --title "Slackware PXE Setup (version 13.37)" \ +--menu \ +"Welcome to Slackware PXE Setup.\n\ +Select an option below using the UP/DOWN keys and SPACE or ENTER.\n\ +Alternate keys may also be used: '+', '-', and TAB." 18 72 9 \ +"HELP" "Read the Slackware PXE Setup HELP file" \ +"NETWORK" "Configure your network parameters" \ +"SOURCE" "Select source media" \ +"ACTIVATE" "Activate the Slackware PXE Server" \ +"EXIT" "Exit Slackware PXE Setup" 2> $TMP/hdset + if [ ! $? = 0 ]; then + rm -f $TMP/hdset $TMP/SeT* + exit + fi + MAINSELECT="`cat $TMP/hdset`" + rm $TMP/hdset + + # Start checking what to do. Some modules may reset MAINSELECT to run the + # next item in line. + + if [ "$MAINSELECT" = "HELP" ]; then + SeTPXEHELP + fi + + if [ "$MAINSELECT" = "NETWORK" ]; then + SeTnet + SeTpxe + if [ -r $TMP/SeTpxe ]; then + MAINSELECT="SOURCE" + fi + fi + + if [ "$MAINSELECT" = "SOURCE" ]; then + SeTpxemedia + if [ -r $TMP/SeTsource ]; then + MAINSELECT="ACTIVATE" + fi + fi + + if [ "$MAINSELECT" = "ACTIVATE" ]; then + if [ ! -r $TMP/SeTpxe -o ! -r $TMP/SeTsource ]; then + dialog --title "CANNOT START PXE SERVER YET" --msgbox "\ +\n\ +Before you can start the PXE Server, complete the following tasks:\n\ +\n\ +1. Set up your computer's network parameters.\n\ +2. Select your source media.\n\ +\n\ +Press ENTER to return to the main menu." 14 68 + continue + fi + # Time to start the BOOTP/TFTP/HTTP servers: + dnsmasq -C /etc/dnsmasq.conf + httpd -h /var/log/mount + + dialog --backtitle "Slackware PXE Server." \ + --title "PXE Client activity log" \ + --ok-label "EXIT" \ + --tailbox /var/log/dnsmasq.log 18 68 + + # Time to kill the BOOTP/TFTP/HTTP servers: + kill -TERM $(cat /var/run/dnsmasq.pid) + killall -TERM httpd + fi + + if [ "$MAINSELECT" = "EXIT" ]; then + break + fi + +done # end of main loop + +# end slackware PXE setup script + |