diff options
author | Daniel Thompson <daniel.thompson@linaro.org> | 2015-03-19 14:20:53 +0000 |
---|---|---|
committer | Daniel Thompson <daniel.thompson@linaro.org> | 2015-03-19 14:20:53 +0000 |
commit | 4dbd4a5c737c798eeb62649c98d77bbf0538ce5e (patch) | |
tree | a6c281823eb9d62cc74e0e02c6757d9a3ffc872d | |
parent | 210719fab0509b563fcbb431f67794b3dcccea17 (diff) |
ifc6410: Add a README file
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
-rw-r--r-- | README.md | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..20aaa77 --- /dev/null +++ b/README.md @@ -0,0 +1,110 @@ + # LCR for IFC6410 # + +A port of Linaro Confectionary Release (lollipop) to Inforce Computing +IFC6410. + +## Status + +The port in unsupported but currently the following are working: + + * Boot from eMMC + * USB mouse and keybaord + * Unaccelerated framebuffer GFX + * Ethernet networking (IP address is obtained using DHCP by the kernel + *before* is started *init*. + +The kernel used for the port is based on Linux 3.19, although it does have +additional hardware enablement patches from Linaro Landing Team dedicated +to Qualcomm applies. Note the kernel does *not* have any Android specific +patches added to it; once the hardware is fully enabled upstream the +kernel could be replaced with a pure mainline kernel. + +## Prerequisites + +This release was tested on Ubuntu x86_64 14.04 (Trusty Tahr) running in +an LXC container and all instructions below assume a similar environment +(although if you already run Trusty there is no need for the container). + +The prerequisites for LCR are similar to those of the underlying AOSP. +In addition to the [normal Linux build environment][1] the following +packages will also be required: + + sudo apt-get install abootimg curl python-mako + +[1]: http://source.android.com/source/initializing.html#setting-up-a-linux-build-environment + +## Getting the source + +These instructions are similar to other LCR releases, see the [generic +instructions on the Linaro wiki][2] for additional background details. + + mkdir android-ifc6410 + cd android-ifc6410 + curl https://storage.googleapis.com/git-repo-downloads/repo > repo + chmod +x ./repo + ./repo init \ + -u http://android.git.linaro.org/git/platform/manifest.git \ + -b android-5.0.2_r1 \ + -g default,-non-default,ifc6410 + git clone \ + git://git.linaro.org/people/daniel.thompson/platform/manifest.git \ + .repo/local_manifests + ./repo sync + +[2]: https://wiki.linaro.org/Platform/Android/GetSource#Platform_Code_Get_source_and_Building + +## Building + +It is optional by highly recommended to [USE_CCACHE][3] in addition to the +basic instructions below: + + source build/envsetup.sh + lunch ifc6410-userdebug + make -j `nproc` droid all_dtbs + +*droid* is the default Android build target (i.e. what you get if you launch +make without a build target. + +*all_dtbs* builds the device tree blobs which otherwise are not compiled. + +[3]: https://source.android.com/source/initializing.html#setting-up-ccache + +## Install and boot + +The build system automatically generates most of the images needed to +flash the system but there is on omision, it does not generate the boot +image containing the kernel, device tree and initial ramdisk. We must do +that before flashing the images: + + cd $T/out/target/product/ifc6410/ + cat $T/kernel/linaro/ifc6410/fixup.bin kernel \ + obj/kernel/arch/arm/boot/qcom-apq8064-ifc6410.dtb > kernel_and_dtb + abootimg \ + --create boot.img -k kernel_and_dtb -r ramdisk.img \ + -c "bootsize = 0xa00000" \ + -c "pagesize = 0x800" \ + -c "kerneladdr = 0x80208000" \ + -c "ramdiskaddr = 0x82508000" \ + -c "secondaddr = 0x82100000" \ + -c "tagsaddr = 0x80200100" \ + -c "name = ifc6410" \ + -c "cmdline = \ + console=ttyMSM0,115200,n8 init=/init ip=dhcp video=1280x720-16@60 \ + androidboot.console=ttyMSM0 \androidboot.selinux=disabled" + +We are now ready to flash the device. I typically force the board to remain in +fastboot [by connecting a jumper between pins 30 and 26][3] of the 40 pin +expansion connector. We can then re-flash the device with the following +commands: + + fastboot flash boot boot.img + fastboot flash system system.img + fastboot flash userdata userdata.img + fastboot flash cache cache.img + +If you are doing a lot of flashing it is best to leave the jumper permanently +connected and use fast boot to get the board to continue booting. + + fastboot continue + +[4]: http://mydragonboard.org/2013/forcing-ifc6410-into-fastboot/ |