[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