雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
19: 2007-02-14 (水) 17:52:38 ソース バックアップ No.19 を復元して編集 現: 2024-01-06 (土) 22:39:09 ソース 編集
Line 1: Line 1:
-ちょっと脱線の企画・・・(^^;+COLOR(red){''※'' ここは移植の検証やレポートを書いている場所です。LinuxやFreeBSD上ではりぼてOSのコンパイルを行いたい方は、[[こちらのページ:http://thebbl.hideyosi.com/modules/bwiki/index.php?ltmake]]に移動してください。現時点で行える手順やパッチをまとめてあります。} 
 +
 +
 +
 +
 +----
 +
 +
 +ちょっと脱線の企画・・・(^^;
 +----
*バージョン [#n4af26bb] *バージョン [#n4af26bb]
-せっかくなので、安定版の最新版5.5をまっさらにで導入してみよー! -せっかくなので、安定版の最新版5.5をまっさらにで導入してみよー!
Line 8: Line 17:
ちょっと思ったこと。FreeBSDはかつて、Linuxに比べてドキュメントが豊富でまとまっているというのがウリだったと思う。しかし、ひさしぶりにインストールした5.5にはそれはもはや当てはまらないと思う。ports等の使い方や規格が沢山あり、かつ、それらがまったく順を追っていないのだ。つまりシロウトが検索を頼りに文章を読んでいくと、余計な混乱や致命的な失敗を犯すおそれがあると感じた。(もちろん、たまたまここ一年くらいが過渡期なのかもしれないが) ちょっと思ったこと。FreeBSDはかつて、Linuxに比べてドキュメントが豊富でまとまっているというのがウリだったと思う。しかし、ひさしぶりにインストールした5.5にはそれはもはや当てはまらないと思う。ports等の使い方や規格が沢山あり、かつ、それらがまったく順を追っていないのだ。つまりシロウトが検索を頼りに文章を読んでいくと、余計な混乱や致命的な失敗を犯すおそれがあると感じた。(もちろん、たまたまここ一年くらいが過渡期なのかもしれないが)
--さて、qemuを導入できた。ちゃんと動くかどうか、とにもかくにもはりぼての最終版を当てて起動してみよう!+-さて、qemuを導入できた。ちゃんと動くかどうか、とにもかくにもはりぼての最終版を当$てて起動してみよう!
-あっさりOK。つまり、qemuはOKというわけだ! -あっさりOK。つまり、qemuはOKというわけだ!
Line 24: Line 33:
|bim2bin.exe|たぶんOK||| |bim2bin.exe|たぶんOK|||
|bim2hrb.exe|たぶんOK||OK| |bim2hrb.exe|たぶんOK||OK|
-|bin2obj.exe|たぶんOK|||+|bin2obj.exe|たぶんOK||OK|
|cc1.exe|たぶんOK||OK| |cc1.exe|たぶんOK||OK|
|cpp0.exe|たぶんOK||| |cpp0.exe|たぶんOK|||
Line 30: Line 39:
|gas2nask.exe|たぶんOK||OK| |gas2nask.exe|たぶんOK||OK|
|golib00.exe|たぶんOK||| |golib00.exe|たぶんOK|||
-|makefont.exe|たぶんOK|||+|makefont.exe|たぶんOK||OK|
|nask.exe|たぶんOK||OK| |nask.exe|たぶんOK||OK|
|naskcnv0.exe|たぶんOK||| |naskcnv0.exe|たぶんOK|||
Line 119: 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 131: 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 173: 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 198: Line 207:
         -$(DEL) bootpack.hrb          -$(DEL) bootpack.hrb
         -$(DEL) haribote.sys          -$(DEL) haribote.sys
 + 
 src_only :  src_only :
         $(MAKE) clean          $(MAKE) clean
Line 216: Line 225:
|Winコマンド|移植状況|Makefile内初出|実行実績|h |Winコマンド|移植状況|Makefile内初出|実行実績|h
|imgtol.com|×|1日目|OK(ddで)| |imgtol.com|×|1日目|OK(ddで)|
-|nask.exe|たぶんOK|1日目|OK| +|nask.exe|ほぼOK|1日目|OK| 
-|bim2hrb.exe|たぶんOK|3日目|OK| +|bim2hrb.exe|ほぼOK|3日目|OK| 
-|edimg.exe|たぶんOK|3日目|OK| +|edimg.exe|ほぼOK|3日目|OK| 
-|gas2nask.exe|たぶんOK|3日目|OK+|gas2nask.exe|たぶんOK|3日目|28日で問題発生?
-|obj2bim.exe|たぶんOK|3日目|OK| +|obj2bim.exe|ほぼOK|3日目|OK| 
-|cc1.exe|たぶんOK|3日目|OK| +|cc1.exe|ほぼOK|3日目|OK| 
-|bin2obj.exe|たぶんOK|5日目|| +|bin2obj.exe|ほぼOK|5日目|OK
-|makefont.exe|たぶんOK|5日目|| +|makefont.exe|ほぼOK|5日目|OK
-|golib00.exe|たぶんOK|27日目||+|golib00.exe|ほぼOK|27日目|OK|
|bim2bin.exe|たぶんOK|29日|| |bim2bin.exe|たぶんOK|29日||
|aksa.exe|たぶんOK|×|| |aksa.exe|たぶんOK|×||
Line 242: Line 251:
-そんなわけで、これを参考にあとはかいつまんでチェックしていこうっと。 -そんなわけで、これを参考にあとはかいつまんでチェックしていこうっと。
-(あれでも、他のツール。make以外でもし使用されてたら誰か教えてチョンマゲ。もういっかいぜーんぶ読むのはキツイです〜) -(あれでも、他のツール。make以外でもし使用されてたら誰か教えてチョンマゲ。もういっかいぜーんぶ読むのはキツイです〜)
 +
 +*5日目 [#aba1a18a]
 +-さてそんなわけで、大変申し訳ありまへんがすっ飛ばして5日目〜。
 +-P110。 05_day/harib02i。
 +--わはは! あっさりOKじゃん!!(^^
 +--そんなわけでbin2objとmakefontはOK〜。
 +--せっかくなのでスクリーンショット掲載〜
 +#ref(bsd_s.jpg)
 +--デカイのは[[ここ:http://thebbl.hideyosi.com/modules/bwiki/index.php?plugin=attach&pcmd=open&file=bsd1.jpg&refer=FreeBSD%A4%C7%A4%CF%A4%EA%A4%DC%A4%C6%A1%AA]]クリック〜
 +
 +-ついで〜。Linuxでもできました〜。
 +#ref(lin_s.jpg)
 +--デカイのは[[ここ:http://thebbl.hideyosi.com/modules/bwiki/index.php?plugin=attach&pcmd=open&file=lin1.jpg&refer=FreeBSD%A4%C7%A4%CF%A4%EA%A4%DC%A4%C6%A1%AA]]クリック〜
 +
 +
 +*10日目 [#n1bf6d7f]
 +-さて〜。なんとな〜く10日目もやりますか。
 +-P210。10_day/harib07d。(マウスが動いてるので楽しみ)
 +--うほほ〜い! これも問題なーし!(マウス動く〜(^^ )
 +
 +
 +*15日目 [#d4742b59]
 +-どーんとすっとばして15日目〜。
 +-P307。15_day/harib12g。(いよいよマルチタスク!)
 +--いけたいけた〜。よーし!どんどんいくぞ〜!
 +
 +*20日目 [#g10d6361]
 +-さらにすっとばして20日目〜。
 +-P415。20_day/harib17h。
 +--これまた問題な〜し
 +
 +*25日目 [#v20669aa]
 +-ラストスパート。25日目〜。
 +-P536。25_day/harib22j。そうだ!そのとおり!もっとOSらしく!
 +--問題な〜し。アプリも動くぞ〜!
 +
 +*28日目 [#n8b2d3d7]
 +-P622。28_day/harib25g。
 +--ありゃりゃ? ちょっとおかしいぞ?これ?
 +--あーー! そうか!Makefileで下の階層に行くようになったのか!だからうまくいかなかったのだ!
 +--シコシコと各Makefileを直してと・・・
 +--いけたーーー!-------------(゚∀゚)-------------
 +
 +*29日目 [#kb429271]
 +-P644。29_day/harib16e。
 +--エラーーーーーー!!!!
 +--ちょっとどうしてもアカンエラーが出たのでMakefile細工して無理やり通したけど、コンソールで文字がまったく表示されないって状態になっちゃった・・・・
 +--なんじゃろう??。これ? gas2naskの問題?それとも??
 + ../../../z_tools/gas2nask -a tek.gas tek.nas
 + skip:shrdl      $16, %edx, %eax
 + gmake[1]: *** [tek.nas] Error 1
 +
 +
 +
 +-えーーっと。tek.cは29日から導入された圧縮の関数だよね。で、これは
 +--cc1 を使い、.gasに変換
 +--gas2naskを使い、.nas に変換。
 +-で、このときにエラーが出ていると・・・
 +-どれどれ・・・.gasって、テキストで覗けるんだっけ??
 +-おお!覗ける。で、あったあった・・・。出来上がっている.gasの925行目。
 +                 :
 +       movl    -16(%ebp), %eax
 +       mull    %ecx
 +       shrdl  $16, %edx, %eax   <-これだ!
 +       shrl    $16, %edx
 +       movl    %eax, -32(%ebp)
 +       movl    %edx, -28(%ebp)
 +                 :
 +
 +-さて、ここでしばし考察。
 +--これ、Windows版だとエラーにならないんだよね?(当たり前だけど)
 +--Windows版のほうだと、このtek.gasはどうなっているんだろう。
 +--もし同じなら、cc1は問題なし。gas2naskに問題があるといえる。違っていたらcc1に問題があるということかな???
 +--どれどれっと・・・
 +--がーーん! ''まったく同じ''じゃないか! そうすると、移植版のgas2naskに問題があるのか!
 +
 +-・・・おんやあぁぁぁ????  同じパッチで作ったLinux版だと、このエラーは出てこないぞ???
 +--Linux版。これはVineLinux4.0。gccは
 + $ gcc -v
 + /usr/lib/gcc-lib/i386-vine-linux/3.3.6/specs から spec を読み込み中
 + コンフィグオプション: ../configure --prefix=/usr --mandir=/usr/share/man
 + --infodir=/usr/share/info --enable-shared --enable-threads=posix
 + --disable-checking --with-system-zlib --enable-__cxa_atexit
 + --host=i386-vine-linux
 + スレッドモデル: posix
 + gcc バージョン 3.3.6 release (Vine Linux 3.3.6-0vl7)
 +--FreeBSD版は5.5で
 + $ gcc -v
 + Using built-in specs.
 + Configured with: FreeBSD/i386 system compiler
 + Thread model: posix
 + gcc version 3.4.2 [FreeBSD] 20040728
 +
 +-ふーむ・・・gccのバージョンの問題だろうか???Linuxのほうを3.4にして実験してみるかな??
 +-いやぁ!待った待った!! 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。移植、全て完了! ---}
 +~
 +~
 +~