mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 03:32:12 +02:00
wic: move disk operations to PartitionImage class
Disk operations were spread over DirectPlugin, DiskImage and Image code making the code hard to understand. Renamed Image class to PartitionedImage. Removed DiskImage class. Moved disk operations to PartitionedImage. There was an implicit support for multiple disks: if different devices were specified in .wks file (e.g. --ondisk sda and --ondisk sdb), wic would theoretically generate multiple images. This is quite confusing option and the code supporting it was broken for a long time. The same effect (multiple output images) can be achieved in obvious and clear way - by using multiple .wks files. This functionality was removed. PartitionedImage works only with one image. This makes the code less complex and easier to maintain. (From OE-Core rev: 4dc9dbfc7fbc16d349a019e8973d50905cd28244) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
47ee6c2153
commit
adf5e2956c
@@ -63,7 +63,7 @@ class BootimgPcbiosPlugin(SourcePlugin):
|
||||
|
||||
full_path = creator._full_path(workdir, disk_name, "direct")
|
||||
msger.debug("Installing MBR on disk %s as %s with size %s bytes" \
|
||||
% (disk_name, full_path, disk['min_size']))
|
||||
% (disk_name, full_path, disk.min_size))
|
||||
|
||||
rcode = runner.show(['dd', 'if=%s' % mbrfile,
|
||||
'of=%s' % full_path, 'conv=notrunc'])
|
||||
|
||||
@@ -473,13 +473,12 @@ class IsoImagePlugin(SourcePlugin):
|
||||
utility for booting via BIOS from disk storage devices.
|
||||
"""
|
||||
|
||||
iso_img = "%s.p1" % disk.path
|
||||
full_path = creator._full_path(workdir, disk_name, "direct")
|
||||
iso_img = "%s.p1" % full_path
|
||||
full_path_iso = creator._full_path(workdir, disk_name, "iso")
|
||||
|
||||
isohybrid_cmd = "isohybrid -u %s" % iso_img
|
||||
msger.debug("running command: %s" % \
|
||||
isohybrid_cmd)
|
||||
msger.debug("running command: %s" % isohybrid_cmd)
|
||||
exec_native_cmd(isohybrid_cmd, native_sysroot)
|
||||
|
||||
# Replace the image created by direct plugin with the one created by
|
||||
@@ -487,9 +486,6 @@ class IsoImagePlugin(SourcePlugin):
|
||||
# mkisofs has a very specific MBR is system area of the ISO image, and
|
||||
# direct plugin adds and configures an another MBR.
|
||||
msger.debug("Replaceing the image created by direct plugin\n")
|
||||
os.remove(full_path)
|
||||
os.remove(disk.path)
|
||||
shutil.copy2(iso_img, full_path_iso)
|
||||
shutil.copy2(full_path_iso, full_path)
|
||||
|
||||
# Remove temporary ISO file
|
||||
os.remove(iso_img)
|
||||
|
||||
@@ -204,9 +204,9 @@ class RootfsPlugin(SourcePlugin):
|
||||
if not os.path.exists(mbrfile):
|
||||
msger.error("Couldn't find %s. Has syslinux-native been baked?" % mbrfile)
|
||||
|
||||
full_path = disk['disk'].device
|
||||
full_path = disk.path
|
||||
msger.debug("Installing MBR on disk %s as %s with size %s bytes" \
|
||||
% (disk_name, full_path, disk['min_size']))
|
||||
% (disk_name, full_path, disk.min_size))
|
||||
|
||||
ret_code = runner.show(['dd', 'if=%s' % mbrfile, 'of=%s' % full_path, 'conv=notrunc'])
|
||||
if ret_code != 0:
|
||||
|
||||
Reference in New Issue
Block a user