我试着写一个简单的操作系统,从boot.asm开始。
# nasm boot.asm -o boot.bin
编译源代码,然后使用
# dd conv=sync if=boot.bin of=os.img bs=512 count=1
来制作一个.img文件。我用VMware运行这个img,成功开机。
现在我想把loader.bin添加到这个.img中,所以首先我使用
# losetup /dev/loop1 os.img
将其设置为循环设备。然后
# mount /dev/loop1 /tmp
。但是,出现错误:
mount: /tmp: wrong fs type, bad option, bad superblock on /dev/loop1, missing codepage or helper program, or other error.
以下是关于os.img的一些详细信息:
# file os.img
os.img: DOS/MBR boot sector
# fdisk -l os.img
Disk os.img: 512 B, 512 bytes, 1 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
os.img1 778530409 2158795926 1380265518 658.2G 42 SFS
os.img2 1145130828 2321654160 1176523333 561G 20 unknown
os.img3 1109414469 1109434509 20041 9.8M 4c unknown
1条答案
按热度按时间noj0wjuj1#
您需要构建文件系统,请在bash/root中逐一运行以下命令。
现在您可以在VMWare中使用diskimage.img作为软盘。