mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-20 03:50:37 +02:00
replace sgdisk with sfdisk
This commit is contained in:
parent
17280786d6
commit
ad72432eb5
2 changed files with 9 additions and 14 deletions
|
@ -5,20 +5,16 @@ _check_gpt() {
|
|||
_GUID_DETECTED=""
|
||||
[[ "$(${_LSBLK} PTTYPE "${_DISK}")" == "gpt" ]] && _GUID_DETECTED=1
|
||||
if [[ -z "${_GUID_DETECTED}" ]]; then
|
||||
_dialog --defaultno --yesno "Setup detected no GUID (gpt) partition table on ${_DISK}.\n\nDo you want to convert the existing MBR table in ${_DISK} to a GUID (gpt) partition table?" 0 0 || return 1
|
||||
sgdisk --mbrtogpt "${_DISK}" >"${_LOG}" && _GUID_DETECTED=1
|
||||
if [[ -z "${_GUID_DETECTED}" ]]; then
|
||||
_dialog --defaultno --yesno "Conversion failed on ${_DISK}.\nSetup detected no GUID (gpt) partition table on ${_DISK}.\n\nDo you want to create a new GUID (gpt) table now on ${_DISK}?\n\n${_DISK} will be COMPLETELY ERASED! Are you absolutely sure?" 0 0 || return 1
|
||||
_clean_disk "${_DISK}"
|
||||
# create fresh GPT
|
||||
sgdisk --clear "${_DISK}" &>"${_NO_LOG}"
|
||||
_RUN_CFDISK=1
|
||||
_GUID_DETECTED=1
|
||||
fi
|
||||
_dialog --defaultno --yesno "Conversion failed on ${_DISK}.\nSetup detected no GUID (gpt) partition table on ${_DISK}.\n\nDo you want to create a new GUID (gpt) table now on ${_DISK}?\n\n${_DISK} will be COMPLETELY ERASED! Are you absolutely sure?" 0 0 || return 1
|
||||
_clean_disk "${_DISK}"
|
||||
# create fresh GPT
|
||||
echo "label: gpt" | sfdisk --wipe always "${_DISK}" &>"${_LOG}"
|
||||
_RUN_CFDISK=1
|
||||
_GUID_DETECTED=1
|
||||
fi
|
||||
if [[ -n "${_GUID_DETECTED}" ]]; then
|
||||
if [[ -n "${_CHECK_BIOS_BOOT_GRUB}" ]]; then
|
||||
if ! sgdisk -p "${_DISK}" | grep -q 'EF02'; then
|
||||
if ! ${_LSBLK} PARTTYPE "${_DISK}" | grep -q '21686148-6449-6E6F-744E-656564454649'; then
|
||||
_dialog --msgbox "Setup detected no BIOS BOOT PARTITION in ${_DISK}. Please create a >=1M BIOS BOOT PARTITION for grub BIOS GPT support." 0 0
|
||||
_RUN_CFDISK=1
|
||||
fi
|
||||
|
|
|
@ -7,12 +7,11 @@ _auto_partition() {
|
|||
_clean_disk "${_DISK}"
|
||||
# we assume a /dev/sdX,/dev/vdX or /dev/nvmeXnY format
|
||||
if [[ -n "${_GUIDPARAMETER}" ]]; then
|
||||
# GPT (GUID) is best supported by 'sgdisk'
|
||||
# create fresh GPT
|
||||
sgdisk --clear "${_DISK}" &>"${_LOG}"
|
||||
echo "label: gpt" | sfdisk --wipe always "${_DISK}" &>"${_LOG}"
|
||||
# create actual partitions
|
||||
_progress "20" "Creating BIOS_GRUB partition..."
|
||||
sgdisk --new="${_GPT_BIOS_GRUB_DEV_NUM}":0:+"${_GPT_BIOS_GRUB_DEV_SIZE}"M --typecode="${_GPT_BIOS_GRUB_DEV_NUM}":EF02 --change-name="${_GPT_BIOS_GRUB_DEV_NUM}":BIOS_GRUB "${_DISK}" >"${_LOG}"
|
||||
echo "size=+${_GPT_BIOS_GRUB_DEV_SIZE}M, type=21686148-6449-6E6F-744E-656564454649, name=BIOS_GRUB" | sfdisk -a "${_DISK}" &>"${_LOG}"
|
||||
if [[ -n "${_UEFI_BOOT}" ]]; then
|
||||
_progress "25" "Creating EFI SYSTEM partition..."
|
||||
sgdisk --new="${_UEFISYSDEV_NUM}":0:+"${_UEFISYSDEV_SIZE}"M --typecode="${_UEFISYSDEV_NUM}":EF00 --change-name="${_UEFISYSDEV_NUM}":EFI_SYSTEM "${_DISK}" >"${_LOG}"
|
||||
|
|
Loading…
Reference in a new issue