热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu系统部署qemu调试Linux内核环境

下载qemu源码:http://wiki.qemu.org/Download我下的是qemu-0.12.4.tar.gzzecho@zecho-laptop:~$tarzxvfqemu-0.12.4.tar.gzzecho@zecho-laptop:~$cdqemu-0.12.4需要在configure之前安装几个组件

下载qemu源码:http://wiki.qemu.org/Download

我下的是qemu-0.12.4.tar.gz


zecho@zecho-laptop:~$ tar zxvf qemu-0.12.4.tar.gz
zecho@zecho-laptop:~$ cd qemu-0.12.4


需要在configure之前安装几个组件


zecho@zecho-laptop:~$ sudo apt-get install zlib1g-dev


下面这个如果不安装,当然也能编译通过,但在安装完成以后,启动qemu,会出现VNC server running on `::1:5901′


zecho@zecho-laptop:~$ sudo apt-get install libsdl1.2-dev
 


然后就算简单的./configure make make install


zecho@zecho-laptop:~$ ./configure
zecho@zecho-laptop:~$ sudo make
zecho@zecho-laptop:~$ sudo make install


然后是编译linux kernel,具体过程就不详细介绍,google里面有很多,推荐http://kingworld.org/linux/62

生成bzImage

进入linux源码目录,并需要http://wiki.qemu.org/Download下载文件系统镜像linux-0.2.img,也放入linux源码目录


zecho@zecho-laptop:~/src/linux-2.6.34$ qemu -S -kernel arch/i386/boot/bzImage -hda linux-0.2.img -append "root=dev/hda"


然后会出现qemu的工作终端,你在上面点击鼠标可以陷入,ctrl + alt + 2可以释放鼠标

下面是启动gdb服务,并设置连接端口

(qemu)gdbserver 1234

但这时出现了错误: could not open gdbserver on device 1234

重新输入下面

(qemu)gdbserver tcp::1234

这时会显示qemu在等待gdb的连接

重新打开一个新的ubuntu终端,进入linux源码目录下:


zecho@zecho-laptop:~/src/linux-2.6.34$gdb vmlinux


在gdb调试环境下,连接qemu


(gdb)target remote localhost:1234


这时就可以正常使用gdb了,设置断点,查看源码.....:-)


推荐阅读
  • 本文介绍如何在Linux Mint系统上搭建Rust开发环境,包括安装IntelliJ IDEA、Rust工具链及必要的插件。通过详细步骤,帮助开发者快速上手。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 在哈佛大学商学院举行的Cyberposium大会上,专家们深入探讨了开源软件的崛起及其对企业市场的影响。会议指出,开源软件不仅为企业提供了新的增长机会,还促进了软件质量的提升和创新。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • PHP 时间与日期工具类:星座、干支、生肖的实现
    本文介绍了一个PHP时间与日期工具类,涵盖了时区设置、有效日期和时间检查、星座、干支、生肖计算等功能。该工具类特别适用于需要处理中国农历及西方星座的应用场景。 ... [详细]
  • 在Ubuntu 8.04中安装美观的Cairo-Dock桌面增强工具
    本文介绍如何在Ubuntu 8.04系统中安装和配置Cairo-Dock,这款桌面增强工具以其精美的界面和高效的功能备受用户青睐。文章将指导您通过简单的步骤完成安装,并提供一些实用的配置建议。 ... [详细]
  • 选择适合生产环境的Docker存储驱动
    本文旨在探讨如何在生产环境中选择合适的Docker存储驱动,并详细介绍不同Linux发行版下的配置方法。通过参考官方文档和兼容性矩阵,提供实用的操作指南。 ... [详细]
  • 云计算的优势与应用场景
    本文详细探讨了云计算为企业和个人带来的多种优势,包括成本节约、安全性提升、灵活性增强等。同时介绍了云计算的五大核心特点,并结合实际案例进行分析。 ... [详细]
  • 本文详细介绍了如何在PHP中进行数组删除、清空等操作,并提供了在Visual Studio Code中创建PHP文件的步骤。 ... [详细]
author-avatar
爆米花来爆料V
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有