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. miconaplコマンド
  2. mountコマンド
  3. プラグイン/コメント
  4. プラグイン
  5. (標準Linux)標準Linuxとは
もっと見る
最近更新されたページ
  • 4567日前

    玄箱PROとは
  • 6336日前

    BusyBox
  • 6461日前

    NANDフラッシュ
  • 6481日前

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

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

    玄箱PROのwiki
  • 6482日前

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

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

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

    (標準Linux)sbinディレクトリ
もっと見る
「一覧」関連ページ
  • Fand
  • PlayBeep.sh
  • InitDisk1.sh
  • networking.sh
  • rcS
人気タグ「/dev」関連ページ
  • (標準Linux)devディレクトリ
もっと見る
人気記事ランキング
  1. miconaplコマンド
  2. mountコマンド
  3. プラグイン/コメント
  4. プラグイン
  5. (標準Linux)標準Linuxとは
もっと見る
最近更新されたページ
  • 4567日前

    玄箱PROとは
  • 6336日前

    BusyBox
  • 6461日前

    NANDフラッシュ
  • 6481日前

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

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

    玄箱PROのwiki
  • 6482日前

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

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

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

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

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

  1. フォートナイト攻略Wiki
  2. デジタルモンスター まとめ@ ウィキ
  3. 発車メロディーwiki
  4. 首都圏駅メロwiki
  5. 駅のスピーカーwiki
  6. マージマンション@wiki
  7. 作画@wiki
  8. Fate/Grand Order @wiki 【FGO】
  9. トリコ総合データベース
  10. 機動戦士ガンダム ギレンの野望 アクシズの脅威V 攻略wiki
もっと見る
人気Wikiランキング

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

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

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

  1. MADTOWNGTAまとめwiki
  2. MadTown GTA (Beta) まとめウィキ
  3. 首都圏駅メロwiki
  4. まどドラ攻略wiki
  5. Last Z: Survival Shooter @ ウィキ
  6. フォートナイト攻略Wiki
  7. 駅のスピーカーwiki
  8. ちいぽけ攻略
  9. ソニックレーシング クロスワールド 攻略@ ウィキ
  10. 戦国ダイナスティ攻略Wiki@ウィキ
もっと見る
全体ページランキング

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

  1. 【移転】Miss AV 見れない Missav.wsが見れない?!MissAV新URLはどこ?閉鎖・終了してない?missav.ai元気玉って何? - ホワイトハッカー研究所
  2. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  3. XVI - MADTOWNGTAまとめwiki
  4. 参加者一覧 - MADTOWNGTAまとめwiki
  5. 参加者一覧 - ストグラ まとめ @ウィキ
  6. ブラック・マジシャン・ガール - アニヲタWiki(仮)
  7. コメント/雑談・質問 - マージマンション@wiki
  8. Pokémon LEGENDS Z-A - アニヲタWiki(仮)
  9. ハーディガン - 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  10. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
もっと見る

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

2019 AtWiki, Inc.