Linux内核调试之:ddd+qemu+busybox环境配置
2013-11-22 15:14
483 查看
最近由于课程需要,对于Linux内核下ddd+qemu+busybox调试环境进行了配置。期间参考了不少的网上资料,如下:
http://leave001.blog.163.com/blog/static/162691293201243110252209/
http://babybandf.blog.163.com/blog/static/61993532011110103317728/
http://www.kgdb.info/kgdb/use_kgdb/using_kgdb_base_qemu/
最后在几经折腾之下,终于完成了正确的配置,所以写篇blog来记录下。(ps:编译内核好费时间。)
所需软件(qemu和busybox)下载地址:http://down.51cto.com/data/1020102
一、环境搭建1.编译内核打开终端输入如下命令 mkdir -p ~/misc/qemu cd ~/misc/qemu wgethttp://www.kernel.org/pub/linux/kernel/v3.0/linux-3.5.4.tar.bz2 tar xvfj linux-3.5.4.tar.bz2 cd linux-3.5.4 make defconfig make menuconfig(选中 kernelhacking –> kernel debugging –> compile the kernel with debug info kernelhacking –> compile the kernel with frame pointers) make cparch/x86/boot/bzImage ..2.安装qemu1)去群共享下载qemu安装文件2)在安装qemu前先要安装库文件。打开终端输入sudo apt-get install gcc libsdl1.2-dev zlib1g-devlibasound2-dev pkg-config libgnutls-dev pciutils-dev3)切换到qemu的源码目录输入./configure生成makefile4)输入make开始编译(如果缺automake包,输入sudo apt-get install autoconf automake libtool安装)5)输入sudo make install开始安装
3.制作根文件系统,打开终端输入以下命令 cd ~/misc/qemu dd if=/dev/zero of=rootfs.img bs=1M count=10 创建大小为1M到根文件系统 mkfs.ext3 rootfs.img 以ext3类型来格式化 mkdir rootfs sudo mount -t ext3 -o loop rootfs.img rootfs将其mount 到新创建到目录上 cd rootfs mkdir dev proc sys 创建三个目录4.安装busybox到根文件系统1)打开终端切换到busybox的源码目录,输入命令make menuconfig配置编译选项a)选择静态编译:BusyboxSettings->Build options->Build Busybox as a static binaryb)取消选择Networkingutilities->iptunelc)取消选择Networkingutilities->inetd2)输入make开始编译3)输入命令make installCONFIG_PREFIX=~/misc/qemu/rootfs把busybox文件系统安装到根文件系统中4)输入cd ~/misc/qemu切换到qemu目录5)输入命令sudo umount rootfs卸载根文件系统二、验证流程 1启动qemu1)打开终端输入,输入命令cd ~/misc/qemu切换到~/misc/qemu目录2)输入qemu-system-i386 -S -kernel bzImage -hdarootfs.img -append "root=/dev/sda init=/bin/ash"启动qemu3)用鼠标点击qemu窗口,然后ctrl+alt+2切换到控制台,输入“gdbservertcp::12344)打开另外一个终端。输入命令cd ~/misc/qemu/linux-3.5.4切换到~/misc/qemu/linux-3.5.4目录5)运行 dddvmlinux(未安装ddd的输入sudo apt-get install ddd安装)6)在gdb的命令行中输入命令target remote localhost:1234将qemu虚拟机连接到ddd的控制台自此就可以通过ddd的控制台用gdb的命令来查看源码的运行信息了。大家也可以将自己需要测试的程序编译好考到根文件系统中运行。
http://leave001.blog.163.com/blog/static/162691293201243110252209/
http://babybandf.blog.163.com/blog/static/61993532011110103317728/
http://www.kgdb.info/kgdb/use_kgdb/using_kgdb_base_qemu/
最后在几经折腾之下,终于完成了正确的配置,所以写篇blog来记录下。(ps:编译内核好费时间。)
所需软件(qemu和busybox)下载地址:http://down.51cto.com/data/1020102
一、环境搭建1.编译内核打开终端输入如下命令 mkdir -p ~/misc/qemu cd ~/misc/qemu wgethttp://www.kernel.org/pub/linux/kernel/v3.0/linux-3.5.4.tar.bz2 tar xvfj linux-3.5.4.tar.bz2 cd linux-3.5.4 make defconfig make menuconfig(选中 kernelhacking –> kernel debugging –> compile the kernel with debug info kernelhacking –> compile the kernel with frame pointers) make cparch/x86/boot/bzImage ..2.安装qemu1)去群共享下载qemu安装文件2)在安装qemu前先要安装库文件。打开终端输入sudo apt-get install gcc libsdl1.2-dev zlib1g-devlibasound2-dev pkg-config libgnutls-dev pciutils-dev3)切换到qemu的源码目录输入./configure生成makefile4)输入make开始编译(如果缺automake包,输入sudo apt-get install autoconf automake libtool安装)5)输入sudo make install开始安装
3.制作根文件系统,打开终端输入以下命令 cd ~/misc/qemu dd if=/dev/zero of=rootfs.img bs=1M count=10 创建大小为1M到根文件系统 mkfs.ext3 rootfs.img 以ext3类型来格式化 mkdir rootfs sudo mount -t ext3 -o loop rootfs.img rootfs将其mount 到新创建到目录上 cd rootfs mkdir dev proc sys 创建三个目录4.安装busybox到根文件系统1)打开终端切换到busybox的源码目录,输入命令make menuconfig配置编译选项a)选择静态编译:BusyboxSettings->Build options->Build Busybox as a static binaryb)取消选择Networkingutilities->iptunelc)取消选择Networkingutilities->inetd2)输入make开始编译3)输入命令make installCONFIG_PREFIX=~/misc/qemu/rootfs把busybox文件系统安装到根文件系统中4)输入cd ~/misc/qemu切换到qemu目录5)输入命令sudo umount rootfs卸载根文件系统二、验证流程 1启动qemu1)打开终端输入,输入命令cd ~/misc/qemu切换到~/misc/qemu目录2)输入qemu-system-i386 -S -kernel bzImage -hdarootfs.img -append "root=/dev/sda init=/bin/ash"启动qemu3)用鼠标点击qemu窗口,然后ctrl+alt+2切换到控制台,输入“gdbservertcp::12344)打开另外一个终端。输入命令cd ~/misc/qemu/linux-3.5.4切换到~/misc/qemu/linux-3.5.4目录5)运行 dddvmlinux(未安装ddd的输入sudo apt-get install ddd安装)6)在gdb的命令行中输入命令target remote localhost:1234将qemu虚拟机连接到ddd的控制台自此就可以通过ddd的控制台用gdb的命令来查看源码的运行信息了。大家也可以将自己需要测试的程序编译好考到根文件系统中运行。
相关文章推荐
- 调试linux内核环境搭建方法(ddd+busybox+qemu+linux3.5.4内核)
- linux内核调试环境的搭建(使用qemu)
- linux内核调试环境搭建-2 用busybox搭建
- linux内核调试:kgdb,配置kgdb调试环境
- CentoOS 6.5 Eclipse+Qemu搭建linux内核源码级调试环境
- linux内核调试环境搭建步骤
- 利用VS2013构搭linux0.11内核调试环境
- Windows内核调试:符号文件和Windbg的安装与环境配置
- systemtap安装&内核调试环境配置
- Linux 内核调试3-UML网络配置
- 利用eclipse + qemu| Vmware + gdb 调试linux内核
- Ubuntu-14.04 安装qemu-kvm调试Linux-3.16.0的内核(一)
- Linux驱动开发环境配置(内核源码树构造)
- 使用QEMU调试Linux内核代码
- inux环境生成core文件 &&Linux Core Dump 配置与调试
- Ubuntu8.04(kernel2.6.24-26)下配置Qemu+kgdb调试内核(kernel2.6.36.2)小记
- linux内核调试环境搭建-3 调试内核模块
- Linux驱动开发环境配置(内核源码树构造)
- Android ndk 开发环境配置与调试(linux)
- 《Linux0.11内核完全注释》读后小结 --- 调试环境的搭建