[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bfree-prj 117] Re: HD からboot できない→HD からboot する方法
- To: bfree-prj@iijnet.or.jp
- Subject: [bfree-prj 117] Re: HD からboot できない→HD からboot する方法
- From: Mitsutaka Takada <mitsu.takada@nifty.ne.jp>
- Date: Sat, 10 Apr 1999 10:35:53 +0900
- In-Reply-To: <199904090121.KAA22314@fs2lana.fecsi.furuno.co.jp>
- References: <370BED1ABE.A439JNETWORK@smtp.network.or.jp> <199904090121.KAA22314@fs2lana.fecsi.furuno.co.jp>
- Reply-To: bfree-prj@iijnet.or.jp
- Sender: owner-bfree-prj@iijnet.or.jp
高田です。
まさあきさん、きしださん、おはようございます。
ホームページにある「HD から boot する方法」ですが、
まさあきさんがアップデートしてくれました。
−−−−−−−−−−−−−−−−−−−−−−−−
注意:あらかじめLinuxに慣れてないUSERへ.
本文に出てくるシェルスプリクト(writeboot、mkfs、statfs)を実行するときの注意
違うディレクトリにシェルスプリクトがある場合(POSIX/mkfs/statfs /dev/mkdir /system)
今いるディレクトリにシェルスプリクトがある場合(./statfs /dev/mkdir /system)
/sbinにシェルスプリクトを置いて実行する場合(statfs /dev/mkdir /system)
(/sbinに置くことによってすべてのディレクトリから実行できる)
mkfs(BTRON用)はすでに/sbinに同じ名前のmkfs(Linux用)があるため
間違いやすいので注意が必要です。
1.B-Free OS をインストールするパーティションを確保します。
fdisk コマンドを使って、B-Free OS をインストールするパーティション を確保します。確保するパーティションは、1MB 程度の小
さなパーティショ ン(boot プログラムが入ります)と 20MB のパーティション(B-Free のファ イルシステムとなります)です。
B-Free のファイルシステムの方は、もっ と小さくても大丈夫ですが、少なくとも 1MB 以上は確保するようにしてく ださい。
2.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 はバージョンです。値の大きいものが新しいバージョンです)
3.落としたファイル (tar + gzip ファイル) を適当なディレクトリで展開します。
tar xvzf<落としてきたファイル>
4.Make します。 boot ディレクトリに入り、make を実行します。
cd boot make hd_image
boot ディレクトリに bootimage_hd というファイルができます。
5.ブートプログラムを変更します。
1.boot/toolディレクトリに入り、makeを実行します。
2.writebootで4で作ったbootimage_hdにハードディスク情報を書き込みます。
writeboot -v -w >デバイス< >パーティション番号< >ブートイメージ<
という風になります(root ユーザで実行してください)。
-v と -w はオプションで、-v が verbose、-w がブートイメージに書き込む
ことを表しています。-w をつけないと、ブートイメージには書き込みません。
実際には、>デバイス< は /dev/hda、>パーティション番号< はブートイメー
ジを入れたいパーティション (1 から 4)、>ブートイメージ< は、make hd_image
で作成したブートイメージファイルです。
たとえば、
./writeboot -v -w /dev/hda 3 bootimage_hd
と実行します。
すると、以下のようなメッセージが出力されます。
device: /dev/hda, partition: 3, bootimage: bootimage_hd
/dev/hda3
geometry:
heads: 128
cylinders: 621
sectors: 63
start:
heads: 0
cylinders: 610
sectors: 1
old geometry information:
cylinder 4
head 5
sector 6
old start CHS information:
cylinder 1
head 2
sector 3
geometry と start の各項目は、HD によって違っています。
make hd_image で作成した直後のブートイメージを指定すると、old geometry
information と old start DHS information は、この通りの値が出力されま
す。もし、違った値が出たら bootimage_hd がおかしいことが考えられます。
なお、writeboot を 1 回実行すると、この値は違った値が出力されます。
# 要するに、ブートイメージに書き込まれている値が出力されるわけです。
6.boot プログラム を HD に書き込みます。
5. で作成した boot プログラムを、あらかじめ確保しておいた boot 用の パーティションに書き込みます。
dd if=bootimage_hd of=/dev/(または cp bootimage_hd /dev/)
7.kernel を make します。
kernel/BTRON/make ディレクトリに移動し、make コマンドを実行します。
cd kernel/BTRON/make make
kernel/BTRON/make ディレクトリの下に btron というファイルができます。
8.ファイルシステム作成用のツールを make。
kernel/POSIX/mkfs にあるファイルシステム作成用のツールを make します。
cd kernel/POSIX/mkfs make
kernel/POSIX/mkfs ディレクトリに mkfs と statfs というファイルがで きます。
9.ファイルシステムの作成。
あらかじめ準備しておいた B-Free OS のファイルシステム用のパーティショ ンに B-Free OS のファイルシステムを構築しま
す。
1.mkfs を実行します。
kernel/POSIX/mkfs を実行して、パーティションをフォーマットします。
./mkfs /dev/HDのパーティション ブロック数 ブロックサイズ I-node数
ここでI-node数とはそのパーティションのファイルの最大数を表わします。ブロック数の計算方法はパーティションのサイ
ズ÷512
で計算してください。fdiskを起動してpコマンドで情報が見れます。
例 ./mkfs /def/hda4 604800 512 1000
ブロック数 パーティションのブロック数です 1 ブロックは 512 バイトとして計算してください。 ブロックサイ
ズ HD をアクセスする時の単位をバイト数にて指定します。 512 を指定してください。 I-node 数 ファイル
の管理情報を入れる I-node の数を指定します。 適当な数を指定してください。
mkfs を実行すると、/lost+found というディレクトリだけがあるファイ ルシステムができます。
2.mkfs が成功したかを確認します。
statfs を実行してファイルシステムの中を覗いてみます。
./statfs /dev/dir /
ファイルシステムのトップディレクトリの中身が表示されます。
10.B-Free OS をファイルシステムに入れます。
7. で作成した B-Free OS を新しく作ったファイルシステムの中にコピー します。/system/btron386 という名前でコピーする必
要があります。
cd kernel/BTRON/make
statfs /dev/mkdir /system
statfs /dev/write /system/btron386 btron
これで、/system ディレクトリの下に btron386 というファイルが作られ ます。
statfs コマンド statfs /dev/dir /system を実行して、btron386 というファイルがあれば成功です。
11.boot パーティションから起動するための準備を行います。
lilo プログラムなどを使って、BTRON の boot パーティションから boot するように設定を変更します。
liloの設定はLinuxのパッケージやバージョンによって方法が異なるため直接的な方法を紹介します。
まずviエディタでetc/lilo.confを編集します。
vi /etc/lilo.conf
以下に意味を示します
boot=/dev/hda-------liloがインストールされている場所を表します。FDだと/dev/fd0 パーティション1だと/dev/hda1
delay=100-----------liloが起動するまでの待ち時間です。ここでは10秒を意味します。delay=timeout
image=/boot/vmlinux-Linuxカーネルの位置を指定します。
label=linux----------起動時に入力するとOSが起動します。入力時にTabを押すとラベルの一覧がでます。
root=/dev/hda1------パーティションの位置を示しますl。
other=/dev/hda3-----Linux以外のOSをliloに登録する場合に使います。
label=btron
table=/dev/hda------ohterのOSのパーティションテーブルの位置を指定します
BTRONの代わりにWIN95(98)を入れるとWIN95(98)が起動しなくなります。WIN95(98)とLinuxのパーティション
の位置を入れ替えるかotherの後にloader=/boot/any_d.bを入れることによって回避できます。
vi初心者の方へ 終了の方法はEscを押した後;wq(保存して終了)、Escの後に:q!(保存せずに終了)
さらに今編集したliloをアクティブにするため
lilo
とコマンドで打ちます。
12.boot します。
マシンを再起動します。
BTRON のブートパーティションを指定して、BTRON のブートプログラムを 実行させます。
ブートプログラムが起動すると、boot> というプロンプトを表示します。 ここで、B-Free OS が入っているパーティションを指定し
て OS を立ち上 げます。
boot hd 0 パーティション番号 パーティション番号には、B-Free OS が入っているパーティションの番号 を指定
します(パーティション番号は 1 からはじまることに注意してくだ さい)。
13.BTRON OS が起動すれば成功です!
−−−−−−−−−−−−−−−−−−−−−−−
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
B-Free Project
http://www.tron-net.gr.jp/B-Free/index.html
http://www.sccs.chukyo-u.ac.jp/B-Free/index.html
高田光隆 (Mitsutaka Takada)
mitsu.takada@nifty.ne.jp
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/