Halium 9 嚐鮮 -- 在小米平板4上的移植 (四)
阿新 • • 發佈:2021-02-02
修改kernel
檢查並修改核心選項
Halium提供了一個指令碼檢查defconfig的有些選項是否已經開啟。找到核心專案裡的defconfig,就可以開搞了。
指令碼
./check-kernelconfig 你的defconfig -w
這個指令碼就會自動勾選上Halium依賴的核心模組。
啟動時永遠啟動到initramfs
Halium-boot是一個initramfs,不能夠讓核心繞過它。
修改核心資料夾下的 init/initramfs.c
do_skip_initramfs = 1;
改為
do_skip_initramfs = 0;
關閉核心模組的資訊校驗
這是一個很頭疼的問題找了很久都沒有答案,體現就是vendor分割槽和其他的安卓分割槽都能夠正常掛載,但是lxc安卓容器起不來。機器一直卡在第一屏。
修改kernel/module.c 大體在3485行加入如下兩句
char *after_dashes;
+ flags |= MODULE_INIT_IGNORE_MODVERSIONS;
+ flags |= MODULE_INIT_IGNORE_VERMAGIC;
err = module_sig_check(info, flags);
打apparmor補丁
Ubuntu Touch 依賴的apparmor較新,需要打backport補丁,具體請看Ubports的 github wiki
不同核心版本的補丁不同。