1.问题描述:在刷入基础镜像后会重新启动并进入fastbootd模式,但是卡在Google的logo处,无法进入fastbootd。

回答:这应该是驱动对不上,要在https://developers.google.com/android/drivers通过版本号找到对应驱动

2、问题描述:确保驱动和系统版本对齐之后,刷入系统却卡在fastboot模式

回答:需要更新 fastboot 工具

3、问题描述:成功刷机,进入系统,但是屏幕触控失效,触控驱动 / I2C 设备通信失败。

10-03 09:04:23.946 0 0 I : c3 1246 bad ioctl: -1072934383
回答:wsl 编译 android 内核并刷入 pixel4 - 怎么可以吃突突 - 博客园有解决办法
修改点:
1、注释掉/home/towertan/AOSP_SRC/android-kernel-pixel4/private/msm-google/kernel/module.c中 check_modinfo 函数返回失败值
2、增删/home/towertan/AOSP_SRC/android-kernel-pixel4/private/msm-google/arch/arm64/configs/floral.defconfig, 增加CONFIG_TOUCHSCREEN_FTS=y,删除CONFIG_MODVERSIONS=y
3、修改/home/towertan/AOSP_SRC/android-kernel-pixel4/private/msm-google\build.config.floral_no-cfi, 注释掉POST_DEFCONFIG_CMDS="check_defconfig && update_nocfi_config"

后续:重新编译系统,这次不使用自己编译的内核,使用代码树上编译行的 boot.img,查看之后

4、内核增量编译:

利用 aosp 项目中自带的工具:unpack_bootimg.py、mkbootimg.py

#解压boot.img
>>>towertan@towertan-vm:~/AOSP_SRC/boot_unpack$ python3 ~/AOSP_SRC/aosp13_7r/system/tools/mkbootimg/unpack_bootimg.py --boot_img boot.img
boot magic: ANDROID!
kernel_size: 20810890
kernel load address: 0x00008000
ramdisk size: 16932208
ramdisk load address: 0x01000000
second bootloader size: 0
second bootloader load address: 0x00000000
kernel tags load address: 0x00000100
page size: 4096
os version: 13.0.0
os patch level: 2022-10
boot image header version: 2
product name: 
command line args: console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 androidboot.memcg=1 cgroup.memory=nokmem usbcore.autosuspend=7 androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 androidboot.boot_devices=soc/1d84000.ufshc loop.max_part=7 buildvariant=userdebug
additional command line args: 
recovery dtbo size: 0
recovery dtbo offset: 0x0000000000000000
boot header size: 1660
dtb size: 1048284
dtb address: 0x0000000001f00000

>>>towertan@towertan-vm:~/AOSP_SRC/boot_unpack$ cd out

#替换其中的kernel文件
>>>towertan@towertan-vm:~/AOSP_SRC/boot_unpack/out$ cp ~/AOSP_SRC/android-kernel-pixel4/out/android-msm-pixel-4.14/dist/Image.lz4 ./kernel

#根据前面解压分析出的参数重新制作镜像
>>>towertan@towertan-vm:~/AOSP_SRC/boot_unpack/out$ python3 ~/AOSP_SRC/aosp13_7r/system/tools/mkbootimg/mkbootimg.py \
  --kernel ./kernel \
  --ramdisk ./ramdisk \
  --dtb ./dtb \
  --cmdline "console=ttyMSM0,115200n8 androidboot.console=ttyMSM0 printk.devkmsg=on msm_rtb.filter=0x237 ehci-hcd.park=3 service_locator.enable=1 androidboot.memcg=1 cgroup.memory=nokmem usbcore.autosuspend=7 androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 androidboot.boot_devices=soc/1d84000.ufshc loop.max_part=7 buildvariant=userdebug" \
  --base 0x00000000 \
  --kernel_offset 0x00008000 \
  --ramdisk_offset 0x01000000 \
  --tags_offset 0x00000100 \
  --pagesize 4096 \
  --header_version 2 \
  --os_version 13.0.0 \
  --os_patch_level 2022-10 \
  -o ../new_boot.img

>>>towertan@towertan-vm:~/AOSP_SRC/boot_unpack/out$ ls ../
boot.img  new_boot.img  out
5、uname -a得到的提交分支显示dirty(这应该是承接的问题3):

应该是问题三中,采用了修改 module.c 的方法来修复触屏失效问题产生的次生问题,对于安卓 13,更换驱动可能还是要从镜像下手…