summaryrefslogtreecommitdiffstats
path: root/draklive
diff options
context:
space:
mode:
Diffstat (limited to 'draklive')
-rwxr-xr-xdraklive10
1 files changed, 4 insertions, 6 deletions
diff --git a/draklive b/draklive
index d52724e..f35b876 100755
--- a/draklive
+++ b/draklive
@@ -667,15 +667,13 @@ sub get_disk_master_path {
}
sub allocate_partition {
- my ($dest, $part_idx, $fs, $o_inode_size) = @_;
- my @parts = group_by2(run_program::get_stdout("sfdisk -d $dest") =~ /start=\s*(\d+),\s*size=\s*(\d+)/g);
- my ($part_start, $part_nb_sectors) = @{$parts[$part_idx]};
+ my ($dest, $part, $o_inode_size) = @_;
require devices;
my $loop = devices::find_free_loop();
- run_('losetup', '-o', $part_start * $common::SECTORSIZE, '-s', $part_nb_sectors * $common::SECTORSIZE, $loop, $dest)
+ run_('losetup', '-o', $part->{start} * $common::SECTORSIZE, '-s', $part->{size} * $common::SECTORSIZE, $loop, $dest)
or die "unable to setup loop device";
- MDV::Draklive::Utils::device_mkfs($loop, $fs, $o_inode_size) or die "unable to format $dest\n";
+ MDV::Draklive::Utils::device_mkfs($loop, $part->{fs_type}, $o_inode_size) or die "unable to format $dest\n";
return $loop;
}
@@ -715,7 +713,7 @@ sub allocate_master {
partition_table::write($hd);
my $inode_size = $media->get_media_setting('inode_size');
- map_index { allocate_partition($dest, $::i, $_->{fs_type}, $inode_size) } @{$media->{partitions}};
+ map_index { allocate_partition($dest, $_, $inode_size) } @{$media->{partitions}};
}
sub create_disk_master {