mirror of https://git.48k.eu/ogclient
utils: improve uefi detection mechanism
Checking the existence /sys/firmware/efi as it might appear sometimes in BIOS installs if the BIOS configuration is not proper. Checking for the EFI partition is the safest method to veryfy the install type.master
parent
9970c8e33d
commit
7f18485eff
|
@ -262,7 +262,7 @@ class OgLiveOperations:
|
|||
disk = request.getDisk()
|
||||
partition = request.getPartition()
|
||||
|
||||
if is_uefi_supported():
|
||||
if is_uefi_supported(disk):
|
||||
logging.info('UEFI support detected')
|
||||
logging.info(f'Booting disk={disk} partition={partition}')
|
||||
boot_os_at(int(disk), int(partition))
|
||||
|
|
|
@ -69,7 +69,7 @@ def _boot_uefi_linux(disk, part, mountpoint):
|
|||
umount(esp_mountpoint)
|
||||
|
||||
def boot_os_at(disk, part):
|
||||
if not is_uefi_supported():
|
||||
if not is_uefi_supported(disk):
|
||||
raise NotImplementedError('BIOS booting is not implemented yet')
|
||||
|
||||
device = get_partition_device(disk, part)
|
||||
|
|
|
@ -11,6 +11,7 @@ import logging
|
|||
import os
|
||||
import shlex
|
||||
import subprocess
|
||||
from src.utils.disk import get_efi_partition
|
||||
|
||||
import fdisk
|
||||
|
||||
|
@ -46,8 +47,17 @@ def _check_efibootmgr_json():
|
|||
return supported
|
||||
|
||||
|
||||
def is_uefi_supported():
|
||||
return True if os.path.exists("/sys/firmware/efi") else False
|
||||
def is_uefi_supported(disknum):
|
||||
is_supported = os.path.exists("/sys/firmware/efi")
|
||||
|
||||
if is_supported:
|
||||
try:
|
||||
get_efi_partition(disknum)
|
||||
except Exception as e:
|
||||
logging.info(e)
|
||||
is_supported = False
|
||||
|
||||
return is_supported
|
||||
|
||||
|
||||
def run_efibootmgr_json():
|
||||
|
|
Loading…
Reference in New Issue