ubuntu--qemu调试linux内核环境搭建

ubuntu14.04的qemu环境搭建 文章目录前言ubuntu镜像获取官方资料的获取安装步骤安装原生的ubuntu拷贝所需资料内核编译启动qemu挂载qemu的根文件系统到本地不带GUI带GUI 前言 最近在拜读宋宝华老师的《Linux设备驱动开发详解-基于最新的linux4.0内核》,但是他只提供了windows下的虚拟机,因此mac用户就有点难受了。昨天自己鼓捣了一下,完成了mac上整个环境的搭建,今天在windows上重新搭建一... 阅读详情

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

我下的是qemu-0.12.4.tar.gz

 

 

 

 

 

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

 

 

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

 

 

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

 

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

生成bzImage

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

 

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

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

(qemu)gdbserver 1234

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

重新输入下面

(qemu)gdbserver tcp::1234

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

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

在gdb调试环境下,连接qemu

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

 

 

 

驱动开发系列02 - 在ubuntu20.04 上配置 qemu/kvm linux kernel调试环境 (1): 在宿主机上运行gdb需要内核二进制文件,我们可以将虚拟机的/usr/src/linux-source-5.4.148整个目录都拷贝到宿主机上,比如拷贝到/path/to/linux-build目录下。(2): 在宿主机上配置gdb环境,为了能够让gdb在启动时能够加载 Linux helper 脚本,需要在~/.gdbinit 文件中添加如下内容: /path/to/linux-build 就是上一步拷贝过来的linux源码目录。(2):源码下载下来,将其解压到/usr/src 目录下。 阅读详情

相关推荐

用QEMU和GDB调试Linux内核(linux-5.5.9)

