atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
玄箱PROとかLinuxとか
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
玄箱PROとかLinuxとか
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
玄箱PROとかLinuxとか
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • 玄箱PROとかLinuxとか
  • kuro_lib

玄箱PROとかLinuxとか

kuro_lib

最終更新:2008年01月30日 12:40

aerocats

- view
だれでも歓迎! 編集
標準Linuxの/usr/local/bin/内にある。

スクリプト

#!/bin/sh
# KURO-BOX/PRO shell script common routines.
#  Ver 1.00	2007/01/17 : new by Y.H.
#

DEFAULT_IP=192.168.11.150
ENETNAME=eth0

#setup global environment values.
MTD_SHARE=`grep extra /proc/mtd| sed -e "s/:.*//"`
MTD_UIMAGE=`grep uImage /proc/mtd|sed -e "s/:.*//"`
MTD_ROOTFS=`grep rootfs /proc/mtd|sed -e "s/:.*//"`
MTD_UBOOT=mtd0

MTD_SHARE_DEV=/dev/${MTD_SHARE}
MTD_UIMAGE_DEV=/dev/${MTD_UIMAGE}
MTD_ROOTFS_DEV=/dev/${MTD_ROOTFS}
MTD_RBOOT_DEV=/dev/${MTD_UBOOT}

MTD_UIMAGE_CHARDEV_MINORNUM=`echo ${MTD_UIMAGE_DEV}|sed -e "s/.*mtd//"|sed -e "s/.*mtdblock//"`
MTD_UIMAGE_CHARDEV=/dev/mtdchar${MTD_UIMAGE_CHARDEV_MINORNUM}
MTD_ROOTFS_CHARDEV_MINORNUM=`echo ${MTD_ROOTFS_DEV}|sed -e "s/.*mtd//"|sed -e "s/.*mtdblock//"`
MTD_ROOTFS_CHARDEV=/dev/mtdchar${MTD_ROOTFS_CHARDEV_MINORNUM}
MTD_SHARE_CHARDEV_MINORNUM=`echo ${MTD_SHARE_DEV}|sed -e "s/.*mtd//"|sed -e "s/.*mtdblock//"`
MTD_SHARE_CHARDEV=/dev/mtdchar${MTD_SHARE_CHARDEV_MINORNUM}

DISK1_DEV=/dev/sda
DISK2_DEV=/dev/sdb

DISK1_MPT=/mnt/disk1
DISK2_MPT=/mnt/disk2
MTD_MPT=/mnt/mtd

RAMDISK_MPT=/mnt/ram
RAMDISK_DEV=/dev/ram1
RAMDISK_SIZE=8

KERNEL_EVENT_TAIL=/proc/buffalo/kernevnt
FIRST_NAND=/etc/first_boot

MICONAPL=/usr/local/sbin/miconapl
HEXDUMP=/usr/bin/hexdump
CHANGE_TO_DEVHDD_FILE=${MTD_MPT}/ChangeMeDevHDD

SCSI_MAJOR=8
SCSI1_MINOR_BASE=0
SCSI2_MINOR_BASE=16

# $1 : device of check target
# retval
# 1 : device $1 is mounted.
# 0 : device $1 is not mounted.
IsMounted(){
	MOUNTED=`grep $1 /proc/mounts`
	if [ "${MOUNTED}" != "" ] ; then
		return 1
	else
		return 0
	fi
	return 0
}

# $1 : return value of evaluate target.
DispSF(){
	if [ "$1" -eq 0 ] ; then
		echo [Success]
	else
		echo [Failed ]
	fi
}

# $1 : Executing shellscript. (mainly used for rcS)
# $2 : Option(default is start)
exec_sh(){
	if [ ! x"$2" = x"" ] ; then
		EXEC_OPT=$2
	else
		EXEC_OPT=start
	fi
	echo ""
	echo "===== Starting $1 ====="
	/etc/init.d/$1 ${EXEC_OPT}
	DispSF $?
	echo ""
}

# $1 : Check target mount point.
CheckMPT(){
	if [ "$1" != "" ] ; then
		echo "Checking MPT($1) is exist or not."
		if [ ! -e "$1" ] ; then
			echo "$1 not exist. So create a directory, now."
			mkdir $1 -p
			chmod 777 $1
		else
			echo "$1 is exist. So no need to create a directory."
		fi
	else
		echo "Checking MPT target is something wrong."
	fi
}

