Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall.py
diff options
context:
space:
mode:
Diffstat (limited to 'archinstall.py')
-rw-r--r--archinstall.py28
1 files changed, 12 insertions, 16 deletions
diff --git a/archinstall.py b/archinstall.py
index 1966ea6e..49e2b878 100644
--- a/archinstall.py
+++ b/archinstall.py
@@ -85,9 +85,10 @@ def update_git():
def device_state(name):
# Based out of: https://askubuntu.com/questions/528690/how-to-get-list-of-all-non-removable-disk-device-names-ssd-hdd-and-sata-ide-onl/528709#528709
- with open('/sys/block/{}/device/block/{}/removable'.format(name, name)) as f:
- if f.read(1) == '1':
- return
+ if os.path.isfile('/sys/block/{}/device/block/{}/removable'.format(name, name)):
+ with open('/sys/block/{}/device/block/{}/removable'.format(name, name)) as f:
+ if f.read(1) == '1':
+ return
path = rootdir_pattern.sub('', os.readlink('/sys/block/{}'.format(name)))
hotplug_buses = ("usb", "ieee1394", "mmc", "pcmcia", "firewire")
@@ -100,20 +101,15 @@ def device_state(name):
return True
def grab_partitions(dev):
- o = run('parted -m -s {} p'.format(dev)).decode('UTF-8')
+ drive_name = os.path.basename(dev)
parts = oDict()
- for line in o.split('\n'):
- if ':' in line:
- data = line.split(':')
- if data[0].isdigit():
- parts[int(data[0])] = {
- 'start' : data[1],
- 'end' : data[2],
- 'size' : data[3],
- 'sum' : data[4],
- 'label' : data[5],
- 'options' : data[6]
- }
+ o = run('lsblk -o name -J -b {dev}'.format(dev=dev))
+ r = json.loads(o)
+ for part in r['blockdevices'][0]['children']:
+ parts[part['name'][len(drive_name):]] = {
+ # TODO: Grab partition info and store here?
+ }
+
return parts
def update_drive_list():