玩转qemu之内核编译

静态编译qemu_qemu模拟器下编译运行基于riscv指令集的Linux操作系统 基本原理:在物理服务器Ubuntu14.04上安装qemu模拟器,模拟器中运行基于riscv指令集编译的linux镜像文件。用到的工具包括:riscv-qemu(模拟器,可以模拟运行riscv指令集的程序或镜像)riscv-tools(基于riscv指令集的交叉编译工具)riscv-pk(用于包装内核文件vmlinux)busybox(用于给linux镜像安装基本命令,如ls,cat,mv等等)以... 阅读详情

通过之前的步骤,一个基本的虚机环境就建立起来了,接下来就可以编译linux内核:一种方式是直接从kernel.org上面拿最新的代码来编译,基本步骤如下:

1. 获取配置,使用本机的配置文件

  cp /boot/config-`uname -r` .config && make olddefconfig

2.  编译

   make -j $(nproc)

3.安装modules

   make modules_install

4. 安装kernel

   make install

5. reboot机器

参考:

https://www.hiroom2.com/2016/05/29/centos-7-rebuild-kernel-with-src-rpm/

QEMU启动x86-Linux内核 阅读详情

相关推荐

基于Qemu搭建x86_64虚拟环境运行Linux内核

主机软件版本信息 主机系统: wxer@wxer:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.1 LTS Release: 20.04 Codename: focal 模拟器版本(Qemu版本): wxer@wxer:~$ qemu-system-x86_64 --version QEMU emulator version 4.2.0 Copyrig

Second的专栏 8744

QEMU源码编译安装

一、介绍 QEMU在Ubuntu中有两种安装方式: 一种是使用apt-get命令: sudo apt-get install qemu sudo apt-get install qemu-user-static 这种方式安装的QEMU版本一般不是最新的,在Ubuntu16.04下安装的QEMU版本为2.5.0,如果需要更新的版本的话,需要采用下一种方式。 另一种就是使用QEMU源码进行编译安装,好处是可以安装任意版本的QEMU,下文中会详细描述安装步骤以及安装过程中遇到问题的解决办法。 二、Q

子曰小玖的博客 6064

使用qemu调试linux内核

使用qemu调试linux内核       qemu对gdb的良好支持,使它成为研究和调试linux内核的不错的工具, qemu安装和作为单纯的虚拟机来运行别的系统,在这就不说了,网上已经有很多资料了, 主要是记录一下调试基本内核的过程, 以免自己忘了。1.  编译内核2. 编译Busybox3. 建造虛擬磁盤文檔        1. 建一個64M的raw格式的虛擬磁盤,大小根據自己的需要設定。               qemu-img create test.img 64M        2. 在該磁

欢迎来到牛棚 7191

Qemu编译

QEMU是一款开源的模拟器及虚拟机监管器(Virtual Machine Monitor, VMM)。QEMU主要提供两种功能给用户使用。一是作为用户态模拟器,利用动态代码翻译机制来执行不同于主机架构的代码。二是作为虚拟机监管器,模拟全系统,利用其他VMM(Xen, KVM, etc)来使用硬件提供的虚拟化支持,创建接近于主机性能的虚拟机。就是用来运行后面编译的Linux内核,进行嵌入式环境的模拟。可以模拟很多块板子。

yiyu20180729的博客 952

qemu编译方法

本文档描述了qemu-kvm执行配置文件configure的方法,在执行该配置脚本时需要添加很多其的参数才可以保证编译出来的qemu-kvm文件正常执行

Windows非分页缓冲池内存泄漏实战:PoolMon与RAMMap高效排查指南

本文详细介绍了Windows系统中非分页缓冲池内存泄漏的实战排查方法。当系统出现卡顿且内存占用异常增长时,通过RAMMap工具快速定位非分页缓冲池异常,并利用PoolMon监控内核内存分配标签,精准锁定泄漏源。文章提供了从确认症状、安装工具到使用findstr命令溯源驱动文件的完整五步排查流程,并总结了常见泄漏标签与解决方案,帮助用户高效解决深层系统内存问题。

weixin_28455801的博客 1008

qemu编译与使用

Qemu 有两种运行模式,一种是全系统模拟(system mode),一种是用户态模拟(user mode)。qemu 是一款支持多个 CPU 架构的虚拟机,支持如如 Alpha, ARM, Cris, i386, M68K, PPC, Sparc, Mips, Xtensa等;默认编译参数下,configure 会编译所有 ISA 的 QEMU,全量编译会耗时 20 分钟左右,其实很多时候我们不需要绝大多数 ISA,比如 Mips Sparc 的 QEMU 我是不关心的就可以不编译。

