summaryrefslogtreecommitdiffstats
path: root/client/engine/Boot.lib
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2014-03-17 11:36:29 +0000
committerramon <ramongomez@us.es>2014-03-17 11:36:29 +0000
commita73649da0a35ef4e4947a939d8bf2491c6bcaff2 (patch)
treebbf2002e957ffbf461cec9e93619d379f560f970 /client/engine/Boot.lib
parent0483b14f234edbefa932d73b6ca2c3d9b3283449 (diff)
#637: Corregidas las condiciones de error incorrectas que no provocaban la salida de una función ante un fallo controlado.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@4187 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/engine/Boot.lib')
-rwxr-xr-xclient/engine/Boot.lib41
1 files changed, 21 insertions, 20 deletions
diff --git a/client/engine/Boot.lib b/client/engine/Boot.lib
index 51c78bc2..bc176b85 100755
--- a/client/engine/Boot.lib
+++ b/client/engine/Boot.lib
@@ -48,7 +48,8 @@ fi
PART=$(ogDiskToDev $1 $2) || return $?
TYPE=$(ogGetFsType $1 $2) || return $?
MNTDIR=$(ogMount $1 $2) 2>/dev/null
-[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $?
+# Error si no puede montar sistema de archivos.
+[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $?
case "$TYPE" in
EXT[234]|REISERFS|REISER4|JFS|XFS)
@@ -56,7 +57,7 @@ case "$TYPE" in
PARAMS=$(ogLinuxBootParameters $1 $2) || return $?
read -e KERNEL INITRD APPEND <<<"$PARAMS"
# Si no hay kernel, no hay sistema operativo.
- [ -z "$KERNEL" ] && ogRaiseError $OG_ERR_NOTOS && return $?
+ [ -n "$KERNEL" ] || ogRaiseError $OG_ERR_NOTOS || return $?
# Arrancar de partición distinta a la original.
[ -e "$MNTDIR/etc" ] && APPEND=$(echo $APPEND | awk -v P="$PART " '{sub (/root=[-+=_/a-zA-Z0-9]* /,"root="P);print}')
# Configurar kernel Linux con los parámetros leídos de su GRUB.
@@ -69,7 +70,7 @@ case "$TYPE" in
FILE="$(ogGetPath $1 $2 $f 2>/dev/null)"
[ -n "$FILE" ] && LOADER="$f"
done
- [ -z "$LOADER" ] && ogRaiseError $OG_ERR_NOTOS && return $?
+ [ -n "$LOADER" ] || ogRaiseError $OG_ERR_NOTOS || return $?
if [ "$winboot" == "kexec" ]; then
# Modo de arranque en caliente (con kexec).
cp $OGLIB/grub4dos/* $MNTDIR # */ (Comentario Doxygen)
@@ -128,7 +129,7 @@ fi
# Montar el sistema de archivos.
MNTDIR=$(ogMount $1 $2) 2>/dev/null
-[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $?
+[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $?
# Obtener dato del valor de registro.
ogGetRegistryValue $MNTDIR system '\ControlSet001\Control\ComputerName\ComputerName\ComputerName'
@@ -171,7 +172,7 @@ fi
# Detectar id. de tipo de partición y codificar al mnemonico.
MNTDIR=$(ogMount $1 $2) 2>/dev/null
-[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $?
+[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $?
# Fichero de configuración de GRUB.
CONFDIR=$MNTDIR # Partición de arranque /boot.
@@ -180,7 +181,7 @@ CONFFILE="$CONFDIR/grubPARTITION/boot/grub/grub.cfg"
[ ! -e $CONFFILE ] && CONFFILE="$CONFDIR/grub/menu.lst"
[ ! -e $CONFFILE ] && CONFFILE="$CONFDIR/grub/grub.cfg"
[ ! -e $CONFFILE ] && CONFFILE="$CONFDIR/grub2/grub.cfg"
-[ ! -e $CONFFILE ] && ogRaiseError $OG_ERR_NOTFOUND "grub.cfg" && return $?
+[ -e $CONFFILE ] || ogRaiseError $OG_ERR_NOTFOUND "grub.cfg" || return $?
# Toma del fichero de configuracion los valores del kernel, initrd
# y parámetros de arranque usando las cláusulas por defecto
@@ -282,7 +283,7 @@ fi
# Montar el sistema de archivos.
MNTDIR=$(ogMount $1 $2) 2>/dev/null
-[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $?
+[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $?
NAME="$3"
# Modificar datos en el registro.
@@ -305,20 +306,20 @@ ogSetRegistryValue $MNTDIR SOFTWARE '\Microsoft\Windows NT\CurrentVersion\Winlog
function ogBootMbrXP ()
{
# Variables locales.
-local PART
+local DISK
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME int_ndisk " \
- "$FUNCNAME 1 "
+ "$FUNCNAME 1"
return
fi
-# Error si no se reciben 1 parámetros.
+# Error si no se recibe 1 parámetro.
[ $# == 1 ] || ogRaiseError $OG_ERR_FORMAT || return $?
-PART="$(ogDiskToDev $1)" || return $?
-ms-sys -z -f $PART
-ms-sys -m -f $PART
+DISK="$(ogDiskToDev $1)" || return $?
+ms-sys -z -f $DISK
+ms-sys -m -f $DISK
}
@@ -337,7 +338,7 @@ ms-sys -m -f $PART
function ogBootMbrGeneric ()
{
# Variables locales.
-local PART
+local DISK
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
@@ -345,12 +346,12 @@ if [ "$*" == "help" ]; then
"$FUNCNAME 1 "
return
fi
-# Error si no se reciben 1 parámetros.
+# Error si no se recibe 1 parámetro.
[ $# == 1 ] || return $(ogRaiseError $OG_ERR_FORMAT; echo $?)
-PART="$(ogDiskToDev $1)" || return $(ogRaiseError $OG_ERR_NOTFOUND; echo $?)
-ms-sys -z -f $PART
-ms-sys -s -f $PART
+DISK="$(ogDiskToDev $1)" || return $?
+ms-sys -z -f $DISK
+ms-sys -s -f $DISK
}
@@ -908,7 +909,7 @@ esac
# Montar el sistema de archivos.
MNTDIR=$(ogMount $1 $2) 2>/dev/null
-[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $?
+[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $?
ETC=$(ogGetPath $1 $2 /etc)
@@ -965,7 +966,7 @@ fi
# Montar el sistema de archivos.
MNTDIR=$(ogMount $1 $2) 2>/dev/null
-[ -z "$MNTDIR" ] && ogRaiseError OG_ERR_PARTITION "$1, $2" && return $?
+[ -n "$MNTDIR" ] || ogRaiseError OG_ERR_PARTITION "$1, $2" || return $?
# Eliminar fichero de configuración de udev para dispositivos fijos de red.
rm -f ${MNTDIR}/etc/udev/rules.d/70-persistent-net.rules