linux 自作软盘镜像文件

制作软盘镜像的标准代码

FAT12格式软盘标准代码
;filename: floppy.asm
    DB      0xeb, 0x4e, 0x90
    DB      "FLOPPY  "      ; 启动区的名称可以是任意的字符串
    DW      512             ; 每个扇区(sector)的大小(必须为512字节)
    DB      1               ; 簇(cluster)的大小(必须为1个扇区)
    DW      1               ; FAT12的起始位置(一般从第一个扇区开始)
    DB      2               ; FAT的个数(必须为2)
    DW      224             ; 根目录的大小(一般设成224项)
    DW      2880            ; 该磁盘的大小(必须是2880扇区)
    DB      0xf0            ; 磁盘的种类(必须是0xf0)
    DW      9               ; FAT的长度(必须是9扇区)
    DW      18              ; 1个磁道(track)有几个扇区(必须是18)
    DW      2               ; 磁头数(必须是2)
    DD      0               ; 不使用分区,必须是0
    DD      2880            ; 重写一次磁盘大小
    DB      0,0,0x29        ; 意义不明,固定
    DD      0xffffffff      ; (可能是)卷标号码
    DB      "DISK MAKE  "   ; 磁盘的名称(11字节)
    DB      "FAT12   "      ; 磁盘格式名称

制作镜像Makefile

制作软盘镜像命令
;filename: Makefile

MAKE = make -r
ASMF = floppy.asm
BINF = floppy.bin
IMGF = floppy.img

default: 
	$(MAKE) $(IMGF)

$(BINF) : $(ASMF)
	nasm -f bin $(ASMF) -o $(BINF)

$(IMGF) : $(BINF)
	dd if=/dev/zero of=$(IMGF) bs=512 count=2880
	dd if=$(BINF) of=$(IMGF) conv=notrunc
clean:
	-rm $(BINF)
	-rm $(IMGF)

posted @ 2022-05-15 16:59  咸鱼人生&  阅读(139)  评论(0)    收藏  举报