Vmware虚拟机安装Ubuntu20.4系统及QEMU模拟ARM64 Linux

ARM64 ubuntu20.04根文件系统制作 ARM64 ubuntu20.04根文件系统制作 虚拟机环境搭建 创建镜像文件 官网下载ubuntu-base 切换根文件系统 安装工具包 安装桌面环境。 netplan配置 添加用户 卸载没用的软件 ubuntu修改串口中断自动登录。 关闭自动休眠 阅读详情


实验1-1:安装Ubuntu 20.04系统
目标:安装图形化Ubuntu系统,为后续实验提供基础环境。
1. 安装步骤:
   -下载镜像:从Ubuntu官网或清华镜像站获取Ubuntu 20.04 Desktop ISO文件。
   -制作启动盘:使用Rufus或UltraISO将ISO写入U盘,选择UEFI模式。
   -分区配置(关键):
     EFI分区:500MB-1GB,逻辑分区,类型EFI。
     Swap分区:建议与物理内存相等(如8GB内存则分配8GB)。
     根分区(/):至少20GB,Ext4格式。
     /home分区:剩余空间,存储用户数据。
   -完成安装:设置用户名、密码,选择时区,安装完成后更新系统(`sudo apt update && sudo apt upgrade)。

2. 快照管理:
   - 安装完成后创建名为“Ubuntu20-04”的快照,备注“原始干净的Ubuntu 20.04。

实验1-2:更换内核(内核编译与安装)
目标:编译新内核并替换原内核,理解内核模块管理。
1. 依赖安装:
   bash
   sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev bc

2. 内核编译:
   -获取源码:
     bash
     wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.15.tar.xz
     tar -xvf linux-5.15.tar.xz
     cd linux-5.15
    
   -配置与编译:
     bash
     make menuconfig  # 使用默认配置或手动调整
     make -j4         # 多线程编译加速
     sudo make modules_install && sudo make install
     
   -更新引导:`sudo update-grub`,重启后通过`uname -r`验证新内核版本。

3. 常见问题:
   -依赖缺失:如编译报错`libelf-dev not found`,需安装对应包。
   -启动失败:若新内核无法启动,重启选择旧内核进入系统,检查编译配置或日志(`/var/log/kern.log)。

快照管理:实验完成后创建快照“Ubuntu20-test1-1”,备注“更换新内核”。

实验1-3:使用QEMU运行Linux系统
目标:通过QEMU模拟器运行自定义Linux内核及根文件系统。
1. QEMU安装:
   bash
   sudo apt install qemu-system-x86 qemu-utils
  

2. 启动内核(需提前编译内核和根文件系统):
   bash
   qemu-system-x86_64 -kernel ./bzImage -hda ./rootfs.img -append "root=/dev/sda console=ttyS0" -nographic
   
   -参数解析:
     -kernel:指定内核镜像。
     -hda:挂载根文件系统镜像。
     -append:内核启动参数,指定根设备为`sda`。

3. 问题解决:
   -根文件系统挂载失败:检查镜像格式(需为Ext4)及内核配置(启用`CONFIG_BLK_DEV_SD`)。
   -无输出:添加`-serial stdio`参数确保输出到终端。


实验1-4:创建根文件系统
目标:构建包含BusyBox的最小根文件系统。
1. BusyBox编译:
   bash
   git clone https://github.com/mirror/busybox.git
   cd busybox
   make menuconfig  # 启用静态编译(Build static binary)
   make -j4 && make install
   

