Virtualbox 安装 ubuntu + qemu

news2024/11/15 19:30:46

0. 前言

关于 Virualbox 安装虚拟机的优秀文章太多了,笔者主要是着重梳理一些安装小细节,利己利人!!

如果需要保姆式的安装教程,可以查看后续的参考链接。

1. VirtualBox 的安装

直接去官网搜索最近的软件即可:Downloads – Oracle VM VirtualBox

2. unbuntu 镜像

直接去官网搜索最新的镜像: https://ubuntu.com/download/desktop

有几个版本:桌面、服务器 等等。

建议选择桌面版本,VirtualBox 启动的时候,可以选择要不要显示桌面。

3. VirtualBox 创建虚拟机

在VirtualBox 安装完成、ubuntu 镜像下载完成后,就正式开始虚拟机的创建,点击新建按钮,输入虚拟机的名称(根据个人喜好),选择要安装虚拟机的位置,选择虚拟光盘,勾选跳过自动安装。

接下来选择分配给虚拟机的memory、CPU、disksize 等属性,最后点完成。

4. 启动虚拟机

第一次可以选择正常启动,进入之后安装 ubuntu 的流程。后续 openssh 安装完、网卡创建好了之后,就可以通过 ssh 连接虚拟机。

5. 设置虚拟机网络

默认情况下,虚拟机在创建的时候,会默认创建 NAT 网络:

这与主机共享IP 地址,访问外部以太网网络连接。也就是说,默认虚拟机是可以向外访问。

但,如果需要向虚拟机内部访问,则需要新建一个网卡:

这里选择 Host-only 网络,这样后面主机就可以通过虚拟机的网卡2 的IP 地址访问虚拟机。

网卡2 创建好后,就可以启动虚拟机,通过 ifconfig 确认是否有网卡2 的IP 地址:

6. 安装 openssh-server

尽快执行完这一步,主机就可以通过 ssh 访问虚拟机,虚拟机的桌面也不需要打开了。

sudo apt-get update
sudo apt-get install openssh-server

7. 虚拟机开机默认是root

sudo vim /etc/ssh/sshd_config

文件中找到 PermitRootLogin项,并修改为:

PermitRootLogin yes

重启SSH服务以应用更改:

sudo systemctl restart sshd

请注意,出于安全考虑,通常不建议允许 root 用户直接登录,如果误删除系统文件,那可能需要从头再来。

8. 准备 qemu 环境

8.1 下载 kernel

git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

交叉编译工具 aarch64 可以通过如下命令安装:

sudo apt-cache search aarch64
sudo apt-get install gcc-aarch64-linux-gnu  //默认会安装最新的 aarch64

sudo apt-get install gcc

其他工具:

sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install openssl
sudo apt-get install libssl-dev

编译:

make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j12

8.2 下载 make_rootfs

https://github.com/vernon2gh/make_rootfs/tree/main

编译文件系统:

./make_rootfs.sh -a arm64

8.3 下载 qemu

sudo apt install qemu-system-arm

运行 qemu:

qemu-system-aarch64 -M virt -cpu cortex-a57 -hda rootfs.ext4 -kernel Image -append "root=/dev/vda rw console=ttyAMA0" -nographic

8.4 脚本包装

#!/bin/bash


if [ ! -e "rootfs.ext4" ]
then
    ln -s ../make_rootfs/out/rootfs_arm64.ext4 ./rootfs.ext4
fi

if [ ! -e "Image" ]
then
    ln -s ../linux/arch/arm64/boot/Image ./Image
fi

qemu-system-aarch64 -M virt -cpu cortex-a57 -hda rootfs.ext4 -kernel Image -append "root=/dev/vda rw console=ttyAMA0" -nographic

参考:

https://blog.csdn.net/weixin_44205779/article/details/107456016

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1789020.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】list的使用(上)

🔥个人主页: Forcible Bug Maker 🔥专栏: STL || C 目录 前言🌈关于list🔥默认成员函数构造函数(constructor)析构函数(destructor)赋值运算符重载 &#x1…

一文读懂筛选控件设计

​筛选的作用是缩小展示范围,筛选控件有时会用于“频道切换”。比如内容型或电商产品,用tab切换不同频道,每个频道内有自己的形态。 而到了 B 端产品,如一个 CRM 系统当中,筛选的逻辑比移动端的复杂,有&…

【qt15】windeployqt 安装依赖

debug模式vs可以使用qt插件新建qt文件 D:\Qt15\5.15.2\msvc2019\bin\windeployqt.exe Warning: Cannot find Visual Studio installation directory, VCINSTALLDIR is not set.D:\Qt15\5.15.2\msvc2019\bin\windeployqt.exe .\filecopier.exeWindows PowerShell Copyright (C) …

【成品论文】2024年数学建模国赛B题成品论文分享(点个关注,后续会更新)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的蓝色字体链接,那是获取资料的入口! 点击链接加入群聊【2024国赛资料合集】:http://qm.qq.com/cgi-bin/qm/qr?_wv1027&kCe9u9pqQeBrMHgupi-R078l9TuU0RwSl&authKeyRjsYS3Piiw…

Flutter开发效率提升1000%,Flutter Quick教程之定义Api(三)

将tab键切换到Response,会出现这么一个界面 这是添加api返回的json数据。比如我们添加一个json数据。 添加完json数据后,右上角有一个删除按钮。要换json数据的话,可以点击清除再重新输入。 这时候,左边的面板上还会显示出 这个的…

代理记账公司的五大问题及其解决方案

