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

[b-free: 1627] Re: boot しない(Re: minutes No.44)




隆一です。


ちょっと、後始末的なメイルです。


From: Naitoh Ryuichi <night@bfree.rim.or.jp>
Subject: [b-free: 1614] Re: boot しない(Re: minutes	 No.44)
Date: Tue, 02 Jun 1998 00:03:02 +0900

> 
> 隆一です。
> 
> From: iijima@cocktail.cas.uec.ac.jp (Kiyotaka Iijima)
> Subject: [b-free: 1613] Re: boot しない(Re: minutes	 No.44)
> Date: Mon, 1 Jun 1998 23:16:53 +0900 (JST)
> Message-ID: <199806011416.XAA03761@ginjyou.cocktail.cas.uec.ac.jp>
> 
> > 
> >  飯島です。
> > 
> > <19980601192822R.night@soft.hitachi.co.jp>の記事において
> > naitoh_r@soft.hitachi.co.jpさんは書きました。
> > 
> > >> お手数ですが、動いた boot のバイナリをメイルで送りますので、試していた
> > >> だけないでしょうか? > 飯島さん
> > 
> >  バッチシ動きました!!!
> > 開発環境がいけなかったんですね。
> 
> やった!
> 原因がつきとめられましたね。

結局、問題は開発環境ではありませんでした。
問題は、Makefile でカレントディレクトリにあるコマンドを実行しており、
かつ、パスを指定していなかったために起こりました。


以下は、その原因の内容です。


boot/2nd/Makefile の以下の文が今回の問題の原因となった部分です。


---------------------------------------------------------------------------
########################################################################
#
#	2ndboot ...... 最終的に作られる Second BOOT イメージ
#
2ndboot: $(TOOLS) start16 mode32
	build_boot2_elf start16 mode32 > 2ndboot

#2ndboot: $(TOOLS) start16 mode32
#	build_boot2 start16 mode32 > 2ndboot

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

この部分の、

	build_boot2_elf start16 mode32 > 2ndboot 

となっている行を

	./build_boot2_elf start16 mode32 > 2ndboot

に変更し、make clena; make を実行して再度 boot を作成すると直りました。

なんで、こうなるのかというと:

・最初の Make で build_boot2_elf がないというエラーで失敗しますが、
  その時に リダイレクトによって 2ndboot というファイルはできています
  (サイズが 0 のファイル)。

・そのため、2 回目の Make で 2ndboot の作成に成功してしまいます。
  ただし、成功したといっても中身は空のままです。

・bootimage の作成時に 2nd boot が空のまま入れてしまうので、2ndboot の
  領域には何も入らないということになります。
  
・1stboot 起動後、読み込み自体は成功し(FD のランプが一瞬つくのはこのた
  め) 2nd boot へ処理を移します。しかし、2nd boot には何もないため、
  CPU はゴミを実行してしまうことになります。


環境変数 PATH は、ユーザ作成直後の設定では、'.' は入っていないので、
こういうことになったと思います。

boot 直下の Makefile でも同様のコマンドがないというエラーになります。
こちらの方は、空のファイルを作ることなく常にエラーになります。
そのため、問題を見つけやすいのですが、2nd boot の方は、2 回目で正常終
了してしまうので、気づきにくくなってしまったと思います。


すでに、この問題については最新版のソースで修正してあります(まだ、ソー
スを tar + gzip でまとめて ftp サイトには置いていません。CVS では取っ
てこれます)。


p----------------------------------------------------------------------q
| FROM R.Night                                                         |
| E-mail:                                                              |
|         rnaitoh@st.rim.or.jp                                         |
| Key fingerprint = 89 EB 77 95 40 C0 3C CC  37 A1 A7 FA 1C 66 FF D0   |
b----------------------------------------------------------------------d