PZQQT_C Telegram 6404
我曾经想通过一大段文字来详细介绍Melt Kernel和Glow Kernel从编译到打包的整个完整流程,但写了很多之后还是无奈地全删了,因为其中的技术细节太多,除非你有丰富的编译Linux内核的经验,并且非常了解GKI的原理,否则我所讲的东西是非常难以理解的。但我还是会简单地描述一下整个过程:
1. 使用Google clang 12.0.5编译内核模块,然后从中取我们需要的。
2. 使用目前最先进的稳定版clang编译内核镜像。
3. 然后,以同样的方式编译带KernelSU的内核镜像。
4. 然后,以同样的方式编译带KernelSU和susfs的内核镜像。
5. 复制1~4步的编译产物到Melt Kernel的AnyKernel3目录,然后执行make_package.py进行打包。

一些技术细节:
1. 编译内核模块时,需要检查编译得到的内核模块使用的从内核导出的符号是否都是KMI符号。
2. 编译内核镜像时,需要检查编译得到的内核镜像的所有符号CRC是否和KMI符号CRC一致,并检查是否缺少KMI符号,同时修剪掉所有非KMI符号。
3. 打包的过程中,make_package.py做了这些事:
1. 将3个内核镜像放到一起,用bsdiff4生成差分补丁,作用是减小安装包体积。
2. 调用depmod命令,为vendor_boot和vendor_dlkm的内核模块重新生成依赖关系等信息。
3. 模拟内核镜像加载内核模块的流程,确保不存在模块与模块间符号CRC不匹配、缺少符号等问题。
4. 用高压缩率的LZMA2算法压缩内核镜像、内核模块、dtb和dtbo,进一步减小安装包体积。
5. 最后,完成打包。

技术细节中的1和2是我为了让内核源码符合GKI的标准而设置的自我约束。实际上,如果你把Melt Kernel的源代码拉取下来并自己编译内核镜像,你可以不遵循这些约束,但如果你自行修改了源代码就另当别论了。



tgoop.com/pzqqt_c/6404
Create:
Last Update:

我曾经想通过一大段文字来详细介绍Melt Kernel和Glow Kernel从编译到打包的整个完整流程,但写了很多之后还是无奈地全删了,因为其中的技术细节太多,除非你有丰富的编译Linux内核的经验,并且非常了解GKI的原理,否则我所讲的东西是非常难以理解的。但我还是会简单地描述一下整个过程:
1. 使用Google clang 12.0.5编译内核模块,然后从中取我们需要的。
2. 使用目前最先进的稳定版clang编译内核镜像。
3. 然后,以同样的方式编译带KernelSU的内核镜像。
4. 然后,以同样的方式编译带KernelSU和susfs的内核镜像。
5. 复制1~4步的编译产物到Melt Kernel的AnyKernel3目录,然后执行make_package.py进行打包。

一些技术细节:
1. 编译内核模块时,需要检查编译得到的内核模块使用的从内核导出的符号是否都是KMI符号。
2. 编译内核镜像时,需要检查编译得到的内核镜像的所有符号CRC是否和KMI符号CRC一致,并检查是否缺少KMI符号,同时修剪掉所有非KMI符号。
3. 打包的过程中,make_package.py做了这些事:
1. 将3个内核镜像放到一起,用bsdiff4生成差分补丁,作用是减小安装包体积。
2. 调用depmod命令,为vendor_boot和vendor_dlkm的内核模块重新生成依赖关系等信息。
3. 模拟内核镜像加载内核模块的流程,确保不存在模块与模块间符号CRC不匹配、缺少符号等问题。
4. 用高压缩率的LZMA2算法压缩内核镜像、内核模块、dtb和dtbo,进一步减小安装包体积。
5. 最后,完成打包。

技术细节中的1和2是我为了让内核源码符合GKI的标准而设置的自我约束。实际上,如果你把Melt Kernel的源代码拉取下来并自己编译内核镜像,你可以不遵循这些约束,但如果你自行修改了源代码就另当别论了。

BY Pzqqt's News Channel


Share with your friend now:
tgoop.com/pzqqt_c/6404

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Add the logo from your device. Adjust the visible area of your image. Congratulations! Now your Telegram channel has a face Click “Save”.! Select: Settings – Manage Channel – Administrators – Add administrator. From your list of subscribers, select the correct user. A new window will appear on the screen. Check the rights you’re willing to give to your administrator.
from us


Telegram Pzqqt's News Channel
FROM American