如何为AOSP 12版本的Pixel 6a(Bluejay)集成自定义Android内核

mfuanj7w  于 2023-06-04  发布在  Android
关注(0)|答案(2)|浏览(355)

我的AOSP构建步骤如下

  1. mkdir AOSP_ROOT && cd AOSP_ROOT
  2. repo init -u ``https://android.googlesource.com/platform/manifest`` -b android-12.1.0_r12
  3. repo sync
  4. download google_devices-bluejay-sd2a.220601.001.a1-0145bbe6.tgz copy it to AOSP_ROOT/
  5. unzip google_devices-bluejay-sd2a.220601.001.a1-0145bbe6.tgz
  6. run extract-google_devices-bluejay.sh
  7. source build/envsetup.sh
  8. lunch aosp_bluejay-userdebug
  9. make updatepackage -j16
    我 Flink 的压缩图像与以下命令
    fastboot -w update out/target/product/bluejay/aosp_bluejay-img-eng.host.zip
    内核构建步骤如下
  10. mkdir KERNEL_ROOT && cd KERNEL_ROOT
  11. repo init uhttps://android.googlesource.com/kernel/manifest-b android-gs-bluejay-5.10-android12L-d2
  12. repo sync
  13. BUILD_CONFIG=private/devices/google/bluejay/build.config.bluejay build/build.sh
    使用以上命令,我在路径out/android-gs-pixel-5.10/dist中获得了Image.lz4,我尝试使用命令刷新Image.lz4
    fastboot boot out/android-gs-pixel-5.10/dist/Image.lz4
    然后设备也没有启动,然后我尝试用以下命令刷新boot.img
    fastboot flash boot out/android-gs-pixel-5.10/dist/boot.img
    现在设备卡在谷歌标志上,无法启动。我也试着把所有的文件都拷贝进去

KERNEL_ROOT/out/android-gs-pixel-5.10/distAOSP_ROOT/device/google/bluejay-kernel并导出TARGET_PREBUILT_KERNEL=/KERNEL_ROOT/out/android-gs-pixel-5.10/dist/Image.lz4,然后转到android文件夹制作bootimage。Pixel 6a在那之后仍然无法 Boot 。希望您对此有所帮助!!

我根据google提供的官方文档为pixel 6a开发了android自定义内核
1.内核:https://source.android.com/docs/setup/build/building-kernels

  1. AOSP:https://source.android.com/docs/setup/build/building
    我把内核映像嵌入到aosp上,但它仍然不工作
tvz2xvvm

tvz2xvvm1#

据我所知,AOSP不再在完整的操作系统编译期间进行内核构建,而是支持预构建。但是因为你确实想修改它并在内核源代码中添加你自己的自定义更改,我遇到了这些补丁集,当应用到LineageOS(AOSP分支)时,它们允许为gs101定制内核构建。
https://review.lineageos.org/q/topic:gs101-inline-kernel

irlmq6kh

irlmq6kh2#

我已经成功地将内核闪存到Pixel 5a(Android 13),这里是我用来闪存自定义内核的工具:

  1. AnyKernal3用于打包必要的内核文件;
  2. KernalFlasher用于刷新打包的内核文件(比直接将boot.img闪存到设备更安全);
    安装这些apk(尝试下载最新版本)到您的设备,我还修改了我的Pixel 5aanykernel.sh
### AnyKernel setup
# begin properties
do.devicecheck=0
do.modules=1 # need copy all the module files to the device

## boot shell variables
block=auto;
is_slot_device=1;
ramdisk_compression=auto;
patch_vbmeta_flag=auto;
  • 从内核构建目录复制dtbo_barbet.imgImage.lz4Image.lz4-dtbramdisk.lz4(我的目录是:out/android-msm-pixel-4.19/dist)到AnyKernel3根目录;
  • 将所有模块文件从build目录复制到AnyKernel3/modules/system/lib/modules;
  • zip AnyKernel3目录:zip -r9 kernel.zip * -x .git README.md *placeholder ;
  • kernel.zip复制到您的设备,例如sdcard/Download;
  • 运行KernelFlasher应用程序,可能会先备份旧的内核文件;
  • KernalFlasher应用程序,选择Slot A-Flash-Flash AK3 Zip(选择您创建的kernel.zip文件);
  • 等待flash操作完成,如果没有问题,然后重新启动系统。

相关问题