操作系统笔记(二)Bootload加载ELF文件
ctime:2020-04-29 15:34:46 +0900|1588142086
标签(空格分隔): 技术 操作系统
练习4 分析bootloader如何加载ELF文件
- 上一步,进入保护模式之后,跳转到此处,开始引导启动系统
- 首先从硬盘中,读入一定数量的数据(ELF文件,也就是系统镜像)(512字节*8,相当于读入8个扇区的内容),放在ELFHDR处
readseg((uintptr_t)ELFHDR, SECTSIZE * 8, 0);
- 读完需要校验以下读入的是不是ELF文件,通过检查e_magic字段
ELFHDR的地址是 0x10000,仅仅是一个暂存地址。
ELF文件的文件头格式:
struct elfhdr {
uint magic; // must equal ELF_MAGIC
uchar elf[12]