create_sysfolder(){
	rm -rf ${RAMDISK_MPT}
	mkdir -m 777 -p ${RAMDISK_MPT}
	mount -t tmpfs -o mode=1777,size=${RAMDISK_SIZE}m ${RAMDISK_DEV} ${RAMDISK_MPT}
	if [ $? -ne 0 ] ; then
		echo "*** ERROR! ${RAMDISK_MPT} mount fail!!"
		reboot -f
	fi
	
	mkdir -m 777 -p /mnt/ram/tmp /mnt/ram/var/tmp /mnt/ram/var/run
	rm -rf /tmp /var

	ln -sf /mnt/ram/tmp /tmp
	ln -sf /mnt/ram/var /var
	
	mkdir -m 777 -p /var/lock
	mkdir -m 755 -p /var/empty/sshd
	
	mkdir -m 755 -p /var/lib/dhcp
	mkdir -m 755 -p /var/lib/nfs
	chown rpcuser:rpcuser /var/lib/nfs

	mkdir -m 755 -p /var/lock/subsys
	mkdir -m 755 -p /var/lock/perfmon
	mkdir -m 755 -p /var/lock/printing

	mkdir -m 755 -p /var/log/hotplug
	mkdir -m 755 -p /var/log/samba
	mkdir -m 755 -p /var/log/linkstation

	mkdir -m 755 -p /var/run/usb
	mkdir -m 755 -p /var/spool
	ln -s /etc/cron /var/spool/cron

	MODEL=`grep PRODUCTNAME /proc/buffalo/firmware|sed -e "s/PRODUCTNAME=//"`
	echo "KUROUTOSHIKOU KUROBOX Series ${MODEL}" > /etc/issue
	ln -sf issue /etc/issue.net
	rm -f /var/lock/*
}

# $1 : target device to format
Format_EXT3(){
	echo "***** Starting to format $1 *****"
	mkfs.ext3 $1 
	if [ $? -eq 0 ] ; then
		echo "Format is succeeded without error."
	else
		return 1
		exit 1
	fi
	return 0
}

# $1 : target device to format.
Format_XFS(){
	KEY=`dd if=$1 bs=1 count=3`
	if [ "${KEY}" = "XFS" ] ; then
		. /etc/melco/info
		if [ "${force_format}" = "yes" ] ; then
			echo "Disk (or partition) is looks like already formatted."
			echo "If you stop format, Press Ctrl+C in 10 seconds!!!"
			COUNTER=10
			echo -n "waiting "
			while [ ${COUNTER} -gt 0 ]
			do
				echo -n "."
				sleep 1
				COUNTER=$((${COUNTER} - 1))
			done
			echo ""
			echo "OK, go on formatting."
		else
			return 0
		fi
	fi
	echo "***** Cleaning Disk partition information *****"
	dd if=/dev/zero of=$1 bs=512 count=1
	echo "***** Starting to format $1 *****"
	mkfs.xfs $1 -f
	if [ $? -eq 0 ] ; then
		echo "Format is succeeded without error."
	else
		return 1
		exit 1
	fi
	return 0
}

# $1 : target device to check partition
# ret 0 : this is no partition disk.
# ret 1 : this is nand share type partition
# ret 2 : this is developkit type partition (maybe)
IsHavePartition(){
	if [ -x ${HEXDUMP} ] ; then
		DISK_1_PART_TAIL=`hexdump -s 446 -n 64 -e '8/1 "%02x " 2/4 "%10d " "\n"' $1 | sed -n "1p"|awk '{print $10}'`
		DISK_2_PART_TAIL=`hexdump -s 446 -n 64 -e '8/1 "%02x " 2/4 "%10d " "\n"' $1 | sed -n "2p"|awk '{print $10}'`
		DISK_3_PART_TAIL=`hexdump -s 446 -n 64 -e '8/1 "%02x " 2/4 "%10d " "\n"' $1 | sed -n "3p"|awk '{print $10}'`
		DISK_4_PART_TAIL=`hexdump -s 446 -n 64 -e '8/1 "%02x " 2/4 "%10d " "\n"' $1 | sed -n "4p"|awk '{print $10}'`
		
		if [ "${DISK_1_PART_TAIL}" -ne 0 -a "${DISK_2_PART_TAIL}" -eq 0 -a "${DISK_3_PART_TAIL}" -eq 0 -a "${DISK_4_PART_TAIL}" -eq 0 ] ; then
			return 1
		elif [ "${DISK_1_PART_TAIL}" -ne 0 -a "${DISK_2_PART_TAIL}" -ne 0 -a "${DISK_3_PART_TAIL}" -ne 0 -a "${DISK_4_PART_TAIL}" -ne 0 ] ; then
			return 2
		else
			return 0
		fi
	else
		return 0
	fi
	return 0
}

# $1 : target device to mount.
# $2 : target mountpoint of $1.
# $3 : File system of target device(default is xfs).
# $4 : Mounted device permission(default is 777).
MountShare(){
	# ret 0 : this is no partition disk.
	# ret 1 : this is nand share type partition
	# ret 2 : this is developkit type partition (maybe)

	if [ "$1" = "/dev/sda" -o "$1" = "/dev/sdb" ] ; then
		IsHavePartition $1
		RET=$?
		[ "${RET}" -eq 1 ] && TARGET_DEV=${1}1
		[ "${RET}" -eq 2 ] && TARGET_DEV=${1}4
		[ "${RET}" -eq 0 ] && TARGET_DEV=${1}
	else
		TARGET_DEV=$1
	fi

	IsMounted ${TARGET_DEV}
	if [ $? = 1 ] ; then
		echo "${TARGET_DEV} is already mounted."
		return 1
	fi
	
	if [ "$3" = "" ] ; then
		FS=xfs
	else
		FS=$3
	fi

	if [ "$4" = "" ] ; then
		PERMISSION=777
	else
		PERMISSION=$4
	fi

	echo "Mounting ${TARGET_DEV} on $2 as a ${FS} file system."
	mount -t ${FS} ${TARGET_DEV} $2
	case $? in
	0)
		chmod ${PERMISSION} $2
		echo "Success."
		;;
	*)
		echo "Failed."
		return 1
		;;
	esac
	echo ""
	
	return 0
}

MiconIntEnable(){
	cat /proc/buffalo/miconint_en
}

CreateDevFile(){
	DISK_DEV=$1
	case ${DISK_DEV} in
	${DISK1_DEV})
		SCSI_MINOR_BASE=${SCSI1_MINOR_BASE}
		[ ! -e ${DISK_DEV} ] && mknod ${DISK_DEV} b ${SCSI_MAJOR} ${SCSI_MINOR_BASE}
		;;		
	${DISK2_DEV})
		SCSI_MINOR_BASE=${SCSI2_MINOR_BASE}
		[ ! -e ${DISK_DEV} ] && mknod ${DISK_DEV} b ${SCSI_MAJOR} ${SCSI_MINOR_BASE}
		;;
	*)
		return -1
	esac

	SCSI_MINOR=$((${SCSI_MINOR_BASE} + 1))
	DEV_NO=1

	while [ ${DEV_NO} -lt 8 ]
	do
		[ ! -e ${DISK_DEV}${DEV_NO} ] && mknod ${DISK_DEV}${DEV_NO} b ${SCSI_MAJOR} ${SCSI_MINOR}
		DEV_NO=$((${DEV_NO} + 1))
		SCSI_MINOR=$((${SCSI_MINOR} + 1))
	done


}


lock_file(){

case $1 in
check)
	[ -f "${LOCK}" ] && echo "${THIS_SCRIPT} : already runnign"
	return 1
	;;
create)
	echo "${THIS_SCRIPT}" $2 > ${LOCK}
	;;
delete)
	rm -f ${LOCK}
	;;
delete_log)
	rm -f ${LOCK}.log
	;;
*)
	;;
esac

}

タグ:

シェルスクリプト 一覧 玄箱PRO固有
+ タグ編集
  • タグ:
  • シェルスクリプト
  • 一覧
  • 玄箱PRO固有
タグの更新に失敗しました
エラーが発生しました。ページを更新してください。
ページを更新
「kuro_lib」をウィキ内検索
LINE
シェア
Tweet
玄箱PROとかLinuxとか
記事メニュー

ブログ内検索



メニュー

  • トップページ
  • 掲示板


更新履歴

取得中です。

未作成ページ

  • routedコマンド
  • loginコマンド
  • gettyコマンド
  • xinetd
  • inetd
  • ランレベル
  • 共有ライブラリ
  • bash
  • syslog
  • fileコマンド
  • mkdirコマンド
  • cpコマンド
  • nvramコマンド
  • 環境変数について
  • wgetコマンド
  • norフラッシュ
  • カーネルとは
  • killallコマンド
  • デバイス
  • パーティション
  • unix
  • vfs
  • システムコール
  • fdiskコマンド
  • sethostname.sh
  • httpd.sh
  • telnet.sh
  • inetd.sh
  • smb.sh
  • clientutil_servd.sh
  • bootcomplete.sh
  • fancontroller.sh
  • boss.sh
  • telnet
  • cpu
  • arm
  • mkswapコマンド
  • samba
  • swat
  • httpd
  • dns
  • hosts
  • resolv.conf
  • nsswitch.conf
  • シンボリックリンク
  • grepコマンド
  • sedコマンド
  • tarコマンド
  • echoコマンド
  • procコマンド

-
記事メニュー2

タグ一覧

標準Linux 概略 Linux全般 シェルスクリプト 一覧 玄箱PRO固有 ディレクトリ エラー /etc RESETボタン コマンド ディストリビューション tftp 外部接続 起動メッセージ U-boot フラッシュメモリ 開発用Linux オプション 終了メッセージ /dev /var /usr miconapl /bin /sbin /proc スペック プログラム

「玄箱PRO」関連ブログ

#technorati
人気記事ランキング
  1. NAS
  2. miconaplコマンド
もっと見る
最近更新されたページ
  • 4502日前

    玄箱PROとは
  • 6272日前

    BusyBox
  • 6397日前

    NANDフラッシュ
  • 6417日前

    玄箱PROのスペック
  • 6417日前

    (標準Linux)ルート直下のディレクトリツリー一覧
  • 6417日前

    玄箱PROのwiki
  • 6417日前

    (標準Linux)procディレクトリ
  • 6420日前

    (標準Linux)起動メッセージ
  • 6422日前

    (標準Linux)標準Linuxとは
  • 6422日前

    (標準Linux)sbinディレクトリ
もっと見る
「一覧」関連ページ
  • shutdown.sh
  • Kevent.sh
  • Fand
  • SetupDevEnv.sh
  • InitDisk1.sh
人気タグ「ディレクトリ」関連ページ
  • (標準Linux)sbinディレクトリ
  • (標準Linux)ルート直下のディレクトリツリー一覧
  • (標準Linux)etcディレクトリ
  • (標準Linux)usrディレクトリ
  • (標準Linux)devディレクトリ
もっと見る
人気記事ランキング
  1. NAS
  2. miconaplコマンド
もっと見る
最近更新されたページ
  • 4502日前

    玄箱PROとは
  • 6272日前

    BusyBox
  • 6397日前

    NANDフラッシュ
  • 6417日前

    玄箱PROのスペック
  • 6417日前

    (標準Linux)ルート直下のディレクトリツリー一覧
  • 6417日前

    玄箱PROのwiki
  • 6417日前

    (標準Linux)procディレクトリ
  • 6420日前

    (標準Linux)起動メッセージ
  • 6422日前

    (標準Linux)標準Linuxとは
  • 6422日前

    (標準Linux)sbinディレクトリ
もっと見る
ウィキ募集バナー
急上昇Wikiランキング

急上昇中のWikiランキングです。今注目を集めている話題をチェックしてみよう!

  1. シュガードール情報まとめウィキ
  2. ストグラFV まとめ@非公式wiki
  3. 作画@wiki
  4. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  5. NIKKEぺでぃあ
  6. MadTown GTA (Beta) まとめウィキ
  7. 本好きの下剋上 有志まとめwiki@5ch
  8. アニヲタWiki(仮)
  9. Fate/Grand Order @wiki 【FGO】
  10. ゆっくり虐め専用Wiki
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 発車メロディーwiki
  6. 検索してはいけない言葉 @ ウィキ
  7. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  8. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
もっと見る
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. まどドラ攻略wiki
  2. MadTown GTA (Beta) まとめウィキ
  3. シュガードール情報まとめウィキ
  4. SurrounDead 攻略 (非公式wiki)
  5. Dark War Survival攻略
  6. R.E.P.O. 日本語解説Wiki
  7. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  8. カツドンチャンネル @ Wiki
  9. AviUtl2のWiki
  10. 漢字でGO 問題集 @wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. メカフリーザー - アニヲタWiki(仮)
  3. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  4. スティルインラブ(ウマ娘 プリティーダービー) - アニヲタWiki(仮)
  5. アクアリウムは踊らない - アニヲタWiki(仮)
  6. 稼ぎ - 地球防衛軍6 @ ウィキ
  7. 長谷川 ポン太郎 - ストグラ まとめ @ウィキ
  8. ミッション攻略 - 地球防衛軍6 @ ウィキ
  9. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  10. 無馬 かな - ストグラ まとめ @ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.