[syslinux-iso] Remove archiso-pxe-server and dnsmasq dependency.
This script can be part of the wiki, or in another package/project. (See Dieter comment at FS#12619) Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
This commit is contained in:
parent
a4d875288c
commit
fa546a0ca4
@ -1,93 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# A basic script to setup a PXE server enviroment for Arch Linux live-media.
|
|
||||||
# Contributed by Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
|
|
||||||
|
|
||||||
# usage example: archiso-pxe-server [ip] [bootdevice]
|
|
||||||
|
|
||||||
BOOT=/bootmnt/boot
|
|
||||||
TFTPBOOT=/var/tftpboot
|
|
||||||
|
|
||||||
IP="$1"
|
|
||||||
ISO="$2"
|
|
||||||
|
|
||||||
IP_ETH0=`ifconfig eth0 | awk -F":| +" '/inet addr/{print $4}'`
|
|
||||||
if grep archisolabel /proc/cmdline > /dev/null; then
|
|
||||||
LABEL=`sed "s/.\+archisolabel=\([^ ]\+\).\+/\1/" /proc/cmdline`
|
|
||||||
else
|
|
||||||
LABEL=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
usage()
|
|
||||||
{
|
|
||||||
echo
|
|
||||||
echo "archiso-pxe-server [ip] [bootdevice]"
|
|
||||||
echo
|
|
||||||
echo " options:"
|
|
||||||
echo " [ip] ip address of the local interface to serve (default use ip of eth0)"
|
|
||||||
echo " [bootdevice] boot device of Arch Linux Live media (for example /dev/cdrom)"
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
copy_files()
|
|
||||||
{
|
|
||||||
if [ ! -d $TFTPBOOT ]; then
|
|
||||||
mkdir -p $TFTPBOOT/boot/i686
|
|
||||||
mkdir -p $TFTPBOOT/boot/x86_64
|
|
||||||
mkdir -p $TFTPBOOT/pxelinux.cfg
|
|
||||||
[ -f $BOOT/vmlinuz26 ] && cp $BOOT/vmlinuz26 $TFTPBOOT/boot
|
|
||||||
[ -f $BOOT/archiso.img ] && cp $BOOT/archiso.img $TFTPBOOT/boot
|
|
||||||
[ -f $BOOT/i686/vmlinuz26 ] && cp $BOOT/i686/vmlinuz26 $TFTPBOOT/boot/i686
|
|
||||||
[ -f $BOOT/i686/archiso.img ] && cp $BOOT/i686/archiso.img $TFTPBOOT/boot/i686
|
|
||||||
[ -f $BOOT/x86_64/vmlinuz26 ] && cp $BOOT/x86_64/vmlinuz26 $TFTPBOOT/boot/x86_64
|
|
||||||
[ -f $BOOT/x86_64/archiso.img ] && cp $BOOT/x86_64/archiso.img $TFTPBOOT/boot/x86_64
|
|
||||||
cp $BOOT/memtest $TFTPBOOT/boot
|
|
||||||
cp $BOOT/x86test $TFTPBOOT/boot
|
|
||||||
cp $BOOT/splash.png $TFTPBOOT/boot
|
|
||||||
cp $BOOT/isolinux/pxelinux.0 $TFTPBOOT
|
|
||||||
cp $BOOT/isolinux/chain.c32 $TFTPBOOT
|
|
||||||
cp $BOOT/isolinux/reboot.c32 $TFTPBOOT
|
|
||||||
cp $BOOT/isolinux/vesamenu.c32 $TFTPBOOT
|
|
||||||
sed 's|IPAPPEND 0|IPAPPEND 3|g' \
|
|
||||||
$BOOT/isolinux/isolinux.cfg > \
|
|
||||||
$TFTPBOOT/pxelinux.cfg/default
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
start_pxe_server()
|
|
||||||
{
|
|
||||||
dnsmasq \
|
|
||||||
--enable-tftp \
|
|
||||||
--tftp-root=$TFTPBOOT \
|
|
||||||
--dhcp-boot=/pxelinux.0,"${IP}" \
|
|
||||||
--dhcp-range=${IP%.*}.2,${IP%.*}.254,86400
|
|
||||||
}
|
|
||||||
|
|
||||||
start_nbd_server()
|
|
||||||
{
|
|
||||||
nbd-server 9040 ${ISO} -r
|
|
||||||
}
|
|
||||||
|
|
||||||
check_parameters()
|
|
||||||
{
|
|
||||||
if [ -z "$IP_ETH0" -a -z "$IP" ]; then
|
|
||||||
echo "ERROR: missing IP address"
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
IP=$IP_ETH0
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$LABEL" -a -z "$ISO" ]; then
|
|
||||||
echo "ERROR: can't determine boot device, please specify on command line"
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
ISO="/dev/disk/by-label/$LABEL"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
check_parameters
|
|
||||||
copy_files
|
|
||||||
start_pxe_server
|
|
||||||
start_nbd_server
|
|
@ -5,7 +5,6 @@ b43-fwcutter
|
|||||||
base
|
base
|
||||||
ddrescue
|
ddrescue
|
||||||
dmraid
|
dmraid
|
||||||
dnsmasq
|
|
||||||
dnsutils
|
dnsutils
|
||||||
dosfstools
|
dosfstools
|
||||||
elinks
|
elinks
|
||||||
@ -21,7 +20,6 @@ joe
|
|||||||
lftp
|
lftp
|
||||||
lilo
|
lilo
|
||||||
memtest86+
|
memtest86+
|
||||||
nbd
|
|
||||||
ndiswrapper
|
ndiswrapper
|
||||||
ndiswrapper-utils
|
ndiswrapper-utils
|
||||||
nfs-utils
|
nfs-utils
|
||||||
|
@ -5,7 +5,6 @@ b43-fwcutter
|
|||||||
base
|
base
|
||||||
ddrescue
|
ddrescue
|
||||||
dmraid
|
dmraid
|
||||||
dnsmasq
|
|
||||||
dnsutils
|
dnsutils
|
||||||
dosfstools
|
dosfstools
|
||||||
elinks
|
elinks
|
||||||
@ -21,7 +20,6 @@ joe
|
|||||||
lftp
|
lftp
|
||||||
lilo
|
lilo
|
||||||
memtest86+
|
memtest86+
|
||||||
nbd
|
|
||||||
ndiswrapper
|
ndiswrapper
|
||||||
ndiswrapper-utils
|
ndiswrapper-utils
|
||||||
nfs-utils
|
nfs-utils
|
||||||
|
Loading…
Reference in New Issue
Block a user