<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.uotan.cn/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fuutao</id>
	<title>Uotan Wiki · 刷机百科 - 用户贡献 [zh-cn]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.uotan.cn/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fuutao"/>
	<link rel="alternate" type="text/html" href="https://wiki.uotan.cn/index.php?title=%E7%89%B9%E6%AE%8A:%E7%94%A8%E6%88%B7%E8%B4%A1%E7%8C%AE/Fuutao"/>
	<updated>2026-06-13T20:55:19Z</updated>
	<subtitle>用户贡献</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.uotan.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=408</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.uotan.cn/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=408"/>
		<updated>2024-02-15T15:43:03Z</updated>

		<summary type="html">&lt;p&gt;Fuutao：​/* 高级内容 */ 添加 [为新设备编写类原生device tree]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[文件:Uotan Wiki.png|缩略图]]&lt;br /&gt;
= 欢迎来到 &amp;lt;span style=&amp;quot;display: inline-block; vertical-align: middle; padding-bottom: 11px;&amp;quot;&amp;gt;[[文件:Uotan Wiki.png|120px]]&amp;lt;/span&amp;gt; · 刷机百科 =&lt;br /&gt;
&lt;br /&gt;
'''我们致力于打造一个更适合国人使用、更贴近刷机本身的玩机知识站点'''&lt;br /&gt;
&lt;br /&gt;
'''本站现有{{NUMBEROFUSERS}}名用户，{{NUMBEROFEDITS}}次编辑，{{NUMBEROFARTICLES}}篇条目，{{NUMBEROFACTIVEUSERS}}位活跃编辑者。'''&lt;br /&gt;
== 刷机入门 ==&lt;br /&gt;
# [[ADB与Fastboot驱动|ADB 与 Fastboot 驱动]]&lt;br /&gt;
# [[解锁Bootloader|解锁 Bootloader]]&lt;br /&gt;
# [[刷入第三方Recovery|刷入第三方 Recovery]]&lt;br /&gt;
# [[获取Root权限|获取 Root 权限]]&lt;br /&gt;
# [[Miflash线刷|MiFlash 线刷]]&lt;br /&gt;
&lt;br /&gt;
== 进阶内容 ==&lt;br /&gt;
# [[使用柚坛工具箱进行线刷]]&lt;br /&gt;
# [[ADB SideLoad]]&lt;br /&gt;
# [[Fastboot Update]]&lt;br /&gt;
# [[Fastboot 命令]]&lt;br /&gt;
# [[刷入任意单独镜像]]&lt;br /&gt;
# [[9008深度刷机|9008 深度刷机]]&lt;br /&gt;
# [[MTK Flashtool深度刷机|MTK Flashtool 深度刷机]]&lt;br /&gt;
# [[提取分区]]&lt;br /&gt;
# [[修改分区]]&lt;br /&gt;
# [[QCN]]&lt;br /&gt;
# [[Super_Empty]]&lt;br /&gt;
&lt;br /&gt;
== 系统修改 ==&lt;br /&gt;
# [[ADB命令|ADB 命令]]&lt;br /&gt;
# [[Magisk模块|Magisk 模块]]&lt;br /&gt;
# [[LsPosed 模块|LSPosed 模块]]&lt;br /&gt;
# [[KSU 模块]]&lt;br /&gt;
# [[修改教程|修改方案]]&lt;br /&gt;
&lt;br /&gt;
== Mindows工具箱 ==&lt;br /&gt;
# [[为手机刷入Windows|为手机刷入 Windows]]&lt;br /&gt;
# [[更新驱动程序]]&lt;br /&gt;
# [[重新安装Windows|重新安装 Windows]]&lt;br /&gt;
# [[一些常见问题及其解决方案]]&lt;br /&gt;
&lt;br /&gt;
== 高级内容 ==&lt;br /&gt;
# [[Android 分区详解]]&lt;br /&gt;
# [[GKI 内核]]&lt;br /&gt;
# [[如何解包 Android ROM]]&lt;br /&gt;
# [[如何打包 Android ROM]]&lt;br /&gt;
# [[如何从源码构建 TWRP Recovery]]&lt;br /&gt;
# [[如何从源码构建 Android ROM]]&lt;br /&gt;
# [[使用edl.py|使用 edl.py]]&lt;br /&gt;
# [[为手机安装Linux|为手机安装 Linux]]&lt;br /&gt;
# [[Git使用教程]]&lt;br /&gt;
# [[为新设备编写类原生device tree]]&lt;br /&gt;
&lt;br /&gt;
== 知名玩机博主 ==&lt;br /&gt;
# [[极客湾Geekerwan]]&lt;br /&gt;
# [[小白测评]]&lt;br /&gt;
# [[微积分WekiHome]]&lt;br /&gt;
# [[晨钟酱Official]]&lt;br /&gt;
# [[江灵夏草]]&lt;br /&gt;
# [[柚坛UOTAN]]&lt;br /&gt;
# [[派大宝UI]]&lt;br /&gt;
# [[我可以等你十年]]&lt;br /&gt;
# [[某贼]]&lt;br /&gt;
# [[凡生TalkING]]&lt;br /&gt;
&lt;br /&gt;
== 知名良心开发者 ==&lt;br /&gt;
# [[暮间雾]]&lt;br /&gt;
# [[某贼]]&lt;br /&gt;
# [[Amktiao]]&lt;br /&gt;
# [[小太阳ACA]]&lt;br /&gt;
# [[hellobbn]]&lt;br /&gt;
&lt;br /&gt;
== 更多词条 ==&lt;br /&gt;
# [[设备代号收录集合]]&lt;br /&gt;
# [[通用系统镜像]]&lt;br /&gt;
# [[AOSP]]&lt;br /&gt;
# [[Linux mainlining]]&lt;br /&gt;
# [[Windows on arm|WOA (Windows on arm)]]&lt;/div&gt;</summary>
		<author><name>Fuutao</name></author>
	</entry>
	<entry>
		<id>https://wiki.uotan.cn/index.php?title=Amktiao&amp;diff=406</id>
		<title>Amktiao</title>
		<link rel="alternate" type="text/html" href="https://wiki.uotan.cn/index.php?title=Amktiao&amp;diff=406"/>
		<updated>2024-02-15T15:32:40Z</updated>

		<summary type="html">&lt;p&gt;Fuutao：​雑魚&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;私は雑魚、雑魚ですね！！！&lt;/div&gt;</summary>
		<author><name>Fuutao</name></author>
	</entry>
	<entry>
		<id>https://wiki.uotan.cn/index.php?title=GKI&amp;diff=291</id>
		<title>GKI</title>
		<link rel="alternate" type="text/html" href="https://wiki.uotan.cn/index.php?title=GKI&amp;diff=291"/>
		<updated>2024-02-15T07:17:11Z</updated>

		<summary type="html">&lt;p&gt;Fuutao：​gki内核知识初次提交&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== '''&amp;lt;big&amp;gt;前言&amp;lt;/big&amp;gt;''' ===&lt;br /&gt;
