ubuntu 安装qemu?ubuntu可以在arm上运行吗
今天给各位分享ubuntu 安装qemu的知识,其中也会对ubuntu可以在arm上运行吗进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
Linux内核编译,使用qemu启动
本教程旨在引导您完成Linux内核和busybox的编译,以及使用QEMU启动内核的过程。为了确保学习的流畅性,建议在VirtualBox运行的Ubuntu 22.04.3 LTS上测试本教程。理解makefile的原理和使用方法将有助于您更好地执行后续的“make”命令。
首先,准备编译所需的文件和环境。新建文件夹存放所有文件,并下载Linux内核源码(版本6.7.5)和busybox源码(版本1.36.1)。解压这些压缩包,确保目录结构清晰。将这些文件放置在新建的文件夹内,本教程中将此文件夹称为“主目录”,以方便描述。
接下来,开始编译Linux内核。在“主目录”中,确保已安装所有必要的依赖项。使用命令“make-j8”在Linux内核文件夹下运行编译命令(注意:此命令需在“linux-6.7.5”文件夹下执行,且电脑CPU为i5-13400,虚拟机分配8个核心)。对于AMD 7840hs真机,使用“make-j12”命令,编译时长约为1分钟。编译成功后,内核会生成名为“bzImage”的文件,记住其输出路径,后续步骤将使用到。
在完成内核编译后,紧接着编译busybox。无需额外依赖,直接执行编译过程。在“busybox-1.36.1”文件夹下运行命令,选择静态二进制构建选项以确保内核精简性,以便在QEMU上运行。快速编译完成后,生成的文件位于“busybox-1.36.1/_install”目录下。
接下来,安装QEMU模拟器。安装完成后,准备制作文件系统,以运行内核。在“busybox-1.36.1/_install”目录下,选择一种制作文件系统的方式:一种是快速但会丢失更改,另一种是麻烦但可保存更改并永久存储。首先实现快速方式。
在“busybox-1.36.1/_install”目录下,找到并使用initramfs.cpio.gz文件。在“主目录”中启动QEMU模拟器。运行过程中,可以通过命令行输入简单命令验证系统功能。尝试新建文件并关闭系统,重启后发现文件消失,因为内存系统在重启后会清空。
为了实现永久保存数据功能,分配磁盘文件并制作一个磁盘文件。在“主目录”内运行相关命令,创建磁盘文件后,内核操作磁盘的数据将被永久保存。再次运行模拟器并验证文件持久性。
为了简化后续操作,提供了一个makefile文件,放置在“主目录”下。运行该makefile启动命令,方便管理和操作。
qemu搭建arm64 linux kernel环境
搭建ARM64 Linux内核环境,包含详细步骤如下:
一、环境准备:
使用Ubuntu 22.04系统,并下载最新版Linux内核源码(Linux Kernel Archives)。
安装交叉编译工具链,通过命令行使用`sudo apt-get install gcc-12-aarch64-linux-gnu`或自行下载(开发者网站:developer.arm.com/downloads)。
安装QEMU版本(最新版为`sudo apt-get install qemu-system-arm`)。
二、编译内核:
解压内核源码后,设置`config`文件,使用命令`make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- defconfig`进行编译配置。确保`CROSS_COMPILE`前缀与自定义编译工具链名称一致。
执行`make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- Image-j8`编译内核,生成kernel image`Image`和用于gdb调试的`vmlinux`文件。
可选步骤:编译内核模块(ko),使用命令`make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- modules-j8`。
三、制作根文件系统:
选择便捷的busybox作为根文件系统,下载最新版本(busybox-1.36.1.tar.bz2)。进行编译配置并安装,根文件系统位于`busybox-1.36.1.tar.bz2/install/`。
构建ext4 image,合并busybox到img中,为后续实验提供方便。
四、使用QEMU启动内核:
创建启动脚本,包含内核`Image`和根文件系统`rootfs.img`的加载,确保脚本具有执行权限。启动脚本用于QEMU环境,简化实验过程。
完成步骤后,系统搭建完成。此过程记录于操作手册中,方便后续查看与避免重复错误。
手把手搭建qemu+buildroot开发环境
本文将指导您从零开始构建QEMU+Buildroot的ARM64开发环境,以简化移植工作并自动构建定制化的嵌入式根文件系统。无需繁琐的移植,只需通过menuconfig配置所需的特性,Buildroot将自动处理源码下载、编译和打包,省去了大量手动操作。
环境准备
在Windows 10上,借助VMware 17,选择Ubuntu 18.04作为虚拟机系统,设定为64位的Cortex-a53处理器。
依赖安装
为了搭建环境,首先需要安装QEMU 8.2.0和Linux Kernel 5.10.209,以及AARCH64的工具链。从QEMU官网获取8.2.0源码,确保Python版本大于3.8和glib2.0环境。
配置与编译
在已安装依赖的前提下,进入QEMU源码目录,配置并编译。配置过程中,针对ARM64架构进行定制。接着,下载并解压Buildroot 2023.11.1,配置kernel,关注关键选项。
执行buildroot编译,生成Image、roots.ext4和start-qemu.sh文件。在start-qemu.sh中,需修改第28行,登录console时使用root账户。
启动与操作
启动QEMU,登录后,可通过组合键退出当前会话(CTRL+ a, x)。作者潘小帅,Linux技术爱好者,欢迎关注他的微信公众号“Linux随笔录”,持续获取更多技术分享。