《Linux0.11内核完全注释》读后小结 --- 调试环境的搭建
2012-01-30 13:16
2136 查看
先看了 Linux Kernel Development
再看了 Oreilly-Linux.Device.Drivers.3rd.Edition
后来看了Linux 0.01 内核分析与操作系统设计
然后,打算仔细研究 Linux0.11代码
bochs-2.1.1.tar.gz 在需要带with-gdb-stub 编译,但是由于编译器比较新,所以必须在config.h中定义宏 #define PARANOID
linux-0.11-081030.tar.gz 这份代码可以在4.1.1上编译运行,并且可以debug。需要修改Makefile和Makfile.header中 CFLAGS 加上 –g。这样生成的tools/system就是完整的符号文件。
linux-0.11-for-gcc4.3.2.tar.gz 这份代码应该可以在4.3.2上编译运行,并且可以debug
linux-0.11-devel-040329.zip 这是一份带硬盘的bochs linux 0.11的虚拟机,可是试着运行:
bochs –f bochsrc-hd.bxrc 启动带硬盘的linux 0.11
bootimage-0.11是自带的linux kernel,可以用自己编译的替换之
hdc-0.11.img 是自带的硬盘镜像
可以使用DDD图形界面的GDB,进行调试。
在gcc 4.6 以下编译redhat linux,用linux-0.11-081030.tar.gz 这个,加上-g,然后用hdc-0.11.img进行。
qemu -s -S -hda hdc-0.11.img -kernel ../linux-0.11/Image -append root=/dev/hda
在gcc 4.6 ubantu 以上编译 看这个文章:http://www.oldlinux.org/oldlinux/viewthread.php?tid=13681
qemu -m 16M -boot a -fda Image -hda ../rootfs/hdc-0.11-new.img -S -gdb tcp::1234
通过编译源代码,可以生成fd的Image, 然后加载OS, 硬盘hdc 用预先组装好的。
要用eclipse调试的话,很方便,但是必须用galileo版本的eclipse才可以。其他的新版本无法调试,花了半天的时间折腾这个。eclipse调试可以看这篇文章:http://www.linuxidc.com/Linux/2011-08/40882p3.htm
再看了 Oreilly-Linux.Device.Drivers.3rd.Edition
后来看了Linux 0.01 内核分析与操作系统设计
然后,打算仔细研究 Linux0.11代码
1. 在Linux 4.1.1 上搭建bochs的Linux Kernel 调试环境
安装bochs
bochs-2.1.1.tar.gz 在需要带with-gdb-stub 编译,但是由于编译器比较新,所以必须在config.h中定义宏 #define PARANOID
Linux 0.11 编译及虚拟机
linux-0.11-081030.tar.gz 这份代码可以在4.1.1上编译运行,并且可以debug。需要修改Makefile和Makfile.header中 CFLAGS 加上 –g。这样生成的tools/system就是完整的符号文件。linux-0.11-for-gcc4.3.2.tar.gz 这份代码应该可以在4.3.2上编译运行,并且可以debug
linux-0.11-devel-040329.zip 这是一份带硬盘的bochs linux 0.11的虚拟机,可是试着运行:
bochs –f bochsrc-hd.bxrc 启动带硬盘的linux 0.11
bootimage-0.11是自带的linux kernel,可以用自己编译的替换之
hdc-0.11.img 是自带的硬盘镜像
安装DDD
可以使用DDD图形界面的GDB,进行调试。
2. 在Ubantu Linux 4.6.1 虚拟机上搭建qemu的Linux Kernel 0.11调试环境
编译安装Qemu 14.1 (15版本无法使用)
在gcc 4.6 以下编译redhat linux,用linux-0.11-081030.tar.gz 这个,加上-g,然后用hdc-0.11.img进行。qemu -s -S -hda hdc-0.11.img -kernel ../linux-0.11/Image -append root=/dev/hda
在gcc 4.6 ubantu 以上编译 看这个文章:http://www.oldlinux.org/oldlinux/viewthread.php?tid=13681
qemu -m 16M -boot a -fda Image -hda ../rootfs/hdc-0.11-new.img -S -gdb tcp::1234
通过编译源代码,可以生成fd的Image, 然后加载OS, 硬盘hdc 用预先组装好的。
要用eclipse调试的话,很方便,但是必须用galileo版本的eclipse才可以。其他的新版本无法调试,花了半天的时间折腾这个。eclipse调试可以看这篇文章:http://www.linuxidc.com/Linux/2011-08/40882p3.htm
相关文章推荐
- 《Linux0.11内核完全注释》读后小结 --- 调试环境的搭建
- 《Linux0.11内核完全注释》读后小结 --- 中断与系统调用
- 《Linux0.11内核完全注释》读后小结 --- 中断与系统调用
- 《Linux0.11内核完全注释》读后小结 --- 启动引导
- 《Linux0.11内核完全注释》读后小结 --- 内存寻址
- 《Linux0.11内核完全注释》读后小结 --- 内存寻址
- 《Linux0.11内核完全注释》读后小结 --- 启动引导
- 《Linux0.11内核完全注释》读后小结 --- 进程调度与信号
- 《Linux0.11内核完全注释》读后小结 --- 进程调度与信号
- linux-0.11调试教程,源起,从linux内核完全注释的几处错误说起
- linux-0.11内核调试运行阅读环境的搭建及使用
- 《linux内核完全解读(基于0.11内核)》--环境搭建
- Linux 0.11内核编译和bochs上的实验环境的搭建
- 赵炯<<Linux 0.11内核完全剖析>>P30 MBR程序调试
- 搭建linux 0.11内核编译环境(转)
- linux内核调试环境搭建步骤
- LINUX 0.11内核完全剖析学习笔记-第三章内核编程语言和环境
- 调试linux内核环境搭建方法(ddd+busybox+qemu+linux3.5.4内核)
- 看《Linux0.11内核完全注释2.01》的方法
- linux 0.11 内核完全注释V3.0学习笔记(一)