自作OSの作成ではフロッピーディスク用のイメージを作成してエミュレータで動かしているんだけど、今どき実機にはFDドライブとかついてないし持ってないので、ブート可能なCDの.isoイメージはどうやって作るのか調べてみた。
それによると、mkisofsというツールで出来るらしい。
$ mkisofs -b fdimage.img -o isoimage.iso fdimage.img |
ここで、fdimage.img
はフロッピーディスク起動のバイナリファイルで、isoimage.iso
に.isoイメージファイルが生成される。
mkisofsはLinuxやMacで動かすことができた(Windowsは未確認)。実際のところmkisofsがどういうファイルを生成してるのか、isoフォーマットはどういう形式なのかまったくわかってない。
mkisofsにはたくさんのコマンドラインオプションがあるが、-b
の”El Torito” ブータブル CDの指定だけでよいみたい。
生成された.isoイメージをVirtualBoxなどのエミュレータに食わせたとろこ、無事に起動した。ブート時のディスク読み込みにBIOSのルーチンを使ってるんだけど、フロッピーディスクでもUSBメモリでもCDでも同じBIOSコールで読み込めるのは便利だ。後で余裕ができたら実際にCDに焼いてみて、実機で起動できるかどうか試してみたい。
まあただ、このフロッピーディスクのイメージから変換する方法だと、OSのファイルサイズが2HDの1.44MB以上になっても可能なのかどうかが不明だ。