Virtualbox 安装 ubuntu + qemu

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

汇编:头文件

汇编头文件(header files)在汇编语言编程中类似于高层语言中的头文件,它们通常包含宏定义、常量定义、数据结构定义、函数声明以及其他在多个汇编源文件中共享的代码;使用头文件可以提高代码的可维护性和可读性,并使代…

IEDA 默认集成依赖概述

IEDA 默认集成依赖概述 目录概述需求: 设计思路实现思路分析 1.Developer Tools:GraalVM Native supportGraphQL DGs Code GenerationSpring Boot DevToolsLombokSpring Configuration ProcessorDocker Compose supportSpring Modulith 2.WebWebSpring WebSpring Re…

SmartEDA赋能学校教育:电子设计学习新篇章,让梦想触手可及!

在数字化时代,电子设计已成为科技创新的重要驱动力。然而,对于许多初学者和在校学生来说,电子设计的学习过程往往充满了挑战和困惑。幸运的是,随着SmartEDA的出现,这一局面正在发生深刻改变。SmartEDA不仅简化了电子设…

司法协助:跨国法律合作的桥梁

在全球化日益深入的今天,跨国法律事务的处理愈发频繁和复杂。司法协助,作为各国间在司法领域进行互助的重要机制,不仅关乎个案的公平正义,更是维护国际法治秩序的关键一环。那么,什么是司法协助?它又是如何…

2 程序的灵魂—算法-2.4 怎样表示一个算法-2.4.2 用流程图表示算法

流程图表示算法,直观形象,易于理解。 【例 2.6】将例 2.1 求 5!的算用流程图表示。 【例 2.7】将例 2.2 的算用流程图表示。 【例 2.8】将例 2.3 判定闰年的算用流程图表示。

Java心跳检测机制

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl 心跳检测的定义 心跳检测是一种监控机制,在Java编程和分布式系统中具有广泛的应用。心跳检测,顾名思义,就像心跳一样,是一种…

2024年几款优秀的SQL IDE优缺点分析

SQL 工具在数据库管理、查询优化和数据分析中扮演着重要角色。 以下是常见的 SQL 工具及其优缺点。 1. SQLynx 优点: 智能代码补全和建议:采用AI技术提供高级代码补全、智能建议和自动错误检测,大幅提高编写和调试SQL查询的效率。跨平台和…

【嵌入式】智能系统优化:【C++】驱动的【机器学习】与【数据挖掘】技术

目录 一、嵌入式系统简介 二、C在嵌入式系统中的优势 三、机器学习在嵌入式系统中的挑战 四、C实现机器学习模型的基本步骤 五、实例分析:使用C在嵌入式系统中实现手写数字识别 1. 数据准备 2. 模型训练与压缩 3. 模型部署 六、优化与分析 1. 模型优化 模…

09 platfrom 设备驱动

platform 设备驱动,也叫做平台设备驱动。请各位重点学习! 1、驱动的分离与分层 1)驱动的分隔与分离 Linux 操作系统,代码的重用性非常重要。驱动程序占用了 Linux 内核代码量的大头,如果不对驱动程序加以管理,用不了多久 Linux 内核的文件数量就庞大到无法接受的地步。…

基于协同注意力的视觉-语言嵌入用于机器人手术视觉问题定位回答

文章目录 CAT-ViL: Co-attention Gated Vision-Language Embedding for Visual Question Localized-Answering in Robotic Surgery摘要方法实验结果 CAT-ViL: Co-attention Gated Vision-Language Embedding for Visual Question Localized-Answering in Robotic Surgery 摘要…

无延迟,持续畅玩 - Wi-Fi 6 助力打造游戏厅极致体验

1、需求背景: 连锁游戏厅行业竞争激烈,顾客对高品质的游戏体验有着高要求。网络是游戏厅的核心基础设施之一,需要确保游戏过程中的网络连接稳定性和顾客满意度。 长时间稳定连接 为保证顾客的游戏体验感,游戏厅要确保网络连接长…

小型柴油发电机不发电的原因

小型柴油发电机不发电的原因 小型柴油发电机不发电的原因可能有多种,以下是一些常见的原因: 发动机问题: 发动机油路不通畅,可能导致燃油无法顺利到达燃烧室。 气缸压缩不正常,影响发动机的正常工作。 润滑油粘度过大…

第七届全国颗粒材料计算力学会议召开,DEMms多尺度离散模拟软件受关注

近日,第七届全国颗粒材料计算力学会议暨第四届计算颗粒技术国际研讨会在南京召开。会议聚焦颗粒材料的力学理论及模型、计算分析与软件开发、工程应用和相关前沿方向中的关键科学问题和难点技术问题,开展广泛的学术交流和讨论。 会议期间,积鼎…

详解 Flink 的 window API

一、window 概述 ​ Streaming 流式计算是一种被设计用于处理无限数据集的数据处理引擎,而无限数据集是指一种不断增长的本质上无限的数据集,而 Flink window 是一种将无限数据切割为有限块进行处理的手段。window 是无限数据流处理的核心, …

加热炉钢坯温度计算传热学应用

非常感谢“计算传热学大叔”,大家了解更多,请移步前期文章:https://blog.csdn.net/weixin_37928884/article/details/127709215 第一类边界条件 clc clear close all %直接在此修改参数 length 0.135; %长度 Tb 930; %初始…

使用API有效率地管理Dynadot域名,创建文件夹管理域名

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

Python的登录注册界面跳转汽车主页面

1.登录注册界面的代码: import tkinter as tk from tkinter import messagebox,ttk from tkinter import simpledialog from ui.car_ui import start_car_ui# 设置主题风格 style ttk.Style() style.theme_use("default") # 可以根据需要选择不同的主题…

有害电子噪声在半导体中的潜在应用

尽管半导体技术的主要焦点通常是化和控制噪声以提高器件性能和可靠性,但电子噪声的一些潜在应用是有意义的,例如: 随机数生成:电子噪声,尤其是热噪声,本质上是不可预测的。可以利用这种随机性来生成随机数…

面试题-Vue2和Vue3的区别

文章目录 1. 响应式系统2. 组合式 API (Composition API)3. Fragment (碎片)4. Teleport (传送门) 5. 性能改进6. 移除或改变的功能7. 构建工具8. TypeScript 支持 Vue 2 和 Vue 3 之间存在许多重要的区别,这些区别涵盖了性能、API 设计、组合式 API(Com…