ACRN简介

ACRN 简介

1 整体架构简介

1.1 三种类型的 VM

  • 先启动 VM:专有硬件资源;
  • Server VM:直接访问硬件资源,提供device mode
  • 后启动 VM :通过 device mode 共享硬件资源。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p7lrzuZp-1645062783067)(images/ACRN简介/ACRN-V2-high-level-arch.png)]

1.2 三种场景

场景用来描述 ACRN 管理程序、VM 和软硬件资源的系统配置

  • 共享场景

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x750a69s-1645062783068)(images/ACRN简介/ACRN-industry-example.png)]

  • 分区场景

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bbmiLwG9-1645062783068)(images/ACRN简介/ACRN-partitioned-example.png)]

  • 混合场景

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FtPeBT3L-1645062783068)(images/ACRN简介/ACRN-hybrid-rt-example.png)]

1.3 设备共享架构(device mode)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4BlFvYNp-1645062783069)(images/ACRN简介/dm-image75.png)]

server VM 中 device mode 的三个子系统

  • 设备仿真
  • I/O 路径
  • 设备驱动

1.4 设备直通

直通设备由指定 VM 独占,与其他 VM 隔离

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QtnqTrM9-1645062783069)(images/ACRN简介/device-passthrough.png)]

2 配置过程

2.1 ACRN 的构建

ACRN 的构建依赖目标板配置文件和场景配置文件。

ACRN 管理程序源代码提供了一个 makefile 来构建 ACRN 管理程序 bin 文件和相关组件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7eAwWZZM-1645062783069)(images/ACRN简介/overview_flow.png)]

2.2 目标板配置文件

使用工具:Board Inspector 生成目标板的硬件信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s9iN5i3o-1645062783070)(images/ACRN简介/image-20211105164119632.png)]

2.3 场景配置文件

使用 ACRN acrn_configurator.py 图形化配置工具定义场景

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TJdNliY2-1645062783070)(images/ACRN简介/image-20211105163911026.png)]

场景配置文件包含了 hypervisor 、server vm 和 pre launch vm 的静态配置。

server vm 和 先启动 vm 只能在场景配置文件中静态配置, server vm 使用 acrn 提供的 Linux 内核源码来构建 server vm OS内核镜像。Linux 版本为:5.10.52 ,Ubuntu 镜像大小:2.4G

2.4 启动脚本

启动脚本用来启动 user vm,启动脚本由 ACRN 图形化配置工具生成,启动脚本定义了 user vm 的动态配置信息,在启动脚本中可以配置共享设备和直通设备。

3 ACRN 启动过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zIlRU3tg-1645062783070)(images/ACRN简介/graphviz-b3e2afe89c33de055b9685b4f6afad75f5a8a171-16361105612469.png)]

4 在 USER VM 上运行 SylixOS

  1. 获取 bspx86.elf 文件;

  2. 构建 GRUB2 引导程序生成 EFI 文件;

  3. 制作启动镜像文件 SylixOS.img;

  4. 设置 gurb 配置文件 grub.cfg;

  5. 在启动脚本中指定 SylixOS 启动镜像的存放路径;

    acrn-dm -A -m $mem_size -s 0:0,hostbridge -U 615db82a-e189-4b4f-8dbb-d321343e4ab3 \
       --mac_seed $mac_seed \
       $logger_setting \
       -s 7,virtio-blk,/home/acrn/acrn-work/SylixOS.img \
       -s 8,virtio-net,tap_YaaG3 \
       -s 6,virtio-console,@stdio:stdio_port \
       --ovmf /usr/share/acrn/bios/OVMF.fd \
       -s 1:0,lpc \
       $vm_name
    
  6. 在 server vm 中运行启动脚本;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值