From b242c7212b0d341c75cde349f52e61dc1a4f6b50 Mon Sep 17 00:00:00 2001 From: ramon Date: Wed, 25 Apr 2018 08:01:12 +0000 Subject: #802: Comprobación correcta de Kernel Linux firmado para EFI y buscar también cargador por defecto de Windows para sistemas recién instalados. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://opengnsys.es/svn/branches/version1.1@5755 a21b9725-9963-47de-94b9-378ad31fedc9 --- client/engine/Boot.lib | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'client/engine/Boot.lib') 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 -- cgit v1.2.3-18-g5258