Aug 30, 2002
								Comp-flash.html

		    SBC、コンパクト・フラッシュのチェック
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
               (http://www-online.kek.jp/~inoue/para-CAMAC/
                                   Work/Comp-flash.html)


			高エネルギー加速器研究機構
			   素粒子原子核研究所
                         物理、オンライングループ
				井上 栄二


	目的

	    並列CAMACで使用するSBCでは、コンパクトフラッシュ上に、ブート可能な
	    Linuxシステムを構築する必要がある。 コンパクトフラッシュ上にシステム
	    を構築する前の最初のステップとして、Linuxシステムからアクセスできる
	  こと、またコンパクトフラッシュ上に設置したブートローダーを起動できる
	  ことを確認する。

	(1). コンパクトフラッシュ上に領域を確保
	(2). ファイルシステムの作成、およびアクセスチェック
	(3). ブートローダーの設置
	(4). ブートローダーの起動

  --------------------------------------------------------------------


 (1). コンパクトフラッシュ上に領域を確保

	コンパクトフラッシュ上にパーティションを作成する。

[root@onlsbc1 inoue]# df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda2              7360792   2016432   4970448  29% /
none                    152332         0    152332   0% /dev/shm
[root@onlsbc1 inoue]# /sbin/fdisk /dev/hdc

コマンド (m でヘルプ): p

ディスク /dev/hdc: ヘッド 16, セクタ 63, シリンダ 993
ユニット = シリンダ数 of 1008 * 512 バイト

 デバイス ブート   始点      終点  ブロック   ID  システム
/dev/hdc1   *         1       993    500440+   6  FAT16

コマンド (m でヘルプ): m
コマンドの動作
   a   ブート可能フラグをつける
   b   bsd ディスクラベルを編集する
   c   dos 互換フラグをつける
   d   領域を削除する
   l   既知の領域タイプをリスト表示する
   m   このメニューを表示する
   n   新たに領域を作成する
   o   新たに空の DOS 領域テーブルを作成する
   p   領域テーブルを表示する
   q   変更を保存せずに終了する
   s   空の Sun ディスクラベルを作成する
   t   領域のシステム ID を変更する
   u   表示/項目ユニットを変更する
   v   領域テーブルを照合する
   w   テーブルをディスクに書き込み、終了する
   x   特別な機能 (エキスパート専用)

コマンド (m でヘルプ): d
領域番号 (1-4): 1

コマンド (m でヘルプ): p

ディスク /dev/hdc: ヘッド 16, セクタ 63, シリンダ 993
ユニット = シリンダ数 of 1008 * 512 バイト

 デバイス ブート   始点      終点  ブロック   ID  システム

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-993, 初期値 1): 
初期値 1 を使います
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-993, 初期値 993): 
初期値 993 を使います

コマンド (m でヘルプ): p

ディスク /dev/hdc: ヘッド 16, セクタ 63, シリンダ 993
ユニット = シリンダ数 of 1008 * 512 バイト

 デバイス ブート   始点      終点  ブロック   ID  システム
/dev/hdc1             1       993    500440+  83  Linux

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
[root@onlsbc1 inoue]# 


 (2). ファイルシステムの作成、およびアクセスチェック

	/dev/hdc1パーティションに ext3ファイルシステムを作成する。

[root@onlsbc1 boot]# /sbin/mke2fs -j /dev/hdc1
mke2fs 1.27 (8-Mar-2002)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
125488 inodes, 500440 blocks
25022 blocks (5.00%) reserved for the super user
First data block=1
62 block groups
8192 blocks per group, 8192 fragments per group
2024 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 35 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@onlsbc1 boot]#

	/dev/hdc1 デバイスをマウントする。

[root@onlsbc1 boot]# mount -t ext3 /dev/hdc1 /mnt1
[root@onlsbc1 boot]# df -k
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/hda2              7360792   1977636   5009244  29% /
/dev/hda5             10475668    119324   9824196   2% /home
none                    152332         0    152332   0% /dev/shm
/dev/hda1               545484     17744    500032   4% /mnt
/dev/hdc1               484602      8239    451341   2% /mnt1
[root@onlsbc1 boot]# s -laR /mnt1
bash: s: command not found
[root@onlsbc1 boot]# ls -laR /mnt1
/mnt1:
合計 17
drwxr-xr-x    3 root     root         1024  8月 30 10:21 .
drwxr-xr-x   20 root     root         4096  8月 26 15:16 ..
drwx------    2 root     root        12288  8月 30 10:21 lost+found

/mnt1/lost+found:
合計 13
drwx------    2 root     root        12288  8月 30 10:21 .
drwxr-xr-x    3 root     root         1024  8月 30 10:21 ..
[root@onlsbc1 boot]#

	コンパクト・フラッシュ、/dev/hdc1 デバイス上の全てのファイルを削除する。
	
[root@onlsbc1 boot]# rm -rf /mnt1/lost+found
[root@onlsbc1 boot]# ls -laR /mnt1
/mnt1:
合計 5
drwxr-xr-x    2 root     root         1024  8月 30 10:27 .
drwxr-xr-x   20 root     root         4096  8月 26 15:16 ..
[root@onlsbc1 boot]#

	コンパクト・フラッシュ、/dev/hdc1 デバイス上にファイルを読み書きできる
	ことを確認する。

[root@onlsbc1 boot]# vi /mnt1/testfile
test data
"/mnt1/testfile" [New] 1L, 10C written
[root@onlsbc1 boot]# cat /mnt1/testfile
test data

[root@onlsbc1 boot]# ls -laR /mnt1
/mnt1:
合計 6
drwxr-xr-x    2 root     root         1024  8月 30 10:32 .
drwxr-xr-x   20 root     root         4096  8月 26 15:16 ..
-rw-r--r--    1 root     root           11  8月 30 10:32 testfile
[root@onlsbc1 boot]# rm -f /mnt1/testfile
[root@onlsbc1 boot]# ls -laR /mnt1
/mnt1:
合計 5
drwxr-xr-x    2 root     root         1024  8月 30 10:34 .
drwxr-xr-x   20 root     root         4096  8月 26 15:16 ..
[root@onlsbc1 boot]#

	コンパクト・フラッシュへの読み書きは正常にできる。


 (3). ブートローダーの設置



---xxxx

 (4). ブートローダーの起動