雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
25: 2007-02-18 (日) 22:24:50 ソース バックアップ No.25 を復元して編集 現: 2024-01-06 (土) 22:39:09 ソース 編集
Line 1: Line 1:
-ちょっと脱線の企画・・・(^^; +COLOR(red){''※'' ここは移植の検証やレポートを書いている場所です。LinuxやFreeBSD上ではりぼてOSのコンパイルを行いたい方は、[[こちらのページ:http://thebbl.hideyosi.com/modules/bwiki/index.php?ltmake]]に移動してください。現時点で行える手順やパッチをまとめてあります。
--linuxおよびFreeBSDで「30日でできる!OS自作入門」を進めていけないかと思い、いろいろやってみました。 +
--ウチでの実験は、 +
---FreeBSD 5.5 +
---VineLinux4.0 +
--にて行いました。いずれもほぼ最新のソフトにアップグレードしてあります。 +----
- +
-COLOR(red){'07/2/18現在、まだ完璧ではありません。いくつか問題があります。特に、29日目以降は問題がでて本のとおりにいきません} +
- +
- +
-*環境を整える [#p981dbdc] +
--オイラがやっている方法だと、たぶんrootでなくてもOKのはずです。 +
--まずはとにかく、はりぼてCDの内容をコピーしておきます。全部じゃなくていいですよ。 +
- $ mount /dev/cdrom /mnt                  ←まずはCDを読めるようにして +
- $ mkdir ~/haribote                        ←ホームにでも適当に専用ディレクトリを作っておきます。 +
- $ cp -R /mnt/projects/* ~/haribote/      ←projects内をまるごとコピーしておきます。 +
- $ cp -R /mnt/tolset/z_tools ~/haribote/  ←z_toolsそのものをまるごとコピー。 +
- $ rm -f ~/haribote/z_tools/*.exe          ←間違えるとイヤなのでWin用のコマンドを削除 +
--以上でとりあえずはOKです。 +
- +
- +
- +
--tolsetを準備します。 +
--まず、同じようにCDからtolsetのソースをコピーしておきます。 +
- $ cp -R /mnt/omake/tolsrc ~/              ←場所はどこでもいいですがharibote内だとこんがらがるので・・・ +
--次に[[このパッチ:http://thebbl.hideyosi.com/age/tolsetbsd.patch]]をダウンロードしてtolsrcディレクトリの上に置きます。 +
--COLOR +
-(red){''※''パッチは07/2/18現在のものです+
- $ cd ~/                                                      ←tolsrcの上で。 +
- $ wget http://http://thebbl.hideyosi.com/age/tolsetbsd.patch +
--tolsrcに降り、パッチを当てます。 +
- $ cd ~/tolsrc +
- $ patch -p1 < ../tolsetbsd.patch +
--パッチが当たったらMakefileが出来ているはずです。あとはそこでmakeあるいはgmakeを行ってください。コマンドがコンパイルされ、出来上がるはずです。 +
- $ make +
- $ make install +
--make install を行うと、okというディレクトリが出来、その中に出来上がったコマンドが全部コピーされます。全部あるかどうかチェックしてください。 +
- $ ls ~/tolsrc/ok +
-   bim2bin        edimg          gocc1plus      makefont        obj2bim +
-   bim2hrb        gas2nask        gocpp0          nask            sjisconv +
-   bin2obj        gocc1          golib00        naskcnv0 +
- +
--全部出来上がっていたらOKです。これらをz_toolsにコピーしてください。 +
- $ cp ~/tolsrc/ok/* ~/haribote/z_tools/ +
- +
--以上で準備はOKです。 +
- +
--COLOR(red){・・・あ” 当然ですが、qemuは別にインストールしておいてくださいね。・・・そうか!これはrootじゃないと出来ないんだっけ?(^^} +
- +
-*動かしてみよう [#na7cd182] +
--COLOR(red){''※'' なお、以降、本でいうところのinstall(FDに書き込む)はすべて未検証となります。} +
- +
-**1日目 [#y81f9302] +
--helloos0 +
---これはまあ、なんもせんでも動くはず。qemuの実験を兼ねてやってみます。 +
---ディレクトリに降りて、qemuを実行。これは、本で言うところの'' run.bat''相当です。 +
- $ cd ~/haribote/01_day/helloos0 +
- $ qemu -fda helloos.img +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
 +ちょっと脱線の企画・・・(^^;
---- ----
*バージョン [#n4af26bb] *バージョン [#n4af26bb]
Line 193: Line 128:
 TOOLPATH = ../z_tools/  TOOLPATH = ../z_tools/
 INCPATH  = ../z_tools/haribote/  INCPATH  = ../z_tools/haribote/
 + 
 MAKE    = gmake  MAKE    = gmake
 NASK    = $(TOOLPATH)nask  NASK    = $(TOOLPATH)nask
Line 205: Line 140:
 COPY    = cp  COPY    = cp
 DEL      = rm -f  DEL      = rm -f
 + 
 # デフォルト動作  # デフォルト動作
 + 
 default :  default :
         $(MAKE) img          $(MAKE) img
 + 
 # ファイル生成規則  # ファイル生成規則
 + 
 ipl10.bin : ipl10.nas Makefile  ipl10.bin : ipl10.nas Makefile
         $(NASK) ipl10.nas ipl10.bin ipl10.lst          $(NASK) ipl10.nas ipl10.bin ipl10.lst
 + 
 asmhead.bin : asmhead.nas Makefile  asmhead.bin : asmhead.nas Makefile
         $(NASK) asmhead.nas asmhead.bin asmhead.lst          $(NASK) asmhead.nas asmhead.bin asmhead.lst
 + 
 bootpack.gas : bootpack.c Makefile  bootpack.gas : bootpack.c Makefile
         $(CC1) -o bootpack.gas bootpack.c          $(CC1) -o bootpack.gas bootpack.c
 + 
 bootpack.nas : bootpack.gas Makefile  bootpack.nas : bootpack.gas Makefile
         $(GAS2NASK) bootpack.gas bootpack.nas          $(GAS2NASK) bootpack.gas bootpack.nas
 + 
 bootpack.obj : bootpack.nas Makefile  bootpack.obj : bootpack.nas Makefile
         $(NASK) bootpack.nas bootpack.obj bootpack.lst          $(NASK) bootpack.nas bootpack.obj bootpack.lst
 + 
 naskfunc.obj : naskfunc.nas Makefile  naskfunc.obj : naskfunc.nas Makefile
         $(NASK) naskfunc.nas naskfunc.obj naskfunc.lst          $(NASK) naskfunc.nas naskfunc.obj naskfunc.lst
 + 
 bootpack.bim : bootpack.obj naskfunc.obj Makefile  bootpack.bim : bootpack.obj naskfunc.obj Makefile
         $(OBJ2BIM) @$(RULEFILE) out:bootpack.bim stack:3136k map:bootpack.map \          $(OBJ2BIM) @$(RULEFILE) out:bootpack.bim stack:3136k map:bootpack.map \
                 bootpack.obj naskfunc.obj                  bootpack.obj naskfunc.obj
 # 3MB+64KB=3136KB  # 3MB+64KB=3136KB
 + 
 bootpack.hrb : bootpack.bim Makefile  bootpack.hrb : bootpack.bim Makefile
         $(BIM2HRB) bootpack.bim bootpack.hrb 0          $(BIM2HRB) bootpack.bim bootpack.hrb 0
 + 
 haribote.sys : asmhead.bin bootpack.hrb Makefile  haribote.sys : asmhead.bin bootpack.hrb Makefile
         cat asmhead.bin bootpack.hrb >haribote.sys          cat asmhead.bin bootpack.hrb >haribote.sys
 + 
 haribote.img : ipl10.bin haribote.sys Makefile  haribote.img : ipl10.bin haribote.sys Makefile
         $(EDIMG)  imgin:$(TOOLPATH)fdimg0at.tek \          $(EDIMG)  imgin:$(TOOLPATH)fdimg0at.tek \
Line 247: Line 182:
                 copy from:haribote.sys to:@: \                  copy from:haribote.sys to:@: \
                 imgout:haribote.img                  imgout:haribote.img
 + 
 # コマンド  # コマンド
 + 
 img :  img :
         $(MAKE) haribote.img          $(MAKE) haribote.img
 + 
 run :  run :
         $(MAKE) img          $(MAKE) img
         $(COPY) haribote.img ..\z_tools\qemu\fdimage0.bin          $(COPY) haribote.img ..\z_tools\qemu\fdimage0.bin
         $(MAKE) -C ../z_tools/qemu          $(MAKE) -C ../z_tools/qemu
 + 
 install :  install :
         $(MAKE) img          $(MAKE) img
         $(IMGTOL) if=/dev/fd0 of=haribote.img bs=512 count=2880          $(IMGTOL) if=/dev/fd0 of=haribote.img bs=512 count=2880
 + 
 clean :  clean :
         -$(DEL) *.bin          -$(DEL) *.bin
Line 272: Line 207:
         -$(DEL) bootpack.hrb          -$(DEL) bootpack.hrb
         -$(DEL) haribote.sys          -$(DEL) haribote.sys
 + 
 src_only :  src_only :
         $(MAKE) clean          $(MAKE) clean
Line 368: Line 303:
 gmake[1]: *** [tek.nas] Error 1  gmake[1]: *** [tek.nas] Error 1
- 
- 
- 
-//*30日目 [#n28c4f03] 
-//-いよいよラスト〜! はたして!!! 
-//-P678。30_day/harib27f。ラストーー! 
-//--エラーーーーーー!!!! 
-//--ちょっとどうしてもアカンエラーが出たのでMakefile細工して無理やり通したけど、コンソールで文字がまったく表示されないって状態になっちゃった・・・・ 
-//--なんじゃろう??。これ? gas2naskの問題?それとも?? 
-// ../../../z_tools/gas2nask -a tek.gas tek.nas 
-// skip:shrdl      $16, %edx, %eax 
-// gmake[1]: *** [tek.nas] Error 1 
Line 423: Line 346:
-ふーむ・・・gccのバージョンの問題だろうか???Linuxのほうを3.4にして実験してみるかな?? -ふーむ・・・gccのバージョンの問題だろうか???Linuxのほうを3.4にして実験してみるかな??
-いやぁ!待った待った!! Linux版でも、エラーこそ出ないでコンパイルできたけど、やっぱりコンソールがなにも表示されない状態になっている!!!やっぱりこれはgas2naskで問題が起こっているのか!? -いやぁ!待った待った!! Linux版でも、エラーこそ出ないでコンパイルできたけど、やっぱりコンソールがなにも表示されない状態になっている!!!やっぱりこれはgas2naskで問題が起こっているのか!?
 +
 +-むむむーー! gas2naskの問題、解決かな??? (^^
 +-コンパイルもエラーがなくなった!。これまでにあった、コンソールの文字が表示されない問題もクリアした。これでいけたーーーー!
 +-・・・っとどっこい! (世の中そんなに甘くない!)
 +-5lzmaがないってエラーが出てる・・・。このエラーを履きながらも、コンパイルは無事に進んでくれるんだけど、今度はすべての.hrbが「.hrb file format error.」と言われ、実行できない。
 +-5lzmaを移植せにゃならんか!!。たしかこれ、すんげーエラー吐いて手が付けられなかったんじゃなかったっけ・・・(汗
 +
 +
 +-ぐはぁ! キターーー!
 +-なんとあっきぃさんが見事5lzmaの移植を完了!
 +-あわせてあっきぃさんによるbim2binの修正がうまくいき、なんとこの問題は解決!!!!
 +-うほ! 29_day/harib26b から止まっていた移植がすすむ!動作確認!!!
 +-どすこーーーい!! 29日目、完了!!!
 +
 +
 +
 +
 +
 +
 +
 +*30日目 [#n28c4f03]
 +-いよいよラスト〜! はたして!!!
 +-P678。30_day/harib27f。ラストーー!
 +-キター!問題ねーー!
 +----
 +~
 +~
 +
 +CENTER:SIZE(25){--- はりぼてOS。移植、全て完了! ---}
 +~
 +~
 +~