#! /bin/sh
#
#   startup.sh -- スタートアップスクリプト (日本語化コンソール用)
#
#	0.0: Jun. 15, 2004 by Dai ISHIJIMA
#	0.1: Jun. 19, 2005 (for PXEBOOT)
#	0.2: Aug.  1, 2006 (v07、CD初期化をrcへ、ランダムパターンとその補数)
#	0.3: Aug.  6, 2006 (キーボードチェック)
#	0.4: Sep. 18, 2006 (/var を mkdir しない)
#	0.5: Feb. 10, 2007 (ログ記録 for wpout08)
#	0.6: Sep. 12, 2007 (for wpout09開発版)
#	0.7: Sep. 17, 2007 (shutdown時の画面復帰)
#	0.8: Jan.  3, 2008 (起動時ロジックの改良)
#	0.8: Jul. 24, 2009 (dmesg.bootの重複チェック, wpout10)
#	0.9: Dec.  7, 2013 (ディスクのデバイス名)
#

##PATH=/usr/bin:/bin:/usr/sbin:/sbin:/:.
##export PATH

LOGFIL="${LOGFIL:-/tmp/wpoutlog.txt}"
DMESG="${DMESG:-/var/run/dmesg.boot}"
export DMESG
echo -n '起動時のシステムメッセージを保存しています...'
dmesg > $DMESG
echo ''

# 「md0」が行頭に現れる行番号を調べる。複数あれば重複
lin1=`sed -n '/^md0/=' $DMESG | sed -n '1p'`
lin2=`sed -n '/^md0/=' $DMESG | sed -n '$p'`

if [ $lin1 -ne $lin2 ]; then
	echo 'システムメッセージが重複しています。'
	echo '一度電源を切ってから再起動することを推奨します。'
	echo '処理を続行する場合は「exit」を入力してください。'
	/bin/sh -i
fi

echo '# ---------------------------- #' >> $LOGFIL
echo -n "script startup.sh started on " >> $LOGFIL
date >> $LOGFIL

export TERMCAP=/etc/termcap
export TERM=kons25jx
export PATTERNFIL=/tmp/pattern.dat

# 2013-12-07 names of disk device node
# ata(4) -> ad (P-ATA: ad0, S-ATA: ad4, etc.)
# SCSI (da(4)) -> da (SCSI, CAM)
# ataraid(4) -> ar
# aac(4) -> aacd
# amr(4) -> amrd(?) or da(?) (SCSI CAM)
# arcmsr(4) -> da (SCSI CAM)
# asr(4) -> da(?) (SCSI CAM)
# graid3(4) -> da (SCSI CAM)
# hptiop(4) -> da(?)
# hptmv(4) -> da(?)
# hptrr(4) -> da(?)
# ida(4) -> idad(?), da(?)
# iir(4) -> da(?)
# ips(4) -> ipsd(?), da(?)
# mfi(4) -> mfid
# mlx(4) -> mlxd(?), da(?)
# mly(4) -> da(?)
# twa(4) -> da(?)
# twe(4) -> da(?)
export DEVICES='da|ad|ar|aacd|amrd|idad|ipsd|mfid|mlxd|twed'

# 一度に32Mバイトずつ消す
BLKLEN=$(( 32 '*' 1024 '*' 1024 ))
export BLKLEN
# 出力ブロック長は1Mバイト
OBS=$(( 1024 '*' 1024 ))
export OBS
# 入力ブロック長 (stuffの出力長) は1kバイト
IBS=1024
export IBS
# 消去確認は10Mバイトずつ
VBLKLEN=$(( 10 '*' 1024 '*' 1024 ))
export VBLKLEN
# 消去確認の入力ブロック長は1Mバイト
VBS=$(( 1024 '*' 1024 ))
export VBS
# コピー時は512バイトずつ
CBS=512
export CBS

echo ''

# debugging
case x"$DEBUG" in
    x[Yy]*)
	for i in 1 2 3 ; do
		echo -n '.'
		sleep 1
	done
	echo ''
	;;
esac

cd /wipeout
stuff -g > $PATTERNFIL
echo "random pattern file $PATTERNFIL generated" >> $LOGFIL

if ! /bin/sh mainmenu.sh ; then
	exit 1
fi

# とりあえず対話シェルを動かしておく :-)
/bin/sh -i

exit 0

# EOF
