summaryrefslogtreecommitdiffstats
path: root/initramfs/distro-specs/debian/functions-default
diff options
context:
space:
mode:
Diffstat (limited to 'initramfs/distro-specs/debian/functions-default')
-rw-r--r--initramfs/distro-specs/debian/functions-default92
1 files changed, 55 insertions, 37 deletions
diff --git a/initramfs/distro-specs/debian/functions-default b/initramfs/distro-specs/debian/functions-default
index 52d4fea9..5edd231f 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 - OpenSLX GmbH
+# Copyright (c) 2003..2006 - RZ Uni Freiburg
+# Copyright (c) 2007..2008 - OpenSLX GmbH
#
# This program is free software distributed under the GPL version 2.
# See http://openslx.org/COPYING
@@ -11,18 +11,44 @@
#
# Configuration script for general Debian distributions to setup linux
# stateless clients (included within initial ramfs)
-
+
+# 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_ETCEXCL="etc/gconf/*\n*.old\n*-\n\
+etc/autoinstall\nlogrotate*\nbootloader\n*~\n\
+pptp.d\nisdn\nyouservers\nhardware/hwcfg*\n\
+X11/xdm/pixmaps\ndhclient.script"
+D_BINDMPTS="tmp root home"
+D_DIRINBINDMNT="/var/run /var/log /var/tmp /var/lib/gdm /etc/X11"
+D_RODIRSINRW="etc/gconf etc/X11/xkb /var/lib/texmf /var/cache/fontconfig \
+/var/lib/dpkg"
+D_DIRINDXS="/var/X11R6/compose-cache \
+/var/run/sysconfig/tmp /var/adm /var/lib/rpm /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/lock/subsys/sysconfig"
+
# empty functions are defined at the beginning of /etc/functions
# distro specific stuff to initialize
preinit () {
- echo "Creating dhcp user"
- echo "dhcp:x:101:" >>/etc/group
- echo "dhcp:x:101:101::/nonexistent:/bin/false" >>/etc/passwd
+:
}
# distro specific function called from servconfig script
config_distro () {
+ # clean the runlevel directories which will be populated by the stage3 setup
+ 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
ln -sf ../init.d/halt /mnt/etc/rc0.d/S90halt
ln -sf ../init.d/reboot /mnt/etc/rc6.d/S90reboot
@@ -35,6 +61,20 @@ config_distro () {
sed -e "s/.*initdefault/id:${D_INITDEFAULT}:initdefault/" -i /mnt/etc/inittab
}
+# initial (boot time) runlevel scripts
+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 boot.slx mountkernfs.sh mountvirtfs udev procps.sh bootlogd \
+ $D_SPLASHY keymap.sh hwclock.sh sudo dbus-1; 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"
@@ -61,16 +101,16 @@ local name=$2
local info=$3
case "$1" in
init)
- echo -e "#!/bin/sh\n# skeleton of /etc/${D_INITDIR}/$name created \
+ echo -e "#!/bin/sh\n# skeleton of /etc/init.d/$name created \
by $0\n# after you applied changes to the creation scripts you have to \
rerun\n# the mkdxsinitrd script to get them applied\n\
. /lib/lsb/init-functions\ncase \"\$1\" in\n start)\n\
-\tlog_begin_msg \"$info\"" >>/mnt/etc/${D_INITDIR}/$name
- chmod u+x /mnt/etc/${D_INITDIR}/$name
+\tlog_begin_msg \"$info\"" >>/mnt/etc/init.d/$name
+ chmod u+x /mnt/etc/init.d/$name
;;
close)
echo -e "\tlog_end_msg \$?\n\t;;\n stop)\n\tlog_end_msg \$?\n\t;;\
- \nesac\nexit 0" >>/mnt/etc/${D_INITDIR}/$name
+ \nesac\nexit 0" >>/mnt/etc/init.d/$name
;;
esac
}
@@ -150,17 +190,17 @@ if [ "x$start_snmp" = "xyes" ] ; then
#PATH=\"\$PATH:/var/X11R6/bin\"" >>/mnt/etc/profile
}
-# consolefont and language
-consolefont () {
+# localization like consolefont and language
+dlocale () {
# console font setting program not available in Debian 4!?
echo -e "\t#setfont ${CONSOLE_FONT} >${LOGFILE} 2>&1" \
- >>/mnt/etc/${D_INITDIR}/boot.slx
-chmod 744 /mnt/etc/${D_INITDIR}/boot.slx
+ >>/mnt/etc/init.d/boot.slx
+chmod 744 /mnt/etc/init.d/boot.slx
# fixme!! check for proper operation
# sed -e "s,LANGUAGE=.*,LANGUAGE=\"${LANG}\" # set within initramfs," \
# -e "s,LANG=.*,LANG=\"${LANG}\" # set within initramfs," \
# -i /mnt/etc/environment
-sed -e "s,LANG=.*,LANG=\"${LANG}\" # set within initramfs," \
+sed -e "s,LANG=.*,LANG=\"${LANG}\," # set within initramfs," \
-i /mnt/etc/default/locale
}
@@ -171,25 +211,3 @@ if [ "x$start_dreshal" = "xyes" ]; then
fi
}
-# overwrite settings set by hwautocfg, pathes will change for newer
-# Xorg version 7.X
-displayvars (){
-Files=' \t FontPath\t\t "/usr/share/X11/fonts/misc"\n
-\t FontPath\t\t "/usr/share/X11/fonts/100dpi/:unscaled"\n
-\t FontPath\t\t "/usr/share/X11/fonts/75dpi/:unscaled"\n
-\t FontPath\t\t "/usr/share/X11/fonts/Type1"\n
-\t FontPath\t\t "/usr/share/X11/fonts/100dpi"\n
-\t FontPath\t\t "/usr/share/X11/fonts/75dpi"\n
-'
-Module=' \t Load\t "i2c"\n
-\t Load\t "bitmap"\n
-\t Load\t "ddc"\n
-\t Load\t "dri"\n
-\t Load\t "extmod"\n
-\t Load\t "freetype"\n
-\t Load\t "glx"\n
-\t Load\t "int10"\n
-\t Load\t "type1"\n
-\t Load\t "vbe"\n'
-synapticsdrv=""
-}