Learning AOSP - Building AOSP for Nexus 7

  • 1,440 views
Uploaded on

First series of my "Learning AOSP" workshop for Android Sydney Australia. The presentation talk about how to build AOSP for Nexus 7 (1st generation) - WiFi version

First series of my "Learning AOSP" workshop for Android Sydney Australia. The presentation talk about how to build AOSP for Nexus 7 (1st generation) - WiFi version

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,440
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
23
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Building AOSP for NexusBuilding AOSP for Nexus 77 Nanik TolaramNanik Tolaram @nanikjava@nanikjava
  • 2. Thank You !Thank You !
  • 3. WARNING !WARNING !  Voiding warrantyVoiding warranty  Bricked deviceBricked device  No support (DIY support)No support (DIY support)
  • 4. Who Am I ?Who Am I ?  Enterprise Java DeveloperEnterprise Java Developer  Android Framework & Kernel tinkererAndroid Framework & Kernel tinkerer  Creating electronics gadgetsCreating electronics gadgets  ozandroid.info & kernel.ozandroid.infoozandroid.info & kernel.ozandroid.info
  • 5. What you need ?What you need ?  Android DeviceAndroid Device  64-bit Linux based distro64-bit Linux based distro  Fast Computer (16/32GB RAM, MultiFast Computer (16/32GB RAM, Multi Core processor, Fast hard drive)Core processor, Fast hard drive)  Patience !!!Patience !!!
  • 6. Why Nexus 7 ?Why Nexus 7 ?  Source code (kernel) & binaries availableSource code (kernel) & binaries available  Code name – Grouper (WiFi) / NakashiCode name – Grouper (WiFi) / Nakashi (3G)(3G)  BIG community supportBIG community support
  • 7. ArchitectureArchitecture
  • 8. PartitionPartition  Recovery – recovery.imgRecovery – recovery.img  ““saviour” partitionsaviour” partition  Boot – boot.imgBoot – boot.img  Main partition for bottingMain partition for botting  System – system.imgSystem – system.img  Android framework & apps partitionAndroid framework & apps partition  Data – data.imgData – data.img  Application data storage partitionApplication data storage partition
  • 9. BootingBooting Bootloader Microcode Boot Partition System Partition Recovery ? Recovery Partition N Y
  • 10. Building ProcessBuilding Process 1.1. Checkout AOSPCheckout AOSP 2.2. Checkout Linux KernelCheckout Linux Kernel 3.3. Download Device DriversDownload Device Drivers 4.4. Extract & Device DriversExtract & Device Drivers 5.5. Change ConfigurationChange Configuration 6.6. BuildBuild
  • 11. Source CodeSource Code http://elinux.org/Android_Source_Code_Description
  • 12. Building – Code &Building – Code & DriversDrivers  Android Source CodeAndroid Source Code  Checkout Code - source.android.com/source/downloading.htmlCheckout Code - source.android.com/source/downloading.html  Branch – masterBranch – master  Nexus 7 DriversNexus 7 Drivers  developers.google.com/android/nexus/drivers/#grouperdevelopers.google.com/android/nexus/drivers/#grouper  Extract and Copy to <aosp>/vendorExtract and Copy to <aosp>/vendor
  • 13. Building –Building – ConfigurationConfiguration  Linux Kernel & ConfigurationLinux Kernel & Configuration  Linux Code - android.googlesource.com/kernel/tegra/Linux Code - android.googlesource.com/kernel/tegra/  Linux Config Info - source.android.com/source/building-kernels.htmlLinux Config Info - source.android.com/source/building-kernels.html  tegra3_android_defconfig - config for Nexus 7tegra3_android_defconfig - config for Nexus 7  Build ConfigurationBuild Configuration  /build/core/tasks/kernel.mk (from Cyanogenmod)/build/core/tasks/kernel.mk (from Cyanogenmod)  Linux Directory ConfigurationLinux Directory Configuration  /device/asus/grouper/BoardConfigCommon.mk/device/asus/grouper/BoardConfigCommon.mk  /device/asus/grouper/BoardConfig.mk/device/asus/grouper/BoardConfig.mk
  • 14. DemoDemo  Starting build processStarting build process  /out folder/out folder  Flashing (fastboot)Flashing (fastboot)