#this file is '.profile'
#to use rename root.profile to .profile

msg=`cat /proc/cmdline`
set -- $msg

echo "ulimit -n 1274"
ulimit -n 1274

if [ -n "$SSH_TTY" ]; then
	screen -x
fi

BOOTDEV=`cat /sys/block/kmsda/device/type`
#EMMC_MIGRATION=0 # SD->eMMC copy:1, Inaction:0

echo "Boot device : $BOOTDEV"
if [ ${BOOTDEV} = "SD" -a ${EMMC_MIGRATION} = "1" ]; then
	/sd2emmc.sh
	exec /bin/bash
fi

IntegrityState=0

# kssfum I2C-UARTϊΉ CSRC,Vendortermiosݒ
stty -F /dev/ttySC0 38400 -parenb -parodd cs8 -hupcl -cstopb cread clocal crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke
stty -F /dev/ttySC1 19200 parenb -parodd cs8 -hupcl -cstopb cread clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -iutf8 -opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 -isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke

/* 2016.10.17 ADSɓ CPU-UARTΉ PIC^[~ĩ{[[gݒ肳ĂȂ */
# kssfum UARTΉ PICtermiosݒ
stty -F /dev/ttyS1 57600 -parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

# u[gp[^TutH_擾.
# ZLeB[h̏擾.
for arg in $@
do
	case $arg in
	"FwDir="*)
		FwDir=${arg#*=}
		;;
	"IntegrityState="*)
		IntegrityState=${arg#*=}
		;;
	esac
done

# _E[hRomptO.
export IsExpRom=0

if [ $1 = "boottyp=0" ]; then
	if [ $IntegrityState -eq 1 ]; then
		echo " 0 DEF_BOOT + Int"
		exec /etc/mfpintegrity.sh 0 /km/ /km/fw/bin/mfp000_hwQt
	else
		echo " 0 DEF_BOOT"
		exec /etc/mfpAutoStart.sh /km/fw/bin/mfp000_hwQt
	fi
else
if [ $1 = "boottyp=1" ]; then
	echo " 1 USB_BOOT"
	exec /etc/mfpAutoStart.sh /km/fw/bin/mfp000_hwQt
else
if [ $1 = "boottyp=2" ]; then
	echo " 2 USB_UPDATE [Tick:"`cat /sys/kernel/km_tick/tick_value`"]"

	while read line; do
		line=${line%?}
		case $line in
		"@EXP"*)
			IsExpRom=1
			;;
		"@MS1"*)
			FileName_MS1=${line#*FN=}
			;;
		"@SUB"*)
			FileName_SUB=${line#*FN=}
			;;
		esac
	done < /bd/sdc1/$FwDir/INDEX

	# S`FbNsENSubset̃pXɃTutH_ݒ.
	if [ $IsExpRom -eq 1 ]; then
		mount -t cramfs -o loop /bd/sdc1/$FwDir/$FileName_SUB /km

		if [ -z "$FileName_MS1" ]; then
			echo "Error. INDEX File invalid. Not found SubsetPath. "
		else
			exec /etc/mfpintegrity.sh 4 /bd/sdc1/$FwDir/ /km/$FileName_MS1
		fi
	else
		mount -t vfat /dev/sdc1 /km

		# ʏRomłUSB_E[h̏ꍇAV{bNN폜.
		# Romł͈ȉ3t@C/kmɊi[ĂׁAV{bNN̍쐬͕sv.
                rm /usr/local/Trolltech/Qt5.3/lib/libQt5Gui.so.5.3.0
                rm /usr/local/Trolltech/Qt5.3/lib/libQt5Network.so.5.3.0
                rm /usr/local/Trolltech/Qt5.3/lib/libQt5WebKit.so.5.3.0

		# V{bNÑpXɃTutH_ݒ.
                ln -s /km/$FwDir/libQt5Gui.so.5.3.0 /usr/local/Trolltech/Qt5.3/lib/libQt5Gui.so.5.3.0
                ln -s /km/$FwDir/libQt5Network.so.5.3.0 /usr/local/Trolltech/Qt5.3/lib/libQt5Network.so.5.3.0
                ln -s /km/$FwDir/libQt5WebKit.so.5.3.0 /usr/local/Trolltech/Qt5.3/lib/libQt5WebKit.so.5.3.0

		if [ -z "$FileName_MS1" ]; then
			echo "Error. INDEX File invalid. Not found SubsetPath. "
		else
			exec /etc/mfpintegrity.sh 4 /km/$FwDir/ /km/$FwDir/$FileName_MS1
		fi
	fi

else
if [ $1 = "boottyp=3" ]; then
	echo " 3 DEF_IISW"
	mount -t cramfs -o loop /bd/sda1/SUB.img /km
	exec /etc/mfpAutoStart.sh /km/fw/bin/mfp001_hwQt
else
if [ $1 = "boottyp=4" ]; then
	echo " 4 BOOT_LINE"
	screen /etc/mfpAutoStart.sh /km/fw/bin/mfp000_hwQt
#	exec /etc/mfpAutoStart.sh /km/fw/bin/mfp000_hwQt
else
if [ $1 = "boottyp=5" ]; then
	echo " 5 BOOT_ERR"
	mount -t cramfs -o loop /bd/sda1/SUB.img /km
	exec /etc/mfpAutoStart.sh /km/fw/bin/mfp001_hwQt
else
if [ $1 = "boottyp=7" ]; then
	echo " 7 BOOT_HW_CHECKMODE"
	exec /etc/mfpAutoStart.sh /km/fw/bin/mfp000_hwQt
else
if [ $1 = "boottyp=8" ]; then
	echo " 8 BOOT_SPEEDCHANGE"
	exec /etc/mfpAutoStart.sh /km/fw/bin/mfp000_hwQt
else
if [ $1 = "boottyp=9" ]; then
	echo " 9 DEF_UPDATE"

	while read line; do
		line=${line%?}
		case $line in
		"@EXP"*)
			IsExpRom=1
			;;
		"@MS1"*)
			FileName_MS1=${line#*FN=}
			;;
		"@SUB"*)
			FileName_SUB=${line#*FN=}
			;;
		esac
	done < /bd/sda1/INDEX

	if [ $IsExpRom -eq 1 ]; then
		mount -t cramfs -o loop /bd/sda1/$FileName_SUB /km
	else
		mount -t vfat /dev/mmcblk0p3 /km
	fi

	if [ -z "$FileName_MS1" ]; then
		echo "Error. INDEX File invalid. Not found SubsetPath. "
	else
#		XVNOFWWJɊS`FbNsĂׁAł͍sȂ.
#		exec /etc/mfpintegrity.sh 1 /km/$FileName_MS1
		exec /etc/mfpAutoStart.sh /km/$FileName_MS1
	fi
else
if [ $1 = "boottyp=11" ]; then
	echo " 11 DEF_BACKUP"
	mount -t cramfs -o loop /bd/sda1/SUB.img /km
	exec /etc/mfpAutoStart.sh /km/fw/bin/mfp001_hwQt
else
if [ $1 = "boottyp=12" ]; then
	echo " 12 DEF_RESTORE"
	mount -t cramfs -o loop /bd/sda1/SUB.img /km
	exec /etc/mfpAutoStart.sh /km/fw/bin/mfp001_hwQt
else
	echo " ERR: Boot Error."
	exec /etc/mfpAutoStart.sh /km/fw/bin/mfp000_hwQt
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi

