文件镜像
下面我们来介绍一下我们系统的文件镜像的制作.我们 在MAKEFILE中规定了disk.img的制作方式
disk.img:disk
@rm -f disk.img
@if [ ! -f "disk.img" ]; then \
echo "making disk image..."; \
dd if=/dev/zero of=disk.img bs=512k count=8; \
mkfs.vfat -F 32 disk.img; fi
@sudo mount disk.img $(dst)
@sudo cp -r sd/* $(dst)
@sudo umount $(dst)
在这些命令中,首先删除了之前的文件镜像文件,创建了一个新的文件镜像,然后进行挂载,利用cp指令把sd文件夹中的所有元素放到disk.img中.
然后我们把视角转到
link_disk.S
中:这个汇编文件负责把disk.img
放在数据段中. .align 4
.section .data
.section .data.fs_img
.global fs_img_start
.global fs_img_end
fs_img_start:
.incbin "./disk.img"
fs_img_end:
在
ramdisk.c
中,我们把RAM DISK的首地址设置成fs_img_start
也就是disk.img的首地址Last modified 5mo ago