18: 2007-02-14 (水) 03:04:16 |
19: 2007-02-14 (水) 17:52:38 |
| -[[FreeBSDではりぼて!/tolset移植]] | | -[[FreeBSDではりぼて!/tolset移植]] |
| -移植状況 | | -移植状況 |
- | |Winコマンド|状況|備考|h | + | |Winコマンド|状況|備考|実行実績|h |
- | |aksa.exe|たぶんOK|| | + | |aksa.exe|たぶんOK||| |
- | |aska.exe|たぶんOK|| | + | |aska.exe|たぶんOK||| |
- | |bim2bin.exe|たぶんOK|| | + | |bim2bin.exe|たぶんOK||| |
- | |bim2hrb.exe|たぶんOK|| | + | |bim2hrb.exe|たぶんOK||OK| |
- | |bin2obj.exe|たぶんOK|| | + | |bin2obj.exe|たぶんOK||| |
- | |cc1.exe|たぶんOK|| | + | |cc1.exe|たぶんOK||OK| |
- | |comcom.exe|×|ソース失念?| | + | |cpp0.exe|たぶんOK||| |
- | |cpp0.exe|たぶんOK|| | + | |edimg.exe|たぶんOK||OK| |
- | |doscmd.exe|×|つか、いらないようだ| | + | |gas2nask.exe|たぶんOK||OK| |
- | |edimg.exe|たぶんOK|| | + | |golib00.exe|たぶんOK||| |
- | |gas2nask.exe|たぶんOK|| | + | |makefont.exe|たぶんOK||| |
- | |golib00.exe|たぶんOK|| | + | |nask.exe|たぶんOK||OK| |
- | |imgtol.com|×|ddで代用可能らしい| | + | |naskcnv0.exe|たぶんOK||| |
- | |ld.exe|×|gccで代用| | + | |nothing.com|OK|つか、作った|| |
- | |make.exe|×|純正がある| | + | |obj2bim.exe|たぶんOK||OK| |
- | |makefont.exe|たぶんOK|| | + | |osalink1.exe|たぶんOK||| |
- | |nask.exe|たぶんOK|| | + | |sjisconv.exe|たぶんOK||| |
- | |naskcnv0.exe|たぶんOK|| | + | |make.exe|×|純正がある|| |
- | |nothing.com|OK|つか、作った| | + | |ld.exe|×|gccで代用|| |
- | |obj2bim.exe|たぶんOK|| | + | |imgtol.com|×|ddで代用可能らしい|OK(ddで)| |
- | |osalink1.exe|たぶんOK|| | + | |comcom.exe|×|ソース失念?|| |
- | |sartol.exe|×|| | + | |doscmd.exe|×|つか、いらないようだ|| |
- | |sjisconv.exe|たぶんOK|| | + | |sartol.exe|×||| |
- | |t5lzma.exe|×|| | + | |t5lzma.exe|×||| |
- | |upx.exe|×|| | + | |upx.exe|×||| |
- | |wce.exe|×|| | + | |wce.exe|×||| |
| | | |
| | | |
| -どれどれっと・・・ | | -どれどれっと・・・ |
| --うほ〜!いけた! やった!! OK! | | --うほ〜!いけた! やった!! OK! |
| + | |
| + | *2日目 [#o23ed8f8] |
| + | -さて2日目。P30の 02_day/hallool3 。 |
| + | --とんとーんとOK。 |
| + | |
| + | -P43。 02_day/hallool4。 お? edimg か。さてさて・・・ |
| + | --あー。fdimg-at.tekがいるのか!もってこないと・・・ |
| + | --おぉ!これもいけた! えっと。つーことは、edimg も「たぶんOK」でいいのかな?? |
| + | |
| + | -P45。 02_day/hallool5。 こらもう、言わんでも解るやろ! |
| + | |
| + | -そんなわけで2日目完了〜。 |
| + | |
| + | |
| + | *3日目 [#aed96907] |
| + | -・・・悪いけど、ここはFreeBSD版tolsetの実験場所なので、harib00a〜harib00d までは飛ばすよ〜ん。(やってること同じだもんね) |
| + | |
| + | -P58。03_day/harib00e。いよいよ複数ソースのリンクだね。 |
| + | --ふむ・・・。ipl.binとharibote.sysをDOSのコピーコマンドで連結?してるのか。同じことをするには・・・・ |
| + | --おぉ!またしても[[わこうメモ:http://hrb.osask.jp/wiki/index.php?Linux%2Fwako_memo]]にヒントが! なになに? catと使うって??? |
| + | --んんん?ちょっとちがうぞ? イメージ内にコピーするのか!? |
| + | --あー。完全に勘違いしてた。この場合のcopyはあくまでもedimg内の命令なのか!なので、Makefileそのままの命令で出来上がった!(ちゃんとバイナリエディタで確認したよ。(^^ |
| + | --まあ一応、qemuでも実験・・・(なんも変化がないのでちょっとさみしいね。) |
| + | |
| + | -harib00f〜harib00h は飛ばして・・・ |
| + | |
| + | -P66。03_day/harib00j。さーて。いよいよ他のツールが必要になってきた。いけるかな?? |
| + | --さてMakefileを追いかけてみる。 |
| + | ---ipl.nasはnaskで.binに。 |
| + | ---asmhead.nasもnaskで.binに。 |
| + | ---naskfunc.nasのnaskで.binに。 |
| + | ---bootpack.cは cc1 -I../haribote/ -Os -Wall -quiet -o bootpack.gas で.gasに。 |
| + | ---bootpack.gasはgas2nask -aで.nasに。 |
| + | ---bootpack.nasはnaskで.objに。 |
| + | ---bootpack.objはobj2bim @Rulefile out:bootpack.bimなんちゃらで、.bimに。 |
| + | ---bootpack.bimは、bim2hrbで.hrbに |
| + | ---asmhead.binとbootpack.hrbをcopyコマンドで連結してharibote.sysに。 |
| + | ---ipl.binとharibote.sysをedimgで書き込み、haribote.imgに |
| + | --うひゃ〜。こりゃ大変だ。(^^; |
| + | --そろそろ手動でやるのもつらくなってきたので環境を少し整理。 |
| + | --まず、現時点で出来上がっている各コマンドを、~/z_toolsにコピー。 |
| + | --z_toolsにはhariboteディレクトリとその内容物が必要らしいので、CDから持ってくる。 |
| + | --で、Makefileを書き直してと。よーし! gmake! |
| + | --何点か問題が出たけど、とりあえず本の通り、「真っ黒クロスケ」の画面になった!成功くさい!(一瞬だけ、boot from・・なんて文字が出たあと、パっと真っ黒になったのだ) |
| + | |
| + | --さてとりあえずは成功。でもけっこうハマッたんだよね。つまらないことだけど。 |
| + | ---まず、Makefile内のディレクトリの指定。オイラは最初、自分のホームをあらわす~を使っていた。(~/z_tools とか)これがどうも全滅なんだよね。なので、元のように../でOKになるようにz_toolsの位置を配置しないといけない。もしくは絶対パス。いろいろ実験したけど、とにかく~だけはダメってことみたい。 |
| + | ---同じ原因で、haribote.rul内のディレクトリ指定も、../とか絶対パスじゃないといけないみたい。(おのおの調整してチョンマゲ) |
| + | ---そんなわけで、この「とりあえずのMakefile」の内容を公開。(qemuのrunとか弄ってないので。あくまでもmakeでharibote.imgを作るとこまで。) |
| + | TOOLPATH = ../z_tools/ |
| + | INCPATH = ../z_tools/haribote/ |
| + | |
| + | MAKE = gmake |
| + | NASK = $(TOOLPATH)nask |
| + | CC1 = $(TOOLPATH)cc1 -I$(INCPATH) -Os -Wall -quiet |
| + | GAS2NASK = $(TOOLPATH)gas2nask -a |
| + | OBJ2BIM = $(TOOLPATH)obj2bim |
| + | BIM2HRB = $(TOOLPATH)bim2hrb |
| + | RULEFILE = $(TOOLPATH)haribote/haribote.rul |
| + | EDIMG = $(TOOLPATH)edimg |
| + | IMGTOL = dd |
| + | COPY = cp |
| + | DEL = rm -f |
| + | |
| + | # デフォルト動作 |
| + | |
| + | default : |
| + | $(MAKE) img |
| + | |
| + | # ファイル生成規則 |
| + | |
| + | ipl10.bin : ipl10.nas Makefile |
| + | $(NASK) ipl10.nas ipl10.bin ipl10.lst |
| + | |
| + | asmhead.bin : asmhead.nas Makefile |
| + | $(NASK) asmhead.nas asmhead.bin asmhead.lst |
| + | |
| + | bootpack.gas : bootpack.c Makefile |
| + | $(CC1) -o bootpack.gas bootpack.c |
| + | |
| + | bootpack.nas : bootpack.gas Makefile |
| + | $(GAS2NASK) bootpack.gas bootpack.nas |
| + | |
| + | bootpack.obj : bootpack.nas Makefile |
| + | $(NASK) bootpack.nas bootpack.obj bootpack.lst |
| + | |
| + | naskfunc.obj : naskfunc.nas Makefile |
| + | $(NASK) naskfunc.nas naskfunc.obj naskfunc.lst |
| + | |
| + | bootpack.bim : bootpack.obj naskfunc.obj Makefile |
| + | $(OBJ2BIM) @$(RULEFILE) out:bootpack.bim stack:3136k map:bootpack.map \ |
| + | bootpack.obj naskfunc.obj |
| + | # 3MB+64KB=3136KB |
| + | |
| + | bootpack.hrb : bootpack.bim Makefile |
| + | $(BIM2HRB) bootpack.bim bootpack.hrb 0 |
| + | |
| + | haribote.sys : asmhead.bin bootpack.hrb Makefile |
| + | cat asmhead.bin bootpack.hrb >haribote.sys |
| + | |
| + | haribote.img : ipl10.bin haribote.sys Makefile |
| + | $(EDIMG) imgin:$(TOOLPATH)fdimg0at.tek \ |
| + | wbinimg src:ipl10.bin len:512 from:0 to:0 \ |
| + | copy from:haribote.sys to:@: \ |
| + | imgout:haribote.img |
| + | |
| + | # コマンド |
| + | |
| + | img : |
| + | $(MAKE) haribote.img |
| + | |
| + | run : |
| + | $(MAKE) img |
| + | $(COPY) haribote.img ..\z_tools\qemu\fdimage0.bin |
| + | $(MAKE) -C ../z_tools/qemu |
| + | |
| + | install : |
| + | $(MAKE) img |
| + | $(IMGTOL) if=/dev/fd0 of=haribote.img bs=512 count=2880 |
| + | |
| + | clean : |
| + | -$(DEL) *.bin |
| + | -$(DEL) *.lst |
| + | -$(DEL) *.gas |
| + | -$(DEL) *.obj |
| + | -$(DEL) bootpack.nas |
| + | -$(DEL) bootpack.map |
| + | -$(DEL) bootpack.bim |
| + | -$(DEL) bootpack.hrb |
| + | -$(DEL) haribote.sys |
| + | |
| + | src_only : |
| + | $(MAKE) clean |
| + | -$(DEL) haribote.img |
| + | |
| + | -さーて。これがうまくいっているってことは以下のコマンド郡は「たぶんOK」に昇格だぜ! |
| + | --cc1 |
| + | --gas2nask |
| + | --obj2bim |
| + | --bim2hrb |
| + | |
| + | *ちょっと一息・・・ [#ec5030c4] |
| + | -さて、この一連の作業はなにをしているかっていうと、tolsetがFreeBSDで使えるか。FreeBSDで「30日で出来る!OS自作入門」を進めていけるか。ということの検証。 |
| + | -そう考えると、現時点ではまだいくつかのtolsetのコマンドの移植が未完だけど、実はhariboteでは使われていないものも結構あるよね。 |
| + | -なので、そいつらをちょっと洗い直し。(初出順に並べ替え) |
| + | |
| + | |Winコマンド|移植状況|Makefile内初出|実行実績|h |
| + | |imgtol.com|×|1日目|OK(ddで)| |
| + | |nask.exe|たぶんOK|1日目|OK| |
| + | |bim2hrb.exe|たぶんOK|3日目|OK| |
| + | |edimg.exe|たぶんOK|3日目|OK| |
| + | |gas2nask.exe|たぶんOK|3日目|OK| |
| + | |obj2bim.exe|たぶんOK|3日目|OK| |
| + | |cc1.exe|たぶんOK|3日目|OK| |
| + | |bin2obj.exe|たぶんOK|5日目|| |
| + | |makefont.exe|たぶんOK|5日目|| |
| + | |golib00.exe|たぶんOK|27日目|| |
| + | |bim2bin.exe|たぶんOK|29日|| |
| + | |aksa.exe|たぶんOK|×|| |
| + | |aska.exe|たぶんOK|×|| |
| + | |cpp0.exe|たぶんOK|×|| |
| + | |naskcnv0.exe|たぶんOK|×|| |
| + | |nothing.com|OK|×|| |
| + | |osalink1.exe|たぶんOK|×|| |
| + | |sjisconv.exe|たぶんOK|×|| |
| + | |comcom.exe|×|×|| |
| + | |doscmd.exe|×|×|| |
| + | |sartol.exe|×|×|| |
| + | |t5lzma.exe|×|×|| |
| + | |upx.exe|×|×|| |
| + | |wce.exe|×|×|| |
| + | |
| + | -そんなわけで、これを参考にあとはかいつまんでチェックしていこうっと。 |
| + | -(あれでも、他のツール。make以外でもし使用されてたら誰か教えてチョンマゲ。もういっかいぜーんぶ読むのはキツイです〜) |