Sha256: 16b3ca004584066bd04c03b82d4dcc939eb1cebc845cd0f3c714b6dc6e9acd43

Contents?: true

Size: 1.12 KB

Versions: 27

Compression:

Stored size: 1.12 KB

Contents

require 'ostruct'
require 'disk/MiqDisk'

VMDK  = "/Volumes/WDpassport/Virtual Machines/Red Hat Linux.vmwarevm/payload2.vmdk"
MKFILE  = "rawmkfs"

require 'logger'
$log = Logger.new(STDERR)
$log.level = Logger::DEBUG

diskInfo = OpenStruct.new
diskInfo.mountMode = "rw"
diskInfo.fileName = VMDK

disk = MiqDisk.getDisk(diskInfo)

unless disk
  puts "Failed to open disk: #{diskInfo.fileName}"
  exit(1)
end

puts "Disk type: #{disk.diskType}"
puts "Disk partition type: #{disk.partType}"
puts "Disk block size: #{disk.blockSize}"
puts "Disk start LBA: #{disk.lbaStart}"
puts "Disk end LBA: #{disk.lbaEnd}"
puts "Disk start byte: #{disk.startByteAddr}"
puts "Disk end byte: #{disk.endByteAddr}"
puts

parts = disk.getPartitions

if parts && !parts.empty?
  puts "Disk is partitioned, exiting"
  exit(0)
end

diskSize = disk.endByteAddr - disk.startByteAddr
mkSize = File.size(MKFILE)
diskOffset = diskSize - mkSize

puts "Disk size:   #{diskSize}"
puts "Mk size:     #{mkSize}"
puts "Disk offset: #{diskOffset}"

mkf = File.open(MKFILE)

disk.seek(diskOffset)
while (buf = mkf.read(1024))
  disk.write(buf, buf.length)
end

mkf.close
disk.close

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
manageiq-smartstate-0.2.18.2 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.3.1 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.3.0 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.24 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.18.1 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.23 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.22 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.21 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.20 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.19 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.18 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.17 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.16 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.15 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.14 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.13 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.12 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.11 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.10 lib/fs/MetakitFS/test/mk2vmdk.rb
manageiq-smartstate-0.2.9 lib/fs/MetakitFS/test/mk2vmdk.rb