参考:构建 Pixel 内核 | Android Open Source Project
repo仓库配置
~/android-kernel/.repo/repo$ git remote show origin
* 远程 origin
获取地址:https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
内核仓库配置
~/android-kernel/.repo/manifests$ git remote show origin * 远程 origin
获取地址:https://mirrors.tuna.tsinghua.edu.cn/git/AOSP//kernel/manifest
分支选择(android11,与android-aosp对应)
~/android11/.repo/manifests$ git remote show origin |head -n 20
* 远程 origin
获取地址:git://mirrors.ustc.edu.cn/aosp/kernel/manifest
~/android11/.repo/manifests$ head default.xml
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="aosp"
fetch=".."
review="https://android-review.googlesource.com/" />
<default revision="refs/tags/android-11.0.0_r4"
remote="aosp"
sync-j="4" />
kernel的分支
Pixel 3 (blueline) Pixel 3 XL (crosshatch) | device/google/crosshatch-kernel | android-msm-crosshatch-4.9-android11 |
换内核后,启动到桌面失败,重启就invalid slot
原因: 声卡加载失败, /vendor/lib/modules/*.ko 内核模块没有更新,不对应
原因是:没有更新vendor/google_devices/blueline/proprietary/vendor.img里的ko
解决方式
处理方式一:
重新打包vendor.img
处理方式二:
把模块全部改成内建 =m改成=y
1)文件b1c1_defconfig
~/android-kernel/private/msm-google$ git diff
diff --git a/arch/arm64/configs/b1c1_defconfig b/arch/arm64/configs/b1c1_defconfig
index 897d1ddb611d..2256855d19ec 100644
--- a/arch/arm64/configs/b1c1_defconfig
+++ b/arch/arm64/configs/b1c1_defconfig
@@ -338,9 +338,9 @@ CONFIG_JOYSTICK_XPAD=y
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_FTS=m
+CONFIG_TOUCHSCREEN_FTS=y
CONFIG_TOUCHSCREEN_FTM4=y
-CONFIG_TOUCHSCREEN_SEC_TS=m
+CONFIG_TOUCHSCREEN_SEC_TS=y
CONFIG_TOUCHSCREEN_TBN=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_QPNP_POWER_ON=y
2)b1c1auto.conf
~/android-kernel/private/msm-google/techpack/audio$ git diff .
diff --git a/config/b1c1auto.conf b/config/b1c1auto.conf
index cbc66964..307098f0 100644
--- a/config/b1c1auto.conf
+++ b/config/b1c1auto.conf
@@ -1,11 +1,11 @@
-CONFIG_PINCTRL_WCD=m
-CONFIG_SND_SOC_WCD9XXX_V2=m
-CONFIG_SND_SOC_WCD_SPI=m
-CONFIG_SND_SOC_WCD934X=m
-CONFIG_WCD9XXX_CODEC_CORE=m
-CONFIG_MSM_CDC_PINCTRL=m
-CONFIG_SND_SOC_MACHINE_SDM845=m
-CONFIG_WCD_DSP_GLINK=m
+CONFIG_PINCTRL_WCD=y
+CONFIG_SND_SOC_WCD9XXX_V2=y
+CONFIG_SND_SOC_WCD_SPI=y
+CONFIG_SND_SOC_WCD934X=y
+CONFIG_WCD9XXX_CODEC_CORE=y
+CONFIG_MSM_CDC_PINCTRL=y
+CONFIG_SND_SOC_MACHINE_SDM845=y
+CONFIG_WCD_DSP_GLINK=y
CONFIG_MSM_QDSP6V2_CODECS=y
CONFIG_MSM_QDSP6_APRV2_GLINK=y
CONFIG_SND_SOC_MSM_QDSP6V2_INTF=y
@@ -21,11 +21,11 @@ CONFIG_QTI_PP=y
CONFIG_SND_HWDEP_ROUTING=y
CONFIG_SND_SOC_MSM_STUB=y
CONFIG_MSM_AVTIMER=y
-CONFIG_SND_SOC_MAX98927=m
-CONFIG_SND_SOC_CS35L36=m
+CONFIG_SND_SOC_MAX98927=y
+CONFIG_SND_SOC_CS35L36=y
CONFIG_SND_SOC_CS35L36_I2S=y
CONFIG_SND_SOC_CS35L36_TDM=y
CONFIG_CIRRUS_SPKR_PROTECTION=y
-CONFIG_SND_SOC_MACHINE_SDM845_MAX98927=m
+CONFIG_SND_SOC_MACHINE_SDM845_MAX98927=y
CONFIG_WCD_SPI_AC=y
CONFIG_WCD_MICBIAS_USE_PULLUP=y
这个编译后,替换Image.lz4可以启动,
cp ~/android-kernel/out/android-msm-pixel-4.9/dist/mage.lz4 device/google/crosshatch-kernel/
重新打包(make),下载 (fastboot flashall -w),正常启动
wlan.ko还是旧的,需要换一下才能正常使用wifi