-
Notifications
You must be signed in to change notification settings - Fork 0
/
hlpartitiontable_use.rb
51 lines (33 loc) · 1.04 KB
/
hlpartitiontable_use.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
require 'rubygems'
require 'hl-partition.rb'
require 'file/file_patch.rb'
require 'debootstrap/debootstrap.rb'
pt = PartitionTable.new
pt.type = "mbr"
proot = Partition.new(500000, Partition::Type_Linux_Data, "/", "ext2")
pboot = Partition.new(80000, Partition::Type_Linux_Data, "/boot", "ext2")
pt.partitions.push(proot, pboot)
# Add some more partitions to test MBR extended boot records
for i in 2 .. 10
ptest = Partition.new(500, Partition::Type_Linux_Data, "/partition#{i}", "ext2")
pt.partitions.push(ptest)
end
pt.create_image("tmp/highlevel.img")
#puts(pt)
pt.map_partitions_to_devices
puts("Partitions mapped to devices")
pt.newfs_partitions
puts("Partitions newfs-ed")
File.ensure_dir("tmp/mountpoint")
pt.mount("tmp/mountpoint")
bootstrap = Debootstrap.new
bootstrap.root_path = pt.mount_path
bootstrap.apt_cache_path = "tmp/apt-cache"
bootstrap.apt_lib_path = "tmp/apt-lib"
bootstrap.bind
bootstrap.bootstrap
exit 0
bootstrap.unbind
pt.unmount
pt.unmap_partitions_to_devices