当前位置: 首页 > news >正文

OpenEuler环境部署面向汽车场景的操作系统AGL

AGL 是面向汽车场景的开源嵌入式操作系统,基于 openEuler 环境部署 AGL 可借助 QEMU-KVM 虚拟化实现快速验证。以下是结合文档内容优化后的部署流程,包含环境准备、资源下载、镜像处理。

一、部署前提

系统环境:openEuler 20.03/LTS

实验平台:天枢一体化虚拟仿真平台

二、详细部署步骤

(一)安装依赖工具

首先更新系统软件源并安装 KVM 虚拟化、远程管理、多线程下载等必需工具:

# 更新 apt 软件源

sudo apt update

# 安装 QEMU-KVM 虚拟化核心组件
dnf install qemu-kvm

# 安装 Axel(多线程下载工具,加速 AGL 镜像文件下载)
sudo apt install axel -y

(二)下载 AGL 镜像及内核文件

使用 Axel 多线程下载 AGL 最新快照版本(qemux86-64 架构,含图形化演示镜像和内核文件):

# 下载 AGL 根文件系统镜像(ext4 格式,压缩包),10 线程加速,支持断点续传
axel -n 10 -a -c "https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/agl-ivi-demo-qt-qemux86-64.ext4.xz"

# 下载 AGL 内核文件(bzImage,适用于 x86-64 架构)
axel -n 10 -a -c "https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/images/qemux86-64/bzImage"

  • 下载说明:-n 10表示启用 10 个下载线程,-a显示详细进度,-c支持断点续传(若下载中断可重新执行命令继续)。
  • 下载路径:默认保存至当前用户的Downloads目录(~/Downloads/)。

(三)创建工作目录并整理文件

创建独立的 AGL 工作目录,统一管理镜像和内核文件,避免文件混乱:

# 创建 AGL 演示环境工作目录
mkdir ~/agl-demo/

# 将下载的镜像文件和内核文件复制到工作目录
cp ~/Downloads/agl-ivi-demo-qt-qemux86-64.ext4.xz ~/agl-demo/
cp ~/Downloads/bzImage ~/agl-demo/

# 进入工作目录
cd ~/agl-demo

# 同步文件(确保复制操作完成,避免文件损坏)
sync

# 解压 AGL 根文件系统镜像(-v 显示解压进度,-d 解压 xz 压缩包)
xz -v -d agl-ivi-demo-qt-qemux86-64.ext4.xz

解压完成后,工作目录下会生成agl-ivi-demo-qt-qemux86-64.ext4文件(未压缩的根文件系统镜像)。

(四)配置并启动 AGL 虚拟机

通过 QEMU-KVM 命令配置虚拟机参数,启动 AGL 系统:

qemu-kvm \
-machine q35,accel=kvm \ # 使用 q35 主板芯片组,启用 KVM 硬件加速(提升性能)
-cpu host \ # 映射物理 CPU 架构及特性到虚拟机
-m 2048 \ # 分配 2GB 内存给虚拟机(推荐≥2GB,否则图形界面可能卡顿)
-drive file=~/agl-demo/agl-ivi-demo-qt-qemux86-64.ext4,if=virtio,format=raw \ # 挂载根文件系统镜像,virtio 接口(高性能)
-vga virtio \ # 使用 virtio 显卡(支持图形界面硬件加速)
-vnc :0 \ # 启用 VNC 服务,端口号 0(对应 VNC 地址:localhost:0)
-usbdevice tablet \ # 模拟 USB 平板设备(优化鼠标操作体验)
-kernel ~/agl-demo/bzImage \ # 指定 AGL 内核文件路径
-append "root=/dev/vda rw ip=dhcp console=ttyS0,115200" # 内核启动参数:根分区为 /dev/vda,可读写,DHCP 自动获取 IP,串口波特率 115200

  • 参数说明:
  • accel=kvm:依赖 KVM 硬件加速。
  • file=~/agl-demo/agl-ivi-demo-qt-qemux86-64.ext4:需与实际解压后的镜像文件名一致,若路径变更需同步修改。
  • vnc :0:VNC 服务端口为 5900(默认规则::0 对应 5900,:1 对应 5901)。

后续通过对部分参数调整后实现部署,如大家感兴趣也可以联系我们大家一起探讨。

(五)连接 AGL 图形界面

双击配置好的AGL可以看到如下界面

http://www.jsqmd.com/news/339184/

相关文章:

  • 反传统的Daily Notes —— Thoughts On笔记法与主题优先思维
  • 架构评审与技术债治理——质量属性、演进式重构与风险评估框架
  • RKE(Rancher Kubernetes Engine) 是什么?
  • 演化时间线
  • 云诊所系统(源码)采用SpringBoot+Vue.js架构,实现智能化药品库存预警管理
  • Simon Spti核心思想总结 —— 从工具理性到生活哲学的完整图景
  • Java Web 毕业设计选题分析:常见误区与规避思路
  • 智能设备锁屏密码忘记?手表、电视等官方解决方案
  • 哲学层面:分类系统的根本局限
  • 《构建之法》 阅读笔记二:拆解构建流程,掌握核心开发与测试方法
  • 多功能奶泡机MCU方案开发设计分析
  • DTS按业务场景批量迁移阿里云MySQL表实战(下):迁移管理平台设计与实现
  • specification
  • SKILL
  • 漏洞挖掘入门(第一期)|定义、分类与标准化挖掘流程(附合法靶场清单)
  • 用“渠道矩阵+内容节奏”把流量做成可控资产
  • 2026 年的 Node.js 已经不是那个你认识的 Node.js 了
  • Web漏洞挖掘实战(第二期)|SQL注入底层原理与全场景挖掘技巧
  • HTML DOM 访问
  • 2026春秋杯冬季赛 WriteUp By小灰灰
  • 笔记、图表和知识管理平台Atlantis
  • 《Foundation 均衡器》
  • A-Lin歌迹巡演无锡站双场圆满落幕 二十年金曲引全场共鸣
  • 【开题答辩全过程】以 基于springboot的咖啡店后台管理系统为例,包含答辩的问题和答案
  • 面试,其实是最容易选错人的方式
  • 网安人才缺口 480 万!3 个相关专业特点大不同,一文分清
  • Python,pymysql,create database,table,execute insert
  • Flutter for OpenHarmony 实战:网络监控登录系统完整开发指南
  • 用“内容+投放+运营”打出增长曲线
  • Flutter for OpenHarmony 进阶:Socket通信与网络编程深度解析