一.i.MX8QM 双系统烧录
1.1 功能简介
在上一篇博文介绍了 《基于 NXP i.MX8QM Xen 双系统 环境搭建》 , 在这篇博文中将向大家介绍双系统的
启动流程 :首先启动的是 SD 卡 ,Linux 启动后 Dom0 会加载完成 ,然后通过 xl 应用创建 DomU,
启动eMMC 里面的 Android 系统
1.2 SD 卡烧录
1.2.1 烧录 SD 卡镜像文件
在 Yocto build-wayland_8qm_mipi/tmp/deploy/images/imx8qmmek 目录下 ,通过 dd 命令进行烧录 :
$ bunzip2 -dk -f fsl-image-validation-imx-imx8qmmek.sdcard.bz2 $ sudo dd if=fsl-image-validation-imx-imx8qmmek.sdcard of=/dev/sdb bs=1M |
PS :可以通过 df 查看 SD 卡挂载的名称 /dev/sdb
1.2.2 从 Android 生成的文件夹中拷贝 spl-imx8qm-xen.bin 到 SD 卡的 FAT Partition
1.2.3 把Android 中的 u-boot-imx8qm-xen-dom0.imx 烧录到 SD 卡
$ sudo dd if=u-boot-imx8qm-xen-dom0.imx of=/dev/sdb seek=32 bs=1k && sync |
1.3 eMMC 烧录
进入到 Android 目录下的 out/target/product/mek_8q 文件夹 ,我使用的是 i.MX8QM EVM 板 ,
首先把板设置为 fuse eMMC 烧录模式 ,接着使用 uuu_imx_android_flash.sh 进行烧录 ,烧录前请确认系统安装了 fastboot 工具
$ sudo ./uuu_imx_android_flash.sh -f imx8qm -d xen |
二. i.MX8QM 双系统运行
插入 SD 卡 ,选择从 SD 卡启动 ,启动后按 Enter 键让程序停在 u-boot Console ,输入
以下命令 :
=> setenv domu-android-auto yes => saveenv => run xenmmcboot |
进入到系统之后 ,使用 xl 命令通过 DomU 启动 Android 系统 :
$ xl create /etc/xen/domu-imx8qm-mek-androidauto.cfg |
使用 xl console DomU 进入 Android console
$ xl console DomU |
下面的图片左边运行的是 Android Car 的系统 ,右边是 Linux 系统 :
左边是 Android App 界面 ,右边是运行 GPU Demo 的界面 :
以上便是在 i.MX8QM 上使用 Xen 的方式运行双系统的过程
三.参考文档
【1】 i.MX Virtualization User's Guide , NXP Semiconductor ,Rev. 1 ,05/2019,
Document Number: IMXVIRTUG
四.预告
通过 “ 基于 NXP i.MX8QM Xen 双系统 环境搭建 ” 和 “ 基于 NXP i.MX8QM Xen 双系统运行 ”这两篇博文 ,相信大家已经了解了搭建 Xen 双系统的环境搭建及运行 , 接下来将对“ 基于 NXP i.MX8QM Xen 双系统 GPU 资源分配 ”进行讲解
敬请期待 !
评论
Wols
2022年1月24日