记录一个大致流程
- 刷
TWRP - 刷
orangefox, xda 上找一个自个儿手机的第三方包, 但必须公开了其内核源码. 刷Magisk, Magisk.apk 改为 magisk.zip 即可刷 - 安装
Termux, 设置文件存储访问权限并运行termux-setup-storage, 换源termux-change-repo并更新:pkg update - 使用
check-config.sh, 查看该包内核需要开启什么选项 git clone ROM 的内核源码- 安装配置交叉编译工具链 (需要
合适的 gcc/clang 版本, 只能尝试, 或者如果 ROM 作者有提示更好) - 在内核源码目录运行
make clean && make mrproper && make ttifany_defconfig (我的一个旧手机代号: 小米 5X) && make menuconfig将第 4 步显示的missing项勾选上, 应配置为星号*, 而不是M, 表示模块编译进内核与内核一体, 而不是可”插拔”的模块. make -j4- 在 TWRP 的 Terminal 中执行
dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/stockboot.img - 下载
Android Image KitchenLinux 版本, 解压, 将stockboot.img拷贝道 AIK 目录下 - 在 AIK 目录下执行
sudo ./unpackimg.sh stockboot.img - 将第 8 步编译好的内核
arch/arm64/boot/Image.gz-dtb替换[AIK]/split_img/image.gz-kernel - 在 AIK 目录执行
sudo ./repacking.sh - 将
image-new.img拷贝到手机/sdcard/下 - 在 TWRP 中选中 boot 分区刷入
image-new.img - 手机开机后, 在 Termux 中再次运行
check-config.sh检查相关配置是否已经满足 - (可设置开机启动)运行
sudo mount -t tmpfs -o uid=0,gid=0,mode=0755 cgroup /sys/fs/cgroup pkg install root-repopkg install docker- (可设置开机启动)运行
sudo DOCKER_RAMDISK=true dockerd --iptables=false sudo docker run hello-world- 然后就能看到是否成功的提示了
一些说明
这是以前记录在为知笔记里头的, 这次转录过来做个备忘, 省略了很多细节. 第 8 步可能会出现很多问题, 比如头文件
什么的找不到之类, 需要找到错误提示对应的文件所在目录的 Makefile 里面加上能找到相关头的路径.