[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[b-free: 859] HD から boot する方法 (ver 1.0)
隆一です。
現在、BTRON OS は HD から boot することができます。ただ、インストール
プログラムがないため、HD から boot するにはいちいち HD に書き込むなど
のステップを踏む必要があります。この手順はなかなか複雑なので、試せなかっ
た人がほとんどだと思います。
そこで、HD に B-Free OS を入れて boot するための方法をまとめてみました。
まだまだ十分な説明にはなっていないと思うので、どんどん説明を追加していっ
ていただければ幸いです。
なお、まだブートプログラムにはバグがたくさんあると思うので、試すときに
は、いらないマシン、いらない HD を使って試すようにしてください。
(私は、メインに使っているのとは別のマシンを使っています)
失敗して、必要なデータが消えた or HD が壊れたからといって責任は取れません。
念のため。
HD から boot する方法
=====================
version 1.0
1997/11/18
内藤 隆一
0. B-Free OS をインストールするパーティションを確保します。
fdisk コマンドを使って、B-Free OS をインストールするパーティション
を確保します。確保するパーティションは、1MB 程度の小さなパーティショ
ン(boot プログラムが入ります)と 20MB のパーティション(B-Free のファ
イルシステムとなります)です。B-Free のファイルシステムの方は、もっ
と小さくても大丈夫ですが、少なくとも 1MB 以上は確保するようにしてく
ださい。
1. B-Free OS のソースを落とします。
URL: ftp://www.sccs.chukyo-u.ac.jp/pub4/B-Free/pub/IBM-PC/
の下に、b-free-pc.xx.yy.zz.tar.gz という名前で入っています。
(xx.yy.zz はバージョンです。値の大きいものが新しいバージョンです)
2. 落としたファイル (tar + gzip ファイル) を適当なディレクトリで展開し
ます。
tar xvzf <落としてきたファイル>
3. ブートプログラムを変更します。
3.1 1st boot のファイル 1stboot_hd.s に記述してあるパーティションの開始
情報を変更します。
! HD の場合 (パーティション 0)
s_cylinder: .byte 0
s_head: .byte 1
s_sector: .byte 1
ここでは、パーティションとして 0 (最初のパーティション)を指定して
います。
* パーティション情報については、BIOS のパラメータを参考にしてください。
3.2 1st boot のファイル 1stboot_hd.s に記述してある HD のジオメトリ情
報を変更します。
! HD の GEOMETORY 情報
! 例:Cylinder 255, Head 10, Sector 55
n_cylinder: .byte 255
n_head: .byte 16
n_sector: .byte 64 ! セクタだけは、最大数 + 1 にする。
BIOS はセクタを 1 から数えるようになっているので、最大数 + 1 を指
定してください。
* HD のジオメトリ情報については、BIOS のパラメータを参考にしてください。
4. Make します。
boot ディレクトリに入り、make を実行します。
cd boot
make hd_image
boot ディレクトリに bootimage_hd というファイルができます。
5. boot プログラム を HD に書き込みます。
4. で作成した boot プログラムを、あらかじめ確保しておいた boot 用の
パーティションに書き込みます。
dd if=bootimage_hd of=/dev/<HD のパーティション>
6. kernel を make します。
kernel/BTRON/make ディレクトリに移動し、make コマンドを実行します。
cd kernel/BTRON/make
make
kernel/BTRON/make ディレクトリの下に btron というファイルができます。
7. ファイルシステム作成用のツールを make。
kernel/POSIX/mkfs にあるファイルシステム作成用のツールを make しま
す。
cd kernel/POSIX/mkfs
make
kernel/POSIX/mkfs ディレクトリに mkfs と statfs というファイルがで
きます。
8. ファイルシステムの作成。
あらかじめ準備しておいた B-Free OS のファイルシステム用のパーティショ
ンに B-Free OS のファイルシステムを構築します。
8.1 mkfs を実行します。
kernel/POSIX/mkfs を実行して、パーティションをフォーマットします。
mkfs /dev/<HD のパーティション> <ブロック数> <ブロックサイズ> <I-node 数>
<ブロック数> パーティションのブロック数です
1 ブロックは 512 バイトとして計算してください。
<ブロックサイズ> HD をアクセスする時の単位をバイト数にて指定します。
512 を指定してください。
<I-node 数> ファイルの管理情報を入れる I-node の数を指定します。
適当な数を指定してください。
mkfs を実行すると、/lost+found というディレクトリだけがあるファイ
ルシステムができます。
8.2 mkfs が成功したかを確認します。
statfs を実行してファイルシステムの中を覗いてみます。
statfs /dev/<HD のパーティション> dir /
ファイルシステムのトップディレクトリの中身が表示されます。
8.3 B-Free OS をファイルシステムに入れます。
6. で作成した B-Free OS を新しく作ったファイルシステムの中にコピー
します。/system/btron386 という名前でコピーする必要があります。
cd kernel/BTRON/make
statfs /dev/<HD のパーティション> mkdir /system
statfs /dev/<HD のパーティション> write /system/btron386 btron
これで、/system ディレクトリの下に btron386 というファイルが作られ
ます。
statfs コマンド
statfs /dev/<HD のパーティション> dir /system
を実行して、btron386 というファイルがあれば成功です。
9. boot パーティションから起動するための準備を行います。
lilo プログラムなどを使って、BTRON の boot パーティションから boot
するように設定を変更します。
10. boot します。
マシンを再起動します。
BTRON のブートパーティションを指定して、BTRON のブートプログラムを
実行させます。
ブートプログラムが起動すると、boot> というプロンプトを表示します。
ここで、B-Free OS が入っているパーティションを指定して OS を立ち上
げます。
boot hd 0 <パーティション番号>
パーティション番号には、B-Free OS が入っているパーティションの番号
を指定します(パーティション番号は 1 からはじまることに注意してくだ
さい)。
11. BTRON OS が起動すれば成功です!
p----------------------------------------------------------------------q
| FROM R.Night |
| E-mail: |
| rnaitoh@st.rim.or.jp |
b----------------------------------------------------------------------d