#!/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