代理记账公司是现代企业管理中不可或缺的一部分,它为企业的日常运营提供了专业、高效的服务,随着行业的发展和竞争的加剧,代理记账公司的面临的问题也日益突出,这些问题主要表现在以下几个方面: 业务流程不规范 许多代…

CodeBlocks官方主题颜色更换及方法

文章目录 一、前言二 、用工具导入配置文件2.1 运行 cb_share_config.exe文件2.2 替换文件2.3 设置主题 三、配置主题3.1 步骤13.2 步骤23.3 步骤3 四、设置光标4.1 配置字体4.2 展示 行号 五、设置左边行号区域部分六、设置完后的效果七、下载地址 一、前言 Codeblocks 默认的…

【全开源】同城跑腿系统源码小程序(FastAdmin+ThinkPHP+Uniapp)

让生活更便捷的一站式服务 一款基于FastAdminThinkPHPUniapp开发的同城跑腿小程序,支持帮取、帮送模式,包含用户端、骑手端、运营后台,支持一键接单/抢单, 为跑腿团队提供技术解决方案,无加密源码,可私有化…

.Net 基于.Net8开发的一个Asp.Net Core Webapi后端框架

1.项目结构 该项目是基于.net8开发的Asp.Net Core WebApi后端服务,集成了Efcore,Autofac,Jwt,AutoMapper,Serilog,Quartz,MiniExcel等组件。该框架简单易上手,没有额外的学习成本; 该项目采用了多层结构设计,有利于解耦,包含公共层&#xff0…

AI绘画SD入门教程:ControlNet篇-Canny边缘检测预处理器

大家好,我是向阳 在本篇中,我来讲讲如何使用预处理器和辅助模型,分别都有些什么作用。 💡 这里说明一下当你调用预处理器而辅助模型显示为无的几种原因: 当已载入SD1.5的模型时,CannyXL的辅助模型不会显示…

ch5链路层和局域网

回顾TCP/IP参考模型,明确链路层和物理层在整个模型中的地位,简要提出链路层要解决的问题是单段链路的数据传输,物理层解决的是数字信号与电气信号之间的相互转换。 链路层概述 节点:主机和路由器(包括网桥和交换机) 链路:沿着通信路径连接相邻节点的通信信道 有线链路 无…

Redis缓存(笔记一:缓存介绍和数据库启动)

目录 1、NoSQL数据库简介 2、Redis介绍 3、Redis(win系统、linux系统中操作) 3.1 win版本Redis启动 3.2 linux版本Redis启动 1、NoSQL数据库简介 技术的分类:(发展史) 1、解决功能性的问题:Java、Jsp、RDBMS、Tomcat、HTML、…

【面试干货】什么是内连接、外连接、交叉连结、笛卡尔积?

【面试干货】什么是内连接、外连接、交叉连结、笛卡尔积? 1、内连接(Inner Join)2、左外连接(Left Outer Join)3、右外连接(Right Outer Join)4、全外连接(Full Outer Join&#xff…

被斯坦福抄作业了?在线体验下:国产大模型确实越来越棒啦!

抄袭? 这里不做评价了: 官方仓库 地址:miniCPM-Llama3-V-2_5 免费在线体验地址 链接:Llama3-V-2_5 模型能力: 模型实际体验 问他什么模型:(可能用了它的数据集吧) 图片分析…

CrossPrefetch: Accelerating I/O Prefetching for Modern Storage——论文泛读

ASPLOS 2024 Paper 论文阅读笔记整理 问题 目前计算设备和存储设备之间的性能差距仍然很大。因此,主内存缓存和缓冲区被广泛用于操作系统、用户级文件系统[32]和I/O运行时,在隐藏性能差距和减少I/O瓶颈方面发挥关键作用[23,26,3…

1. lvs负载均衡

lvs负载均衡 一、集群技术概述1、集群技术类型2、负载均衡技术3、高可用技术 二、负载均衡 LVS1、LVS介绍2、负载均衡策略/算法3、LVS设计模式3.1 NAT模式的注意事项 三、LVS nat模式的实现1、确认后端服务器网关正确2、安装ipvsadm软件3、开启路由转发4、创建虚拟服务5、添加后…

EasyV开发人员的使用说明书

在可视化大屏项目时,开发人员通常需要承担以下任务: 技术实现:根据设计师提供的设计稿,利用前端技术(如HTML、CSS、JavaScript等)和后端技术(根据具体项目需求,可能是Java、Python、…

冯喜运:6.5今日黄金原油行情怎么看及日内操作策略

【黄金消息面分析】:周三(6月5日)亚市早盘,现货黄金窄幅震荡,目前交投于2328.13美元/盎司附近。黄金价格周二下跌超过1%,原因是美元在本周晚些时候美国就业数据公布前趋于稳定,该数据可能为美联…

【数据结构】图论中求最短路径——迪杰斯特拉算法(Dijkstra)、弗洛伊德算法(Floyd)

目录 最短路径 (*)迪杰斯特拉算法(Dijkstra)迪杰斯特拉算法(Dijkstra)的算法原理: 弗洛伊德算法(Floyd)弗洛伊德算法(Floyd)的算法原理:弗洛伊德算法的&#…

Ubuntu server 24 (Linux) 普通用户不能sudo 也不能使用root登录 忘记root密码 修复解决方案

一 普通用户无法sudo,同时也没有其他用户可用 #test用户使用sudo报错,没有权限 testtest:~$ sudo vi /etc/sudoers [sudo] password for test: test is not in the sudoers file. 二 关闭ubuntu 服务器,重新开机 按下ESC 键 1 出现GRUB…