diff options
Diffstat (limited to 'scripts/lib/wic/engine.py')
| -rw-r--r-- | scripts/lib/wic/engine.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/scripts/lib/wic/engine.py b/scripts/lib/wic/engine.py index e6c830ce78..4662c665c0 100644 --- a/scripts/lib/wic/engine.py +++ b/scripts/lib/wic/engine.py | |||
| @@ -266,10 +266,15 @@ class Disk: | |||
| 266 | out = exec_cmd("%s -sm %s unit B print" % (self.parted, self.imagepath)) | 266 | out = exec_cmd("%s -sm %s unit B print" % (self.parted, self.imagepath)) |
| 267 | parttype = namedtuple("Part", "pnum start end size fstype") | 267 | parttype = namedtuple("Part", "pnum start end size fstype") |
| 268 | splitted = out.splitlines() | 268 | splitted = out.splitlines() |
| 269 | lsector_size, psector_size, self._ptable_format = splitted[1].split(":")[3:6] | 269 | # skip over possible errors in exec_cmd output |
| 270 | try: | ||
| 271 | idx =splitted.index("BYT;") | ||
| 272 | except ValueError: | ||
| 273 | raise WicError("Error getting partition information from %s" % (self.parted)) | ||
| 274 | lsector_size, psector_size, self._ptable_format = splitted[idx + 1].split(":")[3:6] | ||
| 270 | self._lsector_size = int(lsector_size) | 275 | self._lsector_size = int(lsector_size) |
| 271 | self._psector_size = int(psector_size) | 276 | self._psector_size = int(psector_size) |
| 272 | for line in splitted[2:]: | 277 | for line in splitted[idx + 2:]: |
| 273 | pnum, start, end, size, fstype = line.split(':')[:5] | 278 | pnum, start, end, size, fstype = line.split(':')[:5] |
| 274 | partition = parttype(int(pnum), int(start[:-1]), int(end[:-1]), | 279 | partition = parttype(int(pnum), int(start[:-1]), int(end[:-1]), |
| 275 | int(size[:-1]), fstype) | 280 | int(size[:-1]), fstype) |
