调试Linux内核环境MenuOS系统
调试Linux内核环境MenuOS系统 一、实验简介 本文采用自己搭建环境的方式对gdb进行了模拟。 (1)工具介绍 1 )QEMU介绍 QEMU是一个主机上的VMM(virtual machine monitor),通过动态二进制转换来模拟CPU,并提供一系列的硬件模型,使guest os认为自己和硬件直接打交道,其实是同QEMU模拟出来的硬件打交道,QEMU再将这些指令翻译给真正硬件进行操作。通过这种模式,guest os可以和主机上的硬盘,网卡,CPU,CD-ROM,音频设备和USB等设备进行交互。 2 )BusyBox介绍 Busybox中包含了linux中的很多指令,Busybox是一个开源项目,遵循GPL v2协议。Busybox将众多的UNIX命令集合进一个很小的可执行程序中,可以用来替代GNU fileutils、shellutils等工具集。Busybox中各种命令与相应的GNU工具相比,所能提供的选项比较少,但是也足够一般的应用了。 (2)建立环境的几个重要步骤 1)安装编译工具链。 2)安装qemu模拟器 3)编译arm架构内核 4)测试qemu是否正常启动 5)制作文件系统,本实验采用下载下来的根文件系统 6)启动系统,测试gdb的服务端和客户端。 嵌入式开发由以下几个步骤完成。 (3)gdbServer原理 目标机器需要运行程序和 gdbserver