わこうメモ

  • (by K, 2006.03.05)
  • Kがわこう氏からもらった覚え書きをそのまま掲載したものです。
  • Makefileパッチは、 harib24 あたりからのディレクトリ変更には対応しきれていないそうです。

覚え書き

-- 覚書 --

o patch ファイル

正常に動作する Makefile.mod を作成

$ diff -u Makefile Makefile.mod > Makefile.patch

パッチをあてる

$ patch -b Makefile ../z_tools/Makefile.patch


chapter 1

o フロッピーディスクへのインストール

 $ dd if=helloos.img of=/dev/fd0

o QEMU での起動方法

 $ qemu -m 32 -localtime -std-vga -fda helloos.img

o nask でのアセンブル

あらかじめ ../z_tools に nask をコピーしておく。

 $ ../z_tools/nask.exe helloos.nas helloos.img

リストファイルを出力。

 $ ../z_tools/nask.exe ipl.nas ipl.bin ipl.lst

nask が出力する ipl.lst の改行コードが windows(CRLF) になってしまう。
unix (LF) に直すには、

 $ nkf -Lu ipl.lst > ipl.lst.lf

リストファイル ipl.lst.lf を vi で読む時、 

:set ts=4
:set nowrap

を指定すると読みやすい。

chapter 2

o イメージファイルの作成

 $ dd if=/dev/zero of=helloos.img bs=512  count=2880

o sartol

http://user.ecc.u-tokyo.ac.jp/~t40370/osask/index.html から
「sartol0i for Linux」(2004.11.11) をダウンロード。

次のコマンドで展開。

 $ sarsh xf a.sar -C destdir

o edimg

http://www.afis.to/~mone/osask/osask_ml/200412/msg00008.html から edimg0h.sar
をダウンロード。

edimg.c を編集。

 $ vi edimg.c

コンパイル。

 $ gcc -o edimg edimg.c autodec_.c

o makeimg.bat の処理

 $ ../z_tools/edimg.exe imgin:../z_tools/fdimg0at.tek wbinimg src:ipl.bin len:512 from:0 to:0 imgout:helloos.img

o シンボリックリンクにより make.exe ファイルを用意する

t_tools ディレクトリ内で

 $ ln -s /usr/bin/make make.exe

o "make run" 用に Makefile を修正

run :
        ../z_tools/make.exe img
        qemu -m 32 -localtime -std-vga -fda helloos.img 

o "make install" 用に Makefile を修正 (未確認)

install :
	dd if=helloos.img of=/dev/fd0 


chapter 3

o cc1.exe

http://www2.hideyosi.com/~hideyosi/age/goset/goset-006.tgz から goset を入手。

gocc1 を cc1.exe にリネーム。
gas2nask を gas2nask.exe にリネーム。

o obj2bim.exe と bim2hrb.exe をソースからコンパイル。

o copy コマンドの代わりに cat を使う。Makefile を次のように修正。

haribote.sys : asmhead.bin bootpack.hrb Makefile
        cat asmhead.bin bootpack.hrb > haribote.sys

-- Makefile の編集内容 --

#COPY     = copy
#DEL      = del
COPY     = cp
DEL      = rm

#haribote.sys : asmhead.bin bootpack.hrb Makefile
#       copy /B asmhead.bin+bootpack.hrb haribote.sys
haribote.sys : asmhead.bin bootpack.hrb Makefile
        cat asmhead.bin bootpack.hrb > haribote.sys 

#run :
#       $(MAKE) img
#       $(COPY) haribote.img ..\z_tools\qemu\fdimage0.bin
#       $(MAKE) -C ../z_tools/qemu
run :
        ../z_tools/make.exe img
        qemu -m 32 -localtime -std-vga -fda haribote.img
run :
        $(MAKE) img
        qemu -m 32 -localtime -std-vga -fda haribote.img

こめんと欄

  • http://www.afis.to/~mone/osask/osask_ml/200412/msg00008.html はサーバが落ちていてつながらないので、 http://osask.marokun.net/ml/7128 をご利用ください。 -- K 2006-03-05 (日) 17:30:04
  • naskの出力する改行コードがCRLFになるという指摘がありますが、naskはソースプログラムの改行コードと同じものを出力しています。したがってソースをLFにしておけば、リスト出力もLFになります。参考まで。 -- K 2006-03-05 (日) 17:37:59
  • 未確認ですが、Makefileのパッチは序盤の章にも対応していないと思います。Makefileの修正箇所は少ないので、手動で修正した方が良いかもしれません。修正したMakefileのdiffからパッチを作り、しばらく使いまわして、合わなくなったらまた作りなおす、という風に対応するのが良いのではないかと思います。パッチの作り方や当て方は上を参考にしてください。 -- wako 2006-03-22 (水) 01:36:08
  • 今日、やっと『30日でできる!OS自作入門』初版第6刷が、我が家に届きました。今、ゼロ日目を読みはじめたところです。私のOS環境はPlamo LinuxですのでhariboteOSが何とかLinux上でテストできないものかと思っていましたら、7ページにこちらのURLが書いてありましたので一言コメントを入れさせて頂きました。この著書が多くの人達に読まれる事を願っている者として、まずは御挨拶させて頂きました。 -- sank 2006-07-23 (日) 19:46:24
  • あれから一週間が経ちました。Linuxでwineの中のqemuにおいてhariboteOSが順調に立ち上がってます! wineのテストも兼ねるので好都合です。感謝 (名前を変えましたsank → hanpenになりました) -- hanpen 2006-08-01 (火) 23:07:12
  • 実際にLinuxで挑戦してくださってありがとうございます。 -- K 2006-08-01 (火) 23:43:24
  • はじめまして、リナックスでOSを作っていきたいと思います。よろしくお願いします -- リックス 2006-08-21 (月) 22:14:07
  • 今日、本を読破しました。実りある有意義で、苦しくもあり楽しくもあった一ヶ月でした。Kさん、そして、わこうさんThanks -- hanpen 2006-08-30 (水) 23:01:45
  • (hanpenさんやリックスさんにお返事を書きたいところですが、ここはLinux固有の問題で盛り上がるところで、おめでとうございます系の話題はあまり適当ではないので、お返事を省略させていただきます。はじめましてや奮闘ぶりの報告は、以降は(たとえLinux上の開発であっても)impressionsにお願いします。ここは、わこうメモの改善点などを指摘する場合に活用してください。) -- K 2006-09-01 (金) 20:16:38
  • 追加情報:Linuxのバイナリディタは? http://www.tatsuyoshi.net/toyota/hi/http://emacs-21.ki.nu/application/hexl.html を参考にしてください。 -- K 2009-11-18 (水) 08:14:06
  • 特にLINUXで開発する必要はございませんけど、本当にありがとうございました。ぜひ、ためしてみます〜 -- シ コウヒ 2015-02-15 (日) 00:51:37
  • でも、LINUXで直接に.exeのファイルを作動さすることができますか? -- シ コウヒ 2015-02-15 (日) 00:54:05
  • wineを使用すれば実行できるようになります。 -- skyblue 2015-02-15 (日) 10:49:41
  • ツール使いたいなら omakeフォルダにあるソースをLinux上でコンパイルすればいいと思います -- yuki 2015-03-18 (水) 13:08:12
  • ツール使いたいなら omakeフォルダにあるソースをLinux上でコンパイルすればいいと思います -- yuki 2015-03-18 (水) 13:20:35

コメントお名前NameLink

リロード   新規 編集 差分 添付   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: 2020-02-11 (火) 01:33:50 (252d)