資料集
ここはhideyosiの学習帳です。いろいろな資料を集めたり整理したりしています。オイラ用のノートなので間違っていたり未完成だったりしますので信用度は相当低いことをあらかじめご了承くださいませ。
  • ソース を表示
  • ltmake は削除されています。
8: 2007-02-22 (木) 21:38:31 ソース バックアップ No.8 を復元して編集 現: 1970-01-01 (木) 18:00:00 ソース 編集
Line 1: Line 1:
--linuxおよびFreeBSDで「30日でできる!OS自作入門」を進めていけないかと思い、いろいろやってみました。 
--ウチでの実験は、 
---FreeBSD 5.5 
---VineLinux4.0 
--にて行いました。いずれもほぼ最新のソフトにアップグレードしてあります。 
---また、ほぼ同じ状態でMacOS Xでも実行が確認されたようです。 
--また黒猫本のほうは以下を使用しました。 
---30日でできる!OS自作入門 第7刷 
- 
- 
-//COLOR(red){'07/2/18現在、まだ完璧ではありません。いくつか問題があります。特に、29日目以降は問題がでて本のとおりにいきません} 
-COLOR(red){'07/2/20現在、とりあえず全部の日付のものがmake、make runできるようになりました。ただ、すこし問題があります。一番最後をご覧ください。} 
- 
- 
- 
-*環境を整える [#p981dbdc] 
--オイラがやっている方法だと、たぶんrootでなくてもOKのはずです。 
--まずは適当な専用のディレクトリを作っておいてください。 
- $ cd ~ 
- $ mkdir haribote 
- 
--続いて、はりぼてCDの内容をコピーしておきます。全部じゃなくていいですよ。 
- $ mount /dev/cdrom /mnt                  ←まずはCDを読めるようにして 
-作っておきます。 
- $ cp -R /mnt/projects/* ~/haribote/      ←projects内をまるごとコピーしておきます。 
- $ cp -R /mnt/tolset/z_tools ~/haribote/  ←z_toolsそのものをまるごとコピー。 
- $ rm -f ~/haribote/z_tools/*.exe          ←間違えるとイヤなのでWin用のコマンドを削除 
--最後に、haribote.rulファイルを変更してください。 
- $ vi ~/haribote/z_tools/haribote/haribote.rul  ←お好きなエディタで 
- 
-                       : 
-         /* 例:  c:/osask/gg00libc.lib;  */ 
-       ../z_tools/haribote/harilibc.lib; 
-       ../z_tools/haribote/golibc.lib; 
- 
- label: 
-         /* 必ずリンクしなければいけないラベルを指定 */ 
-                       : 
- 
-                     ↓↓↓ 
- 
-                       : 
-         /* 例:  c:/osask/gg00libc.lib;  */ 
-       ../../z_tools/haribote/harilibc.lib; 
-       ../../z_tools/haribote/golibc.lib; 
- 
- label: 
-         /* 必ずリンクしなければいけないラベルを指定 */ 
-                       : 
- 
- 
--続いてtolsetの用意です。 
--[[こちら:http://thebbl.hideyosi.com/modules/mydownloads/viewcat.php?cid=1]]より、hideyosi版tolsetをダウンロードし、専用ディレクトリ内においてください。 
- $ cd ~/haribote 
- $ ls 
-   hidetol1.tar.gz    z_tools/    22_day/        ←  こういう状態にしておきます。 
-   01_day/            12_day/    23_day/ 
-   02_day/            13_day      24_day/ 
-                       : 
-                       : 
- 
--解凍し、コンパイルします。 
- $ tar xzvf hidetol1.tar.gz 
-           : 
-           : 
- $ ls 
-   hidetol1.tar.gz    z_tools/    hidetol1/ 
-   01_day/            12_day/    23_day/ 
-   02_day/            13_day      24_day/ 
-                       : 
-                       : 
- 
- 
- $ cd hidetol1/ 
- $ ls 
-   Makefile    bim2hrb      go_0023s    obj2bi4d    sartol0j 
-   aksa1a      bin2obj0    hrblib0a    ok          t5lzma 
-   aska        doscmd0a    imgtol0d    osalink1    tk5lgpl1 
-   bim2bi4w    edimg0i      makefont    readme.txt 
- 
- $ make 
- 
--エラーなくコンパイルできたら、できあがったコマンド群をまとめます。 
- $ make install 
- $ ls ok/ 
-   bim2bin      gocc1plus    makefont    sjisconv 
-   bim2hrb      gocpp0      nask        t5lzma 
-   bin2obj      gas2nask    golib00      naskcnv0 
-   edimg        gocc1        haribote    obj2bim 
- 
--これでtolsetの準備は完了です。最後に出来上がったtolsetをz_toolsにコピーして起きます。 
- 
- $ cp ok/* ~/haribote/z_tools/ 
- 
--以上で準備はOKです。 
- 
--COLOR(red){・・・あ” 当然ですが、qemuは別にインストールしておいてくださいね。・・・そうか!これはrootじゃないと出来ないんだっけ?(^^} 
- 
-*動かしてみよう [#na7cd182] 
--COLOR(red){''※'' なお、以降、本でいうところのinstall(FDに書き込む)はすべて未検証となります。} 
- 
--COLOR(red){''※'' わこうメモによると、dd if=helloos.img of=/dev/fd0 でFDにインストールし、実機で動作できるらしいです。} 
- 
- 
-**1日目 [#y81f9302] 
--これ以降はすべてこのパターンとなるはずです。(違いがある時だけ書きます。) 
- 
- $ 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日目の全てが動かせるはずです。COLOR(red){(ただし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 
- 
- 
--helloos2 
---helloos1と同じなので省略・・・ 
- 
- 
-**2日目 [#h7fad81a] 
--一日目と同じようにパッチを当てます。(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                                    ←作ったものを削除 
- 
- 
-**3日目 [#ub67a2ff] 
--パッチを当てます。 
- $ 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等実行できます。COLOR(red){(ただしmake installだけはダメ)} 
- 
- 
-**4日目 [#z757de49] 
--上記3日目と同じ手順です。03を04に読み替えてください。 
- 
- 
-                  : 
- 
-                  : 
- 
-                  : 
- 
-**27日目 [#r797a1ca] 
--上記3日目と同じ手順です。03_dayを27_dayに読み替えてください。 
- 
-**28日目 [#f190fe5e] 
--上記3日目と同じ手順です。03_dayを28_dayに読み替えてください。 
- 
--COLOR(red){harib25gからmakeのコマンドが変わっています。本の通りですがインストール関係(make installとmake fulll_install)は例によって使えません。おのおのmakeかmake fullで作成したイメージファイルをddで処理してください。} 
- 
-**29日目 [#f190fe5e] 
--上記3日目と同じ手順です。03_dayを29_dayに読み替えてください。 
- 
- 
-**30日目 [#f190fe5e] 
--上記3日目と同じ手順です。03_dayを30_dayに読み替えてください。 
- 
- 
- 
----- 
-*積み残しの問題 [#z9103cca] 
--なんでmake install関係がないんだ! 
---あえてそうしてあります。UNIX系はddで代用できますが、パーミッション等の問題が出ることがあるのでわざとそうしてあります。 


トップ   編集 差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 0, today: 0, yesterday: 0