Note: Ubuntu flavoured images released as Linaro engineering builds are not for production use, modification or redistribution, but are to be used for evaluation purposes only.
Name | Last modified | Size | License | |
---|---|---|---|---|
Parent Directory | ||||
README.txt | 12-Jan-2018 14:58 | 295 | open | |
boot-ifc6410-20140624-21.img.gz | 12-Jan-2018 14:58 | 7.3M | open | |
bootimg.cfg | 12-Jan-2018 14:58 | 240 | open | |
firmware-ifc6410-20140624-21.img.gz | 12-Jan-2018 14:58 | 64.0K | open | |
initrd.img-3.4.0-linaro-ifc6410 | 12-Jan-2018 14:58 | 2.3M | open | |
kernel_config_ifc6410 | 12-Jan-2018 14:58 | 95.7K | open | |
linaro-trusty-developer-ifc6410-20140624-21.img.gz | 26-Feb-2018 19:06 | 164.6M | open | |
linaro-trusty-gnome-ifc6410-20140624-21.img.gz | 26-Feb-2018 19:06 | 403.3M | open | |
linux-headers-3.4.0-linaro-ifc6410_3.4.0-linaro-ifc6410-2_armhf.deb | 12-Jan-2018 14:59 | 6.4M | open | |
linux-image-3.4.0-linaro-ifc6410-dbg_3.4.0-linaro-ifc6410-2_armhf.deb | 26-Feb-2018 19:06 | 30.4M | open | |
linux-image-3.4.0-linaro-ifc6410_3.4.0-linaro-ifc6410-2_armhf.deb | 12-Jan-2018 14:59 | 5.5M | open | |
linux-libc-dev_3.4.0-linaro-ifc6410-2_armhf.deb | 12-Jan-2018 15:00 | 716.1K | open | |
zImage_ifc6410 | 12-Jan-2018 15:00 | 5.1M | open |
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 14.06 release is an Ubuntu-based Linaro Member Build that provides a desktop like environment using Ubuntu and the Gnome desktop.
What’s new in this release
- The Graphics stack has been upgraded from Mesa 10.1 to Mesa 10.2.1 with librdrm 2.4.54, X11 freedreno video driver 1.1.0
- Support for OpenGL 2.1
- SATA support, including using SATA for root file system has been added
- Bug fixed:
- rsyslog was not starting properly because filesystem permissions were corrupted in /var/log
- SSH server was added to the image
- Ethernet was not working at boot with the Gnome image, hence system date was wrong
Features
The following features are currently supported by the 14.06 version of the Snapdragon 600 Linux Platform for Inforce IFC6410:
- Provides a working Ubuntu environment with access to Ubuntu repositories (apt-get) and updates. It is based on Ubuntu 14.04 (Trusty Tahr).
- It is based on Linux Kernel v3.4 from Code Aurora Forum, and proprietary firmware from Inforce IFC6410 Android BSP Rel v1.5.
- The following prebuilt images are released:
boot
image that includes prebuilt kernel and initrddeveloper
image that includes Ubuntu core packages as well as typical development packagesgnome
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 tolinaro
- The following board features are supported:
- Quad Core Krait 300 1.7GHz CPU
- Adreno 320 GPU, powered by
freedreno
GPU driver- OpenGL 2.1
- Mesa 10.2.1
- XA support enabled
- Cpufreq
- Initial, very conservative in-kernel thermal management
- Audio playback (analog, digital)
- HDMI display
- UART, Ethernet, SD, eMMC, SATA
- USB2.0 (Mouse, Keyboard, Storage)
- Wifi using QCA6234x
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. 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, …).
Download the release binaries
To install the release on the IFC6410 Board, you need to download the following files:
boot-ifc6410-20140624-21.img.gz
firmware-ifc6410-20140624-21.img.gz
and at least one of the following files:
linaro-trusty-developer-ifc6410-20140624-21.img.gz
linaro-trusty-gnome-ifc6410-20140624-21.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:
gunzip *.img.gz
Managing the proprietary firmware
To properly use this release, a set of proprietary firmware blobs must be acquired separately from Inforce Techweb website 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 IFC6410 Android BSP Rel v1.5, which you need to download from Inforce Techweb. The ZIP file Inforce-IFC6410_AndroidBSP_880160_Rel_Beta_V1.5.zip
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.
mkdir image
sudo mount -o loop firmware-ifc6410-20140624-21.img image
sudo tar xzf proprietary.tar.gz -C image/ --strip-components 8 proprietary/prebuilt/target/product/msm8960/system/etc/firmware/
sudo umount image
rmdir image
The firmware image firmware-ifc640-20140624-21
has been updated, and now contains all the relevant proprietary firmware blobs.
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:
sudo fastboot flash boot boot-ifc6410-20140624-21.img
sudo fastboot flash cache firmware-ifc6410-20140624-21.img
sudo fastboot flash -S 768M userdata linaro-trusty-gnome-ifc6410-20140624-21.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. - the root file system must be flashed in the
userdata
partition, and the boot image must be flashed in theboot
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.
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:
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
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:
sudo fastboot boot boot-ifc6410-20140624-21.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:
abootimg -u boot-ifc6410-20140624-21.img -c "cmdline=console=ttyHSL0,115200n8 root=/dev/mmcblk0p13 rootwait rw"
sudo fastboot flash boot boot-ifc6410-20140624-21.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:
sudo apt-get install abootimg
Installing the Developer 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:
sudo fastboot flash boot boot-ifc6410-20140624-21.img
sudo fastboot flash cache firmware-ifc6410-20140624-21.img
sudo fastboot flash userdata linaro-trusty-developer-ifc6410-20140624-21.img
Note:
- the root file system must be flashed in the
userdata
partition, and the boot image must be flashed in theboot
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.
Running the Developer based image
To boot to the serial console and get a root prompt, you can simply run:
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.
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:
https://git.linaro.org/landing-teams/working/qualcomm/kernel.git
git://git.linaro.org/landing-teams/working/qualcomm/kernel.git
tag: ubuntu-ifc6410-14.06
defconfig: ifc6410_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:
sudo fastboot boot -c "console=ttyHSL0,115200,n8 root=/dev/mmcblk0p13 rootwait rw text" -b 0x80200000 zImage
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 zImage
, you can update the boot image and reflash it into the boot
partition:
abootimg -u boot-ifc6410-20140624-21.img -k zImage
sudo fastboot flash boot boot-ifc6410-20140624-21.img
How to get and customize Ubuntu packages source code
This release is based on Ubuntu 14.04 (aka trusty), 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: 14.10).
For more information, please refer to the Linaro wiki.
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:
simg2img linaro-trusty-gnome-ifc6410-20140624-21.img linaro-trusty-gnome-ifc6410-20140624-21.img.raw
mkdir rootfs
sudo mount -o loop linaro-trusty-gnome-ifc6410-20140624-21.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:
cd rootfs
sudo cp -a * /mnt/disk
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:
abootimg -u boot-ifc6410-20140624-21.img -c "cmdline=console=ttyHSL0,115200n8 root=/dev/sda1 rootwait rw text"
sudo fastboot flash boot boot-ifc6410-20140624-21.img
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.
- Few software codecs are installed by default; you might install additional codecs such as
gstreamer1.0-libav
,gstreamer1.0-plugins-bad
orgstreamer1.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
.
Feedback and Support
For any question or support request, please go to My Dragon Board Community. For any bug or issue it is recommended to provide as much information as possible, and at the very list please include the output of dpkg -l
to list all packages installed.