summaryrefslogtreecommitdiffstats
path: root/initramfs/distro-specs/ubuntu/functions-default
diff options
context:
space:
mode:
authorDirk von Suchodoletz2010-03-09 12:10:45 +0100
committerDirk von Suchodoletz2010-03-09 12:10:45 +0100
commit19f7f4339e7b34295cedb0831e6703022c506ca8 (patch)
tree86e8a52e8159518a5dc18b92b43f25a3163aa5ab /initramfs/distro-specs/ubuntu/functions-default
parentRearrangement of distro-functions (making Ubuntu 10.04 the new default). (diff)
downloadcore-19f7f4339e7b34295cedb0831e6703022c506ca8.tar.gz
core-19f7f4339e7b34295cedb0831e6703022c506ca8.tar.xz
core-19f7f4339e7b34295cedb0831e6703022c506ca8.zip
Next step for Ubuntu (9.10, 10.04) adaptations, see #675 and #561.
Diffstat (limited to 'initramfs/distro-specs/ubuntu/functions-default')
-rw-r--r--initramfs/distro-specs/ubuntu/functions-default154
1 files changed, 31 insertions, 123 deletions
diff --git a/initramfs/distro-specs/ubuntu/functions-default b/initramfs/distro-specs/ubuntu/functions-default
index 5f6832b5..d3d55fec 100644
--- a/initramfs/distro-specs/ubuntu/functions-default
+++ b/initramfs/distro-specs/ubuntu/functions-default
@@ -9,7 +9,7 @@
#
# General information about OpenSLX can be found under http://openslx.org
#
-# Configuration script for general Ubuntu to configure OpenSLX linux
+# Configuration script for general Ubuntu to configure OpenSLX Linux
# stateless clients (executed within initial ramdisk after genconfig)
# distro specific configuration variables used in the setup functions
@@ -21,134 +21,45 @@
# 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_ETCEXCL="etc/gconf/*\n*.old\n*-\netc/autoinstall\nlogrotate*\nbootloader\n\
-#*~\npptp.d\nisdn\nyouservers\nhardware/hwcfg*\n\
-#X11/xdm/pixmaps\ndhclient.script"
-D_BINDMPTS="tmp root home media"
-D_DIRINBINDMNT="/var/run /var/log /var/tmp /var/lib/gdm"
-D_RODIRSINRW="/etc/X11/xkb /var/lib/gconf /var/lib/dpkg /var/lib/aspell \
-/var/lib/pango /var/lib/defoma /var/cache/fontconfig /var/lib/dkms"
-#D_RWDIRSINRO="/var/lib/gdm"
-D_DIRINDXS="/var/X11R6/compose-cache /var/run/sysconfig/tmp /var/adm \
-/var/lib/nobody /var/lib/pam_devperm /var/lib/bluetooth /var/lib/texmf \
-/var/lib/nfs/sm /var/lib/misc /var/lib/acpi /var/spool/cron /var/lib/alsa \
-/var/lock/subsys/sysconfig"
-# empty functions are defined at the beginning of /etc/functions
-
-# distro specific stuff to initialize
-preinit () {
- # load unix module to provide sockets (is compiled into kernel on
- # the live CDs!?)
- modprobe ${MODPRV} unix 2>/dev/null || error "$df_errumod" nonfatal
- modprobe ${MODPRV} vesafb 2>/dev/null || error "$df_errumod" nonfatal
- modprobe ${MODPRV} fbcon 2>/dev/null || error "$df_errumod" nonfatal
-}
+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 () {
- # clean the runlevel directories which will be populated by the stage3 setup
+ # 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
- # add the halt link to the 0 and 6 runlevel directories
+ # 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
-
- # remove annoying udev rule set for changing eth interface
- rm /mnt/etc/udev/rules.d/*persistent-net.rules >/dev/null 2>&1
-
- # inittab is obsolete with the change to upstart in ubuntu 7.10, but to
- # prevent missunderstandings with the blank inittab created by openslx init
- # we'll write a comment..
- echo "# inittab is obsolete with the change to upstart from ubuntu 7.10" \
- > /mnt/etc/inittab
+ 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
- # fix getty bug (console login on tty1 is started too early)
- [ -f /mnt/etc/event.d/tty1 ] && \
- sed -i "s/start on runlevel 2/start on stopped rc2/" /mnt/etc/event.d/tty1
+ # 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
- # no additional /dev/shm mount needed as it is always used
- sed -e "/Mount a tmpfs on/,/domount tmpfs /d" \
- -i /mnt/etc/init.d/mountdevsubfs.sh
-
- # clean up the udev script as much is handled already in stage3
- sed -e "3i# Script modified during SLX stage3 bootup (config_distro)" \
- -e "/# This next bit can/a\ /sbin/udevadm trigger" \
- -e "/# We need the uevent/,/# It's all over/d" \
- -e "/# Log things that/,/kill \$UDEV/d" -i /mnt/etc/init.d/udev
-
- # clean the mountall.sh script as only swap activation needed
- sed -e "3i# Script modified during SLX stage3 bootup (config_distro)" \
- -e "/pre_mountall/,/post_mountall/d" \
- -i /mnt/etc/init.d/mountall.sh
-
# 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
+# initial boot looks different since ubuntu upstart
initial_boot () {
-local count=10
-# boot.slx is a special runlevel script generated within initialramfs which
-# should be executed before the normal runlevel scripts. Proper shutdown is
-# not needed!?
-for i in mountkernfs.sh mountall.sh mountdevsubfs.sh keyboard-setup procps \
-bootlogd hwclock.sh sudo console-setup udev boot.slx $D_SPLASHY; do
- count=$(($count + 1))
- [ $DEBUGLEVEL -ge 2 ] && echo "boot-runlevelscript $i"
- ln -sf /etc/init.d/$i /mnt/etc/rcS.d/S${count}$i
-done
-}
-
-# linking runlevel scripts
-rllinker () {
-local script="$1"
-if [ $2 -lt 10 ] ; then
- local start="0$2"; else local start="$2"
-fi
-if [ $3 -lt 10 ] ; then
- local stop="0$3"; else local stop="$3"
-fi
-# empty runlevel links - decision on running certain services is
-# passed via configuration
-for i in rc2.d/K$stop$script rc3.d/K$stop$script \
- rc2.d/S$start$script rc3.d/S$start$script ; do
- if ! [ -f /mnt/etc/init.d/$script ]; then
- echo "Target `pwd`../$script does not exist. Skipping links"
- break
- else
- ln -sf ../init.d/$script /mnt/etc/$i
- [ "$DEBUGLEVEL" == 5 ] && echo "Linked $script"
- fi
-done
-}
-
-# set up localization like keytable, console
-dlocale () {
-# fixme -- use keytable setup script here
-# echo -e "\t# entries added by $0: $date" >> /mnt/etc/init.d/boot.slx
-sed "s/LANG.*/LANG=\"${LANG}\"/" -i /mnt/etc/default/locale
-#d_mkrlscript entry boot.slx "setfont ${CONSOLE_FONT} >${LOGFILE} 2>&1"
-}
-
-# group of functions for the normal runlevels - first parameter is start
-# second stop
-
-# configure udev
-config_udev () {
- [ -c /dev/pktcdvd ] && { rm -rf /dev/pktcdvd; mkdir /dev/pktcdvd; }
- if [ -f /mnt/etc/init.d/udev-finish ] ; then
- rllinker "udev-finish" 24 2
- fi
+ :
}
# function for ntp configuration
@@ -157,7 +68,7 @@ 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
@@ -166,14 +77,14 @@ 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\
@@ -190,7 +101,7 @@ config_sshd () {
if [ "x$start_sshd" = "xyes" ] ; then
if [ -f /mnt/etc/init.d/ssh ] ; then
#testmkd /mnt/var/run/sshd
- rllinker "ssh" 12 10
+ :
else
error "$df_errsshd" nonfatal
fi
@@ -200,7 +111,7 @@ fi
config_snmp () {
if [ "x$start_snmp" = "xyes" ] ; then
if [ -f /mnt/etc/init.d/snmpd ] ; then
- rllinker "snmpd" 24 2
+ :
testmkd /mnt/var/lib/net-snmp
fi
# fixme!!
@@ -209,7 +120,7 @@ if [ "x$start_snmp" = "xyes" ] ; then
}
# acpi and powersave
config_acpi () {
- rllinker "acpid" 8 16
+ :
#Commented out since battery checking is only useful for Notebooks
#rllinker "acpi-support" 99 2
}
@@ -231,13 +142,13 @@ if [ "x$start_dreshal" = "xyes" ]; then
-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
}
@@ -249,6 +160,7 @@ d_mkrlscript () {
local switch="$1"
local name="$2"
local info="$3"
+# ToDo: needs to be adapted to upstart mechanism
case "$switch" in
init)
echo -e "#!/bin/sh\n# skeleton of /etc/init.d/$name written \
@@ -275,18 +187,15 @@ if [ -f /mnt/etc/init.d/autofs ] ; then
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
- rllinker "autofs" 12 4
- rllinker "nfs-common" 11 5
fi
}
# start portmapper (needed at least for nfsN and nis services)
config_portmap () {
- rllinker "portmap" 2 20
+ :
}
# start NIS (fixme - does the service is really named ypbind??)
config_nis () {
if [ -f /mnt/etc/init.d/ypbind ] ; then
- rllinker "ypbind" 6 16
config_portmap
testmkd /mnt/var/yp/nicknames
else
@@ -297,6 +206,5 @@ config_nis () {
config_nscd () {
if [ -f /mnt/etc/init.d/nscd ] ; then
testmkd /mnt/var/cache/nscd
- rllinker "nscd" 20 5
fi
}