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