encswap revision 133987
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/encswap 133987 2004-08-18 21:54:40Z thomas $ 4# 5 6# PROVIDE: disks 7# REQUIRE: initrandom 8# KEYWORD: FreeBSD nojail 9 10. /etc/rc.subr 11 12name="gbde_swap" 13start_cmd="gbde_swap_attach" 14stop_cmd="gbde_swap_detach" 15 16gbde_swap_attach() 17{ 18 while read device mountpoint type options rest ; do 19 case ":${device}:${type}:${options}" in 20 :#*) 21 continue 22 ;; 23 *.bde:swap:sw) 24 ;; 25 *) 26 continue 27 ;; 28 esac 29 passphrase=`dd if=/dev/random count=1 2>/dev/null | md5 -q` 30 device="${device%.bde}" 31 gbde init "${device}" -P "${passphrase}" || return 1 32 gbde attach "${device}" -p "${passphrase}" || return 1 33 done < /etc/fstab 34} 35 36gbde_swap_detach() 37{ 38 while read device mountpoint type options rest ; do 39 case ":${device}:${type}:${options}" in 40 :#*) 41 continue 42 ;; 43 *.bde:swap:sw) 44 ;; 45 *) 46 continue 47 ;; 48 esac 49 device="${device%.bde}" 50 gbde detach "${device}" 51 done < /etc/fstab 52} 53 54load_rc_config $name 55run_rc_command "$1" 56