/firmware-device_snappautomotive_rpi

Device build-config for Raspberry Pi 4

Primary LanguageMakefile

[Modified from the android-rpi original to use the automotive specific config]

Read it first : https://github.com/snappautomotive/firmware_rpi-local_manifests

# Build Kernel
  $ sudo apt install gcc-aarch64-linux-gnu libssl-dev bc
  $ cd kernel/arpi
  $ ARCH=arm64 scripts/kconfig/merge_config.sh arch/arm64/configs/bcm2711_defconfig kernel/configs/android-base.config kernel/configs/android-recommended.config
  $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make Image.gz
  $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- DTC_FLAGS="-@" make broadcom/bcm2711-rpi-4-b.dtb
  $ ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- DTC_FLAGS="-@" make overlays/vc4-kms-v3d-pi4.dtbo

# Patch framework source
  https://github.com/android-rpi/device_arpi_rpi4/wiki/arpi-11-:-framework-patch

# Build Android source
 Continue build referring to http://source.android.com/source/building.html
  $ source build/envsetup.sh
  $ lunch snapp_car_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 2048MB 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, and -n option for mkfs.vfat
 
# Write system & vendor partition
  $ cd out/target/product/rpi
  $ sudo dd if=system.img of=/dev/<p2> bs=1M
  $ sudo dd if=vendor.img of=/dev/<p3> bs=1M
  
# Copy kernel & ramdisk to BOOT partition
  device/snappautomotive/rpi/boot/* to p1:/
  kernel/arpi/arch/arm64/boot/Image.gz to p1:/
  kernel/arpi/arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dtb to p1:/
  kernel/arpi/arch/arm64/boot/dts/overlays/vc4-kms-v3d-pi4.dtbo to p1:/overlays/
  out/target/product/rpi/ramdisk.img to p1:/