-
Notifications
You must be signed in to change notification settings - Fork 3
ディスクイメージファイルの作成について FAT12
hangedman edited this page Aug 18, 2023
·
12 revisions
OS自作をする際には、フロッピーディスクに情報を書き込むのが常道らしい(他の形式は面倒だから?)。
そこで、FAT12のディスクイメージファイルを作る必要が出てくる。
FAT12の仕様
FATファイル・システム仕様書 by Microsoft (FATの理解・実装に必要な唯一のリファレンス)
FATファイル・システム概要 (↑を読むためのガイド)
FATファイル システムのしくみと操作法
FAT12のファイル構造を作成できるライブラリ
-
FatFs
とてもよくできたライブラリ。FATボリュームを作成できる(←これがほしい)。
SDファイルなどの組み込み用途での使用が多そうです。下位レイヤへの書き込み・読み込みは自分で実装する必要がある。 -
fatlib
小さなC言語製のライブラリ。FATボリュームの読み込みには強いが、作成はできない。 -
mtools
GNU謹製ライブラリ。鶏を割くに焉んぞ牛刀を用いん。 -
mkfs
Linux上ならば普通はこのコマンドを使用するだろう(その場合DOS上での動作が保証できない)。 -
mkdosfs
とりあえずこれを使えば新規で指定したファイルを作成できそうである。
ddとmkfs
$ mkdosfs -C -F 12 ./floppy.img 2880
$ mkdosfs -C -F 12 -s 128 -S 512 ./floppy.img 2880
Floppy Disk Images With FAT12
The steps mentioned below will be useful for the BrokenThorn Entertainment tutorials
Create an empty image.
$ dd if=/dev/zero of=floppy.img bs=512 count=2880
Set it up for mounting.
$ losetup /dev/loop0 floppy.img
Format it to FAT12.
$ mkdosfs -F 12 /dev/loop0
Mount!
$ mount /dev/loop0 /mnt -t msdos -o "fat=12"
Unmount
$ umount /mnt
Destroy loopback device
$ losetup -d /dev/loop0
osaskとの関係
河合氏は、ここにおいても独自ツールを作っている。