Dragonboard/APQ8060A
APQ8060A Linux upstream work
This documentation is for folks who who want to work on ramping up linux upstream development based on APQ8060A. You'll need am armel toolchain installed. Below are documentation for Linux distributions.
Getting gcc-armel on Debian
Add this to your /etc/apt/sources.list:
- deb http://www.emdebian.org/debian testing main
Then do
- sudo apt-get update
- sudo apt-get install gcc-4.4-base-armel-cross
Updating environment
Add to your .bashrc:
- export CROSS_COMPILE=/usr/bin/arm-linux-gnueabi-
It would also help if you have a simple script called make-arm in your PATH somewhere that does this:
- make ARCH=arm O=kobj $@
Get the code
We are going to be relying on two trees, one from CAF and another one that is used for upstream development and is synched regularly to Linus. The goal is to get rid of the delta. There is an issue with the CAF git tree master branch so use the msm-3.4 branch.
- git clone git://codeaurora.org/quic/la/kernel/msm.git msm-3.4
- git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git
The way to think about this:
- msm-3.4: things not upstream
- linux-msm: target upstream -- you should be on the for-next branch
Building msm-3.4
- mkdir kobj
- cp arch/arm/configs/msm8960_defconfig kobj/.config
- make-arm menuconfig
- make-arm -j 4
Building linux-msm
- mkdir kobj
- cp arch/arm/configs/msm_defconfig kobj/.config
- make-arm menuconfig
- make-arm -j 4
Getting your initrd
For msm-3.4 you'll want to get the ramdisk that came with you original boot.img, the interweb has a script [[1]] that you can use to extract it:
- unpack-H.pl boot.img
Your ramdisk will be named boot.img-ramdisk.gz
Generating initial boot image
The APQ8060A will have shipped with an Android boot loader so you need to first get the kernel you built into a format it will like. This section will be expanded soon. Right now this is a placeholder for some more details to be added later.
- msm-3.4: package 8960 boot.img-ramdisk.gz
- linux-msm: package 8960dt