diff options
author | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2017-12-18 17:03:15 +0000 |
---|---|---|
committer | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2017-12-18 17:11:05 +0000 |
commit | 3f2b59604f7b6e6fcbec282b86f5fea618955b4b (patch) | |
tree | 83a2622ff553053cb620252d8c149ed50ba20a57 /lib/MGA/DrakISO/Utils.pm | |
parent | 296dc5bb53c430c8842ab7327d8a76b5750c64b4 (diff) | |
download | drakiso-3f2b59604f7b6e6fcbec282b86f5fea618955b4b.tar drakiso-3f2b59604f7b6e6fcbec282b86f5fea618955b4b.tar.gz drakiso-3f2b59604f7b6e6fcbec282b86f5fea618955b4b.tar.bz2 drakiso-3f2b59604f7b6e6fcbec282b86f5fea618955b4b.tar.xz drakiso-3f2b59604f7b6e6fcbec282b86f5fea618955b4b.zip |
Split draklive2 into submodules.
Diffstat (limited to 'lib/MGA/DrakISO/Utils.pm')
-rw-r--r-- | lib/MGA/DrakISO/Utils.pm | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/lib/MGA/DrakISO/Utils.pm b/lib/MGA/DrakISO/Utils.pm index 1f14241..a2abd17 100644 --- a/lib/MGA/DrakISO/Utils.pm +++ b/lib/MGA/DrakISO/Utils.pm @@ -2,13 +2,14 @@ package MGA::DrakISO::Utils; use MDK::Common; use common; +use fs; use run_program; use IPC::Open3; use IO::Select; use Exporter; our @ISA = qw(Exporter); -our @EXPORT = qw(directory_usage run_ run_foreach); +our @EXPORT = qw(directory_usage run_ run_foreach mount_system_fs umount_external_fs); sub directory_usage { my ($dir, $o_apparent) = @_; @@ -82,4 +83,21 @@ sub device_mkfs { } } +sub mount_system_fs { + my ($live) = @_; + run_('mount', '-t', 'devtmpfs', '/dev', $live->get_system_root . '/dev'); + run_('mount', '-t', 'proc', '/proc', $live->get_system_root . '/proc'); + run_('mount', '-t', 'sysfs', '/sys', $live->get_system_root . '/sys'); +} + +sub umount_external_fs { + my ($live) = @_; + my $system_root = Cwd::abs_path($live->get_system_root); + my @mounts = grep { $_ =~ $system_root } split("\n", cat_('/proc/mounts')); + foreach (reverse(@mounts)) { + my @field = split(' ' , $_); + fs::mount::umount($field[1]); + } +} + 1; |