OSを作って見よう day014

2013-12-13

OSを作って見よう day014

昨日詰まった所からやり直し。 「OS自作入門」の3日目の5章 添付のWindows用ソフトウェアは、Macでは動かない。 しかし、単純に考えれば、コンパイル後のsysファイルをddで追加で書き込めばそれでいいんじゃねーか?? というわけで、Makefileを下記のように書き換えてみた。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
MAKE = make
NASM = nasm
DD = dd
RM = rm
IMGNAME = helloos.img
SYSIMGNAME = haribote.sys

# デフォルト動作

default :
$(MAKE) img

# コマンド

img :
$(NASM) -f bin -o $(IMGNAME) ipl.nas
$(NASM) -f bin -o $(SYSIMGNAME) haribote.nas

install :
$(DD) if=$(IMGNAME) of=/dev/disk1s1 bs=512k
$(DD) if=$(SYSIMGNAME) of=/dev/disk1s1 bs=512k

clean :
$(RM) $(IMGNAME)
$(RM) $(SYSIMGNAME)


  コマンド実行は、今まで通り


$ make
make img
nasm -f bin -o helloos.img ipl.nas
ipl.nas:29: warning: uninitialised space declared in .text section: zeroing
ipl.nas:101: warning: uninitialised space declared in .text section: zeroing
nasm -f bin -o haribote.sys haribote.nas

$ sudo make install
dd if=helloos.img of=/dev/disk1s1 bs=512k
0+1 records in
0+1 records out
512 bytes transferred in 0.002018 secs (253720 bytes/sec)
dd if=haribote.sys of=/dev/disk1s1 bs=512k
0+1 records in
0+1 records out
3 bytes transferred in 0.000950 secs (3158 bytes/sec)

  USBメモリをeeepc901に挿して起動! すると、カーソルが点滅するいつもの画面が表示された。   上手くいった模様。 同様にharib00gのソースコードについてもコンパイルして、USBメモリ経由でeeepc901を起動すると・・・ haribote.nasに書かれた通りにカーソルが消えて、黒いスクリーンが表示された。   (-_-;) う、うまくいったということか・・・??? 小難しく考えずに、ひとまずddでUSBメモリにデータを書き込んでしまえば、道が開けそうである。   harib00gのソースにも少し修正を加えてあるが、それはまた明日。