summaryrefslogtreecommitdiff
path: root/ubuntu/boards/snapdragon/README.textile.in
blob: bfb887f1668ae8b8c41c618a2aedfb818056a417 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
The Linaro Qualcomm Landing Team is pleased to announce the new release of the _Linaro Linux release for Qualcomm(tm) Snapdragon(R) 600 processor_. The Linaro Linux release ##RELEASE## is an Ubuntu-based Linaro Member Build that provides developers with a _desktop like_ environment using Ubuntu and the Gnome desktop, as well as a console-only image.

h4. What's new in this release

* This release is based on Linux kernel v3.18
* Bluetooth support is enabled for IFC6410 using the mainline ar3k BT drivers and Bluez stack. File transfer, keyboard, mouse and PAN have been validated in this release.
* The graphic stack is using Xorg 1.16 and has been updated to use Mesa master branch as of 12/10/2014
* The serial device node name has been changed from ttyHSL to ttyMSM since Linux kernel 3.14
* Bug fixed:
** "cpufreq wrongly configured CLK in Linaro 3.17 integration branch":https://bugs.linaro.org/show_bug.cgi?id=998
** "On IFC6410 CPUIDLE v14 driver patches do not work with latest trustzone firmware":https://bugs.linaro.org/show_bug.cgi?id=981
** "Verify USB functionality without DRM_MSM on 3.18 tracking branch":https://bugs.linaro.org/show_bug.cgi?id=898

This is the second release of a new series for the Linaro Linux release for Snapdragon 600 processor. Going forward, the Linaro member monthly builds for Snapdragon 600 processor will be providing a kernel based on the current Linux kernel ("www.kernel.org":https://www.kernel.org) available at the time of the release. The goals of the Linaro Linux releases for Snapdragon 600 processor are to align with the latest Linux Kernel, close the gaps in features provided and migrate from the existing 3.4 vendor kernel. One immediate consequence of this migration is that some regressions are expected. Current regressions include: lack of audio support, video hardware acceleration and support for running CPU beyond 1Ghz. Developers can continue to use the "Linaro Linux release 14.10 for Snapdragon 600 processor":http://releases.linaro.org/14.10/ubuntu/ifc6410/, which is based on Linux kernel v3.4 and Ubuntu 14.04 if needed.

h4. Features

The Linaro Linux version ##RELEASE## for the Snapdragon 600 supports the following features:

* Provides a working Ubuntu environment with access to Ubuntu repositories (apt-get) and updates. It is based on Ubuntu ##UBUNTU_REL## (aka ##UBUNTU_REL_NICK##).
* It is based on proprietary firmware from ##INFORCE_VERSION##.
* The following prebuilt images are released:
** @boot@ image that includes prebuilt kernel and initrd
** @developer@ image that includes Ubuntu core packages as well as typical development packages
** @gnome@ image that includes a minimal Gnome Shell environment GUI
* All images have a pre-configured user called @linaro@, and the password for this user is set to @linaro@
* The root file system can be installed on eMMC or any other external media such as USB, SD card, SATA.
* Android Debug Bridge (adb) can be used to connect to the target
* Support for the following Snapdragon 600 based boards:
** Inforce IFC6410 Rev P1 and A1
** Compulab CM-QS600
* The following Snapdragon 600 features are supported:
** Quad Core Krait 300 CPU (up to 1GHz)
** Adreno 320 GPU, powered by @freedreno@ Mesa/Gallium GPU driver
*** OpenGL 2.1, OpenGLES 2.0
*** xf86-video-freedreno driver v1.3.0, with XA support enabled
** Cpufreq, using ondemand governor by default
** HDMI display
** UART, Ethernet, SD, eMMC, SATA
** USB2.0 (Mouse, Keyboard, Storage)
** Wifi and Bluetooth using on-board QCA6234x, on IFC6410 only, not on Compulab QS600

h4. Information about the IFC6410 board

For more information about Linaro Linux release for Snapdragon 600 processor and the Inforce IFC6410 board, please check the "Linaro wiki":https://wiki.linaro.org/Boards/IFC6410. This wiki page provides additional information on board setup and getting started with Ubuntu on the IFC6410 (e.g. customize the kernel, rebuild the images, ...).

h4. Information about the Compulab CM-QS600 Board

For more information about Compulab QS600 board, please check "Compulab website":http://www.compulab.co.il/products/computer-on-modules/cm-qs600/.

h4. Download the release binaries

To install this release on a Snapdragon 600 based board, you need to download the following files:

bc. firmware-qcom-snapdragon-##VERSION##.img.gz
linaro-##UBUNTU_REL_NICK##-developer-qcom-snapdragon-##VERSION##.img.gz
linaro-##UBUNTU_REL_NICK##-gnome-qcom-snapdragon-##VERSION##.img.gz

You also need to download the proper boot partition, based on the actual board you are using. For the Inforce IFC6410, please download:

bc. boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img.gz

for the Compulab CM QS600, please download:

bc. boot-qcom-apq8064-cm-qs600-qcom-snapdragon-##VERSION##.img.gz

The build id is in the form: @TIMESTAMP-BUILD_NUMBER@.

All images downloaded from Linaro are compressed files and need to be uncompressed first:

bc. gunzip *.img.gz

h4. Upgrading an already installed version of Linaro Linux release for Snapdragon 600 processor

If you are already running on your board a previous version of the Linaro Linux release for Snapdragon 600 processor, you can upgrade your current installation by following the instructions in this section.

In order to upgrade an existing release, you must ensure that you are running a previous release that is based on Ubuntu ##UBUNTU_REL## (aka ##UBUNTU_REL_NICK##), e.g. the same Ubuntu version that this release supports. If you are unsure about which version of Ubuntu you are running, you can check the corresponding Linaro Linux release notes, or you can run the following command on your board:

bc. lsb_release -a

For now the Linaro Linux release do not support Ubuntu distro version upgrade, when that happens you need to re-install the release completely, using the instructions in the rest of these release notes. If you are running the proper version of Ubuntu, you can proceed with the upgrade.

To upgrade your current installation, three main components need to be updated:
* the boot partition (e.g. kernel)
* the root file system partition (e.g. user space)
* the firmware partition

In this release (e.g. Linaro ##RELEASE##), there are no firmware changes. If you have already installed the firmware partition on your board (for example if you have flashed the image into the _cache_ partition) then you do not have anything else to do. You can ignore the section below called _Managing the proprietary firmware_. We will simply reuse the _cache_ partition as it is.

To upgrade the root file system, on the board running the Linaro Linux release, please run the following commands:

bc. sudo apt-get update
sudo apt-get dist-upgrade

These commands will check for all possible updates, and install them all.

We now need to install the new kernel modules. You need to download on the board, the kernel debian package file from the release. This file is called:

bc. linux-image-##KERNEL_VER##-linaro-qcom_##KERNEL_VER##-linaro-qcom-1_armhf.deb

On the board running the Linaro Linux release, you now need to install this debian package with:

bc. sudo dpkg -i linux-image-##KERNEL_VER##-linaro-qcom_##KERNEL_VER##-linaro-qcom-1_armhf.deb

The final step until to complete the upgrade is to boot the new kernel. That requires to reboot the board into fastboot mode. You can use the standard instructions from next sections, which you have used when you installed the Linaro Linux release on your board. Of course you need to make sure to connect your board to the development host (USB for fastboot, UART for the serial console), and ensure that it is booted in fastboot mode, waiting for commands, then you can flash the images on Inforce IFC6410 with:

bc. sudo fastboot flash boot boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img

or on Compulab QS 600:

bc. sudo fastboot flash boot boot-qcom-apq8064-cm-qs600-qcom-snapdragon-##VERSION##.img

Your system is now up-to-date, and you are running Linaro ##RELEASE## on your development board. If you have followed all the instructions above, and you are getting any error, please report them as bugs (see Support section below).

h4. Managing the proprietary firmware

To properly use this release, a set of proprietary firmware blobs must be acquired separately from "Inforce Techweb website":http://www.inforcecomputing.com/techweb/ as Linaro is not redistributing them in this release.
These firmware blobs are needed for audio, power management, video and graphics support. While it is possible to boot the release without the firmware installed, it is not recommended, as various errors can occur.

For bootloader, kernel and firmware, this release is based on _##INFORCE_VERSION##_, which you need to download from Inforce Techweb. The ZIP file @##INFORCE_FILE##@ includes all the proprietary firmware blobs required to use this Ubuntu-based Linaro build.

The Linaro release does not contain any proprietary software and thus provides an _empty_ firmware image. The provided firmware image is only a placeholder for users to install the firmware blobs downloaded from Inforce website. The empty firmware image can be flashed as per the instructions in the next sections; of course some functionality will not work without the proprietary firmware blobs. To install the firmware and get all the features of the release, you should extract the firmware from the Inforce BSP release, install them in the firmware image, and flash the updated firmware image as per the instructions in the next sections.

To install the firmware blobs, first locate the file @proprietary.tar.gz@ in the @source@ folder after extracting the Inforce BSP release ZIP file. Then follow the next instructions on how to _loop mount_ the empty firmware image included in the release and inject Inforce's proprietary firmware blobs.

bc. mkdir image
sudo mount -o loop firmware-qcom-snapdragon-##VERSION##.img image
sudo tar xzf proprietary.tar.gz -C image/ ##INFORCE_STRIP##
sudo umount image
rmdir image

The firmware image @firmware-ifc640-##VERSION##@ has been updated, and now contains all the relevant proprietary firmware blobs.

h4. Installing the Gnome based image

Connect your board to the development host (USB for fastboot, UART for the serial console), and make sure that it is booted in fastboot mode, and waiting for commands, then you can flash the images:

bc. sudo fastboot flash boot boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img

or

bc. sudo fastboot flash boot boot-qcom-apq8064-cm-qs600-qcom-snapdragon-##VERSION##.img

then:

bc. sudo fastboot flash cache firmware-qcom-snapdragon-##VERSION##.img
sudo fastboot flash -S 768M userdata linaro-##UBUNTU_REL_NICK##-gnome-qcom-snapdragon-##VERSION##.img

Note:
* Warning: do not flash the @.img@ rootFS images on the Compulab QS-600 board, see "Known issues" section below
* fastboot should be able to split large files automatically, but it does not work. As such, it is mandatory to add @-S 768M@, when flashing files larger than 768MB as a workaround.
* the root file system must be flashed in the @userdata@ partition, and the boot image must be flashed in the @boot@ partition, otherwise the system will not boot.
* the firmware image can be flashed in any partition larger than 64MB, it is recommended to use @cache@ partition, but not strictly required.

Flashing the Gnome image takes several minutes. Be patient. You should see the following fastboot traces on the PC while flashing the image:

bc. sudo fastboot flash -S 768M userdata linaro-##UBUNTU_REL_NICK##-gnome-qcom-snapdragon-##VERSION##.img
sending sparse 'userdata' (785202 KB)...
OKAY [ 55.368s]
writing 'userdata'...
OKAY [121.134s]
sending sparse 'userdata' (418516 KB)...
OKAY [ 36.508s]
writing 'userdata'...
OKAY [110.017s]
finished. total time: 323.027s

And you should see the following traces on the serial console in the meantime:

bc. [34320] fastboot: getvar:partition-type:userdata
[34510] fastboot: download:2fecc8b4
[89870] fastboot: flash:userdata
[210990] Wrote 524288 blocks, expected to write 524288 blocks
[211020] fastboot: download:198b50a4
[247510] fastboot: flash:userdata
[357520] Wrote 524288 blocks, expected to write 524288 blocks

Do not power off the PC, or the board while flashing.

h4. Running the Gnome based image

The Gnome based image is expected to provide a _desktop-like_ experience, as such it is recommended to use an HDMI monitor, as well as USB keyboard and mouse.

The default bootargs embedded in the released boot image will intentionally prevent the graphical login manager (GDM) to start, since trying to start graphical environment without the proprietary firmware installed will lead to various boot errors. To prevent GDM to start, the keyword @text@ was added into the bootargs. If you have properly installed and flashed into eMMC the proprietary firmware blobs and want to use the graphical interface, you can either start the login manager from the serial console, or alternatively you can change the bootargs.

To boot to the serial console and get a root prompt, you can simply run:

bc. sudo fastboot continue

Note: The default bootargs enable the kernel messages to be displayed on the serial console.

Once you have a root prompt on the serial console, you have a functional Ubuntu system. If you want to start the login manager to see the graphical interface on the HDMI monitor, from the serial console simply run

bc. start gdm

The login manager window should appear within a few seconds, and you can log with the user @linaro@, using the password @linaro@. If you want to boot directly to the login manager, you can boot the image with different bootargs (e.g. remove the keyword @text@). For example, if you are using the Inforce IFC6410 you can run the following command:

bc. sudo fastboot boot boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img -c "console=ttyHSL0,115200n8 root=/dev/mmcblk0p13 rootwait rw"

Finally, if you want to make the bootargs change persistent, you can modify the released boot image and reflash it into the @boot@ partition:

bc. abootimg -u boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img -c "cmdline=console=ttyHSL0,115200n8 root=/dev/mmcblk0p13 rootwait rw"
sudo fastboot flash boot boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img

Note: @abootimg@ is a tool to read/write/update Android boot partition, and is available in most standard Linux distribution; simply install the package using your Linux distribution methods. If you are using Ubuntu on your PC, simply run:

bc. sudo apt-get install abootimg

h4. Installing the Developer based image

Connect the board to the development host (USB for fastboot, UART for the serial console), and make sure that it is booted in fastboot mode, and waiting for commands, then you can flash the images:

bc. sudo fastboot flash boot boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img

or

bc. sudo fastboot flash boot boot-qcom-apq8064-cm-qs600-qcom-snapdragon-##VERSION##.img

then:

bc. sudo fastboot flash cache firmware-qcom-snapdragon-##VERSION##.img
sudo fastboot flash -S 768M userdata linaro-##UBUNTU_REL_NICK##-developer-qcom-snapdragon-##VERSION##.img

Note:
* Warning: do not flash the @.img@ rootFS images on the Compulab QS-600 board, see "Known issues" section below
* the root file system must be flashed in the @userdata@ partition, and the boot image must be flashed in the @boot@ partition, otherwise the system will not boot.
* the firmware image can be flashed in any partition larger than 64MB, it is recommended to use @cache@ partition, but not strictly required.

h4. Running the Developer based image

To boot to the serial console and get a root prompt, you can simply run:

bc. sudo fastboot continue

Note: The default bootargs enable the kernel messages to be displayed on the serial console.

Once you have a root prompt on the serial console, you have a functional Ubuntu system.

h4. Configuring and using Bluetooth and WLAN

Firmware are required for Bluetooth and WLAN to work properly. If you have followed the instructions so far, the firmware have been installed. For both WLAN and Bluetooth appropriate mainline drivers are used, respectively ath6kl and ar3k.

WLAN should be up and running out of the box, using the releases images. If you are building your own kernel, please be aware that the WLAN driver and some mac802.11 drivers are compiled as modules, and need to be deployed into the root file system. WLAN can be configured either on the command line, or using the graphical Gnome applet once the desktop is started.

For Bluetooth, it is for now not enabled by default in the image, and you need to run the following command on the root prompt to properly start and configure the Bluetooth chip:

bc. hciattach -s 115200 /dev/ttyMSM1 ath3k 115200

And this command will return, if everything is working properly:

bc. Device setup complete

Finally to make sure the Bluetooth chip is configured correctly, you can run the @hciconfig@ tool, which should return something along these lines:

bc. hciconfig
hci0:   Type: BR/EDR  Bus: UART
BD Address: 00:3C:7F:F0:F0:0A  ACL MTU: 1021:8  SCO MTU: 124:0
UP RUNNING PSCAN
RX bytes:558 acl:0 sco:0 events:27 errors:0
TX bytes:866 acl:0 sco:0 commands:27 errors:0

You can also scan for Bluetooth devices nearby, from the command line, e.g.:

bc. hcitool scan
Scanning ...
        BC:5F:BC:44:FB:AC       Nexus 5

If you configure the Bluetooth chip before starting the graphical desktop (e.g. Gnome), then you should be able to use the Gnome Bluetooth applet to connect to any device and use Bluetooth functions.

Note that if you are using the developer image you might need to install the Bluez applications and librairies:

bc. sudo apt-get update
sudo apt-get install bluez

h4. How to get and customize the kernel source code

The Linux kernel used in this release is available via tags in the Linaro Qualcomm Landing Team git repository:

bc. https://git.linaro.org/landing-teams/working/qualcomm/kernel.git
git: http://git.linaro.org/landing-teams/working/qualcomm/kernel.git
tag: ubuntu-qcom-snapdragon-##RELEASE##
defconfig: qcom_defconfig

The kernel compresssed image (@zImage@) is located in the @boot@ image and partition and the kernel modules are installed in the root file system. It is possible for a user to rebuild the kernel and run a custom kernel image instead of the released kernel. You can build the kernel using any recent GCC release using the git tree, tag and defconfig mentioned above. This release only supports booting with device tree, as such both the device tree blobs need to be built as well. DTBs files need to be appended to the kernel image when the booltloader do not support device tree protocol, such as on the IFC6410 and the CM QS-600.

To build the Linux kernel, you can use the following instructions:

bc. git clone -n http://git.linaro.org/landing-teams/working/qualcomm/kernel.git
cd kernel
git checkout -b kernel-##RELEASE## ubuntu-qcom-snapdragon-##RELEASE##
export ARCH=arm
export CROSS_COMPILE=<path to your GCC cross compiler>/arm-linux-gnueabi-
make qcom_defconfig
make -j4 zImage dtbs

Since kernel v3.17 there is a change in the way the kernel is prepared to boot on IFC6410 and CM-QS600. the issue is that bootloaders on these boards use ATAGS to pass the memory information as we use CONFIG_ARM_ATAG_DTB_COMPAT config in kernel this option will extract the memory information from the ATAG list and store it at run time into the appended DTB. But the LK booloader in this case passes an *incorrect* memory address. The workaround for now is to prepend a binary blob before the kernel, and the responsibility of this binary blob is to fixup the wrong ATAGS. While this is definitely a workaround, and not a proper fix, this is the currently proposed and recommended workaround from people from the Linux MSM community.

This binary blob is available in the Linaro kernel tree, both in source and precompiled format. The files are @fixup.bin@ and @fixup.S@. You can refer to @fixup.txt@ for instructions on how to rebuilt the binary blob.

To prepare a kernel image one need to prepend @fixup.bin@ to @zImage@. And as discussed previously, the DTB file needs to be appended to the @zImage@ as well. That leads us to the following command to prepare an image for the IFC6410:

bc. cat fixup.bin arch/arm/boot/zImage arch/arm/boot/dts/qcom-apq8064-ifc6410.dtb  > zImage-dtb

or, similarly, for CM QS-600:

bc. cat fixup.bin arch/arm/boot/zImage arch/arm/boot/dts/qcom-apq8064-cm-qs600.dtb  > zImage-dtb

To boot a custom kernel image, you can run the following @fastboot@ command:

bc. sudo fastboot boot -c "console=ttyHSL0,115200,n8 root=/dev/mmcblk0p13 rootwait rw text" -b 0x80200000 zImage-dtb

If you have followed these instructions, the root file system was flashed into the @userdata@ partition which is known as @/dev/mmcblk0p13@ from Linux kernel. The @-c@ arguments represent the @bootargs@ that will be passed to the kernel during the boot.

If you want to permanently use a custom kernel image, you can update the boot image and reflash it into the @boot@ partition, for example, for IFC6410:

bc. abootimg -u boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img -k zImage
sudo fastboot flash boot boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img.img

h4. How to get and customize Ubuntu packages source code

This release is based on Ubuntu ##UBUNTU_REL## (aka ##UBUNTU_REL_NICK##), and it is not possible to use a different Ubuntu release (e.g. it is not possible to downgrade to an older Ubuntu release, nor is it possible to use a newer release, such as the one being currently developed).

For more information, please refer to the "Linaro wiki":https://wiki.linaro.org/Boards/IFC6410/LinaroUbuntu#rebuilduserspace.

h4. How to install the root filesystem on external storage

The root file system can be installed on SD card, external USB drive or external (m)SATA drive instead of being flashed to the eMMC. The method is to extract the content of the root file system image from the release, and copy it onto a proper partition on an SD card or USB drive, then boot the target platform with the proper @root=@ argument in the bootargs.  The root file system image file is using an Android sparse image format to optimize the file size. To convert a sparse image into a mountable _raw_ image file, and mount it on your host, run:

bc. simg2img linaro-##UBUNTU_REL_NICK##-gnome-qcom-snapdragon-##VERSION##.img linaro-##UBUNTU_REL_NICK##-gnome-qcom-snapdragon-##VERSION##.img.raw
mkdir rootfs
sudo mount -o loop linaro-##UBUNTU_REL_NICK##-gnome-qcom-snapdragon-##VERSION##.img.raw rootfs

Note that @simg2img@ is available in most standard Linux distribution; simply install the package using your Linux distribution methods. If you are using Ubuntu on your PC, simply run @sudo apt-get install android-tools-fsutils@. Assuming the SD card or USB drive that should contain the root file system is properly formatted as ext4 partition and mounted on your host as @/mnt/disk@, you can copy the content of the image with:

bc. cd rootfs
sudo cp -a * /mnt/disk
cd ..
sudo umount rootfs

It is very important to run the copy with admin privileges and with @-a@ in order to preserve files ownership and permission.

The SD card or USB drive is now ready to be plugged and used on the target. For USB drive it is recommended to use externally powered USB drive or through an externally powered USB HUB. When booting with the root file system on USB drive or SD card, the @boot@ partition from the eMMC is still being used for the kernel and initrd. As such you need to update the @boot@ image with the new bootargs, and reflash it. If using a USB or (m)SATA drive or SD card with a single partition, the device to boot from will be either @/dev/sda1@ for USB drive or @/dev/mmcblk1p1@ for SD card. For example, for USB drive, run:

bc. abootimg -u boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img -c "cmdline=console=ttyHSL0,115200n8 root=/dev/sda1 rootwait rw text"
sudo fastboot flash boot boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img

h4. Android Debug Bridge

adb can be used to connect to the target, for example it can be used to reboot the board into fastboot mode once the boot partition has been flashed. For more information about how to configure adb on the target, please refer to the "Linaro wiki":https://wiki.linaro.org/Boards/IFC6410/LinaroUbuntu#How_to_install_setup_and_use_Android_ADB.

h4. Known issues and limitations

* The serial/uart driver does not support high speed transfer, and is limited to 115200 speed. Since UART is used between the on-boart Bluetooth devices and the SoC, this limits the bandwidth between Bluetooth device and the Snapdragon 600. Some use cases such as Bluetooth audio cannot work properly at such low speed. Some other use cases such as data transfer will work but slower than expected. Suppport for high speed UART is being implemented, and will be released in a future release.
* On Compulab QS-600, do not flash the released root filesystem images (gnome or developer) with fastboot into eMMC. The eMMC partition layout is different than on IFC6410, and userdata partition is too small, and you might end up with corruption, instead you can use the method to install the image on external storage (USB, SATA, SD card).
* Audio is currently not supported in this release.
* Some recent IFC6410 or Compulab QS-600 boards come with more recent bootloaders pre flashed (e.g. the bootloaders from Inforce Android Kit Kat release), and display clocks cannot be enabled properly. See "this email":http://lists.freedesktop.org/archives/freedreno/2014-November/000135.html for more information. The solution is to downgrade the bootloader, as explained in the email above.
* In the Gnome login manager, 2 fallback sessions are proposed: using Metacity or Compiz. Compiz is not working, and there is no plan to fix that, as Compiz is obsolete. Metacity is working fine, and provides an alternative graphical interface that does not use GPU for composition.
* Few software codecs are installed by default; you might install additional codecs such as  @gstreamer1.0-plugins-bad@ or @gstreamer1.0-plugins-ugly@.
* Once you have flashed the boot partition with a valid boot image, the board will automatically boot that image when powered on. To avoid automatically booting you can jumper the board as explained in this "page":http://mydragonboard.org/2013/forcing-ifc6410-into-fastboot/. If you cannot use this method and still needs to reboot into fastboot mode, you can erase the boot partition on a running target using the following command @sudo cat /dev/zero > /dev/mmcblk0p7@
* The developer image does not include the the Linaro Qualcomm overlay by default, unlike the Gnome image. If you need to install packages overlaid by Linaro, once you have booted the developer image, you need to create the file @/etc/apt/sources.list.d/linaro-maintainers-qcom-##UBUNTU_REL_NICK##.list@ with the following content:

bc. deb http://ppa.launchpad.net/linaro-maintainers/qcom-overlay/ubuntu ##UBUNTU_REL_NICK## main
deb-src http://ppa.launchpad.net/linaro-maintainers/qcom-overlay/ubuntu ##UBUNTU_REL_NICK## main

h4. Feedback and Support

For general question or support request, please go to "mydragonboard.org":http://mydragonboard.org/community/hw-sw-8064/ Community.

For any bug related to the Linaro Member Build, please submit issues to the "Linaro bug tracking system":https://bugs.linaro.org/. To submit a bug, select "File a Bug", then Product: "Qualcomm LT", or simply follow this "link":https://bugs.linaro.org/enter_bug.cgi?product=Qualcomm%20LT.

Bugs will be reviewed and prioritized by the team. For any bug report it is recommended to provide as much information as possible, and at the very list please include the name of the release you are using, the output of @dpkg -l@ to list all packages installed, as well, as the boot log (output of @dmesg@).

<hr>

__Qualcomm Snapdragon is product of Qualcomm Technologies, Inc.__