summaryrefslogtreecommitdiffstats
path: root/src/initramfs/distro-specs/suse/functions-11.1
blob: d350fa9cbf92981c6ccf7cd25a5c5c926eddffb1 (plain) (blame)
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Copyright (c) 2003..2006 - RZ Uni Freiburg
# Copyright (c) 2006..2009 - OpenSLX GmbH
#
# This program/file is free software distributed under the GPL version 2.
# See http://openslx.org/COPYING
#
# If you have any feedback please consult http://openslx.org/feedback and
# send your feedback to feedback@openslx.org
#
# General information about OpenSLX can be found under http://openslx.org
#
# configuration script for OpenSuSE 11.1 to configure linux stateless clients
# (included by init, hwautocfg, servconfig within InitialRamFS after 
# inclusion of the main functions file). This file is the main base for the
# several SuSE distro versions

# settings of central variables (formerly done via config-*, these variables
# are disputable ...)
# D_DIRINBINDMNT - lists of directories to be created in bind mounted rw
# part of the client filesystem
# D_RODIRSINRW - ReadOnly Directories in RW part of filesystem to save on 
# TempFS usage
# D_DIRINDXS - directories in client filesystem which should be present 
# anyhow

# start portmapper (needed at least for nfs and nis services)
config_portmap () {
  # portmap is provided via rpcbind in suse 11.1
  testmkd /mnt/var/lib/rpcbind
  rllinker "rpcbind" 4 5
}
# acpi and powersave daemons, required e.g. to shutdown the machine via
# power button, no need for early start
config_acpi () {
rllinker acpid 22 12
# dbus is required to run acpid and powersaved
start_dreshal="yes"
}
# configure dbus (inter application communication for kde and gnome), hal
# (hardware abstraction layer - used e.g. by powersaved)
config_dreshal () {
local start=1
local stop=10
if [ "x$start_dreshal" = "xyes" ]; then
  testmkd /mnt/var/lib/misc
  testmkd /mnt/var/run/PolicyKit polkituser:polkituser 
  testmkd /mnt/var/lib/PolicyKit polkituser:polkituser
  testmkd /mnt/var/run/dbus/at_console/pool

  sed -i /mnt/etc/PolicyKit/PolicyKit.conf \
      -e "s/\(<\/config>\)/    @@new@@\n\1/" \
      -e "s/@@new@@/<match action=\"@@action@@\">\n@@return@@\n    <\/match>/" \
      -e "s/@@action@@/org.freedesktop.hal.storage.mount-removable/" \
      -e "s/@@return@@/        <return result=\"yes\"\/>/"

  if [ -f /mnt/etc/init.d/dbus ] ; then
    strinfile "messagebus:" /mnt/etc/passwd || \
      echo "messagebus:x:102:103:User for D-BUS:/var/run/dbus:/bin/false" \
        >> /mnt/etc/passwd
    strinfile "messagebus:" /mnt/etc/group || \
      echo "messagebus:!:103:" >> /mnt/etc/group
	# create directories and set permissions with user and group id
    testmkd /mnt/var/run/dbus messagebus:messagebus
    testmkd /mnt/var/lib/dbus

    rm -rf /mnt/etc/dbus-1/system.d/*etwork*anager.conf \
           /mnt/etc/dbus-1/system.d/nm-* \
           /mnt/etc/dbus-1/event.d/*NetworkManager*

    rllinker "dbus" $start $stop
  fi
  if [ -f /mnt/etc/init.d/haldaemon ] ; then
    strinfile "haldaemon:" /mnt/etc/passwd || \
      echo "haldaemon:x:106:107:User for haldaemon:/var/run/hal:/bin/false" \
        >> /mnt/etc/passwd
    strinfile "haldaemon:" /mnt/etc/group || \
      echo "haldaemon:!:107:" >> /mnt/etc/group
    echo -n "" > /mnt/var/lib/misc/PolicyKit.reload
    chmod a+x /mnt/var/lib/misc/PolicyKit.reload
    # create directories and set permissions with user and group id
    for dir in /var/run/hald /var/run/hald/hald-local \
                /var/run/hald/hald-runner /var/cache/hald; do
      testmkd /mnt/${dir} haldaemon:haldaemon
    done
    start=$(($start + 1))
    stop=$(($stop - 1))
    rllinker "haldaemon" $start $stop
  fi
fi
}