实验一-Linux源码修改编译运行
2014-05-23 18:41
309 查看
───┬──┐ ├──┐┌┐─┴─╮ ┌┐ ╭─┌──┐
│ ┼ ╯─┬┐││───┐┌┐ │┌┐│ │ │
╰─┼─╯┼ │ ││││───╯│ │ │└┐├──│
│ ┼ │ ││││───┐│ │ │╭┘│ │
│ │ ├─┴╯││ ╭╯│ ┌│ │└─├──│
───┴──└ ╰──┘└╯└─╯ └╯╰┘╰┘└─┴──┴
logo↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓:
一.单独编译BOOTSECT.S,制作系统引导镜像
1.编译链接
跳转到boot文件夹下,利用as86和ld86命令编译和链接bootsect.s生成bootsect
2. 制作Image镜像
引导扇区必须要正好占用一个磁盘扇区(512byte),但是这里bootsect有544个字节
其中多余的32byte的是可执行文件头占用的…所以可以用命令去掉开头的32个字节制作Image镜像
打开bootsect查看多余的32byte可执行文件头
跳过bootsect前端的32字节制作Image
3.在虚拟机中启动boot
复制制作好的Image到linux-0.11目录下,返回oslab目录,执行./run可以看到虚拟机成功进入引导程序
二.修改build.c文件
1.当在linux-0.11目录执行makeBootImage的时候发现出现了Unable to open ‘system’
make: *** [BootImage] Error1的错误,这是因为此命令传送给build.c的第3个参数为none时,
build.c执行了die()函数
2.修改build.c
用vim打开build.c找到当main的第三个参数为none的处理代码,将调用die()的代码注释掉,:wq保存退出
3.再次执行make BootImage命令,成功
传不上图片。请谅解。。有时间补上
│ ┼ ╯─┬┐││───┐┌┐ │┌┐│ │ │
╰─┼─╯┼ │ ││││───╯│ │ │└┐├──│
│ ┼ │ ││││───┐│ │ │╭┘│ │
│ │ ├─┴╯││ ╭╯│ ┌│ │└─├──│
───┴──└ ╰──┘└╯└─╯ └╯╰┘╰┘└─┴──┴
logo↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓:
一.单独编译BOOTSECT.S,制作系统引导镜像
1.编译链接
跳转到boot文件夹下,利用as86和ld86命令编译和链接bootsect.s生成bootsect
2. 制作Image镜像
引导扇区必须要正好占用一个磁盘扇区(512byte),但是这里bootsect有544个字节
其中多余的32byte的是可执行文件头占用的…所以可以用命令去掉开头的32个字节制作Image镜像
打开bootsect查看多余的32byte可执行文件头
跳过bootsect前端的32字节制作Image
3.在虚拟机中启动boot
复制制作好的Image到linux-0.11目录下,返回oslab目录,执行./run可以看到虚拟机成功进入引导程序
二.修改build.c文件
1.当在linux-0.11目录执行makeBootImage的时候发现出现了Unable to open ‘system’
make: *** [BootImage] Error1的错误,这是因为此命令传送给build.c的第3个参数为none时,
build.c执行了die()函数
2.修改build.c
用vim打开build.c找到当main的第三个参数为none的处理代码,将调用die()的代码注释掉,:wq保存退出
3.再次执行make BootImage命令,成功
传不上图片。请谅解。。有时间补上
相关文章推荐
- Android 4.0 framework源码修改编译,模拟器运行不起来——解决
- linux-0.11 GCC4.3下可编译运行的源码
- Android 4.0 framework源码修改编译,模拟器运行不起来
- 比特币源码linux下环境配置编译运行bitcoin
- Linux下通过源码编译安装程序(configure/make/make install的作用,然后在/etc/profile文件里修改PATH环境变量)
- linux下编译运行Apache源码
- Linux实验:Linux0.00注入到Linux0.11,Bochs中编译运行
- linux环境下编译源码和运行程序时,include文件和lib库文件的注意事项
- linux下运行《UNIX环境高级编程》的第一个程序时源码编译出错的处理方法
- 关于crtmpserver编译运行及源码修改
- Linux环境下源码编译和运行常用的两个命令:pkg-config和ldconfig
- linux-0.11 GCC4.3下可编译运行的源码
- Android 4.0 framework源码修改编译,模拟器运行不起来——解决
- 比特币源码linux下环境配置编译运行bitcoin
- Linux下用Eclipse编译、安装、运行、调试PostgreSQL源码
- 64位 linux操作系统下如何编译和运行32位源码
- 比特币源码linux下环境配置编译运行bitcoin
- Linux 源码编译与程序运行期间静态库与动态库搜索路径