构建 halium-boot

Halium-boot是 Halium 项目新推出的启动映像,用以取代 hybris-boot。 我们将为 Ubuntu Touch 构建和使用它。

修复挂载

Halium-boot的``mount``不知道SELinux的内容。 如果您的设备的``fstab``文件包含任何内容,则它们所在的分区将无法安装,并且您的端口将无法正常工作。

Halium-boot这个过程的第一步是确定你的fstab实际上在哪里。 对于大多数人来说,这是在``BUILDDIR / device / MANUFACTUER / CODENAME / rootdir / etc``中,它被命名为``fstab.qcom``或``fstab.devicename``。 打开文件进行编辑。

如果 “data” 或 “userdata” 分区的类型是 f2fs ,则需要将其更改为` ext4`

打开文件后,从文件中的所有块设备中删除所有``context =``选项。 该选项将从文本``context =``开始,并以逗号后面的逗号结束。

例如,这一行``ro,nosuid,nodev,context = u:object_r:firmware_file:s0,barrier = 0``应该变为``ro,nosuid,nodev,barrier = 0``

保存并退出。

修改内核配置

Ubuntu Touch需要与Halium略有不同的内核配置,包括启用应用甲。 幸运的是,我们有一个很好的脚本用于此目的,check-kernel-config。 它包含在halium-boot存储库中。 只需在您的配置上运行它,如下所示:

./halium/halium-boot/check-kernel-config path/to/my/defconfig -w

你可能要做两次。 它可能会解决问题。 然后,运行没有`-w``标志的脚本,看看是否还有错误。 如果有,请手动修复它们。 完成后,再次运行不带“-w``标志的脚本,以确保一切正确。

构建镜像

一旦 halium-boot 到位,您就可以非常简单地构建它。 但由于我们的改动了它,您还需要重建 system.img。

  1. cd (切换到)您的 Halium 编译目录(BUILDDIR)
  2. source build/envsetup.sh
  3. 运行``breakfast``或``lunch``,无论您使用哪种设备
  4. mka halium-boot
  5. mka systemimage

继续

现在您已经构建了 halium-boot,请移步到 在 Halium 上构建 Ubuntu Touch 16.04 镜像