雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
- linuxおよびFreeBSDで「30日でできる!OS自作入門」を進めていけないかと思い、いろいろやってみました。
- ウチでの実験は、
- FreeBSD 5.5
- VineLinux4.2
- にて行いました。いずれもほぼ最新のソフトにアップグレードしてあります。
- また、ほぼ同じ状態でMacOS Xでも実行が確認されたようです。
- FreeBSD 5.5で実行している画像。御参考に!
- また黒猫本のほうは以下を使用しました。
- 30日でできる!OS自作入門 第7刷
'07/2/20現在、とりあえず全部の日付のものがmake、make runできるようになりました。ただ、すこし問題があります。一番最後をご覧ください。
環境を整える
- オイラがやっている方法だと、たぶんrootでなくてもOKのはずです。
- まずは適当な専用のディレクトリを作っておいてください。
$ cd ~ $ mkdir haribote
- 続いて、はりぼてCDの内容をコピーしておきます。全部じゃなくていいですよ。
作っておきます。
$ mount /dev/cdrom /mnt ←まずはCDを読めるようにして
$ cp -R /mnt/projects/* ~/haribote/ ←projects内をまるごとコピーしておきます。
tolsetの用意
- [[こちら:http://thebbl.hideyosi.com/age/tolset/tolset2.tar.gz]から、hideyosi版tolsetを入手します。
- 解凍してメイクすればOKのはずです。
make install 後にコマンド郡がまとまったokディレクトリをhariboteディレクトリの直下にz_toolsという名前で配置します。
$ cp -a ok ../haribote/ ←例。各自環境にあわせて $ cd ../haribote $ ls z_tools/ 22_day/ ← こういう状態にしておきます。 01_day/ 12_day/ 23_day/ 02_day/ 13_day 24_day/ : :
- ・・・あ” 当然ですが、qemuは別にインストールしておいてくださいね。・・・そうか!これはrootじゃないと出来ないんだっけ?(^^
動かしてみよう
- ※ なお、以降、本でいうところのinstall(FDに書き込む)はすべて未検証となります。
- ※ わこうメモによると、dd if=helloos.img of=/dev/fd0 でFDにインストールし、実機で動作できるらしいです。
1日目
- これ以降はすべてこのパターンとなるはずです。(違いがある時だけ書きます。)
$ cd ~/haribote/01_day ←01_dayディレクトリに移動します。 $ ls ←内容確認 helloos0 helloos1 helloos2 $ wget http://thebbl.hideyosi.com/age/haribote/01day.patch ←パッチをゲット! $ ls ←内容確認(パッチがあるぞ!) 01day.patch helloos0 helloos1 helloos2 $ patch -p1 -f < 01day.patch ←パッチを適用!
- 以上です。
- これで、1日目の全てが動かせるはずです。(ただしmake installだけはダメ)
- helloos0
- ほぼ本と通りですが、コマンドがちょっとだけ違います。
- 実行コマンドは本ではrun.batになっているはずですが、run.shと読み替えてください。
$ cd ~/haribote/01_day/helloos0 $ ./run.sh
- helloos1
- 上と同じく、全てのコマンドを*.batから*.shに読み替えてください。
$ cd ~/haribote/01_day/helloos1 $ ./asm.sh $ ./run.sh
- 上と同じく、全てのコマンドを*.batから*.shに読み替えてください。
- helloos2
- helloos1と同じなので省略・・・
2日目
- 一日目と同じようにパッチを当てます。(01を02に読み替えてください。)
- helloos3
- helloos1と同じなので省略・・・
- helloos4
- P43。
- はやり同じく読み替えます。
$ cd ~/haribote/02_day/helloos4 $ ./asm.sh $ ./makeimg.sh $ ./run.sh
- helloos5
- ここからはMakefileが登場します。ほぼ本の通りにできるはずです。
$ cd ~/haribote/02_day/helloos5 ←目的のディレクトリに降りる $ make ←コンパイル $ make run ←qemuで実行 $ make clean ←作ったものを削除
- ここからはMakefileが登場します。ほぼ本の通りにできるはずです。
3日目
- パッチを当てます。
$ cd ~/haribote/03_day ←03_dayディレクトリに移動します。 $ ls ←内容確認 harib00a harib00d harib00g harib00j harib00b harib00e harib00h harib00c harib00f harib00i $ wget http://thebbl.hideyosi.com/age/haribote/03day.patch ←パッチをゲット! $ ls ←内容確認(パッチがあるぞ!) 03day.patch harib00c harib00f harib00i harib00a harib00d harib00g harib00j harib00b harib00e harib00h $ patch -p1 -f < 03day.patch ←パッチを適用!
- 以上です。
- これで、3日目の全てがmeke、make run等実行できます。(ただしmake installだけはダメ)
最終更新: 2024-01-06 (土) 22:39:10 (JST) (323d) by ゲスト