--- recepies/amt/serial-console.sh 2009/05/17 11:50:30 76 +++ recepies/amt/serial-console.sh 2009/05/17 11:58:25 77 @@ -12,8 +12,21 @@ ps ax | grep $ttyS | grep -v grep grub=/boot/grub/menu.lst +tmp=/tmp/menu.lst if ! grep '^# kopt=' $grub | grep console= ; then - cat $grub | sed "s/^\(# kopt=.*\)$/\1 console=$ttyS,115200/" > $grub.serial - diff -urw $grub $grub.serial + cat $grub | sed "s/^\(# kopt=.*\)$/\1 console=$ttyS,115200/" > $tmp +else + cat $grub > $tmp +fi + + +if ! grep 'terminal *serial' $grub ; then + port=`dmesg | grep ttyS | grep 0xe | sed 's/^.*\(0xe[0-9a-f]*\).*$/\1/'` + echo "serial --port=$port --speed=115200" >> $tmp + echo "terminal serial" >> $tmp +fi + +if ! diff -urw $grub $tmp ; then + mv $tmp $grub && update-grub fi