Import encswap init script from FreeBSD
The FreeBSD encswap init script has been adapted to function in OpenRC. It should function identically to its FreeBSD counterpart.
This commit is contained in:
parent
006fbdce83
commit
0730ac61e8
@ -22,8 +22,8 @@ NET_LO-FreeBSD= net.lo0
|
||||
SRCS-FreeBSD= hostid.in moused.in newsyslog.in pf.in rarpd.in rc-enabled.in \
|
||||
rpcbind.in savecore.in syslogd.in
|
||||
# These are FreeBSD specific
|
||||
SRCS-FreeBSD+= adjkerntz.in devd.in dumpon.in ipfw.in mixer.in nscd.in \
|
||||
powerd.in syscons.in
|
||||
SRCS-FreeBSD+= adjkerntz.in devd.in dumpon.in encswap.in ipfw.in \
|
||||
mixer.in nscd.in powerd.in syscons.in
|
||||
|
||||
NET_LO-Linux= net.lo
|
||||
SRCS-Linux= devfs.in dmesg.in hwclock.in consolefont.in keymaps.in \
|
||||
|
46
init.d/encswap.in
Normal file
46
init.d/encswap.in
Normal file
@ -0,0 +1,46 @@
|
||||
#!@PREFIX@/sbin/runscript
|
||||
# Copyright 1992-2012 FreeBSD Project
|
||||
# Released under the 2-clause BSD license
|
||||
# $Header: $
|
||||
|
||||
depend() {
|
||||
before swap
|
||||
}
|
||||
|
||||
start() {
|
||||
while read device mountpoint type options rest ; do
|
||||
case ":${device}:${type}:${options}" in
|
||||
:#*)
|
||||
continue
|
||||
;;
|
||||
*.bde:swap:sw)
|
||||
passphrase=`dd if=/dev/random count=1 2>/dev/null | md5 -q`
|
||||
device="${device%.bde}"
|
||||
gbde init "${device}" -P "${passphrase}" || return 1
|
||||
gbde attach "${device}" -p "${passphrase}" || return 1
|
||||
;;
|
||||
*.eli:swap:sw)
|
||||
device="${device%.eli}"
|
||||
geli onetime ${geli_swap_flags} "${device}" || return 1
|
||||
;;
|
||||
esac
|
||||
done < /etc/fstab
|
||||
}
|
||||
|
||||
stop() {
|
||||
while read device mountpoint type options rest ; do
|
||||
case ":${device}:${type}:${options}" in
|
||||
:#*)
|
||||
continue
|
||||
;;
|
||||
*.bde:swap:sw)
|
||||
device="${device%.bde}"
|
||||
gbde detach "${device}"
|
||||
;;
|
||||
*.eli:swap:sw)
|
||||
# Nothing here, because geli swap devices should be
|
||||
# created with the auto-detach-on-last-close option.
|
||||
;;
|
||||
esac
|
||||
done < /etc/fstab
|
||||
}
|
Loading…
Reference in New Issue
Block a user