summaryrefslogtreecommitdiffstats
path: root/client/engine/Boot.lib
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2018-04-25 08:01:12 +0000
committerramon <ramongomez@us.es>2018-04-25 08:01:12 +0000
commitb242c7212b0d341c75cde349f52e61dc1a4f6b50 (patch)
tree16943724af47532d12c71b4c95394c9f544f42cb /client/engine/Boot.lib
parent689303019b95f70d423dbaf8c0c666f80fea9d0f (diff)
#802: Comprobación correcta de Kernel Linux firmado para EFI y buscar también cargador por defecto de Windows para sistemas recién instalados.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5755 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client/engine/Boot.lib')
-rwxr-xr-xclient/engine/Boot.lib12
1 files changed, 7 insertions, 5 deletions
diff --git a/client/engine/Boot.lib b/client/engine/Boot.lib
index e33588c5..71a3688b 100755
--- a/client/engine/Boot.lib
+++ b/client/engine/Boot.lib
@@ -83,8 +83,8 @@ case "$TYPE" in
read -e EFIDISK EFIPART <<<"$(ogGetEsp)"
[ -n "$EFIPART" ] || ogRaiseError $OG_ERR_PARTITION "ESP" || return $?
# Comprobar si el Kernel está firmado.
- if sbverify --no-verify "$MNTDIR/$KERNEL" &>/dev/null; then
- ogRaiseError $OG_ERR_NOTFOUND "$1 $2 ($TYPE, EFI)"
+ if ! sbverify --no-verify "$MNTDIR/$KERNEL" &>/dev/null; then
+ ogRaiseError $OG_ERR_NOTOS "$1 $2 ($TYPE, EFI)"
return $?
fi
# Crear directorio para el cargador y copiar los ficheros.
@@ -114,10 +114,12 @@ case "$TYPE" in
# Obtener parcición EFI.
read -e EFIDISK EFIPART <<<"$(ogGetEsp)"
[ -n "$EFIPART" ] || ogRaiseError $OG_ERR_PARTITION "ESP" || return $?
- # Crear directorio para el cargador y copiar los ficheros.
- LOADER=$(ogGetPath $1 $2 /Boot/bootmgfw.efi)
- [ -n "$LOADER" ] || ogRaiseError $OG_ERR_NOTFOUND "$1 $2 ($TYPE, EFI)" || return $?
EFIDIR=$(ogMount $EFIDISK $EFIPART) || exit $?
+ # Comprobar cargador (si no existe buscar por defecto en ESP).
+ LOADER=$(ogGetPath $1 $2 /Boot/bootmgfw.efi)
+ [ -z "$LOADER" ] && LOADER=$(ogGetPath $EFIDIR/EFI/Microsoft/Boot/bootmgfw.efi)
+ [ -n "$LOADER" ] || ogRaiseError $OG_ERR_NOTOS "$1 $2 ($TYPE, EFI)" || return $?
+ # Crear directorio para el cargador y copiar los ficheros.
BOOTLABEL=$(printf "Part-%02d-%02d" $1 $2)
mkdir -p $EFIDIR/EFI/$BOOTLABEL
cp -a $(dirname "$LOADER") $EFIDIR/EFI/$BOOTLABEL