操作系统:ubuntu 19.10(unbuntu镜像下载) Linux内核:linux-5.5.9 (https://www.kernel.org/) QEMU:qemu-4.2.0(https://download.qemu.org/) GDB:gdb-9.1(https://download.qemu.org/) busybox:busybox-1.31.1 参考: https:...

数字人生 1438

系统构建 -- QEMU调试内核(gdb)

qemu中包含有gdbserver功能,利用这个功能我们可以直接对kernel进行gdb调试。 -S freeze CPU at startup (use 'c' to start execution) -s shorthand for -gdb tcp::1234 主要就是利用qemu的这两个选项来进行调试,比如我的qemu环境中的启动命令:...

程序猿Ricky的日常干货 2067

Windows 游戏 EXCEPTION_ACCESS_VIOLATION 修复:3类硬件问题与5步软件排查法

本文提供Windows游戏EXCEPTION_ACCESS_VIOLATION错误的终极修复指南,涵盖3类硬件问题(内存故障、显卡问题、超频不稳定)和5步软件排查法(文件验证、驱动更新、DEP调整等),帮助玩家彻底解决0xFFFFFFFFFFFFFFFF内存访问冲突问题。

weixin_31856057的博客 2400

QEMU 啓動gdb 調試

上一章介紹了如何使用QEMU 運行RISC-V 程序, GDB 作爲強大的代碼調試工具,對軟件開發至關重要,本章介紹如何啓動GDB 調試

silencewly的专栏 586

信道估计之MMSE算法

信道估计之MMSE算法前言MMSE估计的原理总结 前言        前篇分析了LS信道估计算法,也说明了由于没有考虑SNR的影响,所以LS算法不适合在低信噪比的情况下使用。本篇来学习信道估计的另外一种常用的算法–MMSE。        为什么说LS没有考虑噪声大小的情况呢,因为LS算法使用的是实际观测量与估计观测量的误差,这并不能精确的代表估计量的真值与估计值的误

大白的博客 2万+

xctf攻防世界 MISC高手进阶区 low

1. 进入环境,下载附件 给出的一张bmp图片,没有其他信息 2. 问题分析 扔进binwalk中,没有发现有用信息 使用zsteg,没有有用信息 塞入StegSolve中,发现有点猫腻,如图: 有点二维码的感觉,emmm,需要像素处理,但不知道如何下手,参考网上的wp,发现是让使用lsb隐写,copy代码: from PIL import Image img = Image.open('./pic/low.bmp') img_tmp = img.copy() pix = img_tmp.load()

l8947943的博客 1万+

Qemu调试Linux内核

Qemu是很有名的ARM虚拟程序,可以在Qemu中运行调试ARM平台Linux内核。编译Qemu,Linux内核,busybox的环境是安装ubuntu 10.4系统的virtualbox。  在安装完ubuntu 10.4之后,最好先准备一下编译环境。  首先需要安装编译需要的库 $ sudo apt-get install build-essential autoconf libtoo

hong 2902

cs188Inference in Bayes Nets(贝叶斯网络的推理)

cs188Inference in Bayes Nets贝叶斯网络的推理Question1(3 points):Bayes Net StructureQuestion2(1 points):Bayes Net ProbabilitiesQuestion 3(5 points):Join FactorsQuestion4(4 points):EliminateQuestion5(4 points):NormalizeQuestion 6(4 points):Variable EliminationQuesti

weixin_46582817的博客 1673

gdb 远程qemu-arm调试

把 c 编译成 arm 指令的可执行文件  /usr/bin/arm-linux-gnueabi-g++ hello.cpp  cat hello.cpp #include void crash(){ char *a=0; *a=0; } int main() { printf("hello world\n"); crash();

span76的专栏 6867

【纯血鸿蒙】安装hdc工具

参考资料:

oh.K 5545

Unity3d移动端性能优化

以下条目主要针对移动端,大部分也适合PC端 一、Profiler的使用 1.性能优化应贯穿项目开发的全过程,如需求(性能能不能达到要求)、设计、开发、测试等。不能开发结束才优化性能。 2.官方推荐的优化工具是【Window】->【Profiler】 3.确认瓶颈是CPU-bound(Gfx.WaitForCommands)还是CPU-bound(Gfx.WaitForPresent) 4.内存分析使用Memory Profiler 二、内存优作 5.减少内存收集的影...

zouxin_88的专栏 3055

关于ubuntu中安装QEMU时候遇到的问题解决

在打开QEMU下载目录“ /home/kvm/qemu-2.5.0”,执行命令“./configure --enable-sdl”进行配置,时候出现问题 该步骤出现问题是因为缺少相应的包导致配置失败,如图 使用“apt-cache search 包名”进行搜索,然后使用“apt-get install”命令逐一下载安装即可。(可能会出现的错误为缺少zlib包,使用命令“apt-get install zlib zlib1g zlib1g-dev”命令安装。没有c++编译器时,使用命令“apt-

梁小布的博客 2097

《Unity DOTS之ECS从入门到不香》(1)基本概念

文章目录一、什么是DOTS?二、什么是ECS?三、Hello World 一、什么是DOTS? Data Oriented Tech Stack(DOTS)是unity推出的多线程面向数据的技术堆栈 。它是一套高性能解决方案,包含三个部分: 1.ECS:ECS是一种有别于面向对象的编程模式,是面向CPU Cache友好的编程模式。要求代码都要按照 实体+组件+系统 的框架构建。官方链接 2.JobSystem:JobSystem是unity推出的一套先进的多线程任务管理系统,结合ECS可以获得最佳性能。当然

Cxihu田树东的游戏开发博客 2731

在ubuntu上使用BusyBox和qemu搭建linux内核调试环境的具体步骤

完成任务: 熟悉了解了如何进行linux内核的调试。 基本方法: 使用qemu创建虚拟机,进行调试。 所遇问题 busybox 出现问题 make install 没有出现_install 文件夹 而是在上级目录生成了install文件夹里会生成的东西。 用这些文件构建的虚拟磁盘无法正常启动虚拟机。 显示无法找到init文件。重新下载busybox后问题得到解决 linux内核文件一开...

lifelike 818

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

linux内核调试环境搭建-1 Ubuntu10 .10下编译安装qemu

内核调试一般比应用层程序调试困难很多,主要因为内核是系统开机后执行的第一个程序,这使得用于一般应用程序的调试方法无法使用在内核上。自由软件社群开发了一些特殊方法解决这问题。 这些方法中最方便的方法莫过于 KGDB 的使用。KGDB 是个一特殊的内核辅助工具,除了在内核代码中加入了一些调试代码外也提供一个 gdbstub 用于和远程 gdb 调试程序联机用。以前,这样一个使用远程 gdb...

XscKernel的专栏 记录工作中做的点滴 7304

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

告别云服务器:用QEMU和OVMF在本地Ubuntu上快速搭建一个可调试的Linux内核环境

本文详细介绍了如何在本地Ubuntu系统上使用QEMU和OVMF快速搭建一个高效、可调试的Linux内核开发环境。通过对比传统虚拟机的性能劣势,展示了QEMU+KVM组合的秒级启动和低内存占用优势,并提供了从环境搭建到内核编译、调试的完整指南,帮助开发者摆脱云服务器的限制,提升开发效率。

weixin_33739627的博客 326

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Ubuntu 20.04下用Qemu 4.2.0快速搭建Linux 5.8.6内核调试环境(附BusyBox配置)

本文详细介绍了在Ubuntu 20.04系统上,使用Qemu 4.2.0模拟器快速搭建Linux 5.8.6内核调试环境的完整流程。教程涵盖从环境准备、内核编译配置、BusyBox构建最小根文件系统,到最终通过Qemu启动并启用GDB进行源码级调试的全步骤,为内核学习和开发提供了一个安全、可控的虚拟环境。

potato的博客 1112

告别虚拟机臃肿:用QEMU+OVMF在Ubuntu上快速搭建一个32MB的极简Linux内核调试环境

本文详细介绍了如何在Ubuntu上使用QEMU+OVMF搭建一个仅32MB的极简Linux内核调试环境,显著提升开发效率。通过优化启动速度(2-3秒)和资源占用(128MB内存),该方案支持EFI引导、内核调试和基本命令行操作,是替代传统虚拟机的轻量级解决方案。

weixin_42552315的博客 389

linux内核编译busybox,[原创]QEMU + Busybox模拟Linux 内核环境

前言最近转Linux平台,开始深入Linux内核相关,总结一下进行Linux内核环境模拟流程。结合Linux的内核源码一起,效果会比较好。准备环境主机环境Ubuntu 18.04Linux ubuntu 5.4.0-58-generic #64~18.04.1-Ubuntu SMP Wed Dec 9 17:11:11 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux...

weixin_42480812的博客 669

利用qemu+gdb在ubuntu下搭建调试kernel的环境

在A Terminal中运行以下命令 qemu-system-x86_64 -kernel bzImage -boot c -m 1024 -initrd initramfs.img -append "root=/dev/sda rw console=ttyS0, 115200 acpi=off nokaslr" -serial stdio -display none -s -S。如果需要调试内核的kvm模块,则向上述命令添加 -enable-kvm。

maimang1001的专栏 374

linux内核调试+qemu+eclipse

一、调试环境: 在ubuntu16.04下,在虚拟机里边运行的ubuntu,装32位的运行较快,选择较新的ubuntu版本是因为安装qemu、eclipse比较简单,在安装软件上节约时间。 二、安装的软件 1----安装qemu相关软件:sudo apt-get install kvm qemu libvirt-bin virtinst virt-manager virt-vie

kaishuishushu的博客 520

linux内核调试+qemu+eclipse【转】

本文转载自:https://blog.youkuaiyun.com/WANG__RONGWEI/article/details/54922727 一、调试环境: 在ubuntu16.04下,在虚拟机里边运行的ubuntu,装32位的运行较快,选择较新的ubuntu版本是因为安装qemu、eclipse比较简单,在安装软件上节约时间。 二、安装的软件 1----安装qemu相关软件:sudo apt-get ...

zzb2760715357的博客 109

【Linux内核调试环境搭建02】使用qemu运行内核

好了,没有根文件系统进入panic,下一章再说。另外你是否发现按下ctrl+c没办法让qemu退出,你可以按ctrl+a再按x即可。

qq_38974298的博客 778
上一篇: 永久地址映射
下一篇: 指针和数组的效率对比
cha_echo
博客等级 码龄17年 2粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值