summaryrefslogtreecommitdiff
path: root/ubuntu
diff options
context:
space:
mode:
authorNicolas Dechesne <nicolas.dechesne@linaro.org>2014-11-25 11:53:24 +0100
committerNicolas Dechesne <nicolas.dechesne@linaro.org>2014-11-25 11:53:24 +0100
commitb32490774af4bfaeac7a3ff851afeddcc041b8fc (patch)
treeac6bf4201458edaa789e9cb238a4e3f9cb73bd65 /ubuntu
parentea47db1cd5bc5cde67b20d2b4dd027e6336983e9 (diff)
ubuntu: release notes updates for 14.11
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Diffstat (limited to 'ubuntu')
-rw-r--r--ubuntu/snapdragon/README.textile.in237
1 files changed, 86 insertions, 151 deletions
diff --git a/ubuntu/snapdragon/README.textile.in b/ubuntu/snapdragon/README.textile.in
index fa847a2..740e6df 100644
--- a/ubuntu/snapdragon/README.textile.in
+++ b/ubuntu/snapdragon/README.textile.in
@@ -1,23 +1,23 @@
-The Linaro Qualcomm Landing Team is pleased to announce the new release of the _Snapdragon 600 Linux Platform_ for Inforce IFC6410. The _Snapdragon 600 Linux Platform_ ##RELEASE## release is an Ubuntu-based Linaro Member Build that provides a _desktop like_ environment using Ubuntu and the Gnome desktop.
+The Linaro Qualcomm Landing Team is pleased to announce the new release of the _Snapdragon 600 Linux Platform_. The _Snapdragon 600 Linux Platform_ ##RELEASE## release is an Ubuntu-based Linaro Member Build that provides a _desktop like_ environment using Ubuntu and the Gnome desktop, as well as a console-only image for developers.
h4. What's new in this release
-* Upgrade xf86-video-freedreno from 1.1.0 to v1.3.0
-* Upgrade Gstreamer 1.4.0 to 1.4.3 (using Ubuntu 14.10 packages)
-* Added support for LVDS display
-* Added and enabled Bluetooth Bluez stack (backport from 3.4.66
-* Technology preview for Gstreamer video playback
+* This release is based on Ubuntu 14.10
+* This release is based on Linux kernel v3.17
+* The following boards are supported: Inforce IFC6410, Compulab CM-QS600.
+* The graphic stack is using Mesa master branch as of 11/12/2014, and libdrm 2.4.58
+* The serial device node name is changed from ttyHSL to ttyMSM since Linux kernel 3.14
* Bug fixed:
-** "USB webcam not working in Linaro 14.09 release":https://bugs.linaro.org/show_bug.cgi?id=798
+** N/A
-This is the last planned release based on Ubuntu 14.04, and based on Linux kernel 3.4. Next month release will migrate to Ubuntu 14.10, and Linux kernel 3.14. We expect a couple of montly releases to get back to the same level of support and maturity.
+This is the first release of a new series with major changes compared to all previous Linaro member builds releases. From now on the Linaro member monthly builds for Snapdragon 600 will be using the most recent Linux kernel available at the time of the release. The main goal from now on is to close the gaps in features with regards to the mainline kernel, rather than use the existing 3.4 vendor kernel. One immediate consequence is that some regressions are expected, such as for now: lack of audio support, video hardware acceleration, bluetooth and support for running CPU beyond 1Ghz.
h4. Features
-The following features are currently supported by the ##RELEASE## version of the Snapdragon 600 Linux Platform for Inforce IFC6410:
+The following features are currently supported by the ##RELEASE## version of the Snapdragon 600 Linux Platform:
* 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 Linux Kernel v3.4 from "Code Aurora Forum":https://www.codeaurora.org, and proprietary firmware from ##INFORCE_VERSION##.
+* It is based 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
@@ -29,35 +29,39 @@ The following features are currently supported by the ##RELEASE## version of the
** Inforce IFC6410 Rev P1 and A1, Inforce IFC6412
** Compulab CM-QS600
* The following Snapdragon 600 features are supported:
-** Quad Core Krait 300 1.7GHz CPU
-** Adreno 320 GPU, powered by @freedreno@ GPU driver
-*** OpenGL 2.1
-*** Mesa 10.2.6
+** 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
-** In-kernel thermal management
-** Audio playback (analog, digital)
** HDMI display
** UART, Ethernet, SD, eMMC, SATA
** USB2.0 (Mouse, Keyboard, Storage)
-** Wifi using QCA6234x, using a backport of the Atheros ath6kl driver, instead of using compat-wireless
-* A C sample test application is provided to use the video hardware decoder (VIDC), with support for MPEG4 and H264, for more information, read the section below called "Multimedia use cases".
+** Wifi using on-board QCA6234x
h4. Information about the IFC6410 board
For more information about Linaro's Snapdragon 600 Linux Platform Build 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 the release on the IFC6410 Board, you need to download the following files:
+To install this release on a Snapdragon S600 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
-bc. boot-ifc6410-##VERSION##.img.gz
-firmware-ifc6410-##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:
-and at least one of the following files:
+bc. boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img.gz
-bc. linaro-##UBUNTU_REL_NICK##-developer-ifc6410-##VERSION##.img.gz
-linaro-##UBUNTU_REL_NICK##-gnome-ifc6410-##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@.
@@ -77,7 +81,7 @@ The Linaro release does not contain any proprietary software and thus provides a
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-ifc6410-##VERSION##.img 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
@@ -86,20 +90,25 @@ The firmware image @firmware-ifc640-##VERSION##@ has been updated, and now conta
h4. Installing the Gnome based image
-Connect the IFC6410 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:
+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:
+
+@sudo fastboot flash boot boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img@
+or
+@sudo fastboot flash boot boot-qcom-apq8064-cm-qs600-qcom-snapdragon-##VERSION##.img@
-bc. sudo fastboot flash boot boot-ifc6410-##VERSION##.img
-sudo fastboot flash cache firmware-ifc6410-##VERSION##.img
-sudo fastboot flash -S 768M userdata linaro-##UBUNTU_REL_NICK##-gnome-ifc6410-##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:
-* fastboot should be able to split large files automatically, but it does not work on IFC6410. As such, it is mandatory to add @-S 768M@, when flashing files larger than 768MB.
+* 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-ifc6410-##VERSION##.img
+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'...
@@ -138,98 +147,31 @@ Once you have a root prompt on the serial console, you have a functional Ubuntu
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, you can run the following command:
+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-ifc6410-##VERSION##.img -c "console=ttyHSL0,115200n8 root=/dev/mmcblk0p13 rootwait rw"
+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-ifc6410-##VERSION##.img -c "cmdline=console=ttyHSL0,115200n8 root=/dev/mmcblk0p13 rootwait rw"
-sudo fastboot flash boot boot-ifc6410-##VERSION##.img
+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. Video decoder without Gstreamer
-
-A package called @vidctest@ is released in the Linaro PPA, and can be installed on the board with:
-
-bc. sudo apt-get update
-sudo apt-get install vidctest
-
-This aplication provides a sample C code to use the hardware video decoders. Unlike Android where OpenMax APIs are used to instantiate and use video codecs, the Snapdragon Linux Platform is using directly the kernel driver interface, called @vidc@. The test application is using ION to allocate video buffers, and directly controls the video hardware using VIDC @ioctl@. The test application does not render the output video frames, instead the output frames are dumped into a file called @output.yuv@. The output frames contain raw video data, using NV12 tiled format.
-
-The support for this non standard raw video format has been added to Gstreamer 1.4 which is the main reason why Gstreamer 1.4 is the version used in this release. This raw video format is depicted in details "here":http://linuxtv.org/downloads/v4l-dvb-apis/re31.html. You can use Gstreamer to generate a raw video frame test pattern using this format and render in a X11 window. To do so, you first need to install the following packages on the board:
-
-bc. sudo apt-get update
-sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-bad
-
-Then you can run the following commands from the root console prompt, that first initialize a minimal X11 window manager:
-
-bc. export DISPLAY=:0
-X&
-metacity&
-gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12_64Z32,width=1280,height=720 ! videoconvert ! ximagesink
-
-This Gstreamer application will generate raw video frames and render them in an X11 window. The scaling and color conversion are all done using the CPU, as you can see from the CPU load. Gstreamer also provides another video sink that can be used as an alternative: @glimagesink@. This Gstreamer video sink is working fine with this release, and it uses the GPU, through the freedreno driver to render the raw video frames:
-
-bc. gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12_64Z32,width=1280,height=720 ! videoconvert ! glimagesink
-
-In this case the CPU is used for the conversion from NV12 tiled format to raw un-tiled YUV, and the GPU is used for scaling and color converstion, you can check the CPU load is much less.
-
-To decode a video file using @vidctest@ application, you first need to download a video file sample, such as the infamous "Big Buck Bunny":http://www.bigbuckbunny.org/index.php/download/. You can then decode the file on the board using the following command:
-
-bc. sudo vidctest 1 <path to video file>
-
-The entire file is decoded and a file called @output.yuv@ is created. You may decide to abort the decoding after a few hundreds frame, since the output file size grows very quickly. You can then render the output file using the following Gstreamer application:
-
-bc. gst-launch-1.0 filesrc location=output.yuv ! videoparse format=nv12-64z32 width=1280 height=720 ! videoconvert ! glimagesink
-
-The width and heigth parameters must be changed based on the original video resolution.
-
-Note: there is a limitation currently when rendering from a file like in the above application. The alignment between the Luma and Chroma planes in the raw video buffer might differ with what Gstreamer is expecting, depending on the video resolution. For a correct visual rendering it is recommended to use 1280x720 resolution for now. The rationale is the following: the VIDC decoder requires that both the Luma and the Chroma planes are aligned on 8kb boundary, while the buffer format in Gstreamer expects them to be aligned on 4kb. As such depending on the size of the Luma plane in bytes, Gstreamer will read the Chroma properly or not. To ensure this condition is met, the Luma plane size in bytes must be a multiple of 8kb, so that the Chroma plane is aligned with both 8kb and 4kb. The size of the Luma plane for this raw video tiled buffer format is @ROUND(width, 128) * ROUND(height, 32)@. For example, for 1280x720, it gives: @ROUND(1280, 128) * ROUND(720, 32)@ which is @1280 * 736@ which is a multiple of 8192 (8kb). If you use a resolution that does not meet this criteria the rendering will be distorted.
-
-In the upcoming releases, support for decoding with Gstreamer will be added, and none of limitations above will exist. The main puropose of this release is to provide an early/alpha access to decoding using Qualcomm video hardware acceleration. Several enhancements are being discussed, such as adding support for the Gallium OpenMax video state tracker, or getting rid of the dependency on ION memory allocation.
-
-The source code for the @vidctest@ application is available in the following git "tree":https://git.linaro.org/landing-teams/working/qualcomm/vidctest.git, and it can be built using the following commands:
-
-bc. sudo apt-get install build-essential autoconf git libavformat-dev libavutil-dev libavcodec-dev
-git clone https://git.linaro.org/landing-teams/working/qualcomm/vidctest.git
-./autogen.sh
-make
-
-h4. Gstreamer video playback technology preview
-
-A very first version of Gstreamer video decoder plugin is now available. It is not included in the image by default, and this section provides detailed information to build and use the Gstreamer plugin. As of this release, this plugin can decode MPEG4 and H264 videos, and it generates raw video using the NV12 tiled format as discussed in the previous section. This first release is not complet, has rough edges, and further optimizations are in progress to support 0 copy decode and rendering, and avoid extra video buffer memory copy.
-
-Assuming you have installed the Gnome image, the following instructions can be used to compile the plugin:
-
-bc. sudo apt-get install build-essential git autotools-dev autoconf libtool libgstreamer-plugins-base1.0-dev
-git clone http://git.linaro.org/landing-teams/working/qualcomm/gst-plugin-qcvideo.git
-cd gst-plugin-qcvideo/
-./autogen.sh
-make
-
-To use the plugin, you can use the following commands
-
-bc. sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-bad
-export GST_PLUGIN_PATH=`pwd`/src/.libs
-X&
-metacity&
-gst-launch-1.0 souphttpsrc \
- location=http://mirrorblender.top-ix.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_surround.avi ! \
- avidemux ! qcvideodec ! videoconvert ! glimagesink
+h4. Installing the Developer based image
-Note that dependeing on your network bandwidth, it is probably better to download the video file locally first, and use filesrc element instead of souphttpsrc.
+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:
-h4. Installing the Developer based image
+@sudo fastboot flash boot boot-qcom-apq8064-ifc6410-qcom-snapdragon-##VERSION##.img@
+or
+@sudo fastboot flash boot boot-qcom-apq8064-cm-qs600-qcom-snapdragon-##VERSION##.img@
-Connect the IFC6410 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:
+then:
-bc. sudo fastboot flash boot boot-ifc6410-##VERSION##.img
-sudo fastboot flash cache firmware-ifc6410-##VERSION##.img
-sudo fastboot flash userdata linaro-##UBUNTU_REL_NICK##-developer-ifc6410-##VERSION##.img
+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:
* 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.
@@ -250,40 +192,42 @@ 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://git.linaro.org/landing-teams/working/qualcomm/kernel.git
-tag: ubuntu-ifc6410-##RELEASE##
-defconfig: ifc6410_defconfig
+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. To boot a custom @zImage@ once, you can run the following @fastboot@ command:
+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.
-bc. sudo fastboot boot -c "console=ttyHSL0,115200,n8 root=/dev/mmcblk0p13 rootwait rw text" -b 0x80200000 zImage
+To build the Linux kernel, you can use the following instructions:
-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.
+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
-If you want to permanently use a custom @zImage@, you can update the boot image and reflash it into the @boot@ partition:
+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.
-bc. abootimg -u boot-ifc6410-##VERSION##.img -k zImage
-sudo fastboot flash boot boot-ifc6410-##VERSION##.img
+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.
-h4. How to enable audio in the developer image
+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:
-As mentioned above, when using the Gnome image audio can be configured using the Gnome settings graphical application. When running the developer image, similar audio configuration can be obtain using ALSA UCM command line tool. Proper UCM profile configuration files are available in the image in the folder @/usr/share/alsa/ucm/apq8064-tabla-snd-card/@. To enable HDMI audio or analog audio using the headset output on the board (green jack), you can run the following commands:
+@cat fixup.bin arch/arm/boot/zImage arch/arm/boot/dts/qcom-apq8064-ifc6410.dtb > zImage-dtb@
+or, similarly, for CM QS-600:
+@cat fixup.bin arch/arm/boot/zImage arch/arm/boot/dts/qcom-apq8064-cm-qs600.dtb > zImage-dtb@
-bc. # to enable headset output:
-alsaucm -c apq8064-tabla-snd-card set _verb HiFi set _disdev Headphones
-alsaucm -c apq8064-tabla-snd-card set _verb HDMI set _disdev HDMI-stereo
-alsaucm -c apq8064-tabla-snd-card set _verb HiFi set _enadev Headphones
+To boot a custom kernel image, you can run the following @fastboot@ command:
-or
+bc. sudo fastboot boot -c "console=ttyHSL0,115200,n8 root=/dev/mmcblk0p13 rootwait rw text" -b 0x80200000 zImage-dtb
-bc. # to enable HDMI output:
-alsaucm -c apq8064-tabla-snd-card set _verb HiFi set _disdev Headphones
-alsaucm -c apq8064-tabla-snd-card set _verb HDMI set _disdev HDMI-stereo
-alsaucm -c apq8064-tabla-snd-card set _verb HDMI set _enadev HDMI-stereo
+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.
-You can use any application to play audio files (Gstreamer, mplayer, ...) or you can simply run:
+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. aplay /usr/share/sounds/alsa/Noise.wav
+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
@@ -295,21 +239,23 @@ 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 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-ifc6410-##VERSION##.img linaro-##UBUNTU_REL_NICK##-gnome-ifc6410-##VERSION##.img.raw
+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-ifc6410-##VERSION##.img.raw 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 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-ifc6410-##VERSION##.img -c "cmdline=console=ttyHSL0,115200n8 root=/dev/sda1 rootwait rw text"
-sudo fastboot flash boot boot-ifc6410-##VERSION##.img
+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
@@ -317,27 +263,16 @@ adb can be used to connect to the target, for example it can be used to reboot t
h4. Known issues and limitations
-* In Gnome, the default sound configuration will use _main speaker_ which is not valid on IFC6410. The two valid sound configurations are _HDMI_ and _Headphones_. To change the sound output device in Gnome, go to the _Sound Settings_ in the main _System Settings_.
-* 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 altertanive graphical interface that does not require GPU composition.
+* 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 altertanive 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@.
-* The current thermal management policy is very conservative and the CPUs are quickly throttled down to lower CPU frequency. This will be improved in further releases. To check the thermal related kernel message you can run @dmesg | grep msm_thermal@.
-* 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:
-
-bc. sudo cat /dev/zero > /dev/mmcblk0p7
-
+* 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
-* If you mix and match Gstreamer 1.2 and 1.4 packages on your system you might end up with some @dpkg@ dependency issues. It can happen if you install @gstreamer1.0-plugins-good@ or @gstreamer1.0-plugins-bad@ before doing @sudo apt-get update@ for example. In this case the following commands should resolve the conflicts:
-
-bc. sudo apt-get update
-sudo apt-get purge gstreamer1.0-plugins-bad libgstreamer-plugins-bad1.0-0 gstreamer1.0-plugins-bad-videoparsers gstreamer1.0-plugins-bad-faad
-sudo apt-get install gstreamer1.0-plugins-good
-sudo apt-get purge libgstreamer-plugins-good1.0-0
-sudo apt-get install gstreamer1.0-plugins-bad
-
h4. Feedback and Support
For general question or support request, please go to "My Dragon Board Community":http://mydragonboard.org/community/hw-sw-8064/.