-
一、目的 熟悉ELF文件格式,了解GeekOS系统如何将ELF格式的可执行程序装入到内存,建立内核进程并运行的实现技术。 二、流程 1、修改/geekos/elf.c文件:在函数Parse_ELF_Executable( )中添加代码,分析ELF格式的可执行文件(包括分析得出ELF文件头、程序头,获取可执行文件长度,代码段、数据段等信息),并填充Exe_Format数据结构中的域值。 2、在Linux环境下编译系统得到GeekOS镜像文件。 3、编写一个相应的bochs配置文件。 4、在bochs中运行GeekOS系统显示结果。 编译以及启动bochs同project0... project0遇到的那些错误还是都会遇到一遍233. …
Read More -
现在我们环境已经搭好了,参考 geekos实验环境的搭建 在main.c中新加个函数,命名为projecto,函数的代码如下: /* * GeekOS C code entry point * Copyright (c) 2001,2003,2004 David H. Hovemeyer <daveho@cs.umd.edu> * Copyright (c) 2003, Jeffrey K. Hollingsworth <hollings@cs.umd.edu> * Copyright (c) 2004, Iulian Neamtiu <neamtiu@cs.umd.edu> * …
Read More -
apt-get install build-essential apt-get install bochs bochs-x nasm 此处下载的bochs应该是比较新的...如果之后遇到 failed assertion in init_idt :g_handlersizenoterr == g_handlersizeerr 这个错误,建议安装比较老的nasm版本,比如2.08.02链接 下载geekos-0.3软件包,地址为: geekOS下载地址 然后解压到~/work目录。 然后进入到 /work/geekos-0.3.0/src/project0/build 目录下 之后的操作都是在这个目录下进行的。 …
Read More -
参考了这篇博客 流程部分不再具体描述,可以参考上面的博客。 只详细给出我遇到的问题。 我的pc环境是:Linux 111qqz-ThinkPad-X200 3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri May 8 09:43:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux linux mint 17.2 cinnamon apt-get install build-essential apt-get install bochs bochs-x nasm http://sourceforge.net/projects/geekos/files/ 下 …
Read More