编译 Halium 9
在完成上述修改后,终于可以开始编译了~~
写一个xml并同步你的适配包
在halium/devices/manifests目录下创建你的机型的xml
命名格式 (厂商)_(codename).xml
下面是一个例子(xiaomi_clover.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2021 HandsomeYingyan <handsomeyingyan@gmail.com>
-->
<manifest>
<!-- Remotes -->
<remote name="ubuntu-touch-clover" fetch="https://github.com/ubuntu-touch-clover" revision="halium-9.0" />
<!-- Device Tree -->
<project path="device/xiaomi/clover" name="halium_device_xiaomi_clover" remote="ubuntu-touch-clover" />
<!-- Kernel -->
<project path="kernel/xiaomi/clover" name="halium_kernel_xiaomi_clover" remote="ubuntu-touch-clover" />
<!-- Proprietary/Vendor blobs -->
<project path="vendor/xiaomi/clover" name="halium_vendor_xiaomi_clover" remote="ubuntu-touch-clover" />
</manifest>
然后在项目根目录执行
./halium/devices/setup 设备codename
halium就会自动处理好所有的适配包的部署
把ubuntu默认的python版本降到2
repo最近不打算支持python2了,但是halium的编译有依赖python2,所以同步完代码后要把python的版本降下来。
sudo apt-get install -y python-is-python2
同步Halium对lineage os的补丁
Halium干掉了lineage os的绝大部分的java组件,此时直接编译显然是无法通过的。报错就是halium.mk找不到
在项目的根目录执行如下指令
hybris-patches/apply-patches.sh --mb
每次repo sync完以后都要执行这个指令重新patch
开始编译
这个就与lineage的编译大同小异了~
source build/envsetup.sh
breakfast 设备codename
# 生成system.img
mka systemimage
# 生成halium-boot.img
mka halium-boot
# 生成 vendor.img
mka vendorimage
有没有更加省力的办法
我们可以利用编译openwrt固件的github action编译Halium 9,大神已经搞出了编译Halium 7的action,经过一番修改,便可以实现编译Halium 9,相关的action已经放到以下的仓库欢迎fork和star。
白嫖

本文详细介绍如何编译Halium9系统,包括设置适配包、编写XML文件、同步补丁及编译流程等关键步骤,并提供了一种利用GitHub Action自动化编译的方法。
1101

被折叠的 条评论
为什么被折叠?



