测试文件系统
来源:互联网 发布:单片机独立按键电路图 编辑:程序博客网 时间:2024/06/05 23:39
一、本文主要内容
1.制作一个可执行文件,用于测试
(1)在一个新的文件loader.S中写一段测试代码,及相应的.ld文件
(2)修改makefile,使loader.S编译成loader.bin
(3)把loader.bin拷贝到boot.img上
2.加载测试文件
对上一篇文件的代码稍做修改,使得能搜索并加载指定文件《loader.bin》到内存指定位置
3.控制权转移到内存指定位置
二、写一个测试文件
(1)loader.S
.code16.text mov $0xb800, %ax mov %ax, %gs mov $0xf, %ah mov $'L', %al mov %ax, %gs:((80*0+39)*2) jmp .
(2)solrex_x86_dos.ld
这里我不太懂,加载的时候es:bx说明加载的位置,这个ld有什么用呢?
SECTIONS{ . = 0x0100; .text : { _ftext = .; } = 0}
(3)makefile
a.增加loader.S –> loader.bin的make
b.增加make copy, 用于把loader.bin拷贝到boot.img上
CC=gccLD=ldOBJCOPY=objcopyCFLAGS=-cTRIM_FLAGS=-R .pdr -R .comment -R.note -S -O binaryLDFILE_BOOT=solrex_x86.ldLDFILE_DOS=solrex_x86_dos.ldLDFLAGS_BOOT=-T$(LDFILE_BOOT)LDFLAGS_DOS=-T$(LDFILE_DOS)all: boot.img LOADER.BIN @echo '#################################################################' @echo '# Compiling work finished, now you can use "sudo make copy" to' @echo '# copy LOADER.BIN into boot.img' @echo '#################################################################'boot.bin: boot.S $(CC) $(CFLAGS) boot.S $(LD) boot.o -o boot.elf $(LDFLAGS_BOOT) $(OBJCOPY) $(TRIM_FLAGS) boot.elf $@LOADER.BIN: loader.S $(CC) $(CFLAGS) loader.S $(LD) loader.o -o loader.elf $(LDFLAGS_DOS) $(OBJCOPY) $(TRIM_FLAGS) loader.elf $@boot.img: boot.bin @dd if=boot.bin of=boot.img bs=512 count=1 @dd if=/dev/zero of=boot.img skip=1 seek=1 bs=512 count=2879# You must have the authority to do mount, or you must use "su root" or# "sudo" command to do "make copy"copy: boot.img LOADER.BIN @mkdir -p /tmp/floppy;\ mount -o loop boot.img /tmp/floppy/ -o fat=12;\ cp LOADER.BIN /tmp/floppy/;\ umount /tmp/floppy/;\ rm -rf /tmp/floppy/;clean: @rm -f *.o *.elf *.bin *.BINdistclean: clean @rm -f boot.imgrelease: clean @mv boot.img solrex.img
三、加载测试文件
不需要特殊处理,把要加载的文件名和文件名长度设置一下就可以了
四、转移控制权
在LABEL_FILE_LOADED后面加上
jmp $BaseOfLoader, $OffsetOfLoader
四、编译
五、运行
(1)打印“Booting**”:引导程序开始执行
(2)打印“Loaded in”:找到了loader.bin
(3)打印“L”:跳转到loader.S的代码中
0 0
- 测试文件系统
- iozone测试文件系统
- 【转】iozone 测试文件系统
- 文件系统性能测试
- 集群文件系统测试
- iozone测试文件系统
- iozone测试文件系统
- 文件系统性能测试工具
- iozone测试文件系统
- 测试Windows的文件系统
- ceph文件系统测试
- 文件系统,磁盘性能测试
- 文件系统测试--iozone使用
- 文件系统性能测试
- glusterfs文件系统性能测试
- iozone测试文件系统
- 文件系统测试工具IOZONE
- linux文件系统测试工具
- mybatis实现继承映射
- Android UI 优化——使用HierarchyViewer工具
- Web基础架构:负载均衡和LVS
- struts2的%{ } # $
- Java 单例模式探讨
- 测试文件系统
- Enterprise Architect 8.0下载地址
- Linux系统日志的介绍
- 手动删除文件夹exe病毒并恢复原来文件夹
- android之Loaders初步
- 《Linux设备驱动开发详解(第3版)》(即《Linux设备驱动开发详解:基于最新的Linux 4.0内核》)进展同步更新
- javascript:输出9*9乘法表
- 防止MTU设置不合理导致的链路不通问题
- Foldable Binary Trees