パスワードを忘れた? アカウント作成
397730 journal

bluedwarfの日記: Let Me Know OS

日記 by bluedwarf

OSを作ろうと思い、まずはどんなもんかとLet Me Know OSをダウンロードしてmakeしました。
どうも、このlmkosは2週間で作り上げたものだそうで、コードが小さいながら仕様をみているとちゃんと動作しそうだったので使ってみようと思いました。

gcc 3.2では文字列リテラルを複数行で書くとエラーになるので、そこだけ修正してmakeしました。うまくいきました。
しかし、どうやって起動するんだ!?というわけで、マニュアル(PDF)を見ました。このマニュアル、かなり参考になりそうなことが書いてあるのですが、インストール方法っと...6.2(p27)にありました。書いてあるとおりに

tools/fdinst /dev/fd0 ipl setup kernel

と実行したのですが、

fdinst.c:48: invalid call

なーんていうエラーがでてきます。ちゃんとfdinst.cの48行目にfat_mountを実行して0未満が返ってきた場合にはこのようなエラー出力をして1を返してプログラムを終了する、ようなコードがあったのでそれはそれでよいのですが、じゃぁfat_mountでなぜ0未満が返ってくるのか?さっぱり分かりません。

というわけでLMKOSが起動できません( T T) しくしく...

[追記]

上記のエラーは、vfatでフォーマットされたフロッピーディスクを挿入すれば正常に使えることが確認。

tools/fdinst /dev/fd0 boot/ipl boot/setup kernel/lmkos

これは問題なく完了。しかーし、次のコマンド

tools/fatcopy /dev/fd0 demo/demo.com demo/kureha/demo.com

を実行してみると...

../fs/fat.c:548: target has not exists
../fs/fat.c:776: target has not exists
fatcopy.c:54: target has not exists

なーんていうエラーがでてきますが...意味不明。というわけでまたしてもインストール失敗( T T)

[さらに追記]
以下のようにやったらうまくいった。というわけで、これから再起動。

bluedwarf@gentoo boot $ dd if=ipl of=/dev/fd0 conv=notrunc
読み込んだブロック数は 1+0
書き込んだブロック数は 1+0
bluedwarf@gentoo boot $ ../tools/fdinst /dev/fd0 ipl setup ../kernel/lmkos
bluedwarf@gentoo boot $ ../tools/fatcopy /dev/fd0 ../demo/demo.com demo.com
bluedwarf@gentoo boot $

[そのまたさらに追記]

うまくLMKOSが起動しました。素晴らしい。
と、同時にfdinstとfatcopyの使いかたが分かりました。いかに、この日記の始めの方でとんちんかんなことをやっていたか...今思うと顔が赤らむような思いですが、まぁそれもまたよし。と。
デモプログラムがつまらなかったので、このあたりをまずは作ってみようかなと(笑)

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

アレゲはアレゲを呼ぶ -- ある傍観者

読み込み中...