summaryrefslogtreecommitdiffstats
path: root/initramfs
diff options
context:
space:
mode:
authorDirk von Suchodoletz2010-03-08 18:37:28 +0100
committerDirk von Suchodoletz2010-03-08 18:37:28 +0100
commit0b962e49ed136db0bbc147447965eb6e57580358 (patch)
treede0b11c024e158366c5e92c6ed5721847c74f3fc /initramfs
parentChecking for inittab or event.d does not make much sense any more in (diff)
downloadcore-0b962e49ed136db0bbc147447965eb6e57580358.tar.gz
core-0b962e49ed136db0bbc147447965eb6e57580358.tar.xz
core-0b962e49ed136db0bbc147447965eb6e57580358.zip
Moving test for inittab/event.d into distro specific functions (removed
from slx init).
Diffstat (limited to 'initramfs')
-rw-r--r--initramfs/distro-specs/debian/functions-default5
-rw-r--r--initramfs/distro-specs/scilin/functions-default4
-rw-r--r--initramfs/distro-specs/suse/functions-default2
-rw-r--r--initramfs/distro-specs/ubuntu/functions-10.04198
-rw-r--r--initramfs/distro-specs/ubuntu/functions-default4
5 files changed, 209 insertions, 4 deletions
diff --git a/initramfs/distro-specs/debian/functions-default b/initramfs/distro-specs/debian/functions-default
index e039bcff..15639a2d 100644
--- a/initramfs/distro-specs/debian/functions-default
+++ b/initramfs/distro-specs/debian/functions-default
@@ -1,5 +1,5 @@
# Copyright (c) 2003..2006 - RZ Uni Freiburg
-# Copyright (c) 2007..2008 - OpenSLX GmbH
+# Copyright (c) 2007..2010 - OpenSLX GmbH
#
# This program is free software distributed under the GPL version 2.
# See http://openslx.org/COPYING
@@ -60,6 +60,9 @@ config_distro () {
# add the slx specific path (/var/opt/openslx/bin) to the PATH variable
echo -e "# stuff generated by $0 (out of InitRamFS written $date)\n\
export PATH=\"\$PATH:/var/opt/openslx/bin\"" >>/mnt/etc/profile
+
+ # check for inittab file
+ #test -f /mnt/etc/inittab || error "$df_erritab"
}
# initial (boot time) runlevel scripts
diff --git a/initramfs/distro-specs/scilin/functions-default b/initramfs/distro-specs/scilin/functions-default
index e474b1b7..f9bb0f0e 100644
--- a/initramfs/distro-specs/scilin/functions-default
+++ b/initramfs/distro-specs/scilin/functions-default
@@ -1,5 +1,5 @@
# Copyright (c) 2003..2006 - RZ Uni Freiburg
-# Copyright (c) 2006..2009 - OpenSLX GmbH
+# Copyright (c) 2006..2010 - OpenSLX GmbH
#
# This program/file is free software distributed under the GPL version 2.
# See http://openslx.org/COPYING
@@ -49,6 +49,8 @@ config_distro () {
[ -e /mnt/etc/sysconfig/network ] && \
sed -e "s/HOSTNAME=.*/HOSTNAME=$host_name/" \
-e "s/GATEWAY=.*/GATEWAY=$gateway/" -i /mnt/etc/sysconfig/network
+ # check for inittab file
+ #test -f /mnt/etc/inittab || error "$df_erritab"
}
# initial (boot time) runlevel scripts
diff --git a/initramfs/distro-specs/suse/functions-default b/initramfs/distro-specs/suse/functions-default
index d9efadbd..14bb5ff0 100644
--- a/initramfs/distro-specs/suse/functions-default
+++ b/initramfs/distro-specs/suse/functions-default
@@ -323,6 +323,8 @@ i\
# Script modified here by \$0 during stage3 bootup\
LINECOL=$(stty size); LINES=${LINECOL% *}; COLUMNS=${LINECOL#* }
}' -e "/^if test -z \"\$LINES/,/fi$/d" -i /mnt/etc/rc.status
+# check for inittab file
+test -f /mnt/etc/inittab || error "$df_erritab"
}
# initial (boot time) runlevel scripts
diff --git a/initramfs/distro-specs/ubuntu/functions-10.04 b/initramfs/distro-specs/ubuntu/functions-10.04
index 3c152a9d..7156c485 100644
--- a/initramfs/distro-specs/ubuntu/functions-10.04
+++ b/initramfs/distro-specs/ubuntu/functions-10.04
@@ -8,9 +8,203 @@
#
# General information about OpenSLX can be found under http://openslx.org
#
-# Configuration script for Ubuntu 9.10 configure OpenSLX linux stateless
+# Configuration script for Ubuntu 10.04 configure OpenSLX linux stateless
# clients (merged in stage2 with ubuntu/functions-default - and loaded within
# initial ramfs - stage3) It may overwrite settings from the default config
# file (/etc/functions)
-# no changes from default
+# distro specific configuration variables used in the setup functions
+# (formerly done via config-*, these variables are disputable ...)
+# D_ETCEXCL - list of files, wildcards to be excluded from /etc when using
+# bind mounts
+# 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
+
+D_DIRINDXS="/var/run/sysconfig/tmp /var/lib/nobody /var/lib/misc /var/lib/pam \
+/var/lib/bluetooth /var/lib/texmf /var/lib/nfs/sm /var/lib/acpi_support \
+/var/spool/cron /var/lib/alsa"
+
+# distro specific function called from servconfig script
+config_distro () {
+ # runlevel system changed significantly compared to pre 9.10 sys-v-init
+ # clean up nevertheless
+ for dir in rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d rcS.d ; do
+ rm -rf /mnt/etc/${dir}/*
+ done
+ # remove unneeded init scripts (stuff handled in stage3 which would
+ # interface with already existing setup)
+ rm bridge-network-interface.conf hostname.conf network*conf >/dev/null 2>&1
+
+ # add the halt link to the 0 and 6 runlevel directories and other useful
+ # links
+ ln -sf ../init.d/halt /mnt/etc/rc0.d/S90halt
+ ln -sf ../init.d/reboot /mnt/etc/rc6.d/S90reboot
+ ln -sf ../init.d/single /mnt/etc/rc1.d/S90single
+ for dir in rc2.d rc3.d rc4.d rc5.d; do
+ ln -sf ../init.d/rc.local /mnt/etc/${dir}/S99rc.local
+ done
+
+ # remove annoying udev rule set for changing eth interface and cd/dvds
+ rm /mnt/etc/udev/rules.d/*persistent*.rules >/dev/null 2>&1
+
+ # for screen sessions
+ testmkd /mnt/var/run/screen root:utmp 0775
+
+ # add the slx specific path (/var/opt/openslx/bin) to the PATH variable
+ echo -e "# stuff generated by $0 (out of InitRamFS written $date)\n\
+export PATH=\"\$PATH:/var/opt/openslx/bin\"" >>/mnt/etc/profile
+}
+
+# initial boot looks different since ubuntu upstart
+initial_boot () {
+ :
+}
+
+# function for ntp configuration
+config_ntp () {
+if [ -f /mnt/etc/init.d/ntp -a "x$start_ntp" != "xno" ] ; then
+ echo -e "ntp:x:74:65534:NTP daemon:/var/lib/ntp:/bin/false" \
+ >>/mnt/etc/passwd
+ testmkd /mnt/var/lib/ntp/var/run/ntp
+ rllinker "ntp" 7 14
+fi
+}
+# function for atd
+config_atd () {
+if [ "x$start_atd" = "xyes" ]; then
+ # testmkd /mnt/var/spool/atjobs
+ # testmkd /mnt/var/spool/atspool
+ # chown 1:1 /mnt/var/spool/atjobs /mnt/var/spool/atspool
+ rllinker "atd" 14 4
+fi
+}
+# function for configuration of cron services (fixme: to be moved to a plugin?)
+config_cron () {
+if [ "x$start_cron" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/cron ] ; then
+ rllinker "cron" 18 2
+ # fixme! check for proper permissions!
+ testmkd /mnt/var/spool/crontabs
+ echo -e "# /etc/crontab - file generated by $0:\n\
+#\t$date\nSHELL=/bin/sh\nPATH=/usr/bin:/usr/sbin:/sbin:/bin:/usr/lib/news/bin\
+\nMAILTO=\n-*/15 * * * *\troot\ttest -x /usr/lib/cron/run-crons && \
+/usr/lib/cron/run-crons >/dev/null 2>&1\n" >/mnt/etc/crontab
+ else
+ error "$df_errcron" nonfatal
+ fi
+fi
+}
+# secure shell service
+config_sshd () {
+if [ "x$start_sshd" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/ssh ] ; then
+ #testmkd /mnt/var/run/sshd
+ :
+ else
+ error "$df_errsshd" nonfatal
+ fi
+fi
+}
+# snmp agent for remote monitoring
+config_snmp () {
+if [ "x$start_snmp" = "xyes" ] ; then
+ if [ -f /mnt/etc/init.d/snmpd ] ; then
+ :
+ testmkd /mnt/var/lib/net-snmp
+ fi
+ # fixme!!
+ # write service monitor depending on services started
+ fi
+}
+# acpi and powersave
+config_acpi () {
+ :
+ #Commented out since battery checking is only useful for Notebooks
+ #rllinker "acpi-support" 99 2
+}
+# configure hal, dbus, policykitd and services like that
+config_dreshal () {
+if [ "x$start_dreshal" = "xyes" ]; then
+ testmkd /mnt/var/lib/dbus
+ testmkd /mnt/var/lib/misc
+ testmkd /mnt/var/cache/hald
+ touch /mnt/var/lib/misc/PolicyKit.reload
+ chown root:polkituser /mnt/var/lib/misc/PolicyKit.reload
+ 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*
+ 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\"\/>/"
+ sed -i /mnt/etc/dbus-1/system.d/hal.conf \
+ -e "s/^\([^d]*\)deny\(.*Volume.*\)/\1allow\2/"
+ rllinker "dbus" 2 20
+ rllinker "hal" 3 18
+ if [ ! -e /mnt/etc/init.d/policykit ] ; then
+ testmkd /mnt/var/lib/PolicyKit root:polkituser 1770
+ testmkd /mnt/var/lib/PolicyKit-public root:polkituser
+ else
+ rllinker "policykit" 18 10
+ fi
+fi
+}
+
+# initialize boot.slx - skript to be executed during early system startup
+# (before most of the normal boot init scripts)
+# this script should operate like a normal runlevel script (fixme!!)
+d_mkrlscript () {
+local switch="$1"
+local name="$2"
+local info="$3"
+case "$switch" in
+ init)
+ echo -e "#!/bin/sh\n# skeleton of /etc/init.d/$name written \
+from $0\n# after you applied changes to the creation scripts you have to \
+rerun\n# the mkdxsinitrd script to get them applied\n\n\
+. /lib/lsb/init-functions\n" >/mnt/etc/init.d/$name
+ echo -e "\n\ncase \"\$1\" in\n start)\n\tlog_begin_msg \"$info\"" \
+ >>/mnt/etc/init.d/$name
+ chmod u+x /mnt/etc/init.d/$name
+ ;;
+ entry)
+ echo -e "\t${info}" >>/mnt/etc/init.d/${name}
+ ;;
+ close)
+ echo -e "\tlog_end_msg 0\n\t;;\n stop)\n\t;;\nesac\nexit 0" \
+ >>/mnt/etc/init.d/$name
+ ;;
+esac
+}
+# configure automounter
+config_automount () {
+if [ -f /mnt/etc/init.d/autofs ] ; then
+ testmkd /mnt/var/lock/subsys
+ sed -e "1i# /etc/default/autofs - file modified by\n#\t$0:\n#" \
+ -e "s,TIMEOUT.*,TIMEOUT=60," -i /mnt/etc/default/autofs
+ config_portmap
+fi
+}
+# start portmapper (needed at least for nfsN and nis services)
+config_portmap () {
+ :
+}
+# start NIS (fixme - does the service is really named ypbind??)
+config_nis () {
+ if [ -f /mnt/etc/init.d/ypbind ] ; then
+ config_portmap
+ testmkd /mnt/var/yp/nicknames
+ else
+ error "$df_erryp" nonfatal
+ fi
+}
+# name service caching daemon (useful in most cases)
+config_nscd () {
+ if [ -f /mnt/etc/init.d/nscd ] ; then
+ testmkd /mnt/var/cache/nscd
+ fi
+} \ No newline at end of file
diff --git a/initramfs/distro-specs/ubuntu/functions-default b/initramfs/distro-specs/ubuntu/functions-default
index cdcf06f4..5f6832b5 100644
--- a/initramfs/distro-specs/ubuntu/functions-default
+++ b/initramfs/distro-specs/ubuntu/functions-default
@@ -89,6 +89,10 @@ config_distro () {
# add the slx specific path (/var/opt/openslx/bin) to the PATH variable
echo -e "# stuff generated by $0 (out of InitRamFS written $date)\n\
export PATH=\"\$PATH:/var/opt/openslx/bin\"" >>/mnt/etc/profile
+
+ # check for inittab file (might fail for new style init -> upstart)
+ #test -f /mnt/etc/inittab || test -d /mnt/etc/event.d || \
+ # error "$df_erritab"
}
# initial (boot time) runlevel scripts