diff options
| author | Dirk von Suchodoletz | 2006-09-18 13:58:18 +0200 |
|---|---|---|
| committer | Dirk von Suchodoletz | 2006-09-18 13:58:18 +0200 |
| commit | ebe256e4b71415fdc3e0cf37782222c02742ac63 (patch) | |
| tree | 3530e9d43a8769925f73eb364f2822f7d45f0554 /initrd/initrd-stuff/etc/functions | |
| parent | Updated scripts for new path scheme (''opt'' prefix, see (diff) | |
| download | core-ebe256e4b71415fdc3e0cf37782222c02742ac63.tar.gz core-ebe256e4b71415fdc3e0cf37782222c02742ac63.tar.xz core-ebe256e4b71415fdc3e0cf37782222c02742ac63.zip | |
Hopefully completed #78 task, moved directory name (initramfs to
distinguish from ancient but not longer used Initial Ramdisk concept)
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@380 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'initrd/initrd-stuff/etc/functions')
| -rw-r--r-- | initrd/initrd-stuff/etc/functions | 957 |
1 files changed, 0 insertions, 957 deletions
diff --git a/initrd/initrd-stuff/etc/functions b/initrd/initrd-stuff/etc/functions deleted file mode 100644 index 278a502c..00000000 --- a/initrd/initrd-stuff/etc/functions +++ /dev/null @@ -1,957 +0,0 @@ -# common function script for the configuration of linux diskless clients -# (included by init, hwautocfg, servconfig, ... within OpenSLX initial -# ramfs) -# -# Dirk von Suchodoletz <dvs@OpenSLX.com>, 03-09-2006 -# Felix Endres, 30-04-2006 -# Tobias Maier -# -# (c) 2006 - RZ Universitaet Freiburg -# (c) 2006 - OpenSLX.ORG Project - -####################################################################### -# set of empty dummy functions (loaded before real functions in the -# distro specific files - to have no undeclared function in init, serv- -# config, hwautocfg, ... - -# distro specific funtion called at the beginning of init script -preinit () { - : -} -# distro specific funtion called at the end of init script -postinit () { - : -} -# distro specific general function called from servconfig script -config_distro () { - : -} -# udev/hotplug - auto device discovery service -udev_hotplug () { - : -} - - -####################################################################### -# generate events with the sysfs trigger -trigger_device_events () { - list=$(echo /sys/bus/*/devices/*/uevent) - list="$list $(echo /sys/class/*/*/uevent)" - list="$list $(echo /sys/block/*/uevent /sys/block/*/*/uevent)" - for i in $list; do - case "$i" in - */device/uevent|*\**) - continue - ;; - */class/mem/*|*/class/tty/*) - first="$first $i" - ;; - */block/md*) - last="$last $i" - ;; - */*) - default="$default $i" - ;; - esac - done - # trigger the sorted events - for i in $first $default $last; do - echo "add" > "$i" - done -} - -####################################################################### -# produce error message and if $2 is empty run (debug) shell -error () { -local e_msg="$1" -# check if LOGFILE is really writeable -if [ -n "${LOGFILE}" ] ; then - [ "${LOGFILE}" != "/dev/null" ] && \ - [ -w /mnt/${LOGFILE} ] || LOGFILE="/dev/null" -else LOGFILE="/dev/null" -fi -# if nonfatal error else fatal error message and shell -if [ -n "$2" ] ; then - [ "$DEBUGLEVEL" -ge 1 -a "$DEBUGLEVEL" != 8 ] && \ - echo -e "${error_msg}${e_msg}${error_nfe}" >> ${LOGFILE} - [ "$DEBUGLEVEL" -gt 1 -a "$DEBUGLEVEL" != 8 ] && \ - echo -e "${error_msg}${e_msg}${error_nfe}" - [ "$DEBUGLEVEL" -gt 2 -a "$DEBUGLEVEL" != 8 ] && usleep 20 -else - echo -e "${error_msg}${e_msg}${error_shell}" - # load usb modules to have keyboard enabled - they might have to be - # copied into initramfs with mkdxsinitramfs ... - modprobe -a usbcore uhci-hcd ohci-hcd usbhid 2>&1 >/dev/null - /bin/sh - echo -n "Reboot now? [y]" - read input -# [ -z "$input" -o "$input" = "y" -o "$input" = "Y" ] && { -# usleep 100 -# [ -f /proc/sysrq-trigger ] || mount -t proc none /proc -# echo "b" > /proc/sysrq-trigger -# } -fi -} -####################################################################### -# system uptime for performance analysis -sysup () { -uptime=$(sed -e "s, .*,,;s,\.,," /proc/uptime) -echo "${uptime} ms." -# if start times are kept, a summary of runtimes would be possible too -} - - -####################################################################### -# micro sleep - either busybox command or simply loop and delete 1 from -# the first argument gotten until zero -usleep () { -if [ -x /bin/usleep ]; then - /bin/usleep `expr $1 \* 60000` -else - local count=`expr $1 \* 10` - while [ $count -gt 0 ] ; do count=`expr $count \- 1` ; done -fi -return 0 -} -####################################################################### -# (re)generate dynamic linked libraries cache from /etc/ld.so.conf -ldcfg () { -[ -z "${NOLDSC}" ] && echo "$init_ldcfg" && ldconfig /tmp/ld.so.cache & -} -####################################################################### -# URI interpreter $1 variable to interprete, $2 type of token to return -# prot: tftp, http, nbd, ... server: IP or FQDN -uri_token () { -local var=$1 -# first check if URI starts with prot:// - URI scheme -if strinstr "://" "$1" ; then - prot=${var%://*} - rest=${var#*://} -else - rest="$var" - prot="" -fi -# get the server IP or name and port - URI authority -# you get the path or other token without leading "/" - add it later if -# needed (fixme: port might be broken) -if strinstr ":" "$rest" ; then - server="${rest%:*}" - rest="${rest#*:}" - path="${rest#*/}" - port="${rest%/$path}" -else - tmpval=$rest - rest="${rest#*/}" - path="${tmpval#*/}" - server="${tmpval%/$path}" - port="" -fi -# get path and query components - URI path, query -query="" -if strinstr "\?" "$rest" ; then - path="${path%\?*}" - query="${rest#*\?}" -fi -# return the requested token -case "$2" in - prot) echo "$prot" ;; - server) echo "$server" ;; - path) echo "$path" ;; - port) echo "$port" ;; - query) echo "$query" ;; -esac -} -####################################################################### -# load a certain module - name of module with path in argument one, the -# error message in second argument -loadmod () { -local modpath=$1 -local module=`echo $modpath|sed -e "s,.*/,,"` -local msg=$2 -if [ -f $modpath ] ; then - module=${module%.*} - modprobe ${MODPRV} ${module#*.} || \ - echo "$error_modload '$module'. $msg" -fi -} -####################################################################### -# compute prefix bit number from netmask -nm2pref () { -set `IFS="."; echo $1` -local n=0 - for i in $1 $2 $3 $4 ; do - case $i in - 0) break ;; - 128) n=`expr $n + 1` ; break ;; - 192) n=`expr $n + 2` ; break ;; - 224) n=`expr $n + 3` ; break ;; - 240) n=`expr $n + 4` ; break ;; - 252) n=`expr $n + 6` ; break ;; - 254) n=`expr $n + 7` ; break ;; - 255) n=`expr $n + 8` ; continue ;; - esac - done -echo $n -} -####################################################################### -# configure IP address statically - first argument the ip address, -# second the netmask, then gateway and broadcast address and last -# interface. All arguments have to be given. -ipsetup () { -local ip=$1 -local nm=$2 -local gw=$3 -local bc=$4 -local if=$5 -for ipcfg in ip ipconfig ifconfig none; do - test -x /bin/$ipcfg && break; -done -case $ipcfg in - # the standard linux ip configuration tool - ip) - ip link set dev $if up 2>/dev/null - ip addr add $ip/`nm2pref $nm` broadcast $bc dev $if 2>/dev/null - if [ "$gw" != "0.0.0.0" ] ; then - ip route add default via $gw 2>/dev/null - fi - MAC=$(ip link show dev $if|sed -n "/ether [0-9e-f]\{2\}:.*/p" \ - | sed -e "s/.*ether //;s/ .*//") - ;; - # the klibc ip configuration / dhcp client tool - ipconfig) - # fixme: to be checked - ipconfig $ip::$gw:$nm:$if:none - MAC="" - ;; - # traditional ifconfig/route - if a distro does not provide ip - ifconfig) - if [ "$ip" = "0.0.0.0" ]; then - ifconfig $if up - else - ifconfig $if $ip netmask $nm broadcast $bc - fi - [ "$gw" != "0.0.0.0" ] && route add default gw $gw - MAC=$(ifconfig $if|sed -n "/HWaddr [0-9A-F]\{2\}:.*/p" \ - | sed -e "s/.*HWaddr //;y/ABCDEF/abcdef/") - ;; - none) - error "$error_iptool" - ;; -esac -} -####################################################################### -# nfs mounter for root filesystem and other sources -nfsmnt () -{ -local nfsroot=$1 -local dest=$2 -local ret=0 -[ -z "$dest" ] && dest="/mnt" -for mnt in nfsmount mount none; do - test -x /bin/$mnt && break; -done -# often nfs is just a module and not compiled directly into the kernel -[ -f /lib/modules/@@@KERNVER@@@/kernel/fs/nfs/nfs.ko ] && \ - loadmod /lib/modules/@@@KERNVER@@@/kernel/fs/nfs/nfs.ko "$error_modnfs" -case $mnt in - # the klibc nfs mount tool (includes portmap) - nfsmount) - nfsmount -o ro $nfsroot $dest || ret=1 - ;; - # the standard mount; portmap is needed ... - mount) - portmap || { echo "$error_portm"; ret=1; } - # fixme: busybox mount uses nfs ... - mount -n -t nfs -o ro,nolock $nfsroot $dest || ret=1 - killall -9 portmap - ;; - none) - error "$error_mntt" - ;; -esac -return $ret -} -####################################################################### -# create configuration file for dhclient -mkdhclconf () { -local vci=$1 -# provide dhclient with proper configuration -echo -e "option bootlocal-script code 221\t= string;\n\ -option language code 222\t\t= string;\n\ -option start-x code 223\t\t\t= string;\n\ -option start-snmp code 224\t\t= string;\n\ -option start-sshd code 225\t\t= string;\n\ -option start-xdmcp code 226\t\t= string;\n\ -option start-cron code 227\t\t= string;\n\ -option crontab-entries code 228\t\t= string;\n\ -option start-rwhod code 229\t\t= string;\n\ -option start-printdaemon code 230\t= string;\n\ -option desktop-session code 231\t\t= string;\n\ -option tex-enable code 232\t\t= string;\n\ -option netbios-workgroup code 233\t= string;\n\ -option vmware code 234\t\t\t= string;\n\ -option hw-mouse code 252\t\t= string;\n\ -option hw-graphic code 253\t\t= string;\n\ -option hw-monitor code 254\t\t= string;\n\n\ -send dhcp-lease-time 86400;\nsend dhcp-max-message-size 1400;\n\ -request;\nscript \"/bin/dhclient-script\";" >> /etc/dhclient.conf -if [ -n "$vci" ] ; then - echo "send vendor-class-identifier \"$vci\";" >> /etc/dhclient.conf -fi -} - -####################################################################### -# dhcp client -rundhcp () -{ -local vci="$1" -for dhcp in dhclient dhcpcd pump ipconfig udhcpc none; do - test -e /bin/$dhcp && break; -done -if [ "$dhcp" = "none" ] ; then - error "$error_nodhcp" nonfatal -else - # ensure the interface is up - ipsetup 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 eth0 & - [ -f /lib/modules/@@@KERNVER@@@/kernel/net/packet/af_packet.ko ] && \ - loadmod /lib/modules/@@@KERNVER@@@/kernel/net/packet/af_packet.ko \ - "needed for dhcp"; - echo "Starting $dhcp for configuration" - mkdir /var/lib/dhcp 2>&1 >/dev/null -fi -export client="$dhcp" -case $dhcp in - dhclient) - mkdhclconf $vci - ln -s /bin/dhcpmkconfig /bin/dhclient-script - dhclient -cf /etc/dhclient.conf -lf /var/lib/dhcp/dhclient.leases \ - -q eth0 2>&1 >/dev/null || error "$error_dhclient" - ;; - dhcpcd) - [ -n $vci ] && vci="-i $vci" - ln -s /bin/dhcpmkconfig /bin/dhcpcd.exe - dhcpcd $vci -L /var/lib/dhcp -c /bin/dhcpcd.exe -T -t 30 eth0 \ - 2>&1 >/dev/null || error "$error_dhcpcd" - ;; - pump) - error "$error_pump" - ;; - ipconfig) - [ $DEBUGLEVEL -gt 1 -a "$DEBUGLEVEL" != 8 ] && \ -echo -e "# You are using ipconfig as dhcp \ -client. With this tool you only get the\n# basic IP settings from the \ -server. No vendor specific, self defined\n# dhcp options are possible this \ -way. use dhclient instead or get them via\n# tftp (to be enabled via kernel \ -command line)." >> /etc/machine-setup - error "$error_ipconf" - ;; - # udhcpc is part of busybox - udhcpc) - [ -n $vci ] && vci="-V $vci" - ln -s /bin/dhcpmkconfig /bin/udhcpc.script - udhcpc -b -q $vci -s /bin/udhcpc.script -i eth0 - ;; - *) - ;; -esac -echo "dhcp finished" > /tmp/dhcp-done -} - -####################################################################### -# function for retrieving configuration file (machine-setup) via tftp -# from a predefined server or given source (file=tftp-server:/path via -# kernel command line) -# tftpget is helper function for fileget -tftpgetunpack () { -# $1 is config file name to get, $2 IP of server to get file from -for tftp in /bin/atftp /bin/tftp ; do - test -x $tftp && break -done -echo -e "tftp\t69/tcp\ntftp\t69/udp" > /etc/services -local dst=/tmp/$(basename $1) -# tftp get part -case "$tftp" in - */atftp) - atftp -g -r $1 -l $dst $2 2> /dev/null - ;; - */tftp) - # distinguish between busybox tftp and standalone (in.tftp) client - if [ -x /bin/busybox ] ; then - tftp -g -r $1 -l $dst $2 1>&2 >/dev/null - else - echo "get $1 $dst" | tftp $2 1>&2 >/dev/null - fi - ;; -esac -# unpack part (only gzip is supported, bzip binary not present in -# initramfs) -if [ -s $dst ] ; then - tar -xpzf $dst 2>/dev/null - [ "$DEBUGLEVEL" -le 2 -o "$DEBUGLEVEL" -eq 8 ] && rm $dst - return 0 -else - return 1 -fi -} -fileget () { -# get type of tftp available, alternatively use wget for ftp or http -# (fixme: rewrite of fileget needed!!) -# analyze file soure (URI) in $FILESRC -if [ -n "$FILESRC" ] ; then - srvproto=$(uri_token $FILESRC prot) - cfgfile="/$(uri_token $FILESRC path)" - tftpserver=$(uri_token $FILESRC server) - tftpgetunpack $tftp $cfgfile $tftpserver -else - cfgdir="/tftpboot/client-config/" - local tftpserver=$serverip - # try to get configuration files successively; start with distro client - # and try last distro default ... - echo -e "\n## Configuration via fileget: Hierarchy is distro client \ -and as last\n# distro/default" >> /tmp/confviafile - mac=$(echo $MAC|sed "s/:/-/g") - for cfgfile in $cfgdir/$DISTRO/01-$mac.tgz $cfgdir/$DISTRO/default.tgz \ - $cfgdir/01-$mac.tgz $cfgdir/default.tgz ; do - tftpgetunpack $cfgfile $tftpserver && break - done -fi -test -f /initramfs/machine-setup && \ - cat /initramfs/machine-setup >> /tmp/confviafile -echo "fileget via $srvproto finished" > /tmp/file-done -} - -####################################################################### -# function for creating directories after testing of their existance -# avoids to recreate directories in union mounts -testmkd () { - test -d $1 || mkdir -p $1 &>/dev/null -} - -####################################################################### -# simple basename replacement -basename () { - local b=${1##*/} - echo ${b%$2} -} - -####################################################################### -# simple string in string search -strinstr (){ - case "$2" in *$1*) return 0;; esac - return 1 -} - -####################################################################### -# simple string in file search -strinfile (){ - case "$(cat $2)" in *$1*) return 0;; esac - return 1 -} - - -####################################################################### -# check boot commandline for specified option -inkernelcmdline (){ -strinstr " $1" "${KCMDLINE}" -return "$?" -} - -####################################################################### -# wait for a file to appear and stop after maxwait counts -waitfor () { -local file=$1 -local maxwait=$2 -local count=0 -while [ ! -e $file ] ; do - echo "waiting ........." > /dev/null - count=`expr $count + 1` - [ $count -gt $maxwait ] && return 1 -done -return 0 -} - -####################################################################### -# ldconfig is needed if rootfilesystem is composed of several parts. -# search for ldconfig and execute it -# check that /mnt/etc/ld.so.conf is never lost -ldconfig () { -local cachefile="$1" -for ldcfg in /mnt/sbin/ldconfig \ - /mnt/bin/ldconfig \ - /mnt/usr/sbin/ldconfig; do - test -x $ldcfg && { - $ldcfg -r /mnt -C $cachefile; break; } -done -#/mnt/sbin/ldconfig -r /mnt -C $cachefile -echo "finished" > /tmp/ldcfg -} - -####################################################################### -# configuration via ldap -ldapconf () { -local ldapserver=$1 -error "$error_ldapcfg" -echo "not implemented" > /tmp/ldap-done -} - -####################################################################### -# base passwd/shadow, the standard user present in every system. All -# other system users should be generated within the service function -basepasswd () { -# strip every line with userid between 500 and 99999 from the passwd -# file -sed '/^[a-zA-Z0-9]*:[a-zA-Z0-9]*:[1-9][0-9]\{3,4\}:/d;/^+:*/d;/^+$/d; - /^[a-zA-Z0-9]*:[a-zA-Z0-9]*:[5-9][0-9]\{2\}:/d' /mnt/etc/passwd \ - > /tmp/newpasswd -# and add user nobody again (is there a more elegant way?) -sed -n -e '/nobody/p' /mnt/etc/passwd >> /tmp/newpasswd -cp /tmp/newpasswd /mnt/etc/passwd -# create the shadow from passwd file -echo -e "root:"$root_pw":12958:0:10000::::" > /mnt/etc/shadow -sed 's/:.*/:!:13078:0:99999:7:::/;/^root.*/d' /tmp/newpasswd \ - >> /mnt/etc/shadow -} - -####################################################################### -# wait for the completion of configuration file (machine-setup). It is -# composed from different sources -cfgcomplete () { -waitfor /tmp/dhcp-done 10000 || error "$error_errdcfg" nonfatal -waitfor /tmp/file-done 10000 || error "$error_errfcfg" nonfatal -waitfor /tmp/ldap-done 10000 || error "$error_errlcfg" nonfatal -# concat the different files now into the central config file, order -# matters - ldap data has highest priority -if ! [ -f /tmp/cfgcomplete ] ; then - for config in /tmp/confviadhcp /tmp/confviafile /tmp/confvialdap - do test -f $config && cat $config >> /etc/machine-setup - done -echo "config completed" > /tmp/cfgcomplete -fi -} - -####################################################################### -# localization simply derived from $language variable set in -# machine-setup or other sources - mostly taken from knoppix -localization () { -country="$1" -CONSOLE_FONT="lat9w-16.psfu" -case "$country" in - # German version - de*) - COUNTRY="de" - LANG="de_DE.UTF8" - KEYTABLE="de-latin1-nodeadkeys" - XKEYBOARD="de" - KDEKEYBOARD="de" - CHARSET="utf8" - KDEKEYBOARDS="us,fr" - TZ="Europe/Berlin" - ;; - # Belgian version - be*) - COUNTRY="be" - LANG="C" - KEYTABLE="be2-latin1" - XKEYBOARD="be" - KDEKEYBOARD="be" - CHARSET="iso8859-15" - KDEKEYBOARDS="us,de,fr" - TZ="Europe/Brussels" - ;; - # Bulgarian version - bg*) - COUNTRY="bg" - LANG="bg_BG" - KEYTABLE="bg" - XKEYBOARD="bg" - KDEKEYBOARD="bg" - CHARSET="microsoft-cp1251" - KDEKEYBOARDS="us,de,fr" - TZ="Europe/Sofia" - ;; - # Switzerland (basically de with some modifications) - ch) - LANGUAGE="de" - COUNTRY="ch" - LANG="de_CH" - KEYTABLE="sg-latin1" - XKEYBOARD="de_CH" - KDEKEYBOARD="de_CH" - CHARSET="iso8859-15" - KDEKEYBOARDS="de,us,fr" - TZ="Europe/Zurich" - ;; - # Simplified Chinese - cn) - COUNTRY="cn" - LANG="zh_CN.GB2312" - KEYTABLE="us" - XKEYBOARD="us" - KDEKEYBOARD="us" - CHARSET="gb2312.1980-0" - KDEKEYBOARDS="us,de,fr" - XMODIFIERS="@im=Chinput" - TZ="Asia/Shanghai" - ;; - # Czechoslovakia - cs|cz) - LANGUAGE="cs" - COUNTRY="cs" - LANG="cs_CZ" - KEYTABLE="cz-lat2" - XKEYBOARD="cs" - KDEKEYBOARD="cz" - CHARSET="iso8859-2" - KDEKEYBOARDS="us,de,fr" - TZ="Europe/Prague" - CONSOLE_FONT="iso02g" - ;; - # Denmark - dk|da) - COUNTRY="dk" - LANG="da_DK" - # Workaround: "dk" broken in gettext, use da:da_DK - LANGUAGE="da:da_DK" - KEYTABLE="dk" - XKEYBOARD="dk" - KDEKEYBOARD="dk" - CHARSET="iso8859-15" - KDEKEYBOARDS="dk,de,us,fr" - TZ="Europe/Copenhagen" - ;; - es) - # Spain - COUNTRY="es" - LANG="es_ES@euro" - KEYTABLE="es" - XKEYBOARD="es" - KDEKEYBOARD="es" - CHARSET="iso8859-15" - KDEKEYBOARDS="de,us,fr" - TZ="Europe/Madrid" - ;; - # Finland - fi) - COUNTRY="fi" - LANG="fi_FI@euro" - KEYTABLE="fi" - XKEYBOARD="fi" - KDEKEYBOARD="fi" - CHARSET="iso8859-15" - KDEKEYBOARDS="us" - TZ="Europe/Helsinki" - ;; - # France - fr*) - COUNTRY="fr" - LANG="fr_FR@euro" - KEYTABLE="fr" - XKEYBOARD="fr" - KDEKEYBOARD="fr" - CHARSET="iso8859-15" - KDEKEYBOARDS="de,us" - TZ="Europe/Paris" - ;; - he|il) - # Hebrew version - LANGUAGE="he" - COUNTRY="il" - LANG="he_IL" - KEYTABLE="us" - XKEYBOARD="us" - KDEKEYBOARD="il" - CHARSET="iso8859-8" - KDEKEYBOARDS="us,fr,de" - TZ="Asia/Jerusalem" - ;; - # Ireland - ie) - COUNTRY="ie" - LANG="en_IE@euro" - KEYTABLE="uk" - XKEYBOARD="uk" - KDEKEYBOARD="gb" - CHARSET="iso8859-15" - KDEKEYBOARDS="us,de,es,fr,it" - TZ="Europe/Dublin" - ;; - # Italy - it) - COUNTRY="it" - LANG="it_IT@euro" - KEYTABLE="it" - XKEYBOARD="it" - KDEKEYBOARD="it" - CHARSET="iso8859-15" - KDEKEYBOARDS="fr,us,de" - TZ="Europe/Rome" - ;; - # Japan - ja) - COUNTRY="jp" - LANG="ja_JP" - LANGUAGE="ja" - KEYTABLE="us" - XKEYBOARD="us" - KDEKEYBOARD="us" - CHARSET="iso8859-15" - KDEKEYBOARDS="fr,us,de" - TZ="Asia/Tokyo" - ;; - # The Netherlands - nl) - COUNTRY="nl" - LANG="nl_NL@euro" - KEYTABLE="us" - XKEYBOARD="us" - KDEKEYBOARD="en_US" - CHARSET="iso8859-15" - KDEKEYBOARDS="nl,de,fr" - TZ="Europe/Amsterdam" - ;; - # Poland - pl) - COUNTRY="pl" - LANG="pl_PL" - KEYTABLE="pl" - XKEYBOARD="pl" - KDEKEYBOARD="pl" - CHARSET="iso8859-2" - KDEKEYBOARDS="de,us,fr" - TZ="Europe/Warsaw" - CONSOLE_FONT="iso02g" - ;; - # Russia - ru) - COUNTRY="ru" - LANG="ru_RU.KOI8-R" - KEYTABLE="ru" - XKEYBOARD="ru" - KDEKEYBOARD="ru" - CHARSET="koi8-r" - CONSOLE_FONT="Cyr_a8x16" - KDEKEYBOARDS="de,us,fr" - TZ="Europe/Moscow" - ;; - # Slovakia - sk) - COUNTRY="sk" - LANG="sk" - KEYTABLE="sk-qwerty" - XKEYBOARD="sk" - KDEKEYBOARD="sk" - CHARSET="iso8859-2" - KDEKEYBOARDS="us,de" - TZ="Europe/Bratislava" - CONSOLE_FONT="iso02g" - ;; - # Slovenia - sl) - LANGUAGE="sl" - COUNTRY="si" - LANG="sl_SI" - KEYTABLE="slovene" - XKEYBOARD="sl" - KDEKEYBOARD="si" - CHARSET="iso8859-2" - KDEKEYBOARDS="us,de" - TZ="Europe/Ljubljana" - CONSOLE_FONT="iso02g" - ;; - tr) -# Turkish version (guessed) - COUNTRY="tr" - LANG="tr_TR" - KEYTABLE="tr_q-latin5" - XKEYBOARD="tr" - KDEKEYBOARD="tr" - CHARSET="iso8859-9" - KDEKEYBOARDS="us,de,fr" - TZ="Europe/Istanbul" - ;; - # Taiwan - Traditional Chinese version (thanks to Chung-Yen Chang) - tw) - COUNTRY="tw" - LANG="zh_TW.Big5" - LANGUAGE="zh_TW.Big5" - KEYTABLE="us" - XKEYBOARD="us" - KDEKEYBOARD="us" - CHARSET="iso8859-1" - KDEKEYBOARDS="us" - XMODIFIERS="@im=xcin" - TZ="Asia/Taipei" - ;; - # Great Britian - uk) - COUNTRY="uk" - LANG="en_GB" - LANGUAGE="en" - KEYTABLE="uk" - XKEYBOARD="uk" - KDEKEYBOARD="gb" - CHARSET="iso8859-1" - KDEKEYBOARDS="us" - TZ="Europe/London" - ;; - # US and default configuration - *) - LANGUAGE="us" - COUNTRY="us" - LANG="C" - KEYTABLE="us" - XKEYBOARD="us" - KDEKEYBOARD="us" - CHARSET="iso8859-1" - KDEKEYBOARDS="de,fr" - TZ="America/New_York" - ;; -esac -} -####################################################################### -# setup initial boot scripts (for most standard distributions, gentoo -# is to be handled differently) -initial_boot () { -for i in ${D_RCDIRS} ${D_INITBOOTD} ; do - rm -f /mnt/etc/$i/* -done -count=10 -# boot.ld is a special runlevel script generated within initial ramdisk -# which should be executed before the rest -for i in boot.ld ${D_INITSCRIPTS}; do - count=`expr $count + 1` - revcnt=`expr 41 - $count` - ln -sf /etc${D_INITDIR}/$i /mnt/etc/${D_INITBOOTD}/S${count}$i - ln -sf /etc${D_INITDIR}/$i /mnt/etc/${D_INITBOOTD}/K${revcnt}$i -done -} -####################################################################### -# find out if prerequisites for special X server modules are met -# incomplete -check_glx () { -case "${XMODULE}" in - radeon) - # check ${XDESC}/ hwsetup.info device string in Cards file and then - # for needed components - test -f /mnt/lib/modules/${KERNEL}/kernel/drivers/char/drm/fglrx.ko \ - && test -f /mnt/usr/X11R6/lib/modules/drivers/fglrx_drv.* && \ - XMODULE=fglrx - # there seems no problem, if no TV is connected - TVOUT='\tOption\t\t"TVFormat" "PAL-B"\n -\tOption\t\t"DesktopSetup" "horizontal"' - ;; - nv) - # - # test -f /mnt/usr/X11R6/lib/modules/drivers/nvidia_drv.* - ;; -esac -} - -####################################################################### -# dummy functions - avoid undefined functions in servconfig (functions -# are normally overwritten by settings within distro-functions - a file -# generated by mkdxsconfig from <distro>/functions-default & ~-version - -# overwrite xorg configuration set by hwautocfg -displayvars (){ -: -} - -# function for ntp configuration -config_ntp () { -: -} - -# function for afs -config_afs () { -: -} - -# function for atd -config_atd () { -: -} - -# function for configuration of cron services -config_cron () { -: -} - -# syslog service -config_syslog () { -: -} - -# secure shell service -config_sshd () { -: -} - -# snmp agent for remote monitoring -config_snmp () { -: -} - -# consolefont -consolefont () { -: -} -# acpi and powersave -config_acpi () { -: -} - -# configure xdm as display manager -config_xdm () { -: -} - -# configure gdm as display manager -config_gdm () { -: -} - -# configure hal, dbus, resmgr and services like that -config_dreshal () { -: -} - -# configure automounter -config_automount () { -: -} - -# configure bluetooth services -config_bt () { -: -} - -# create a compliant runlevel script, needed for boot.ld and vmware-prep -d_mkrlscript () { -: -} - -# start name service caching daemon -config_nscd () { -: -} - -# prepare virtual machine environment (vmware, vmplayer) -config_vmware () { -: -} - -# configure automounter -config_automount () { -: -} - -# start portmapper (needed at least for nfs and nis services) -config_portmap () { -: -} - -# start NIS (fixmee - does the service is really named ypbind??) -config_nis () { -: -} |
