# hdw - linux 00-int-conf package # # author: hackbard@hackdaworld.dyndns.org # # we don't need source # [S] 2-17 # [V] 0.1 custmain="1" custmain() { # check for minit/sysvinit if [ ! -d $root/etc/minit ]; then # copy init scripts cp -v ${hdw_home_dir}/misc/sysfiles/etc/init.d/[!C]* \ $root/etc/init.d # linking in rc2.d ((counter=0)); ((counter2=100)) for i in sysklogd cron network nscd; do ((counter+=10)); ((counter2-=10)) ln -vfs ../$i $root/etc/init.d/rc2.d/S`echo $counter`$i ln -vfs ../$i $root/etc/init.d/rc2.d/K`echo $counter2`$i done # symbolic link to sbin rm -f $root/sbin/init.d ln -svf ../etc/init.d $root/sbin/init.d else # create minit files mkdir -p $root/etc/minit/default rm -f $root/etc/minit/default/depends # trivial initis for i in $confdir/*.init; do create_init $i echo "`basename $i | awk -F. '{ print $1 }'`" >> \ $root/etc/minit/default/depends done # none trivial inits for i in getty krng ofid clean klogd keymap; do mkdir -p $root/etc/minit/$i echo $i >> $root/etc/minit/default/depends done # clean cat > $root/etc/minit/clean/run << EOF #!/bin/bash cp -f /dev/null /etc/mtab rm -f /var/run/* /var/lock/* /var/lock/*/* touch /var/run/utmp ; chmod 664 /var/run/utmp ; chown root.tty /var/run/utmp EOF touch $root/etc/minit/clean/sync echo "mount" > $root/etc/minit/clean/depends # klogd cat > $root/etc/minit/klogd/run << EOF #!/bin/bash echo "writing /var/log/boot.msg ..." klogd -f /var/log/boot.new -o grep '.' < /var/log/boot.new > /var/log/boot.msg rm /var/log/boot.new EOF touch $root/etc/minit/klogd/sync # keymap cat > $root/etc/minit/keymap/run << EOF #!/bin/bash echo "setting keyboard keymappings ..." if [ -L /etc/default.keymap ] ; then oldpwd="`pwd`" ; cd /etc loadkeys `ls -l default.keymap | tr -s ' ' | cut -f11 -d' '` cd "$oldpwd" ; unset oldpwd elif [ -f /etc/default.keymap ] ; then loadkeys /etc/default.keymap else echo "no /etc/default.keymap found, no keymap loaded." fi EOF touch $root/etc/minit/keymap/sync # ofid cat > $root/etc/minit/ofid/run << EOF #!/bin/bash echo 'setting overflow uid and gid kernel parameters ...' sysctl -w kernel.overflowuid=`id -u nobody` | tr -d '\n' echo -n ', ' ; sysctl -w kernel.overflowgid=`id -g nobody` EOF # krng cat > $root/etc/minit/krng/run << EOF #!/bin/bash echo "initializing kernel random number generator ..." [ -f /var/state/random-seed ] && cat /var/state/random-seed >/dev/urandom dd if=/dev/urandom of=/var/state/random-seed count=1 2> /dev/null EOF # getty's # check for {f,a}getty my_getty="agetty" getty_opt="-f /etc/issue 38400 vc/\$i linux" if [ -f $root/sbin/fgetty ] ; then echo "fyi: using fgetty ..." my_getty="fgetty" getty_opt="vc/\$i --noclear" fi for i in 1 2 3 4 5 6; do mkdir -p $root/etc/minit/getty/$i rm -f $root/etc/minit/getty/$i/{run,params,depends} touch $root/etc/minit/getty/$i/respawn for param in $getty_opt; do echo "$param" >> $root/etc/minit/getty/$i/params done ln -sv $root/sbin/$my_getty $root/etc/minit/getty/$i/run done fi }