3日目(その2)

久しぶりの更新になります。ファイル変更とか結構するのでSubversionを使う方向で環境の整備を行っていました。あとMakefileをカスタマイズしていました。そこまでのメモです。OS自作本的には、進捗ありません。

MS-DOSのファイルを操作するためのツール郡に「mtools」がある。このツールを利用するようにMakefileを変更する。

DOSイメージを生成

$(IMG)にはXXX.imgが入ります。

mformat -f 1440 -C -i $(IMG) ::

作成したイメージにBootセクタを書き込む

dd if=$(IPL) of=$(IMG) conv=notrunc


あとは、適当にMakefile書き換えました。久しぶりにmakefileを書いたのでかなり忘れてた

Makefile

OSNAME=smallos
IMG=${OSNAME}.img
IPL=ipl.bin

#########################################
#ツール用のオプション設定
#########################################
QEMUOPT = -fda

#########################################
#create img
#########################################
${IMG}:${IPL}
#create empty ms-dos file
    mformat -f 1440 -C -i $(IMG) ::
                                                                                
#write a boot sector
    dd if=$(IPL) of=$(IMG) conv=notrunc

img :; make ${IMG}

#########################################
#create boot sector
#########################################
${IPL}:ipl.s
    gcc -nostdlib -o ${IPL} ipl.s -Tipl.ls

########################################
#エミュレータ起動
########################################
test:${IMG}
    qemu -${QEMUOPT} ${IMG}

clean:
    rm -rf ${IMG} ${IPL}