Debian10 ARM KVM 虚拟机安装记录

为了搭建一个ARM 的编译系统,将 Debian10 arm 作为编译平台,这个版本可以兼容 UOS 和 Kylin 的较高版本.

于是尝试在 一台 清华同方 TS830 的台式机 UOS 20 环境下安装 Debian10 arm 的 KVM 虚机。过程比较曲折,记录如下。

1, 下载 Debian 10 arm iso

因为 Debian 10 很老,网络安装源已经没有了, 官网以及各镜像站点都没有。 但是 官网提供一种 jidgo 的方法,可以动态的生成 iso. 因此需要,先下载 jidgo 的脚本。每个 iso 对应一个脚本。然后运行 jidgo 命令,来制作 iso. 具体语法参考 Debian 官网的 jidgo 页面。 按照这个,做了 前 5张 DVD。 Debina 10 arm 有 16张 DVD iso, 通常用 前3张就够了。

2, 然后在 UOS 20 宿主机上建立 KVM 虚拟机。虚拟机的硬件配置需要注意:

1). 不要添加 "鼠标, 相对位置",这个鼠标在debian 10 中定位不准,发飘。 添加 "平板 tablet",鼠标才是准确的。

2). 硬盘 和 CDROM 都要选择 SCSI

3). 显卡用 vitro, 不勾选 3D 加速

4). 一定要添加图形(可以理解为虚拟显示器), 有两种选项, SPICE 和 VNC, 建议用 VNC。SPICE虽然 显示更流畅,但虚机几分钟就崩溃。图形这个设备,默认是没有的,需要手工添加。如果不添加,客户机能启动,但进入不了图形界面。

  1. 无法动态更换光盘的问题。

在 Debian 10 安装阶段,最好一切都选默认,包括语言,桌面只先GNOME等,目的是让安装集尽量小,只需要用到 DVD1。 在提示 scan disc 的时候,选择 NO。 因为, KVM 此时常无法更换光盘镜像。 等仅用 DVD1 安装成功后,在客户机里再追加安装其它光盘的内容。 我感觉这是 KVM 的一个缺陷,这个换光盘,失灵时不灵,也没找到灵和不灵的条件。只能在安装阶段回避这个问题。好在,一旦安装完毕,并正常进入虚拟机的debian 10 后,换光盘的功能就正常了。 类似的情况还有 KVM 菜单里向 虚机发送 特殊热键组合的功能,在 debian 安装阶段也是失效的,但安装完成后就正常了。

  1. 安装完成后不能启动的问题。

Debian 10 安装成功后,重启没有进入 Debian 10, 而是进入 EFI 界面,这表明虚拟机找不到启动程序。解决的办法是 用 Debian 10 DVD 1 启动进入 Rescue mode, 然后将 虚拟机的 根目录 加载。我的系统中 /dev/sd2 是根, /dev/sd1 是 /boot/efi。 Rescue mode 提示要找一个分区挂载为根,此时选, /dev/sd2。然后会提示它发现还有一个 /boot 分区,问是否要mount, 回答yes 即可。

这样就进入到一个字符终端状态。

运行命令

makedir -p /boot/efi/EFI/BOOT

cp /boot/efi/EFI/debian/grubaa64.efi /boot/efi/EFI/BOOT/BOOTAA64.EFI

然后 reboot, 就可以正常启 Debian 10了。

相关推荐
振南的单片机世界17 小时前
启动流程:上电先取栈顶和复位向量,再进main
arm开发·stm32·嵌入式硬件
振南的单片机世界3 天前
HAL_Delay(1000)真准吗?SysTick的1ms基准从哪来
arm开发·stm32·单片机·嵌入式硬件
带土13 天前
3. ARM寄存器组织
arm开发
xiangw@GZ4 天前
ARM TCM 紧耦合内存与 Cache 架构区别
arm开发·架构
XINVRY-FPGA4 天前
XCKU035-2FBVA676I AMD Xilinx Kintex UltraScale FPGA
arm开发·嵌入式硬件·网络安全·fpga开发·硬件工程·信号处理·fpga
少年、潜行4 天前
IAR FOR ARM 历史版本安装包、安装、注册流程【百度网盘资源】
arm开发·iar·iar历史版本·iar安装
Aaron15884 天前
无人机反制中AOA+TDOA联合定位技术与雷达探测定位技术的应用对比分析
arm开发·嵌入式硬件·fpga开发·硬件工程·无人机·信息与通信·信号处理
m0_747124534 天前
ARM架构基础知识扫盲
arm开发·架构
海绵宝宝de派小星5 天前
MCP与A2A协议深度解析:Agent时代的“TCP/IP“如何诞生
arm开发·网络协议·tcp/ip·ai
Zephyrus_20235 天前
LSM6DSV16X驱动移植+调试
c语言·arm开发