android-rpi / device_arpi_rpi4

Device build-config for Raspberry Pi 4
221 stars 93 forks source link

Setup build envoronment

https://source.android.com/setup/build/initializing $ sudo apt install libssl-dev python3-setuptools

Download Android source

https://github.com/android-rpi/local_manifests/tree/arpi14-pi4

Build Android

Refer to http://source.android.com/source/building.html

$ source build/envsetup.sh $ lunch rpi4-eng $ make ramdisk systemimage vendorimage

Use -j[n] option with make, if build host has a good number of CPU cores.

Prepare sd card

Partitions of the card should be set-up like followings. p1 128MB for boot : Do fdisk, set W95 FAT32(LBA) & Bootable type, mkfs.vfat p2 1152MB for /system : Do fdisk, new primary partition p3 128MB for /vendor : Do fdisk, new primary partition p4 remainings for /data : Do fdisk, mkfs.ext4 Set volume label of /data partition as userdata : use -L option for mkfs.ext4

Write system & vendor partition

$ cd out/target/product/rpi4 $ sudo dd if=system.img of=/dev/ bs=1M $ sudo dd if=vendor.img of=/dev/ bs=1M

Copy firmware & ramdisk to boot partition

device/arpi/rpi4/boot/* to p1:/ out/target/product/rpi4/ramdisk.img to p1:/

Download & Build kernel source

https://github.com/android-rpi/kernel_manifest/tree/arpi14-6.1.62

Copy kernel binaries to boot partition

/out/arpi14-6.1/dist/Image.gz to p1:/ /out/arpi14-6.1/dist/bcm2711-rpi-*.dtb to p1:/ /out/arpi14-6.1/dist/vc4-kms-v3d-pi4.dtbo to p1:/overlays/