git://git.onelab.eu
/
bootmanager.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bugfix for ssh key generation (were all typed rsa1)
[bootmanager.git]
/
source
/
systeminfo.py
diff --git
a/source/systeminfo.py
b/source/systeminfo.py
index
25f5ea6
..
921ede6
100755
(executable)
--- a/
source/systeminfo.py
+++ b/
source/systeminfo.py
@@
-1,5
+1,5
@@
#!/usr/bin/python
#!/usr/bin/python
-
+#
# Copyright (c) 2003 Intel Corporation
# All rights reserved.
#
# Copyright (c) 2003 Intel Corporation
# All rights reserved.
#
@@
-117,7
+117,8
@@
def get_block_device_list(vars = {}, log = sys.stderr):
# table with valid scsi/sata/ide/raid block device names
valid_blk_names = {}
# add in valid sd and hd block device names
# table with valid scsi/sata/ide/raid block device names
valid_blk_names = {}
# add in valid sd and hd block device names
- for blk_prefix in ('sd','hd'):
+ # also check for vd (virtio devices used with kvm)
+ for blk_prefix in ('sd','hd','vd'):
for blk_num in map ( \
lambda x: chr(x), range(ord('a'),ord('z')+1)):
devicename="%s%c" % (blk_prefix, blk_num)
for blk_num in map ( \
lambda x: chr(x), range(ord('a'),ord('z')+1)):
devicename="%s%c" % (blk_prefix, blk_num)
@@
-149,10
+150,14
@@
def get_block_device_list(vars = {}, log = sys.stderr):
# so, lets run sfdisk -l (list partitions) against
# most possible block devices, that way they show
# up when it comes time to do the install.
# so, lets run sfdisk -l (list partitions) against
# most possible block devices, that way they show
# up when it comes time to do the install.
+
+ # 27.6.2012 - Using parted instead of sfdisk, assuming
+ # that doing so respects the behavior mentioned above.
+
devicenames = valid_blk_names.keys()
devicenames.sort()
for devicename in devicenames:
devicenames = valid_blk_names.keys()
devicenames.sort()
for devicename in devicenames:
- os.system( "
sfdisk -l
/dev/%s > /dev/null 2>&1" % devicename )
+ os.system( "
parted --script --list
/dev/%s > /dev/null 2>&1" % devicename )
# touch file
fb = open(DEVICES_SCANNED_FLAG,"w")
# touch file
fb = open(DEVICES_SCANNED_FLAG,"w")
@@
-277,14
+282,22
@@
def get_system_modules( vars = {}, log = sys.stderr):
# XXX: this is really similar to what BootCD/conf_files/pl_hwinit does. merge?
pcidevs = get_devices()
# XXX: this is really similar to what BootCD/conf_files/pl_hwinit does. merge?
pcidevs = get_devices()
- for slot in sorted(pcidevs.keys()):
+ devlist=pcidevs.keys()
+ devlist.sort()
+ for slot in devlist:
dev = pcidevs[slot]
base = (dev[4] & 0xff0000) >> 16
dev = pcidevs[slot]
base = (dev[4] & 0xff0000) >> 16
+ modules = pcimap.get(dev)
if base not in (PCI_BASE_CLASS_STORAGE,
PCI_BASE_CLASS_NETWORK):
if base not in (PCI_BASE_CLASS_STORAGE,
PCI_BASE_CLASS_NETWORK):
- continue
+ # special exception for forcedeth NICs whose base id
+ # claims to be a Bridge, even though it is clearly a
+ # network device
+ if "forcedeth" in modules:
+ base=PCI_BASE_CLASS_NETWORK
+ else:
+ continue
- modules = pcimap.get(dev)
if len(modules) > 0:
if base == PCI_BASE_CLASS_NETWORK:
network_mods += modules
if len(modules) > 0:
if base == PCI_BASE_CLASS_NETWORK:
network_mods += modules