写光盘(的文件系统)驱动程序ing,所以需要用到ISO9660文件系统的规范,研究了一个下午弄懂了
总体情况
首先我们先要有一个makeisofs这样的制作iso文件的工具,用它来制作一个iso文件,里面放上几个非空文件(至于为什么非空,最后会有介绍)
然后再有一个hexdump这样二进制文件查看器
先来看一下这个表格
ISO 9660 File System | |
---|---|
System Area (32,768 B) | Unused by ISO 9660 |
Data Area | |
Volume Descriptor (2,048 B) | |
Volume Descriptor (2,048 B) | |
... | |
Volume Descriptor Set Terminator (2,048 B) | |
Optional space | |
Root directory | |
Directories and files |
照此我们先用hexdump看一下我的mkisofs生成的iso文件
hexdump -C os.iso | less
00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00008000 01 43 44 30 30 31 01 00 4c 49 4e 55 58 20 20 20 |.CD001..LINUX |
00008010 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00008020 20 20 20 20 20 20 20 20 43 44 52 4f 4d 20 20 20 | CDROM |
00008030 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | |
00008040 20 20 20 20 20 20 20 20 00 00 00 00 00 00 00 00 | ...