diff options
Diffstat (limited to 'initramfs')
-rw-r--r-- | initramfs/distro-specs/debian/functions-default | 5 | ||||
-rw-r--r-- | initramfs/distro-specs/scilin/functions-default | 4 | ||||
-rw-r--r-- | initramfs/distro-specs/suse/functions-default | 2 | ||||
-rw-r--r-- | initramfs/distro-specs/ubuntu/functions-10.04 | 198 | ||||
-rw-r--r-- | initramfs/distro-specs/ubuntu/functions-default | 4 |
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 |