Building AOSP for NexusBuilding AOSP for Nexus
77
Nanik TolaramNanik Tolaram
@nanikjava@nanikjava
Thank You !Thank You !
WARNING !WARNING !
 Voiding warrantyVoiding warranty
 Bricked deviceBricked device
 No support (DIY support)No support ...
Who Am I ?Who Am I ?
 Enterprise Java DeveloperEnterprise Java Developer
 Android Framework & Kernel tinkererAndroid Fra...
What you need ?What you need ?
 Android DeviceAndroid Device
 64-bit Linux based distro64-bit Linux based distro
 Fast ...
Why Nexus 7 ?Why Nexus 7 ?
 Source code (kernel) & binaries availableSource code (kernel) & binaries available
 Code nam...
ArchitectureArchitecture
PartitionPartition
 Recovery – recovery.imgRecovery – recovery.img
 ““saviour” partitionsaviour” partition
 Boot – boot...
BootingBooting
Bootloader Microcode
Boot Partition
System Partition
Recovery ?
Recovery Partition
N
Y
Building ProcessBuilding Process
1.1. Checkout AOSPCheckout AOSP
2.2. Checkout Linux KernelCheckout Linux Kernel
3.3. Down...
Source CodeSource Code
http://elinux.org/Android_Source_Code_Description
Building – Code &Building – Code &
DriversDrivers
 Android Source CodeAndroid Source Code
 Checkout Code - source.androi...
Building –Building –
ConfigurationConfiguration
 Linux Kernel & ConfigurationLinux Kernel & Configuration
 Linux Code - ...
DemoDemo
 Starting build processStarting build process
 /out folder/out folder
 Flashing (fastboot)Flashing (fastboot)
Upcoming SlideShare
Loading in …5
×

Learning AOSP - Building AOSP for Nexus 7

2,424 views

Published 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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,424
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
33
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Learning AOSP - Building AOSP for Nexus 7

  1. 1. Building AOSP for NexusBuilding AOSP for Nexus 77 Nanik TolaramNanik Tolaram @nanikjava@nanikjava
  2. 2. Thank You !Thank You !
  3. 3. WARNING !WARNING !  Voiding warrantyVoiding warranty  Bricked deviceBricked device  No support (DIY support)No support (DIY support)
  4. 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. 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. 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. 7. ArchitectureArchitecture
  8. 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. 9. BootingBooting Bootloader Microcode Boot Partition System Partition Recovery ? Recovery Partition N Y
  10. 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. 11. Source CodeSource Code http://elinux.org/Android_Source_Code_Description
  12. 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. 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. 14. DemoDemo  Starting build processStarting build process  /out folder/out folder  Flashing (fastboot)Flashing (fastboot)

×