(2012/9/13追記: もっと簡単な方法がありました.詳細はこちらをご覧ください)
BIOSやVBIOSの更新で時々必要になるDOSの起動ディスクを、Windowsを使わずに、Linuxだけで作る方法です。
起動ディスクのメディアはUSBメモリ(USB flash drive)、DOSはFreeDOSを使います。
必要なソフトウェアの入手
必要なコマンド類をインストールします。
$ sudo apt-get install dosfstools nasm unzip
$ sudo yum install dosfstools nasm unzip
とします。
次に FreeDOS からファイルを2つダウンロードします。
コマンドラインからダウンロードするなら
$ wget http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/sys/sys-freedos-linux/sys-freedos-linux.zip $ wget http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img
等とします。
USBメモリのフォーマット
起動用パーティションを作成します。
ポイントは
です。
パーティションができたら、FAT32形式でフォーマットします
$ sudo mkdosfs -F 32 /dev/sdc1
FreeDOSのインストール(ブートセクタの用意)
ダウンロードしておいた sys-freedos-linux.zip を展開
$ unzip sys-freedos-linux.zip
インストールします
$ sudo ./sys-freedos.pl --disk=/dev/sdc1 DOS boot sector for /dev/sdc1 will be created by: nasm -o /dev/stdout ./bootsecs/boot32.asm Using FAT32. Partn offset 0, CHS *x64x32 Drive 0, (0x0, 0x29), SerNo F237-106B, Strings ' ', 'FAT32 '. Boot sector successfully updated.
FreeDOSのインストール(KERNEL.SYS と COMMAND.COMのコピー)
次にDOSの本体 KERNEL.SYS と COMMAND.COM をUSBへコピーします
KERNEL.SYS と COMMAND.COMは ダウンロードしておいた fdboot.img の中にあります。
まず fdboot.img を mount して
$ sudo mount -o loop fdboot.img /media/fd
usbメモリもマウントします
$ sudo mount /dev/sdc1 /media/usb
あとは ファイルをコピーするだけ
$ sudo cp /media/fd/kernel.sys /media/usb $ sudo cp /media/fd/command.com /media/usb