燕十三的物联网之旅 5023

数据库:关系运算整理大全(包括关系代数、元组关系演算、域关系演算)

数据库关系运算: 1. 关系代数(基本关系代数、附加关系代数、扩展关系代数) 2. 元组关系演算 3. 域关系演算

ysji's blog 1万+

gcc c语言编译流程

1 前言 最近群里讨论个 C 语言的小程序,看起来都不是很难,但是大家对答案有争论,所以想讨论编译原理,做嵌入式要对编译原理有一定的...

citizai4111的博客 279

知识检索中的四大评估指标:准确率、精确率、召回率与F1分数详解

摘要:NLP算法面试中,评估知识检索系统的核心指标包括准确率、精确率、召回率和F1分数。准确率衡量整体预测正确性,但在样本不均衡时可能失真;精确率关注预测正类中的真实比例(查准能力),召回率衡量真实正类被预测的比例(查全能力)。F1分数是两者的调和平均,提供综合评估。这些指标通过混淆矩阵计算,并存在制约关系:提高召回率往往降低精确率,反之亦然。应用场景包括文档检索(评估结果质量和覆盖度)和文本分类(如垃圾邮件过滤)。面试需掌握指标区别、适用场景及平衡方法(如调整阈值)。F1分数在样本不平衡时比准确率更具参考

Ven%的博客 1762

数据增强综述及albumentations代码使用

