Pzqqt's News Channel
3.21K subscribers
686 photos
26 videos
411 files
4.45K links
Managed by @pzqqt and @pzqqt_bot

This channel will also push some updates news about things that I'm interested in.
Download Telegram
Pzqqt's News Channel
KernelSU Update 2024-03-17 #KernelSU Release tag: v0.9.0 Assets: There are too many, see here Download apk: KernelSU_v0.9.0_11628-release.apk (7.9 MB)
KernelSU v0.9.0 update adds support for getting KernelSU by installing kernel modules.

Therefore v0.8.1 users do not need to rush to upgrade.
Pzqqt's News Channel
KernelSU v0.9.0 update adds support for getting KernelSU by installing kernel modules. Therefore v0.8.1 users do not need to rush to upgrade.
In addition, KernelSU's method of compiling it as a kernel module (kernelsu.ko) is non-standard.

Simply put, KernelSU needs to call some function symbols that are not exported by the Linux kernel, which means that theoretically you cannot compile it as a kernel module.

See this:
https://github.com/tiann/KernelSU/issues/928#issuecomment-1702423412
综上所述,现在让我们谈谈KernelSU LKM安装方式的优点和缺点。

优点:
1. 适合不想替换内核的用户。
2. 适合stock内核被官方偷偷修改、且替换为GKI会导致设备无法启动或功能缺失的机型。比如:小米 14 Ultra
3. 适合不支持KernelSU的自定义内核。比如:Pandora。

缺点:
1. 由于kernelsu.ko不是一个标准的内核模块(它确实是一个可以被加载的内核模块,但是由于缺少一些Linux kernel没有导出的符号,因此它不可能通过常规的方式加载成功),因此需要像Magisk一样劫持init。这加大了被检测到的可能性,同时也意味着不能与Magisk共存。以下内容为个人猜测:我尚未清楚被KernelSU替换掉的init的内部实现细节(它似乎是不开源的),但是,根据这个issue,我猜它采用了与APatch类似的方式。这意味着,如果内核禁用了CONFIG_KALLSYMS_ALL,那么可能会无法启动。
2. 个人观点偏见:这种实现方式太不优雅了。

补充另外一个KernelSU LKM安装方式需要劫持init的原因:kernelsu.ko和init一样位于最早的ramdisk的根目录,而系统和内核不能也不应该从这里加载内核模块。因此需要对其特殊关照。


With all that said, let's now talk about the pros and cons of the KernelSU LKM installation method.

Advantage:
1. Suitable for users who don't want to change the kernel.
2. Suitable for models where the stock kernel has been secretly modified by the official, and replacing it with GKI will cause the device to be unable to start or lose functions. For example: Xiaomi 14 Ultra.
3. Suitable for custom kernels that don't support KernelSU. For example: Pandora.

Shortcoming:
1. Since kernelsu.ko is not a standard kernel module (it is indeed a kernel module that can be loaded, but due to the lack of some symbols that are not exported by the Linux kernel, it cannot be loaded successfully through conventional methods), it needs to hijack init like Magisk. This increases the likelihood of root detection and also means it cannot coexist with Magisk. The following is personal speculation: I don't yet know the internal implementation details of init that was replaced by KernelSU (it does not seem to be open source), but based on this issue, I guess it uses a similar approach to APatch. This means that if the kernel disables CONFIG_KALLSYMS_ALL, it may not boot.
2. Personal opinion bias: This implementation is too inelegant.

To add another reason why KernelSU LKM installation requires hijacking init: kernelsu.ko is located in the root directory of the earliest ramdisk like init, and the system and kernel can't & shouldn't load kernel modules from here. Therefore it needs special care.
从下个版本的Melt Kernel开始,如果安装时安装器检测到你已通过LKM的方式安装了KernelSU,那么将不会出现询问你是否选择KernelSU的选项。虽然YuKongA告诉我KernelSU LKM与具有KernelSU支持的内核镜像并不冲突,但很显然我们没必要多此一举。

Starting from the next version of Melt Kernel, if the installer detects that you have installed KernelSU through LKM during installation, there will be no option to ask you whether to select KernelSU. Although YuKongA told me that KernelSU LKM does not conflict with kernel images with KernelSU support, it is obvious that we do not need to do this.
Pzqqt's News Channel
HyperOS_BV1Nw4m1R7Bh_bootanimation.zip
HyperOS_BV1Nw4m1R7Bh_bootanimation_3.zip
4.3 MB
A small improvement: Before entering the lock screen, the logo's gradient animation will play in a loop (previously it only played once).