[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bfree-prj 163] Re: HD からboot する方法のマニュアル



浪花です.

In "[bfree-prj 162] HD から boot する方法のマニュアル", 
	Thu, 29 Apr 1999 22:10:44 JST
	jnetwork@network.or.jp writes:

> 少しの間さぼっていましたけど、また再開したいと思います。

この手のドキュメントの整備は重要ですので,よろしくお願いしたいと思
います.

> HD から boot する方法
...
> version 1.0 
> 1997/11/18 
> 内藤 隆一

まさあきさんによる改訂版であることを明示された方が良いだろうと思い
ます.

>     9.ファイルシステムの作成。 
...
>             1.mkfs を実行します。 

>                 例 ./mkfs /def/hda4 604800 512 1000 
> 
>                 ここは300MB(かなり大きい)の例です。

I-node 数の少し厳密な計算方法を考えてみました.現在の B-Free で利
用されている sfs は,ディスク上に boot block と super block を各 1
block, ディスクの使用状況を調べる bitmap block (BB),i-node で利用
される block (4 block/i-node),ユーザーのファイルとディレクトリに
利用される block (UB) を持ちます.全ブロック数を TOTAL としたとき,

    BB =  TOTAL/512 + 1

で決まります.また,UB 8 ブロック(4KB)に一つの i-node を割り当てる
とすると,i-node の数(I-NODE)は

    UB = 8 * I-NODE

となります.総ブロック数との関係を求めると

    TOTAL = 2 + BB + 4*I-NODE + UB
          = 3 + TOTAL/512 + 12*I-NODE

となります.I-NODE に関してまとめると,

   I-NODE = (TOTAL - TOTAL/512 - 3)/12

で計算されることになります(/ は整数演算です).上記の例で計算すると

   I-NODE = 50301

となり,コマンドとしては

   ./mkfs 604800 512 50301

となります.1.44 MB の FD で同様の計算を行なった結果は

  ./mkfs 2880 512 239

となります.

i-node の UB に対する割合ですが,IRIX, Sun Soralis, SunOS 4.1.x で
は 2KB (4 ブロック)に 1 つの割合で計算しているようです.sfs でこれ
をやってしまうとディスクの約 50% が i-node で消費されてしまうこと
になります (^^;).

そもそも i-node のサイズが大きすぎる気がしますので,Kernel ML でチュー
ンナップの提案を出してみます.

>             2.mkfs が成功したかを確認します。 
>                 statfs を実行してファイルシステムの中を覗いてみます。

今ちょうど statfs をいじっている最中なんですが,0.0.40 の statfs 
にはかなり bug がいました (^^;).一応 bug 修正後の挙動を示しておき
ますが,どうしましょうね (^^;;).

>                         ./statfs /dev/hda4 dir /
> 
>                 実行すると 
> 
>                 2   20666        0000    0000    .                     60byte 
>                 2   20666        0000    0000    ..                    60byte 
>                 2   20666        0000    0000    lost+found       40byte 
> 
>                 lost+foundがあれば成功です。

 3   20666        0000    0000    .                60 byte 
 3   20666        0000    0000    ..               60 byte 
 2   20666        0000    0000    lost+found       40 byte 

>   10./systemディレクトリの制作 
...
>         statfs /dev/hda4 mkdir /system 
...
>         statfs /dev/hda4 dir / 
> 
>         6   20666        0000    0000    .                     80byte 
>         6   20666        0000    0000    ..                    80byte 
>         2   20666        0000    0000    lost+found       40byte 
>         3   20666        0000    0000    system            60byte 

 4   20666        0000    0000    .                80 byte 
 4   20666        0000    0000    ..               80 byte 
 2   20666        0000    0000    lost+found       40 byte 
 2   20666        0000    0000    system           40 byte 

>   11.B-Free OS をファイルシステムに入れます。 
...
>                 cd kernel/BTRON/make 
>                 statfs /dev/hda4 write /system/btron386 btron
...
>                 statfs /dev/hda4 dir /system を実行します。 
> 
>                3   20666        0000    0000    .                     80byte 
>                6   20666        0000    0000    ..                    80byte 
>                1   0666          0000    0000    lbtron386        323584byte 

 3   20666        0000    0000    .                60 byte 
 4   20666        0000    0000    ..               80 byte 
 1   00666        0000    0000    btron386         323584 byte 

---
(putprop '浪花 智英
    'affiliation  '(山口大学大学院 理工学研究科 環境共生工学専攻)
    'e-mail	  '(naniwa@mechgw.mech.yamaguchi-u.ac.jp))