diff options
author | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2017-11-26 12:31:02 +0000 |
---|---|---|
committer | Martin Whitaker <mageia@martin-whitaker.me.uk> | 2017-11-26 14:33:57 +0000 |
commit | 6c17619e3da91cfc3e271812a55c23f869ffba62 (patch) | |
tree | 8bbfdf8b6299ce6a3d953dc4fae2b456a3261bbd /files/halt.local | |
parent | 1e8f2b5fefcfbfc2988fd542eeb2dc74b08abcfd (diff) | |
download | draklive-config-6c17619e3da91cfc3e271812a55c23f869ffba62.tar draklive-config-6c17619e3da91cfc3e271812a55c23f869ffba62.tar.gz draklive-config-6c17619e3da91cfc3e271812a55c23f869ffba62.tar.bz2 draklive-config-6c17619e3da91cfc3e271812a55c23f869ffba62.tar.xz draklive-config-6c17619e3da91cfc3e271812a55c23f869ffba62.zip |
More simplification and cleanup, now we just support hybrid ISO media.
Diffstat (limited to 'files/halt.local')
-rwxr-xr-x | files/halt.local | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/files/halt.local b/files/halt.local new file mode 100755 index 0000000..e27ad1d --- /dev/null +++ b/files/halt.local @@ -0,0 +1,24 @@ +#!/usr/bin/perl + +use lib qw(/usr/lib/libDrakX); +use MDK::Common; +use detect_devices; +use c; + +my ($device) = cat_("/proc/mounts") =~ m!(/dev/\S+)\s+/live/media\s+iso9660!; +$device or exit; + +# try to put halt/reboot in cache, if not called directly from them +# mount is also needed by end of /etc/init.d/halt +system("$_ --help &>/dev/null") foreach qw(halt mount reboot); + +my $f = detect_devices::tryOpen($device); +# see openCdromTray() from install::any +ioctl($f, c::CDROM_LOCKDOOR(), 0); # unlock door +ioctl($f, c::CDROMEJECT(), 0); + +system("clear"); +print "\n\n\nPlease press <Enter> (or <CTRL><J>) once the medium is removed.\n"; +system("read < /dev/console"); + +ioctl($f, c::CDROMCLOSETRAY(), 0); |