
让我们在基于 i.MX6 的 Nitrogen6_MAX 板上将 Android 与 Wayland 一起运行。
前一篇博文介绍了 SPURV Android 兼容层,用于基于 Wayland 的 Linux 环境。
在这篇文章中,我们将深入了解如何在 Boundary Devices 的非常常见的基于 i.MX6 的 Nitrogen6_MAX 板上运行 Android 应用程序。
sudo apt 安装
apt-transport-https
bmap-tools
证书颁发机构
curl
git
gnupg2
repo
软件属性通用
u-boot-tools
qemu-kvm
Docker 是用于稍后生成 Debian 根文件系统的必需品。
安装 Docker
使用 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key 添加 -
sudo 添加 apt 仓库 "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
# 设置Docker权限
sudo usermod -aG docker ${USER}
su - ${USER}
# 拉取Docker镜像
docker pull godebos/debos:latest
为了构建Android,我们选择针对版本,但这主要是为了保证这些说明在将来仍然是正确的。这项工作也适用于Android的后续版本。
mkdir android; cd android
repo init -u https://android.googlesource.com/platform/manifest -b android-9.0.0_r10
git clone https://gitlab.collabora.com/spurv/android_manifest.git .repo/local_manifests/
repo sync -j15
. build/envsetup.sh
lunch spurv-eng
make -j12
cd ..
我们使用的内核分支与上游内核基本一致,只差一两个补丁。我们将构建的内核将针对i.MX 6和7系列SOC。
git clone https://gitlab.collabora.com/spurv/linux.git -b android-container_v5.1-rc5
cd linux
sh ../android/device/freedesktop/spurv/build-kernel.sh
cd ..
仅仅一个内核并不能构成一个操作系统,因此我们使用Debian作为基础。我们将使用debos创建根文件系统,debos是一个用于创建基于Debian的操作系统镜像的工具。您可以在这里了解更多信息。
现在我们准备好将上述所有内容整合成一个完整的镜像。这正是Nitrogen6_MAX开发板的目标所在。
git clone https://gitlab.collabora.com/spurv/debos.git
sudo debos/build_image.sh -b /dev/mmcblk0
特定平台的部件包含在uboot_nitrogen6qp-max.scr和build_image.sh中。
将烧录好的SD卡插入您的设备,并重新启动,然后以.登录。
为了启动Android,运行以下两个命令之一:
启动Weston和Android应用
/home/aosp/run.sh
启动Android应用可能需要一两分钟,但Weston应该会立即启动。
许多不同的贡献者使这项工作成为可能,无论是直接还是间接的。
边界设备
鹏城实验室
黄道带
访问Robert的博客。