2. 制作根文件系统镜像:
   bash
   dd if=/dev/zero of=rootfs.img bs=1M count=128
   mkfs.ext4 rootfs.img
   sudo mount rootfs.img /mnt
   sudo cp -r busybox/_install/* /mnt
   sudo mkdir /mnt/{etc,dev,proc,sys}
   sudo umount /mnt
   
   (需创建`/etc/inittab`和`/etc/init.d/rcS`配置文件,设置初始化脚本)。


实验1-6:编译ARM64最小系统
目标:交叉编译ARM64内核并运行于QEMU。
1. 交叉工具链安装:
   bash
   sudo apt install gcc-aarch64-linux-gnu
   

2. 内核编译:
   bash
   export ARCH=arm64
   export CROSS_COMPILE=aarch64-linux-gnu-
   make defconfig && make -j4
   

3. QEMU启动:
   bash
   qemu-system-aarch64 -M virt -cpu cortex-a53 -m 1G -kernel ./arch/arm64/boot/Image -nographic
   
   (需配合ARM64根文件系统镜像,制作方法同实验1-4)。
 

使用QEMU在x86 Ubuntu虚拟机中搭建ARM64开发环境 虚拟化技术通过软件模拟硬件环境,使不同架构的系统和应用得以运行。QEMU作为一款开源的机器模拟器,其核心原理是通过动态二进制翻译实现跨架构指令集模拟,支持系统模式和用户模式。这项技术的价值在于极大降低了异构架构开发的硬件门槛和成本,使开发者能在单一物理机上构建多架构测试环境。在嵌入式开发、CI/CD流水线、为树莓派或苹果M系列芯片设备编译软件等场景中,跨架构虚拟化成为关键支撑。本文以在x86 Ubuntu虚拟机内搭建ARM64 Ubuntu系统为例,详细介绍了利用QEMU进行全系统模拟的完整流程,包括环境准 阅读详情

相关推荐

Arm Mac本地部署Overleaf:ARM64 Ubuntu+Docker全链路适配指南

Docker 是基于 Linux 容器技术的轻量级虚拟化方案,其核心依赖于宿主机内核、CPU 架构与镜像平台的严格对齐。在 Apple Silicon(ARM64)设备上,传统 x86_64 教程中的 'ubuntu安装docker' 步骤极易因架构错配导致 exec format error、syscall 不兼容或性能断崖式下降。关键原理在于:Docker Engine 必须原生支持 linux/arm64 平台,且所有依赖镜像(如 mongo、redis、node)需显式声明 --platform,否

weixin_34068198的博客 1907

【Docker】ubuntu20.04 X86机器搭建NVIDIA ARM64 TX2的Docker镜像

是一个用于利用当前操作系统来运行其它架构的一个仿真器,可以通过x86的机器编译出其它各个架构的docker镜像。打开清华源官网,选择自己使用的ubuntu的版本,例如:Ubuntu 20.04。为了后面ubuntu下载安装软件快些,需要使用国内的源,比如清华源。通过查询命令可以看到刚刚被成功创建的TX2的容器,并且容器的ID为。因为需要在X86架构机器模拟ARM架构来编译,这里需要用到。,下次启动就可以直接通过容器ID来启动。因为TX2实际的板子使用的版本为。,所以这里的镜像保持一直都使用。

ZHONGCAI0901的博客 3181

Windows上QEMU全系统模拟运行ARM版Ubuntu实战指南

全系统模拟是一种在x86主机上通过指令翻译运行不同架构操作系统的虚拟化技术,其核心原理是利用QEMU等模拟器动态翻译ARM指令集,从而在本地构建完整的ARM硬件环境。该技术能显著降低跨平台开发门槛,实现编译、运行、调试闭环,尤其适用于ARM服务器、树莓派等嵌入式场景的兼容性验证。在Windows平台上,借助QEMU的系统模式模拟,开发者可直接安装ARM版Ubuntu,利用virtio半虚拟化驱动提升磁盘与网络I/O性能,并通过SSH端口转发实现便捷的远程操作。本文详细记录了从环境搭建、系统安装到性能调优的完

weixin_34032792的博客 344

Ubuntu更换软件源(20.04LTS版本)【ARM架构以及X86架构的Ubuntu】

在写这篇文章之前,我先痛斥一下所有搜索引擎搜索出来的文档,简直是垃圾到极致,我是真的无力吐槽,太垃圾了,搜出来了几篇全部互抄的,卵用没有。 首先备份一下软件源的初始文件 sudo cp /etc/apt/sources.list ./sources/list.bk 然后清空原始的sources.list文件中的内容。 然后我们打开清华大学的镜像源地址:清华大学软件源直达 然后根据这张图去找对应的镜像源。 X86架构镜像源 ARM架构镜像源 然后选择对应的Ubuntu版本复制里面的内容。复制到刚刚的

qq_16733389的博客 7329

QEMU虚拟机实战:从x86到ARM跨架构模拟与国产系统适配

虚拟化技术是现代开发与运维的基础能力,而QEMU作为一款开源模拟器,凭借其跨架构支持和灵活的脚本化能力,成为多环境测试与嵌入式开发的首选工具。它既可以模拟x86、ARM、RISC-V等多种CPU架构,也能运行Linux、Windows及国产操作系统,配合KVM等硬件加速器,同架构虚拟化性能可接近物理机。从系统级虚拟化到嵌入式内核调试,从CI/CD动态环境到国产化适配验证,QEMU将硬件抽象为软件,让开发者无需购买多台实体机即可随时切换不同架构与系统组合。本文从虚拟机镜像管理、启动参数、网络配置等基础操作入手

weixin_34293059的博客 421

QEMU虚拟机实战:从x86到ARM64与RISC-V的跨架构模拟

虚拟化技术是现代云计算和嵌入式开发的核心基础。QEMU作为一款开源虚拟化工具,通过动态二进制翻译(TCG)和硬件加速(KVM/WHPX)机制,能够在x86主机上模拟多种CPU架构。它既支持同架构虚拟机的高性能运行,也能跨架构启动ARM64、RISC-V等异构系统,为软件适配、内核调试和CI验证提供了灵活的环境。在实际工程中,QEMU配合qcow2磁盘镜像、virtio设备及用户态网络,可快速搭建开发测试环境,甚至支持麒麟、UOS等国产操作系统的运行验证。围绕QEMU的安装、核心参数、跨架构启动方法和排错实践

weixin_34341117的博客 448

【Linux学习】Vmware虚拟机安装Ubuntu20.4系统及QEMU模拟ARM64 Linux

通过完成这些实验,我对 Linux 内核的安装、配置、编译以及在不同虚拟机环境下的运行有了更深入的理解和实践经验。在实验过程中,遇到的各种问题也锻炼了我的问题解决能力。后续我还将继续深入学习 Linux 内核相关知识,探索更多有趣的实验内容。本人才疏学浅,如文章中有出现纰漏,还望海涵!Linux学习——使用QEMU搭建ARM64环境-优快云博客。

2301_78895982的博客 2034

Ubuntu上用QEMU模拟银河麒麟V10 ARM64环境实战

ARM64架构是国产信创生态的核心指令集,其跨平台模拟依赖QEMU的TCG动态二进制翻译技术,而非KVM直通——这决定了在x86宿主机(如Ubuntu)上运行银河麒麟V10等国产ARM操作系统必须采用全系统模拟方案。该技术路径兼顾指令级兼容性与硬件抽象能力,支撑UEFI启动、SVE向量加速、SM3/SM4国密模块等关键特性验证,广泛应用于政务云中间件预测试、飞腾/鲲鹏平台兼容性验证及高校ARM内核研究场景。本文聚焦QEMU+Ubuntu+Kylin V10 ARM_v8技术栈的工程落地,覆盖OVMF固件配置

weixin_33801856的博客 282

Linux内核学习(一)——Vmware虚拟机安装Ubuntu20.4系统及QEMU模拟ARM64 Linux

本次实验学习“奔跑吧Linux内核”课件及资料,参照实验指导书中的第1章中的实验1-1到1-6的内容,进行学习理解和模仿实践。在实验过程中经历了很多次失败,感悟很多,推荐大家利用deepseek,kimi等大模型来处理报错,在这个过程之中,除了copy大模型给出的解决方法,也要重点学习一下它的思路(如下图),否则下一次还是可能会经历同样的错误。

Cynthia040330的博客 1993

在x86虚拟机中安装ARM版统信UOS:国产化环境低成本体验指南

虚拟化技术通过在单一物理硬件上创建多个隔离的虚拟环境,实现了资源的高效复用与灵活配置。其核心原理是通过Hypervisor层对CPU、内存等硬件资源进行抽象与调度,为不同操作系统提供独立的运行实例。这项技术的价值在于能够大幅降低硬件成本、提升部署效率,并支持跨架构模拟,广泛应用于开发测试、环境隔离和教学演示等场景。本文聚焦于利用UTM虚拟机软件,在常见的x86架构个人电脑上模拟ARMv8环境,并成功安装运行国产统信UOS操作系统。通过这一实践,读者可以零成本体验飞腾处理器生态下的软件兼容性与系统特性,为国产

congbao6525的博客 522

最新Ubuntu20.04安装教程(图文)

step27:输入【Your name】【Your computer's name】【Pick a username】【Choose a password】【Confirm your password】后,点击【Continue】。step17-19:点击左侧的CD/DVD选项卡,右侧点击【使用ISO映像文件】,找到第二步在你清镜像中下载的Ubuntu镜像即可,点击【下一步】。在主界面中,选择【创建新的虚拟机】。step2:如图,会自动弹出【新建虚拟向导】,选择【自定义(高级)】后,点击【下一步】。

qq_53545309的博客 2万+

搭建QEMU + ARM64 Linux Kernel 开发环境

QEMU + ARM64 Linux Kernel 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown

Gannicus.Guo的博客 4464

Ubuntu20.04安装教程(图文)

step27:输入【Your name】【Your computer's name】【Pick a username】【Choose a password】【Confirm your password】后,点击【Continue】。step17-19:点击左侧的CD/DVD选项卡,右侧点击【使用ISO映像文件】,找到第二步在你清镜像中下载的Ubuntu镜像即可,点击【下一步】。在主界面中,选择【创建新的虚拟机】。step2:如图,会自动弹出【新建虚拟向导】,选择【自定义(高级)】后,点击【下一步】。

qq_53545309的博客 3万+

vmware+ubuntu18+qemu调试kernel-arm64-vsock

环境:win11 + vmware17 + ubuntu18.04。

qq_45698138的博客 3957

SAP ABAP VL09 BAPI VL 216

ls_batch_item-fact_unit_denom = ls_lips_split-umvkn. "销售数量转换为 SKU 的值(分母)ls_batch_item-fact_unit_nom = ls_lips_split-umvkz. "销售数量转换成SKU的分子(因子)ls_batch_item-sales_unit_iso = ls_lips_split-meins. "被拆分DN基本单位。

ChampaignWolf的专栏 2300

ElasticSearch集群搭建

docker安装es集群

weixin_46562226的博客 2025

windows和虚拟机linux上运行qemu

想在wsl ubuntu、vmwre ubuntu等虚拟机os中运行qemu,并能在qemu中再运行linux的os,这样就不用依赖物理的服务器上运行qemu,如果可以成功,就可以方便的修改扩展qemu的代码了。但是可惜没有正常运行起来。但是没有在网上找到支持x86_64的windows qemu的QEMU_EFI文件,按照同样的步骤安装x86_64版本的linux os没有成功。按照如下两个帖子的指导,可以安装arm架构的linux OS系统,并在windows上通过qemu虚拟机运行linux OS。

weixin_43158604的博客 1983

【知识点总结】电机学——原理部分

大家好,由于院校地区存在疫情没法返校,再结合当下形式,去各地旅游放松可能不是一个好的决定,o(╥﹏╥)o,期待已久的旅行就先放一边吧,但也不能闲着,既然无事,那不如继续我的总结,本次总结的内容是电机学,自九推以后我越来越明白电机学的重要性……呜呜呜~~实在太重要了,几乎所有与专业复试有关的题目都会涉及电机学,而它又比较抽象,容易使人浅尝辄止,只能理解一些表面的东西。为此自九推之后,我深刻领悟自身不足,决定对电机学发起依次猛攻,势必要将其彻底拿下,这这只是我的粗略总结,若有空闲,我将不断完善它。

weixin_51130221的博客 1万+

在x86 Windows上用QEMU模拟运行ARM Ubuntu的完整指南

在嵌入式开发和跨平台适配中,经常需要在x86架构上运行ARM环境。QEMU作为开源模拟器,通过全系统模拟实现不同指令集的转换,无需依赖硬件虚拟化。其核心原理是将ARM指令动态翻译为x86指令执行,虽有一定性能损耗,但足以满足开发调试和功能验证需求。典型应用场景包括交叉编译验证、软件包适配测试和ARM体系结构学习。本文详细介绍了在x86 Windows上使用QEMU搭建ARM Ubuntu系统的完整流程,涵盖环境准备、启动参数配置、系统安装及性能调优等关键环节。

weixin_34252686的博客 463

SLAM算法的优缺点

SLAM(Simultaneous Localization and Mapping,同时定位与地图构建)算法是一种通过传感器数据实时估计机器人自身位置和构建环境地图的技术。

selenia8860的博客 2906

DevEco Studio在初始化时出现Installing pnpm@8.13.1...npm ERR! code ETIMEDOUTnpm ERR! syscall connectnpm E

npm的仓库源设置的有问题,下载不了鸿蒙相关组件,所以你的启动依赖都没有,或者以前下载过npm,使用的源改的乱七八糟了。以前安装过前端相关的node.js的话,启动的时候记得使用管理远权限。(DevEco Studio)就出错,npm显示超时。

qq_56392862的博客 2628

记录:virt-manager配置Ubuntu arm虚拟机

virt-manager(Virtual Machine Manager)是一个图形用户界面应用程序,通过libvirt管理虚拟机(即作为libvirt的图形前端)。 因为要在Linux arm环境做测试,记录下virt-manager配置arm虚拟机的过程。

龚建波 3323

Zynq远程更新程序实战:从emmc到flash的完整方案解析

本文详细解析了Zynq远程更新程序的完整方案,重点探讨了从emmc到flash的实战操作。通过硬件连接限制破解、emmc配置技巧、flash擦写策略优化等关键技术点,提供了可靠的远程更新解决方案,特别适合需要频繁更新boot.bin的应用场景。

weixin_29163797的博客 179
上一篇: 守护进程编程
下一篇: 树莓派实验实践记录与技术分析
ooolips
博客等级 码龄4年 129粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值