|Deletions are marked like this.||Additions are marked like this.|
|Line 22:||Line 22:|
|2. Download Android9.0 stock image from https://dl.google.com/dl/android/aosp/blueline-pq1a.181205.006-factory-af1829a6.zip, and run flash-all.sh. This ensures the currenly verified working bootloader is installed.
Verify that the bootloader version shows
ABL version: b1c1-0.1-5034669
ABL build time: Sep 27 2018 17:15:40
|Line 27:||Line 35:|
|git clone https://git.linaro.org/people/amit.pundir/linux.git -b dragonboard-android-mainline-tracking-5.2||git clone https://git.linaro.org/people/sumit.semwal/linux-dev.git -b dev/p3-mainline-WIP|
|Line 59:||Line 67:|
|# avoid a known smmu crash by turning OFF the display
fastboot oem select-display-panel none; fastboot reboot bootloader
|Line 75:||Line 80:|
|When done with testing, reboot into fastboot/bootloader mode, turn ON the display and switch OFF the device from bootloader menu :
adb reboot bootloader
fastboot oem select-display-panel; fastboot reboot bootloader
|Line 88:||Line 86:|
|* Display is WIP|| * Android 10 bootloaders don't yet work
* Display is WIP - we get to a garbled UI, and Android reports boot_completed; DSC is in-progress to allow proper UI.
AOSP on Pixel3 running Mainline kernel
Not to be confused with AOSP's aosp_blueline-userdebug build target, goal of this project is to run AOSP on Pixel3 device with mainline linux kernel.
- Upstream aosp_blueline-userdebug build target use Qcom prebuilt firmware and services binaries which only work with msm-android-4.9 kernel.
- pixel3_mainline-userdebug build target use mainline linux kernel and can boot to console right now with ADB. Work is going on to enable Display panel + Mesa/Freedreno support.
Compile AOSP and kernel image from sources for pixel3_mainline
1. Download the AOSP source tree and build pixel3_mainline target:
2. Download Android9.0 stock image from https://dl.google.com/dl/android/aosp/blueline-pq1a.181205.006-factory-af1829a6.zip, and run flash-all.sh. This ensures the currenly verified working bootloader is installed.
Verify that the bootloader version shows
3. Build kernel image and boot.img:
Run the following commands to clone and build kernel Image:
1 git clone https://git.linaro.org/people/sumit.semwal/linux-dev.git -b dev/p3-mainline-WIP 2 cd linux 3 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- blueline_defconfig 4 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image.gz qcom/sdm845-blueline.dtb -j`nproc` 5 cat arch/arm64/boot/Image.gz arch/arm64/boot/dts/qcom/sdm845-blueline.dtb > Image.gz-dtb
Build boot.img by running following mkbootimg command:
where ramdisk.img is created as part of AOSP build for pixel3_mainline-userdebug.
Note: cmdline is hardcoded in kernel config (blueline_defconfig) so that bootloader appended bootargs do not crash our boot.
Boot Pixel3 in fastboot mode by powering off the device and then hold VOL down button and press/hold POWER button until bootloader (fastboot) comes up. Download and unzip vbmeta.img from Pixel3 factory images, which is used to disable image verification. And then run following commands from HOST machine while Pixel3 is still booted in fastboot mode:
1 # unlock bootloader 2 fastboot oem unlock 3 4 # disable image verification if you haven't already 5 fastboot --disable-verity --disable-verification flash vbmeta_a vbmeta.img 6 fastboot --disable-verity --disable-verification flash vbmeta_b vbmeta.img 7 8 # set _b as active partition since we mount system_b as super partition 9 fastboot set_active b 10 11 # flash AOSP images and reboot 12 fastboot flash system out/target/product/pixel3_mainline/super.img 13 fastboot flash userdata out/target/product/pixel3_mainline/userdata.img 14 fastboot flash boot boot.img 15 fastboot reboot 16 17 # login to Android console 18 adb shell
ToDo / Known Issues
fastboot boot boot.img is broken
- Android 10 bootloaders don't yet work
- Display is WIP - we get to a garbled UI, and Android reports boot_completed; DSC is in-progress to allow proper UI.
bootctrl HAL is WIP. So if you run into FAILED (remote: 'Failed to load/authenticate boot image: Load Error'), then run following command:
1 fastboot fastboot set_active b
Need some help?
In addition to this wiki, we use various mailing lists, IRC, collaborate.linaro.org and projects.linaro.org/LCG to communicate.
- LCG's public mailing lists
- IRC via irc.freenode.net
AOSP/blueline (last modified 2020-03-29 15:56:25)