From 62633be332b9db977cfb1568c18795d7d5b359c9 Mon Sep 17 00:00:00 2001 From: Irina Gómez Date: Wed, 9 Mar 2022 10:02:16 +0100 Subject: #1071 ogNvramPxeEntryFirst New function that sets network as the default boot of NVRAM. --- client/engine/UEFI.lib | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/client/engine/UEFI.lib b/client/engine/UEFI.lib index 1a8bb952..ae9e0db0 100755 --- a/client/engine/UEFI.lib +++ b/client/engine/UEFI.lib @@ -375,6 +375,37 @@ efibootmgr |awk '{if($1~/Boot[[:digit:]]/) ; active="" ;if ($1~/*/) active="*" } +#/** +# ogNvramPxeEntryFirst +#@brief Sitúa la entrada de la tarjeta de red en el primer lugar en la NVRAM. +#@return (nada) +#@exception OG_ERR_NOTUEFI UEFI no activa. +#*/ ## +function ogNvramPxeEntryFirst (){ +local NUMENTRY ORDER + +# Si se solicita, mostrar ayuda. +if [ "$*" == "help" ]; then + ogHelp "$FUNCNAME" "$FUNCNAME" \ + "$FUNCNAME" + return +fi + +# Si no es equipo UEFI salir con error +ogIsEfiActive || ogRaiseError $OG_ERR_NOTUEFI || return $? + +NUMENTRY=$(printf %04X 0x$(efibootmgr|awk '/IP[vV]{0,1}4/ {print gensub(/^0{1,3}/,"",1,substr($1,5,4))}')) + +# Si la entrada es la primera nos salimos. +[[ $(ogNvramGetOrder) =~ ^$NUMENTRY ]] && return + +# Si la entrada ya existe la borramos. +ORDER="$NUMENTRY $(ogNvramGetOrder| sed -e s/$NUMENTRY//g -e s/,/' '/g)" + +ogNvramSetOrder $ORDER +} + + #/** # ogRestoreEfiBootLoader int_ndisk str_repo #@brief Copia el cargador de arranque de la partición de sistema a la partición EFI. -- cgit v1.2.3-18-g5258