initial checkin of new hdw-linux development cvs repository
[hdw-linux/hdw-linux.git] / packages / base / 00-init-conf / 00-init-conf
1 # hdw - linux 00-int-conf package
2 #
3 # author: hackbard@hackdaworld.dyndns.org
4 #
5 # we don't need source
6 # [S] 2-17
7 # [V] 0.1
8
9 custmain="1"
10
11 custmain()      {
12         # check for minit/sysvinit
13         if [ ! -d $root/etc/minit ]; then
14                 # copy init scripts
15                 cp -v ${hdw_home_dir}/misc/sysfiles/etc/init.d/[!C]* \
16                         $root/etc/init.d
17                 # linking in rc2.d
18                 ((counter=0)); ((counter2=100))
19                 for i in sysklogd cron network nscd; do
20                 ((counter+=10)); ((counter2-=10))
21                 ln -vfs ../$i $root/etc/init.d/rc2.d/S`echo $counter`$i
22                 ln -vfs ../$i $root/etc/init.d/rc2.d/K`echo $counter2`$i
23                 done
24                 # symbolic link to sbin
25                 ln -svf ../etc/init.d $root/sbin/init.d
26         else
27                 # create minit files
28                 mkdir -p $root/etc/minit/default
29                 rm -f $root/etc/minit/default/depends
30                 # trivial initis
31                 for i in $confdir/*.init; do
32                         create_init $i
33                         echo "`basename $i | awk -F. '{ print $1 }'`" >> \
34                                 $root/etc/minit/default/depends
35                 done
36                 # none trivial inits
37                 for i in getty krng ofid clean klogd keymap; do
38                         mkdir -p $root/etc/minit/$i
39                         echo $i >> $root/etc/minit/default/depends
40                 done
41                 # clean
42                 cat > $root/etc/minit/clean/run << EOF
43 #!/bin/bash
44 cp -f /dev/null /etc/mtab
45 rm -f /var/run/* /var/lock/* /var/lock/*/*
46 touch /var/run/utmp ; chmod 664 /var/run/utmp ; chown root.tty /var/run/utmp
47 EOF
48                 touch $root/etc/minit/clean/sync
49                 echo "mount" > $root/etc/minit/clean/depends
50                 # klogd
51                 cat > $root/etc/minit/klogd/run << EOF
52 #!/bin/bash
53 echo "writing /var/log/boot.msg ..."
54 klogd -f /var/log/boot.new -o
55 grep '.' < /var/log/boot.new > /var/log/boot.msg
56 rm /var/log/boot.new
57 EOF
58                 touch $root/etc/minit/klogd/sync
59                 # keymap
60                 cat > $root/etc/minit/keymap/run << EOF
61 #!/bin/bash
62 echo "setting keyboard keymappings ..."
63 if [ -L /etc/default.keymap ] ; then
64         oldpwd="`pwd`" ; cd /etc
65         loadkeys `ls -l default.keymap | tr -s ' ' | cut -f11 -d' '`
66         cd "$oldpwd" ; unset oldpwd
67 elif [ -f /etc/default.keymap ] ; then
68         loadkeys /etc/default.keymap
69 else
70         echo "no /etc/default.keymap found, no keymap loaded."
71 fi
72 EOF
73                 touch $root/etc/minit/keymap/sync
74                 # ofid
75                 cat > $root/etc/minit/ofid/run << EOF
76 #!/bin/bash
77 echo 'setting overflow uid and gid kernel parameters ...'
78 sysctl -w kernel.overflowuid=`id -u nobody` | tr -d '\n'
79 echo -n ', ' ; sysctl -w kernel.overflowgid=`id -g nobody`
80 EOF
81                 # krng
82                 cat > $root/etc/minit/krng/run << EOF
83 #!/bin/bash
84 echo "initializing kernel random number generator ..."
85 [ -f /var/state/random-seed ] && cat /var/state/random-seed >/dev/urandom
86 dd if=/dev/urandom of=/var/state/random-seed count=1 2> /dev/null
87 EOF
88                 # getty's
89                 # check for {f,a}getty
90                 my_getty="agetty" getty_opt="-f /etc/issue 38400 vc/\$i linux"
91                 if [ -f $root/sbin/fgetty ] ; then
92                         echo "fyi: using fgetty ..."
93                         my_getty="fgetty" 
94                         getty_opt="vc/\$i --noclear"
95                 fi
96                 for i in 1 2 3 4 5 6; do
97                         mkdir -p $root/etc/minit/getty/$i
98                         rm -f $root/etc/minit/getty/$i/{run,params,depends}
99                         touch $root/etc/minit/getty/$i/respawn
100                         for param in $getty_opt; do
101                                 echo "$param" >> $root/etc/minit/getty/$i/params
102                         done
103                         ln -sv $root/sbin/$my_getty $root/etc/minit/getty/$i/run
104                 done
105         fi      
106                 }