#!/bin/bash # This script do the following: # Download Memtest TFTP_ROOT="/var/lib/tftpboot" # Config file CONFIG_PXE="${TFTP_ROOT}/installer/menu.cfg.diag.example" rm -f ${CONFIG_PXE} && touch ${CONFIG_PXE} ### Memtest {{{ MEMTEST_VERSION="5.01" MEMTEST_URL="http://www.memtest.org/download/${MEMTEST_VERSION}/memtest86+-${MEMTEST_VERSION}.bin.gz" MEMTEST_INSTALLER_DIR="${TFTP_ROOT}/installer/memtest/" # (re)Create the installer directory rm -rf ${MEMTEST_INSTALLER_DIR} mkdir -p ${MEMTEST_INSTALLER_DIR} pushd ${MEMTEST_INSTALLER_DIR} # Download the last version and set simpler name (without the **.bin** extension !) wget ${MEMTEST_URL} -O - | gzip -d > memtest86+-${MEMTEST_VERSION}.bin ln -s memtest86+-${MEMTEST_VERSION}.bin memtest86+ popd # Config file /bin/cat >> "${CONFIG_PXE}" << EOF label memtest menu label ^Memory diagnostic tool (Memtest) kernel installer/memtest/memtest86+ EOF ### }}} ### Gparted {{{ GPARTED_VERSION="0.26.1-3" GPARTED_INSTALLER_DIR="${TFTP_ROOT}/installer/gparted" # (re)Create the installer directory rm -rf ${GPARTED_INSTALLER_DIR} mkdir -p ${GPARTED_INSTALLER_DIR} for ARCH in amd64 i686; do # For available classic architecture GPARTED_URL="http://downloads.sourceforge.net/project/gparted/gparted-live-stable/${GPARTED_VERSION}/gparted-live-${GPARTED_VERSION}-${ARCH}.zip" GPARTED_TEMP_FILE="gparted-live-${GPARTED_VERSION}-${ARCH}.zip" # Create and go into directory mkdir -p ${GPARTED_INSTALLER_DIR}/${ARCH} pushd ${GPARTED_INSTALLER_DIR}/${ARCH} # Download and extract only PXE files wget "${GPARTED_URL}" -O "${GPARTED_TEMP_FILE}" unzip -j "${GPARTED_TEMP_FILE}" live/filesystem.squashfs live/initrd.img live/vmlinuz -d . rm -f "${GPARTED_TEMP_FILE}" popd /bin/cat >> "${CONFIG_PXE}" << EOF label gpartedlive${ARCH} menu label Partiton Manager ${ARCH} (^Gparted) kernel installer/gparted/${ARCH}/vmlinuz append initrd=installer/gparted/${ARCH}/initrd.img boot=live config components union=overlay username=user noswap noeject ip= vga=788 fetch=tftp://129.20.203.27/installer/gparted/${ARCH}/filesystem.squashfs EOF done ### }}} # Config file /bin/cat >> "${CONFIG_PXE}" << EOF label separator menu label ----- label mainmenu menu label ^Back.. menu exit EOF exit 0