1*37002bc6SCosta Shulyupin#!/bin/sh 2*37002bc6SCosta Shulyupin# 3*37002bc6SCosta Shulyupin# config3270 -- Autoconfigure /dev/3270/* and /etc/inittab 4*37002bc6SCosta Shulyupin# 5*37002bc6SCosta Shulyupin# Usage: 6*37002bc6SCosta Shulyupin# config3270 7*37002bc6SCosta Shulyupin# 8*37002bc6SCosta Shulyupin# Output: 9*37002bc6SCosta Shulyupin# /tmp/mkdev3270 10*37002bc6SCosta Shulyupin# 11*37002bc6SCosta Shulyupin# Operation: 12*37002bc6SCosta Shulyupin# 1. Run this script 13*37002bc6SCosta Shulyupin# 2. Run the script it produces: /tmp/mkdev3270 14*37002bc6SCosta Shulyupin# 3. Issue "telinit q" or reboot, as appropriate. 15*37002bc6SCosta Shulyupin# 16*37002bc6SCosta ShulyupinP=/proc/tty/driver/tty3270 17*37002bc6SCosta ShulyupinROOT= 18*37002bc6SCosta ShulyupinD=$ROOT/dev 19*37002bc6SCosta ShulyupinSUBD=3270 20*37002bc6SCosta ShulyupinTTY=$SUBD/tty 21*37002bc6SCosta ShulyupinTUB=$SUBD/tub 22*37002bc6SCosta ShulyupinSCR=$ROOT/tmp/mkdev3270 23*37002bc6SCosta ShulyupinSCRTMP=$SCR.a 24*37002bc6SCosta ShulyupinGETTYLINE=:2345:respawn:/sbin/mingetty 25*37002bc6SCosta ShulyupinINITTAB=$ROOT/etc/inittab 26*37002bc6SCosta ShulyupinNINITTAB=$ROOT/etc/NEWinittab 27*37002bc6SCosta ShulyupinOINITTAB=$ROOT/etc/OLDinittab 28*37002bc6SCosta ShulyupinADDNOTE=\\"# Additional mingettys for the 3270/tty* driver, tub3270 ---\\" 29*37002bc6SCosta Shulyupin 30*37002bc6SCosta Shulyupinif ! ls $P > /dev/null 2>&1; then 31*37002bc6SCosta Shulyupin modprobe tub3270 > /dev/null 2>&1 32*37002bc6SCosta Shulyupinfi 33*37002bc6SCosta Shulyupinls $P > /dev/null 2>&1 || exit 1 34*37002bc6SCosta Shulyupin 35*37002bc6SCosta Shulyupin# Initialize two files, one for /dev/3270 commands and one 36*37002bc6SCosta Shulyupin# to replace the /etc/inittab file (old one saved in OLDinittab) 37*37002bc6SCosta Shulyupinecho "#!/bin/sh" > $SCR || exit 1 38*37002bc6SCosta Shulyupinecho " " >> $SCR 39*37002bc6SCosta Shulyupinecho "# Script built by /sbin/config3270" >> $SCR 40*37002bc6SCosta Shulyupinif [ ! -d /dev/dasd ]; then 41*37002bc6SCosta Shulyupin echo rm -rf "$D/$SUBD/*" >> $SCR 42*37002bc6SCosta Shulyupinfi 43*37002bc6SCosta Shulyupinecho "grep -v $TTY $INITTAB > $NINITTAB" > $SCRTMP || exit 1 44*37002bc6SCosta Shulyupinecho "echo $ADDNOTE >> $NINITTAB" >> $SCRTMP 45*37002bc6SCosta Shulyupinif [ ! -d /dev/dasd ]; then 46*37002bc6SCosta Shulyupin echo mkdir -p $D/$SUBD >> $SCR 47*37002bc6SCosta Shulyupinfi 48*37002bc6SCosta Shulyupin 49*37002bc6SCosta Shulyupin# Now query the tub3270 driver for 3270 device information 50*37002bc6SCosta Shulyupin# and add appropriate mknod and mingetty lines to our files 51*37002bc6SCosta Shulyupinecho what=config > $P 52*37002bc6SCosta Shulyupinwhile read devno maj min;do 53*37002bc6SCosta Shulyupin if [ $min = 0 ]; then 54*37002bc6SCosta Shulyupin fsmaj=$maj 55*37002bc6SCosta Shulyupin if [ ! -d /dev/dasd ]; then 56*37002bc6SCosta Shulyupin echo mknod $D/$TUB c $fsmaj 0 >> $SCR 57*37002bc6SCosta Shulyupin echo chmod 666 $D/$TUB >> $SCR 58*37002bc6SCosta Shulyupin fi 59*37002bc6SCosta Shulyupin elif [ $maj = CONSOLE ]; then 60*37002bc6SCosta Shulyupin if [ ! -d /dev/dasd ]; then 61*37002bc6SCosta Shulyupin echo mknod $D/$TUB$devno c $fsmaj $min >> $SCR 62*37002bc6SCosta Shulyupin fi 63*37002bc6SCosta Shulyupin else 64*37002bc6SCosta Shulyupin if [ ! -d /dev/dasd ]; then 65*37002bc6SCosta Shulyupin echo mknod $D/$TTY$devno c $maj $min >>$SCR 66*37002bc6SCosta Shulyupin echo mknod $D/$TUB$devno c $fsmaj $min >> $SCR 67*37002bc6SCosta Shulyupin fi 68*37002bc6SCosta Shulyupin echo "echo t$min$GETTYLINE $TTY$devno >> $NINITTAB" >> $SCRTMP 69*37002bc6SCosta Shulyupin fi 70*37002bc6SCosta Shulyupindone < $P 71*37002bc6SCosta Shulyupin 72*37002bc6SCosta Shulyupinecho mv $INITTAB $OINITTAB >> $SCRTMP || exit 1 73*37002bc6SCosta Shulyupinecho mv $NINITTAB $INITTAB >> $SCRTMP 74*37002bc6SCosta Shulyupincat $SCRTMP >> $SCR 75*37002bc6SCosta Shulyupinrm $SCRTMP 76*37002bc6SCosta Shulyupinexit 0 77