check md5 array
[sysadmin-cookbook] / recepies / amt / serial-console.sh
1 #!/bin/sh -x
2
3 # add AMT serial console to inittab
4
5 ttyS=`dmesg | grep ttyS | grep 0x | tail -1 | sed 's/^.*\(ttyS[0-9]\).*$/\1/'`
6
7 test -z "$ttyS" && echo "Can't find serial port in dmesg output" && exit
8
9 if ! grep $ttyS /etc/inittab | grep -v ^# ; then
10         echo "Am:2345:respawn:/sbin/getty $ttyS 115200 vt100-nav" >> /etc/inittab
11         init q
12 fi
13
14 ps ax | grep $ttyS | grep -v grep
15
16 grub=/boot/grub/menu.lst
17 tmp=/tmp/menu.lst
18
19 test -f $grub || exit
20
21 if ! grep '^# kopt=' $grub | grep console= ; then
22         cat $grub | sed "s/^\(# kopt=.*\)$/\1 console=$ttyS,115200 console=tty0/" > $tmp
23 else
24         cat $grub > $tmp
25 fi
26
27
28 if ! grep 'terminal *serial' $grub ; then
29         port=`dmesg | grep ttyS | grep 0xe | sed 's/^.*\(0xe[0-9a-f]*\).*$/\1/'`
30         cat $tmp | sed "s/\(### BEGIN AUTOMAGIC KERNELS LIST\)/serial --port=$port --speed=115200\nterminal serial\n\n\1/" >> $tmp.serial && mv $tmp.serial $tmp || exit
31 fi
32
33 if ! diff -urw $grub $tmp ; then
34         mv $tmp $grub && update-grub
35 fi