Kaydet (Commit) 7ab8ed68 authored tarafından Clement Lefebvre's avatar Clement Lefebvre

Automatic partitioning: Fix NVME support

NVME devices don't follow the standard naming scheme, the device
itself ends up with a number and there's a "p" in between the device
name and the partition number.
üst b187dd38
......@@ -196,51 +196,54 @@ class InstallerEngine:
def create_partitions(self):
# Create partitions on the selected disk (automated installation)
self.update_progress(1, 4, False, False, _("Creating partitions on %s") % self.setup.disk)
partition_prefix = ""
if self.setup.disk.startswith("/dev/nvme"):
partition_prefix = "p"
if self.setup.luks:
if self.setup.gptonefi:
# EFI+LUKS/LVM
# sdx1=EFI, sdx2=BOOT, sdx3=ROOT
self.auto_efi_partition = self.setup.disk + "1"
self.auto_boot_partition = self.setup.disk + "2"
self.auto_efi_partition = self.setup.disk + partition_prefix + "1"
self.auto_boot_partition = self.setup.disk + partition_prefix + "2"
self.auto_swap_partition = None
self.auto_root_partition = self.setup.disk + "3"
self.auto_root_partition = self.setup.disk + partition_prefix + "3"
else:
# BIOS+LUKS/LVM
# sdx1=BOOT, sdx2=ROOT
self.auto_efi_partition = None
self.auto_boot_partition = self.setup.disk + "1"
self.auto_boot_partition = self.setup.disk + partition_prefix + "1"
self.auto_swap_partition = None
self.auto_root_partition = self.setup.disk + "2"
self.auto_root_partition = self.setup.disk + partition_prefix + "2"
elif self.setup.lvm:
if self.setup.gptonefi:
# EFI+LVM
# sdx1=EFI, sdx2=ROOT
self.auto_efi_partition = self.setup.disk + "1"
self.auto_efi_partition = self.setup.disk + partition_prefix + "1"
self.auto_boot_partition = None
self.auto_swap_partition = None
self.auto_root_partition = self.setup.disk + "2"
self.auto_root_partition = self.setup.disk + partition_prefix + "2"
else:
# BIOS+LVM:
# sdx1=ROOT
self.auto_efi_partition = None
self.auto_boot_partition = None
self.auto_swap_partition = None
self.auto_root_partition = self.setup.disk + "1"
self.auto_root_partition = self.setup.disk + partition_prefix + "1"
else:
if self.setup.gptonefi:
# EFI
# sdx1=EFI, sdx2=SWAP, sdx3=ROOT
self.auto_efi_partition = self.setup.disk + "1"
self.auto_efi_partition = self.setup.disk + partition_prefix + "1"
self.auto_boot_partition = None
self.auto_swap_partition = self.setup.disk + "2"
self.auto_root_partition = self.setup.disk + "3"
self.auto_swap_partition = self.setup.disk + partition_prefix + "2"
self.auto_root_partition = self.setup.disk + partition_prefix + "3"
else:
# BIOS:
# sdx1=SWAP, sdx2=ROOT
self.auto_efi_partition = None
self.auto_boot_partition = None
self.auto_swap_partition = self.setup.disk + "1"
self.auto_root_partition = self.setup.disk + "2"
self.auto_swap_partition = self.setup.disk + partition_prefix + "1"
self.auto_root_partition = self.setup.disk + partition_prefix + "2"
self.auto_root_physical_partition = self.auto_root_partition
......
......@@ -337,6 +337,9 @@ def full_disk_format(device, create_boot=False, create_swap=True):
run_parted('mklabel ' + disk_label)
start_mb = 2
partition_number = 0
partition_prefix = ""
if device.path.startswith("/dev/nvme"):
partition_prefix = "p"
for partition in mkpart:
if partition[0]:
partition_number = partition_number + 1
......@@ -346,7 +349,7 @@ def full_disk_format(device, create_boot=False, create_swap=True):
mkpart_cmd = 'mkpart primary {}MB {}'.format(start_mb, end)
print mkpart_cmd
run_parted(mkpart_cmd)
mkfs = mkfs.format("%s%d" % (device.path, partition_number))
mkfs = mkfs.format("%s%s%d" % (device.path, partition_prefix, partition_number))
print mkfs
os.system(mkfs)
start_mb += size_mb + 1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment