encswap revision 125388
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/encswap 125388 2004-02-03 11:26:08Z des $ 4# 5 6# PROVIDE: disks 7# REQUIRE: random 8# KEYWORD: FreeBSD 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 cat /etc/fstab | 19 while read device mountpoint type options rest ; do 20 case "${device}:${type}:${options}" in 21 *.bde:swap:sw) 22 ;; 23 *) 24 continue 25 ;; 26 esac 27 passphrase=`dd if=/dev/random count=1 2>/dev/null | md5 -q` 28 device="${device%.bde}" 29 lockfile="/var/run/${device##*/}.lock" 30 gbde init "${device}" -L "${lockfile}" -P "${passphrase}" || 31 return 1 32 gbde attach "${device}" -l "${lockfile}" -p "${passphrase}" || 33 return 1 34 done 35} 36 37gbde_swap_detach() 38{ 39 cat /etc/fstab | 40 while read device mountpoint type options rest ; do 41 case "${device}:${type}:${options}" in 42 *.bde:swap:sw) 43 ;; 44 *) 45 continue 46 ;; 47 esac 48 device="${device%.bde}" 49 gbde detach "${device}" 50 done 51} 52 53load_rc_config $name 54run_rc_command "$1" 55