mirror of
git://slackware.nl/current.git
synced 2025-01-10 05:25:51 +01:00
121 lines
3.6 KiB
Text
121 lines
3.6 KiB
Text
|
#!/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
|
||
|
|