雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
18: 2007-02-14 (水) 03:04:16 ソース バックアップ No.18 を復元して編集 19: 2007-02-14 (水) 17:52:38 ソース バックアップ No.19 を復元して編集
Line 19: Line 19:
-[[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|×|||
Line 68: Line 68:
-どれどれっと・・・ -どれどれっと・・・
--うほ〜!いけた! やった!! 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以外でもし使用されてたら誰か教えてチョンマゲ。もういっかいぜーんぶ読むのはキツイです〜)