数据增强综述及albumentations使用基于基本图形处理的数据增强 本文涉及到的资料: 1.A survey on Image Data Augmentation for Deep Learning 2.Albumentations: Fast and Flexible Image Augmentations 3.Code 基于基本图形处理的数据增强 1.翻转;2.旋转;3.仿射变换;4.色彩空间(RGB、YUV、CMY、HSV,在图像情感分析中会影响标签。最简单的方法就是只改变一个通道。对比度、直方

qq_41917697的博客 6680

Ubuntu 18.04下用QEMU玩转UEFI开发:从GRUB编译到内核启动全流程

本文详细介绍了在Ubuntu 18.04系统上,利用QEMU模拟器从零搭建一个完整的UEFI开发环境。教程涵盖了从GRUB引导程序编译、Linux内核配置与编译,到创建initramfs和虚拟磁盘镜像的全流程,旨在帮助开发者构建一个可控、可调试的内核开发平台,深入理解现代计算机从固件到内核的完整启动机制。

weixin_29195615的博客 540

ARTIX-7 GTP 3G-SDI 工程构建与调试实战

本文详细介绍了基于ARTIX-7 FPGA和GTP收发器的3G-SDI工程构建与调试实战。从基础概念解析到Vivado工程创建、GTP IP核配置、SDI IP核集成,再到系统集成与时钟域处理,提供了全面的技术指导。文章还分享了调试技巧、常见问题排查方法以及性能验证步骤,帮助开发者快速掌握3G-SDI视频传输技术的实现与优化。

weixin_30443813的博客 256

利用qemu编译并运行Linux内核

本文将介绍如何利用 qemu 编译并运行 Linux 内核,旨在搭建一个基于 qemu 的 Linux 内核运行环境,实现内核的编译、运行及调试等功能。具体来说,包括以下内容:1、成功编译 ARM Linux 内核,生成可在 qemu 中运行的内核镜像;2、通过 qemu 模拟不同的开发平台(基于 Cortex - A9 的 Versatile Express 开发平台和 ARMv8 架构的平台),并确保内核在模拟环境中稳定运行;

2302_80173258的博客 2765

遥感影像分割实战:LoveDA数据集从下载到训练全流程指南(附避坑技巧)

本文以LoveDA数据集为例,提供了一份详尽的遥感影像语义分割实战指南。内容涵盖从数据下载、理解与预处理,到环境配置、模型选择与训练,再到性能调优与部署的全流程,并重点分享了多个关键环节的避坑技巧,旨在帮助开发者和研究者高效上手并解决实际问题。

cherry的博客 929

2023最新多文明策略手游《万国觉醒内购版》最新整理Linux商业手工服务端+安卓+详细搭建教程

2023最新多文明策略手游《万国觉醒内购版》最新整理Linux商业手工服务端+安卓+详细搭建教程。源码内置详细搭建教程,感兴趣可自行下载。

百创科技 1713

使用QEMU调试Linux内核 - aarch64

本文介绍了如何在ARM64架构下设置Linux内核调试环境,包括安装所需工具、编译内核、制作根文件系统,以及如何使用GDB进行内核调试。

Linux内核研究者 2481

ardupilot 日志分析《xKF1信息》

ardupilot 日志分析系列将会把ardupilot所有的日志文档进行分析,为我们分析无人机的运行状态,炸鸡原因,传感器状态,电机状态,控制信息,滤波信息做准备。本节主要分析xKF1日志信息,欢迎批评指正。学习好ardupilot必须会分析飞行日志,从飞行日志中我们可以学到很多无人机的知识。无人机是综合知识的体现,涵盖:导航、控制、滤波、算法、协议等各种知识,只有更全面的学习,才能在无人机的道路上越走越远。

陌城烟雨 1225

【qemu】qemu运行linux内核总结

【效果走一波】 【设备平台】 操作系统:ubuntu 系统版本:lts 18.4 架构:x86_64 一、qemu的安装 在ubuntu终端下输入以下命令进行安装: sudo apt-get install qemu 安装完成后,键入qemu后按三次tab键将弹出命令提示,如下图所示: 添加--version可查看对应的命令的版本的信息,如下图所示: 二、编译构建Linux内核 ​ 这篇文章记录时使用的Linux内核版本4.19.4, Step1:使用 make menuconfig 编译

iriczhao的博客 1万+

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

QEMU启动ARM64 Linux内核

本文介绍采用 qemu 模拟ARM-64bit开发板,并启动ARM64 Linux内核。

许振坪的专栏 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

为 QEMU ARM 仿真器编译 Linux 内核:QEMU 模拟 ARM 环境

本文主要讲述如何编译符合 qemu 要求的内核,使用 qemu 成功运行内核。我们需要在 Linux 环境下安装交叉编译工具链,用于在 x86 平台上编译 arm 架构的内核;也要解决其中的依赖问题;如果有需要,还要升级系统自带的 qemu(如果自带版本较高,可以不用重新安装)。如果能够成功的运行内核,后续还可以在 qemu 模拟的环境中,挂在相应的根文件系统,这样就可以完整的运行一个 arm 架构的 linux 系统。

个人笔记 5815

VC中sqlite的使用

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

Linux学习记录(二)QEMU安装与Linux内核环境搭建

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例

louweipu的博客 1万+

交叉编译linux内核并使用qemu运行

在x86_64架构的电脑上采用交叉编译的方式对程序进行编译,并部署到arm板子上运行是我们经常会遇到的,对于依赖关系不怎么复杂的程序,直接使用gcc-arm交叉编译工具,在x86_64电脑上(安装交叉编译工具链)即可编译,编译时指定gcc的版本和相关库的路径。但是对于复杂的程序,特别是依赖大量外部库的程序,使用这种方式就不太可行了。这里还是考虑弄一个较小的arm虚拟机来跑,然后在虚拟机里面把待编译代码放进去进行编译。相对于vbox和VMware这类虚拟机,qemu显然更轻量,更简单。

jinking01的专栏 4223

QEMU启动ARM32 Linux内核

QEMU启动ARM32 Linux内核

许振坪的专栏 5446

QEMU+GDB调试内核

在某些情况下,我们需要对于内核中的流程进行分析,虽然通过 BPF的技术可以对于函数传入的参数和返回结果进行展示,但是在流程的调试上还是不如直接 GDB 单步调试来的直接。

vegiler的博客 1954

【openEuler上使用qemu调试linux内核】

打开DEBUG_INFO,会编译出带调试信息的vmlinux,后续用gdb vmlinux调试。没有命令的话通过 yum install qemu-system-x86_64 -y 安装。这三个模块编译进内核能让内核在启动时识别到我们制作的rootfs.img系统盘为sda。设置BLK_DEV_SD=y 将sd_mod.ko模块编译进内核。设置ATA_PIIX=y 将ata_piix.ko编译进内核。-S #在启动时冻结cpu,类似于启动时打了一个断点。设置ATA=y 将libata.ko编译进内核。

u012133633的博客 2207
上一篇: 玩转qemu之NAT
下一篇: 玩转qemu之制作自定义镜像
Xalloc
博客等级 码龄16年 25粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值