📄 genboots
字号:
#!/bin/sh## SCCSID=@(#)genboots 4.1 (ULTRIX) 7/2/90";## usage: sh genboots [-v] ## Description: generate the stand alone media for# tu58, rx01, rl02, rx50, tk50.## 001 - December, 1987 - Jon Wallace - Added call to ZEERO.## 000 - July , 1986 - Tung-Ning Cherng created.#KITCAP=/etc/kitcapCLEAN_FLAG=0PROG=$0USAGE="usage: $PROG [-v]"LL=""veronly=0 case $1 in-v* ) echo "Verification only !!! " veronly=1 shift ;;esactkflag=0while : truedo echo -n "Making V2.0 S.A.S kit. RX01: /dev/floppy TU58: /dev/tu? RX50: /dev/rra?a RL02: /dev/rrl?c TK50: /dev/nrmt?hEnter the device name [no default]? " read DEVICE case $DEVICE in /dev/nrmt* ) echo "Rewinding ..." mt -f $DEVICE rew case $? in 0 ) ;; * ) echo "$DEVICE can not access." DEVICE="xxx" continue ;; esac ;; /dev/*rl* ) dd if=$DEVICE bs=1b count=1 > /dev/null 2>&1 case $? in 0 ) ;; * ) echo "Can not access $DEVICE." DEVICE="xxx" continue ;; esac echo -n "Do you want to clean the disk first? (y/n) [n]: " read CLEAN_IT case $CLEAN_IT in Y* | y* ) echo -n "Please confirm intent to clean$DEVICE (y/n) [n]: " read CONFIRM case $CONFIRM in Y* | y* ) CLEAN_FLAG=1 ;; * ) echo "Non-affirmative response...$DEVICE will not be cleaned" ;; esac ;; * ) ;; esac ;; /dev/floppy | /dev/*ra* | /dev/tu* ) dd if=$DEVICE bs=1b count=1 > /dev/null 2>&1 case $? in 0 ) ;; * ) echo "Can not access $DEVICE." DEVICE="xxx" continue ;; esac ;; * ) echo "Invalid name. Please enter again" DEVICE="xxx" continue ;; esac breakdoneecho -n "Enter the kit code <ULT>? "read KCcase $KC in"" ) echo "please find out the kit code from /etc/kitcap" exit 1 ;;esacDFS="$IFS"IFS=:KL=`egrep "^$KC" $KITCAP` ||{ echo "Cannot find $KC in $KITCAP" exit 1}set xxx $KLSOURCEDIR=$3/bootdirPWD=`pwd`cd $SOURCEDIR || exit 1cd $PWDecho "The boot media is located in $SOURCEDIR"IFS=$DFS block=20bdevice=`expr $DEVICE : '.*/\(.*\)'`case $device infloppy ) sasfile=`(cd $SOURCEDIR; echo RX01*)` sasfile="$sasfile 780cons" ;;tu* ) sasfile=`(cd $SOURCEDIR; echo TU58*)` sasfile="$sasfile 730cons" ;; nrmt* ) mt -f $DEVICE rew sasfile=`(cd $SOURCEDIR;echo TK50*)` block=1b tkflag=1 ;; rrl* ) # use raw device, sasfile=RL02.1 block=20b ;;ra* | rra* ) sasfile=`(cd $SOURCEDIR; echo RX50*)` ;;* ) echo "No such bootmedia device. " exit 1 ;;esacecho "starting... `date`"N=0for k in $sasfiledo case $tkflag in 1 ) ans=y ;; 0 ) echo -n "Do you want to do $k <y/n>? " read ans ;; esac case $ans in y* ) case $veronly in 0 ) case $CLEAN_FLAG in 1) zeero -f $DEVICE ;; *) ;; esac echo "copying $k ..." dd if=$SOURCEDIR/$k of=${DEVICE} bs=$block conv=sync ;; esac echo "verifying $k ..." case $tkflag in 1 ) mt -f ${DEVICE} rew case $N in 0 ) N=1 ;; 1 ) mt -f ${DEVICE} fsf ;; esac ;; esac case $device in floppy ) dd if=${DEVICE} of=/tmp/$k bs=256 conv=sync > /dev/null cmp $SOURCEDIR/$k /tmp/$k > /tmp/cmp$k.$$ 2>&1 ;; * ) cmp $SOURCEDIR/$k ${DEVICE} > /tmp/cmp$k.$$ 2>&1 ;; esac egrep "diff|dev" /tmp/cmp$k.$$ case $? in 0 ) echo "$k is different !!!" ;; * ) rm /tmp/cmp$k.$$ /tmp/$k > /dev/null echo "done." ;; esac ;; * ) echo "Skipping $k" continue ;; esacdonecase $tkflag in1 ) mt -f $DEVICE rew ;;esacecho "Done `date`"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -