aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Thompson <daniel.thompson@linaro.org>2015-03-19 14:20:53 +0000
committerDaniel Thompson <daniel.thompson@linaro.org>2015-03-19 14:20:53 +0000
commit4dbd4a5c737c798eeb62649c98d77bbf0538ce5e (patch)
treea6c281823eb9d62cc74e0e02c6757d9a3ffc872d
parent210719fab0509b563fcbb431f67794b3dcccea17 (diff)
ifc6410: Add a README file
Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
-rw-r--r--README.md110
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/