随着Android系统的发展，碎片化问题对Android社区的生产影响越来越严重。&lt;br /&gt;
&lt;br /&gt;
此前Android通过Project Treble等项目，将供应商驱动和系统解耦、将系统组件进行拆分，衍生出了system、system_ext、product、odm、vendor等分区，而gki内核项目就是Android在内核方面的解耦，使得内核的碎片化减少。&lt;br /&gt;
&lt;br /&gt;
* 碎片化的危害：&lt;br /&gt;
* 安全更新需要耗费大量人力&lt;br /&gt;
* 很难合并长期支持的更新&lt;br /&gt;
* 妨碍 Android 平台进行版本升级&lt;br /&gt;
* 很难将内核更改贡献回上游 Linux&lt;br /&gt;
&lt;br /&gt;
'''''具体细节请参考：[https://source.android.google.cn/docs/core/architecture/kernel/generic-kernel-image?hl=zh-cn 通用内核映像]'''''&lt;br /&gt;
&lt;br /&gt;
=== '''&amp;lt;big&amp;gt;GKI 1.0内核和GKI 2.0内核的区别&amp;lt;/big&amp;gt;''' ===&lt;br /&gt;
gki1.0内核与gki2.0最大的区别就是使 OEM 无需供应商参与即可提供内核安全修复和问题修复 (LTS)，简单来说就是1.0只能算OEM内核的gki，还是属于aosp内核的下游，例如MTK平台的gki，&amp;lt;u&amp;gt;高通平台的gki，也就是dalao们常说的qgki（qcom-gki）&amp;lt;/u&amp;gt;,而2.0才能直接使用Google所维护aosp内核。&lt;br /&gt;
&lt;br /&gt;
'''''参考：[https://source.android.google.cn/docs/core/architecture/kernel/generic-kernel-image?hl=zh-cn#fragmentation-fix-gki 解决碎片化问题：通用内核映像]'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''小知识：不少手机厂商随着gki2.0内核的发展，纷纷都开始直接使用Google编译好的gki2.0内核，如内核的 suffix 以g开头，那就是Google所编译的gki内核。        例：5.10.101-android12-9-g30979850fc20，g30979850fc20就是 suffix 部分'''''&lt;br /&gt;
&lt;br /&gt;
=== '''&amp;lt;big&amp;gt;GKI内核与boot分区的改动&amp;lt;/big&amp;gt;''' ===&lt;br /&gt;
&lt;br /&gt;
* 在 &amp;lt;code&amp;gt;ro.board.first_api_level=29&amp;lt;/code&amp;gt;及小于29的boot镜像中，boot镜像包含通用的 ramdisk 和内核。&lt;br /&gt;
&lt;br /&gt;
* 在 &amp;lt;code&amp;gt;ro.board.first_api_level=30&amp;lt;/code&amp;gt;的boot镜像中，boot镜像包含通用的 ramdisk 和OEM GKI内核。&lt;br /&gt;
&lt;br /&gt;
* 在 &amp;lt;code&amp;gt;ro.board.first_api_level=31&amp;lt;/code&amp;gt; 和&amp;lt;code&amp;gt;ro.board.first_api_level=32&amp;lt;/code&amp;gt;的boot镜像中，boot 镜像包含通用的 ramdisk 和 Google GKI 内核。&lt;br /&gt;
&lt;br /&gt;
* 对于发布时搭载 &amp;lt;code&amp;gt;ro.board.first_api_level=33&amp;lt;/code&amp;gt;及大于33 的设备，通用 ramdisk 将从 boot 镜像中移除，并放置在单独的 init_boot 镜像中。此更改会使 boot 镜像仅保留 Google GKI 内核。因为 magisk 需要修补RamDisk，来获取root权限，因此在 &amp;lt;code&amp;gt;ro.board.first_api_level=33&amp;lt;/code&amp;gt;及大于33 的设备需要提取 init_boot 镜像进行修补。&lt;br /&gt;
&lt;br /&gt;
==== '''如何查看 &amp;lt;code&amp;gt;ro.board.first_api_level=？&amp;lt;/code&amp;gt;'''（下列方法二选一） ====&lt;br /&gt;
&lt;br /&gt;
* 使用mt管理终端功能，输入&amp;lt;code&amp;gt;getprop ro.board.first_api_level&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 在开发者调试，开启手机USB调试，使用电脑终端，输入adb shell，授权adb调试权限，输入&amp;lt;code&amp;gt;getprop ro.board.first_api_level&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== '''&amp;lt;big&amp;gt;GKI内核与vendor_boot分区的诞生&amp;lt;/big&amp;gt;''' ===&lt;br /&gt;
Android 11 引入了通用内核映像 (GKI) 的概念。为了能够使用 GKI 轻松启动任意设备，ro.board.first_api_level=30及30以上 设备可以使用启动映像头文件版本 3。在版本 3 中，所有供应商专用信息都已从 boot 分区分离出来并转移到新的 vendor_boot 分区中。&lt;br /&gt;
&lt;br /&gt;
因此，我们需要修改cmdlime来设置Android设备的SELinux为宽容时，应该修改vendor_boot分区中的cmdlime参数，而不是boot或init_boot。&lt;br /&gt;
&lt;br /&gt;
'''''具体参考：[https://source.android.google.cn/docs/core/architecture/kernel/generic-kernel-image?hl=zh-cn#gki-1_0-goals 供应商启动分区]'''''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''小知识：4.19版本的Android内核是具有gki特性的，只不过没有加入KMI功能，只在Google pixel机型上支持，属于内测版本。'''''&lt;br /&gt;
&lt;br /&gt;
=== '''&amp;lt;big&amp;gt;GKI内核与KMI接口&amp;lt;/big&amp;gt;''' ===&lt;br /&gt;
KMI 全称 Kernel Module Interface，相同 KMI 的内核版本是兼容的 这也是 GKI 中“通用”的含义所在；反之，如果 KMI 不同，那么这些内核之间无法互相兼容，刷入与你设备 KMI 不同的内核镜像可能会导致死机。&lt;br /&gt;
&lt;br /&gt;
具体来说，对 GKI 的设备，其内核版本格式应该如下：&lt;br /&gt;
&lt;br /&gt;
'''````````````````````````````````````````````````````````````````'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;'''KernelRelease :='''&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;'''Version.PatchLevel.SubLevel-AndroidRelease-KmiGeneration-suffix'''&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;'''w           .x                   .y                -zzz                       -k                         -something'''&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;'''例：5           .10                 .101           -android12           -9                        -g30979850fc20'''&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''````````````````````````````````````````````````````````````````'''&lt;br /&gt;
&lt;br /&gt;
其中，w.x-zzz-k 为 KMI 版本。例如，一个设备内核版本为5.10.101-android12-9-g30979850fc20，那么它的 KMI 为 5.10-android12-9；理论上刷入其他这个 KMI 的内核也能正常开机。&lt;br /&gt;
&lt;br /&gt;
'''请注意：'''&lt;br /&gt;
&lt;br /&gt;
* '''内核版本中的 SubLevel 不属于 KMI 版本的一部分！'''&lt;br /&gt;
&lt;br /&gt;
* '''内核的 KMI 版本与 Android 版本并不一定相同！'''&lt;br /&gt;
&lt;br /&gt;
* '''新的 Android 设备上可能采取了防回滚机制，它不允许刷入一个安全补丁更旧的内核。比如，如果你的设备内核是 5.10.101-android12-9-g30979850fc20，它的安全补丁为 2023-11；即使你刷入与内核 KMI 一致的内核，如果安全补丁级别比 2023-11要老（例如2023-06），那么很可能会无法开机。因此，在保持 KMI 一致的情况下，优先采用安全补丁级别更新的内核！'''&lt;br /&gt;
&lt;br /&gt;
'''''具体参考：[https://source.android.google.cn/docs/core/architecture/kernel/stable-kmi?hl=zh-cn 保持稳定的内核模块接口 (KMI)]  [https://source.android.google.cn/docs/core/architecture/kernel/gki-versioning?hl=zh-cn GKI 版本控制]  [https://kernelsu.org/zh_CN/guide/installation.html#kmi KernelSU安装必备知识]'''''&lt;br /&gt;
&lt;br /&gt;
=== '''&amp;lt;big&amp;gt;GKI内核ABI监控&amp;lt;/big&amp;gt;''' ===&lt;br /&gt;
GKI和ABI的关系主要体现在通过ABI监控工具和符号列表来维护和管理KMI的稳定性，以确保内核的稳定和兼容性。&lt;br /&gt;
&lt;br /&gt;
KMI并非包含内核中的所有符号，甚至并非包含完整的3万多个导出符号。相反，可供模块使用的符号都明确列在一组符号列表文件中，这些文件在内核树的根目录中公开维护。所有符号列表文件中所有符号的并集定义了一组作为稳定版维护的KMI符号。&lt;br /&gt;
&lt;br /&gt;
为了减少需要作为稳定版维护的符号的数量和类型，GKI 内核具有将导出符号限制在模块所需符号范围内的功能。对于外部编译的模块，您需要有一个模块使用的符号列表，以便 GKI 内核可以导出这些符号。例如，模块用于小米机型的符号存储在内核源码的 android 目录下。&lt;br /&gt;
&lt;br /&gt;
'''''具体参考：[https://source.android.google.cn/docs/core/architecture/kernel/abi-monitor?hl=zh-cn Android 内核 ABI 监控]'''''&lt;br /&gt;
&lt;br /&gt;
=== '''&amp;lt;big&amp;gt;[https://source.android.google.cn/docs/setup/build/building-kernels?hl=zh-cn GKI内核编译]&amp;lt;/big&amp;gt;''' ===&lt;/div&gt;</summary>
		<author><name>Fuutao</name></author>
	</entry>
</feed>