-
Notifications
You must be signed in to change notification settings - Fork 659
Description
一、构建内核
设备型号和版本 oneplus13 15.0.0.851(CN)
mkdir oneplus13 && cd oneplus13
repo init -u https://github.com/OneplusOSS/kernel_manifest -b oneplus/sm8750 -m oneplus_13.xml --depth=1
repo sync -c -j$(nproc)
./kernel_platform/oplus/build/oplus_build_kernel.sh sun perf
二、安装out/dist/下的boot.img vendor_boot.img到手机后无法启动
adb reboot fastboot
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot flash boot boot.img
fastboot flash vendor_boot vendor_boot.img #解包全量包里发现oplus的模块都在这里,所以刷了这个,因为修改oplus_chg_v2.ko模块源码。最后发现编译出来的ko文件不在这里,而是直接在out/dist目录下。
fastboot reboot #无法进入系统,无限重启。仅刷入vendor_boot.img表现出无法进入系统。
后刷回全量包中的boot.img、vendor_boot.img正常进入系统,
adb reboot fastboot
fastboot flash super super.img #以为super.img中有相关ko模块
fastboot reboot #无法进入系统。本想刷回官方全量包里的super.img,回头一看竟然没有super.img.导致设备无法开机
三、相关疑问
1.照官方方式编译出来的img与全量包里的img不同,特别是vendor_boot.img变小了,那么对于树外的ko应该如何刷入设备中。
我看到源码中有这样的操作:
./kernel_platform/oplus/build/oplus_build.sh -t user -p SM8750 -b drivers/power/oplus/v2/oplus_chg_v2.ko #是否就是将ko打包进img中,但是运行报错,提示缺少functions.sh等文件。
2.刷入编译的super.img后无法开机,如果想要恢复,是否得基于全量包中的相关img,制作一个原来的super.img刷入设备才能开机呢?