blob: 04a1f1318442d263a75f85368e1693c1abea7e10 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# bool check_statedir(dir)
#
# Check that 'dir' exists, if not, drop to a shell.
#
check_statedir() {
[[ -z $1 ]] && return 0
if [[ ! -d $1 ]] && ! mkdir -p "$1" &>/dev/null ; then
splash "critical" &
echo
eerror "For Gentoo to function properly, \"$1\" needs to exist."
if [[ ${RC_FORCE_AUTO} == "yes" ]] ; then
eerror "Attempting to create \"$1\" for you ..."
mount -o remount,rw /
mkdir -p "$1"
fi
if [[ ! -d $1 ]] ; then
eerror "Please mount your root partition read/write, and execute:"
echo
eerror " # mkdir -p $1"
echo; echo
single_user
fi
fi
return 0
}
# void start_critical_service()
#
# Start critical services needed for bootup
#
start_critical_service() {
(
local retval=
local service=$1
# Needed for some addons like dm-crypt that starts in critical services
local myservice=$1
source "/etc/init.d/${service}" || eerror "Failed to source /etc/init.d/${service}"
retval=$?
[[ ${retval} -ne 0 ]] && return "${retval}"
[[ -e /etc/conf.d/${service} ]] && source "/etc/conf.d/${service}"
source /etc/rc.conf
start || eerror "Failed to start /etc/init.d/${service}"
retval=$?
return "${retval}"
)
}
# vim:ts=4
|