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

问题描述 投票:0回答:2

我的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

我使用以下命令刷新了 zip 图像

fastboot -w update out/target/product/bluejay/aosp_bluejay-img-eng.host.zip

内核构建步骤如下

  1. mkdir KERNEL_ROOT && cd KERNEL_ROOT

  2. repo init u 
    https://android.googlesource.com/kernel/manifest
     -b android-gs-bluejay-5.10-android12L-d2

  3. repo sync

  4. 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/dist
AOSP_ROOT/device/google/bluejay-kernel
然后进入android文件夹制作bootimage。此后 Pixel 6a 仍然无法启动。 希望您能帮忙解决这个问题!!

我根据google提供的官方文档为pixel 6a开发了android定制内核

  1. 内核:https://source.android.com/docs/setup/build/building-kernels

  2. AOSP:https://source.android.com/docs/setup/build/building

我将内核映像嵌入到 aosp 中,但它仍然无法工作

解决方案:

我找到了上述问题的解决方案,遵循第四步,其余的都是相同的

  1. LTO=full BUILD_AOSP_KERNEL=1 ./build_bluejay.sh

使用上面的命令Image.lz4将在以下路径生成out/android-gs-pixel-5.10/dist/.

只需将 Image.lz4 复制到设备内核(AOSP_ROOT/device/google/bluejay-kernel/)目录并构建 AOSP 源代码并将其刷新到设备上即可工作。

android kernel android-source android-kernel android-12l
2个回答
0
投票

据我所知,AOSP 不再在完整操作系统编译期间进行内核构建,而是支持预构建。但由于您确实想要修改它并在内核源代码中添加您自己的自定义更改,所以我遇到了这些补丁集,以允许在应用于 LineageOS(AOSP 分支)时为 gs101 构建自定义内核

https://review.lineageos.org/q/topic:gs101-inline-kernel


0
投票

我已成功将内核刷新到

Pixel 5a
(Android 13), 以下是我用来刷新自定义内核的工具:

  1. AnyKernal3 用于打包必要的内核文件;
  2. KernalFlasher 用于刷新打包的内核文件(比直接将
    boot.img
    刷新到设备更安全);

安装这些apk(尝试下载最新版本)到您的设备,我还修改了我的

anykernel.sh
Pixel 5a

    ### 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.img
    Image.lz4
    Image.lz4-dtb
    从内核构建目录(我的是:
    ramdisk.lz4
    )复制到
    out/android-msm-pixel-4.19/dist
    根目录;
    将所有模块文件从构建目录复制到
  • AnyKernel3
  • ;
    zip 
  • AnyKernel3/modules/system/lib/modules
  • 目录:
    AnyKernel3
    ;
  • zip -r9 kernel.zip * -x .git README.md *placeholder
  • 复制到您的设备,例如
    kernel.zip
    ;
    运行
  • sdcard/Download
  • 应用程序,也许先备份旧的内核文件;
  • KernelFlasher
  • 应用程序,选择
    KernalFlasher
    -
    Slot A
    -
    Flash
    (选择您创建的
    Flash AK3 Zip
    文件);
    等待刷机操作完成,如果没有问题,则重新启动系统。
© www.soinside.com 2019 - 2024. All rights reserved.