summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--satellit_upgrader/updater.template.sh41
1 files changed, 17 insertions, 24 deletions
diff --git a/satellit_upgrader/updater.template.sh b/satellit_upgrader/updater.template.sh
index 37ccb35..2ebb906 100644
--- a/satellit_upgrader/updater.template.sh
+++ b/satellit_upgrader/updater.template.sh
@@ -393,38 +393,31 @@ elif [ -n "$TGZ_IPXE" ]; then
rm -rf -- "$PATH_IPXE"
mkdir -p "$PATH_IPXE"
tar -x -C "$PATH_IPXE" -f "$TMPDIR/$TGZ_IPXE" || perror "Could not extract $TGZ_IPXE to $PATH_IPXE"
- fixperms "$PATH_IPXE" taskmanager:taskmanager
# Trigger default compile in the background so the next regen doesn't take too long
build=true
fi
if $build; then
# Bring up to date either way
- cd "$PATH_IPXE"
- # Reset modified config, in case the files have changed upstream; will be re-applied below
- failprint sudo -n -u taskmanager git checkout src/config
- failprint sudo -n -u taskmanager git pull --all || pwarning "Could not update iPXE -- let's hope the old version still works."
+ cd "$PATH_IPXE" || perror "ipxe directory not found ($PATH_IPXE)"
+ fixperms "$PATH_IPXE" taskmanager:taskmanager
+ # Reset modified config, older versions changed these
+ echo "Running git..."
+ sudo -n -u taskmanager git reset &> /dev/null
+ sudo -n -u taskmanager git checkout src/config &> /dev/null
+ sudo -n -u taskmanager git checkout openslx
+ sudo -n -u taskmanager git pull --all &> /dev/null \
+ || (
+ sudo -n -u taskmanager git reset --hard origin/openslx
+ failprint sudo -n -u taskmanager git pull --all
+ ) \
+ || pwarning "Could not update iPXE -- let's hope the old version still works."
+ echo "Adding bwlp config..."
+ install_files "ipxe-bwlp"
+ fixperms "$PATH_IPXE" taskmanager:taskmanager
echo "Resetting pxe menu"
- ipxe_enable () {
- local var
- while [ $# -gt 0 ]; do
- var="$1"
- sed -i -r "s~^\\s*(//\\s*#define|#undef)\\s+${var}(\\s|$)~#define ${var} /* enabled by bwLehrpool */\\2~" "$PATH_IPXE"/src/config/*.h || pwarning "Could not enable iPXE option $var"
- shift
- done
- }
- ipxe_disable () {
- local var
- while [ $# -gt 0 ]; do
- var="$1"
- sed -i -r "s~^\\s*(//\\s*#undef|#define)\\s+${var}(\\s|\$)~#undef ${var} /* disabled by bwLehrpool */\\2~" "$PATH_IPXE"/src/config/*.h || pwarning "Could not disable iPXE option $var"
- shift
- done
- }
- ipxe_enable CONSOLE_FRAMEBUFFER CONSOLE_CMD MENU_CMD PARAM_CMD DOWNLOAD_PROTO_HTTPS IMAGE_PNG NVO_CMD IFMGMT_CMD LOGIN_CMD SHELL_CMD MENU_CMD REBOOT_CMD POWEROFF_CMD VRAM_SETTINGS
- ipxe_disable NET_PROTO_STP NET_PROTO_LACP CRYPTO_80211_WEP CRYPTO_80211_WPA CRYPTO_80211_WPA2 IWMGMT_CMD IBMGMT_CMD FCMGMT_CMD CONSOLE_SERIAL
mysql -e 'UPDATE openslx.property SET value = "invalid" WHERE name = "server-ip"' || pwarning "Could not reset pxe menu status; manual regeneration of menu required"
{
- cd "$PATH_IPXE/src" && sudo -n -u taskmanager nice -n 10 make -j2 bin/undionly.kkkpxe > /dev/null 2>&1
+ cd "$PATH_IPXE/src" && sudo -n -u taskmanager nice -n 10 make -j2 CONFIG=bwlp bin/undionly.kkkpxe > /dev/null 2>&1
} &
IPXE_PID=$!
fi