Archive

Posts Tagged ‘linaro’

Cubieboard 4 Ubuntu Review – Setup, Usability, and Performance

April 1st, 2015 6 comments

Cubieboard4 is a development board powered by Allwinner A80 octa-core processor with 2GB RAM and 16GB eMMC. I’ve already shown how to get started with the board using the pre-installed Android 4.4 image, and run some benchmarks in Android, so now it’s time to check out the Ubuntu Linaro 14.04 image provided by CubieTech. I’ll show how to install and setup Ubuntu 14.04 on the board using a micro SD card, run desktop applications like Chromium, Libre Office, and son on on the board, and complete the review with some Linux benchmarks.

Setting up Ubuntu on Cubieboard4

Firmware images for Cubiebord4 can be downloaded @ http://dl.cubieboard.org/model/cc-a80/Image/. Currently Android 4.4, Debian server, Ubuntu Linaro server, and Ubuntu Linaro desktop with LXDE desktop environment. That’s the latter I’ll use for the experiment, and two images are available:

  • linaro-desktop-cb4-card-hdmi-v0.4.img.7z – Bootable image from micro SD card
  • linaro-desktop-cb4-emmc-hdmi-v0.4.img.7z – Installation image to eMMC to be written to micro SD card (and not via PhoenixSuite).

I’ve just downloaded and flash the “card” image to a 32GB Class 10 micro SD card in a terminal windows in a Linux computer:

wget http://dl.cubieboard.org/model/cc-a80/Image/ubuntu-linaro/ubuntu-linaro-v0.4/linaro-desktop-cb4-card-hdmi-v0.4.img.7z
7z x linaro-desktop-cb4-card-hdmi-v0.4.img.7z
sudo dd if=linaro-desktop-cb4-card-hdmi-v0.4.img | pv | sudo dd of=/dev/sdX bs=16M

where X is the letter of your SD card, which you can check with lsblk. Be very careful as using the wrong letter may wipe out your hard drive, and you may consider using a virtual machine to be extra safe. This step also be done in a Windows computer with 7-zip and Win32DiskImager utilities.

Now insert the micro SD card into the board, connect the necessary cable, and power it on. After around 35 seconds, maybe a little more the first time, I get a usable desktop. Your own boot time will obviously be impacted by your micro SD card performance.

Cubieboard4_Ubuntu_LXDE

Lubuntu Desktop (Click for Original Size)

Firefox and Nautilus are not part of the default image, but I’ve installed them with apt-get, and added shortcuts to the desktop.

Usually, you need to run gparted or resize2fs to make full use if your SD card capacity, but this is automatically taken care of by the image, and my root partition was automatically extended to 30GB:

linaro@cubieboard4:~$ df -h
Filesystem       Size  Used Avail Use% Mounted on
/dev/root         30G  4.2G   25G  15% /
devtmpfs         814M  4.0K  814M   1% /dev
none             4.0K     0  4.0K   0% /sys/fs/cgroup
none             163M  476K  163M   1% /run
none             5.0M     0  5.0M   0% /run/lock
none             814M     0  814M   0% /run/shm
none             100M  4.0K  100M   1% /run/user
/dev/mmcblk1p2   128M  5.6M  123M   5% /media/mmcblk1p2
/dev/mmcblk1p7   756M  587M  170M  78% /media/linaro/57f8f4bc-abf4-655f-bf67-946fc0f9f25b
/dev/mmcblk1p10  630M   11M  620M   2% /media/linaro/57f8f4bc-abf4-655f-bf67-946fc0f9f25b1
/dev/mmcblk1p1   5.7G  3.4G  2.4G  59% /media/linaro/57f8f4bc-abf4-655f-bf67-946fc0f9f25b2
/dev/mmcblk0p1    12M  6.1M  5.9M  51% /media/linaro/29BC-6723

Since I’m connected to Internet via an Ethernet connection I did not have to configure anything else, except the timezone set with:

sudo dpkg-reconfigure tzdata

At this stage, you’ve got a fully workable ARM Linux computer, although if you want to use Wi-Fi, Bluetooth, and/or a printer more configuration work is required, but I haven’t tried any of these.

Cubieboard4 Usability as a Desktop Computer

The image is quite minimal, and beside Pacman file manager and a few other small programs, only Chromium browser is already installed. So I installed Firefox, Libre Office, Nautilis and Gimp with apt-get:

sudo apt-get install libreoffice nautilus firefox gimp

The system is quite responsive, although programs don’t quite load as fast as from an SSD or eMMC, and you need to wait a few seconds for Chromium or Libre Office to load.

Since the font looked quite poor in Chromium, I installed Firefox, but I had the same results. So finally I installed Ubuntu fonts:

sudo apt-get install ttf-ubuntu-font-family

and configured the web browsers accordingly leading to much better font rendering.

I’ve run the following tests in Cubieboard4 to show the performance, and what is working or not:

  1. 30 seconds boot
  2. List of installed applications
  3. LibreOffice (Writer)
  4. Chromium – Multi-tabs, YouTube (embedded / full screen; VP9), and Candy Crush Saga (Flash game) in Facebook
  5. 3D hardware acceleration with es2gears and glmark2-es2
  6. 1080p video playback with VideoLAN
  7. Power off

I also ran htop in a terminal to show the eight cores CPU usage. Sorry the video is not quite straight and audio is poor with SJ1000 camera.

The system is working quite well, except with YouTube videos which are not so smooth, because YouTube has now mostly switched to VP9 codec, and 3D support failed with “DRI2: failed to authenticate”. Candy Crush Saga worked fine, although not amazingly smooth, but performance is not that much different from my regular Ubuntu PC for that game. 2D hardware acceleration is supposed to be implemented (a80-xf86-video-fbturbo), but I’m not quite sure how to formally test this. H.264 and MPEG4 video could be played in VideoLAN with only one CPU core use confirming hardware video decoding support, but MPEG2, VC1 and H.265 codecs all failed.

Click for Original Size

Click for Original Size

In the screenshot above, I play Big Buck Bunny in VideoLAN on the top left corner, but since hardware video decoding is activated, the video won’t show in the screenshot, which is perfectly normal.

Even though Cubieboard4 Ubuntu support is not too bad right now, I still think ODROID-XU3 Lite delivers a better Linux experience, especially when using an eMMC module, as programs load faster, 3D acceleration is working, as well as Kodi with hardware video decoding. The only downside is that flash (Chromium + pepperflash) did not work when I tried on XU3 Lite, but this may have been fixed by now.

Cubieboard4 Performance Testing in Linux

Phoronix Suite Benchmarks

I’ve installed the latest version of Phoronix Test Suite to run a few benchmarks in Linux:

sudo apt-get install php5-cli php5-gd 
wget http://phoronix-test-suite.com/releases/repo/pts.debian/files/phoronix-test-suite_5.4.1_all.deb
sudo dpkg -i phoronix-test-suite_5.4.1_all.deb

After configure the test suite for batch benchmark with

phoronix-test-suite batch-setup

I decide to run the same three tests as on ODROID-XU3 Lite, encoding MP3, compressing files, and performing some HTTP server tasks:

phoronix-test-suite batch-benchmark pts/encode-mp3 pts/compress-7zip pts/apache

Unfortunately, apache failed to compiled, so only the MP3 and 7-zip test completed.

Cubieboard4_vs_ODROID-XU3-Lite_MP3So the only direct comparison with the test I’ve done between ODROID-XU3 Lite and Cubieboard4 is for MP3 encoding, and in this test the Exynos platform is faster, but the Allwinner A80 board still compares favorably to slower or/and older ARM board like Radxa Rock, ODROID-C1, or PCDuino (cpu test) in 7-Zip test, especially this test runs on all available cores.

7-Zip_Cubieboard4_Radxa_Rock_ODROID-C1

 Mainline kernel compilation

Now let’s see how fast the board build Linux 3.19.

sudo apt-get install libncurses5-dev gcc make git exuberant-ctags
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable
git checkout -b stable v3.19

Mainline kernel requires gcc 4.9 to build, but Ubuntu 14.04 only comes with gcc 4.8.2, so let’s install the new compiler. Since add-apt-repository is missing, we have to install the relevant package first:

sudo apt-get install software-properties-common

We’ll also need to edit /etc/lsb-release to replace DISTRIB_ID=Linaro by DISTRIB_ID=Ubuntu temporarly, as the toolchain repo has never heard about a Linaro distribution, and then we can complete gcc 4.9 installation.

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.9

Allwinner enginners themselves are not directly involved in mainline kernel develompent, but they are usually in the loop when members of linux-sunxi community send patchsets to the ARM Linux kernel mailing list, which mean Allwinner processor are supported in mainline kernel, albeit with limitation. Allwinner A80 codename is sun9i, and we can see a device tree file for A80 OptimusBoard:

linaro@cubieboard4:~/linux-stable$ ls -l arch/arm/boot/dts/ | grep sun9
-rw-rw-r-- 1 linaro linaro   3561 Apr  1 13:23 sun9i-a80-optimus.dts
-rw-rw-r-- 1 linaro linaro  12608 Apr  1 13:23 sun9i-a80.dtsi

Nevertheless, I’ve built the kernel using sunxi default config used for all Allwinner platforms:

make sunxi_defconfig
time make -j8 CC=gcc-4.9
...
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready

real    6m36.198s
user    34m6.070s
sys    4m32.100s

So Cubieboard4 took 6 minutes on 36 seconds to build Linux 3.19, while ODROID-XU3 Lite took 5 minutes 43 seconds to build Linux 3.18, not too bad, but this is show some performance advantage for the Exynos processor.

Video Transcoding with avconv

Ideally video transcoding should not be done by software, since most ARM processors can handle MPEG2 to H.264 transcoding using the VPU, but this can still be useful to evaluate a processor performance, so just like for ODROID-XU3 Lite, I’ve converted a short MPEG2 into H.264 with avconc:

sudo apt-get install libav-tools
time avconv -i big_buck_bunny_1080p_MPEG2_MP2_25fps_6600K.MPG \
-vcodec libx264 -minrate 300k -maxrate 300k -bufsize 1835k bbb-h.264.avi
avconv version 9.11-6:9.11-2ubuntu2, Copyright (c) 2000-2013 the Libav developers
 built on Mar 24 2014 06:21:10 with gcc 4.8 (Ubuntu/Linaro 4.8.2-17ubuntu1)
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, mpeg, from 'big_buck_bunny_1080p_MPEG2_MP2_25fps_6600K.MPG':
 Duration: 00:00:44.74, start: 0.240000, bitrate: 7159 kb/s
 Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 9792 kb/s, 24.75 fps, 25 tbr, 90k tbn, 50 tbc
 Stream #0.1[0x1c0]: Audio: mp2, 44100 Hz, stereo, s16p, 160 kb/s
[libx264 @ 0x6c9c0] using SAR=1/1
[libx264 @ 0x6c9c0] MB rate (734400000) > level limit (2073600)
[libx264 @ 0x6c9c0] using cpu capabilities: ARMv6 NEON
[libx264 @ 0x6c9c0] profile High, level 5.2
Output #0, avi, to 'bbb-h.264.avi':
 Metadata:
 ISFT : Lavf54.20.3
 Stream #0.0: Video: libx264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=-1--1, 90k tbn, 90k tbc
 Stream #0.1: Audio: libmp3lame, 44100 Hz, stereo, s16p
Stream mapping:
 Stream #0:0 -> #0:0 (mpeg2video -> libx264)
 Stream #0:1 -> #0:1 (mp2 -> libmp3lame)
Press ctrl-c to stop encoding
frame= 1037 fps= 6 q=56.0 size= 30759kB time=40.60 bitrate=6205.9kbits/s

It took  3 minutes 3 seconds to convert the 44 seconds video, so just like with the Exynos board it’s not possible to transcode a 1080p video @ 25 fps in real-time by software, at least with avconv, and the parameters I used. ODROID-XU3 Lite was a bit faster however, managing to convert the same video in 2 minutes and 33 seconds.

Cubieboard4 can be purchased for $125 + shipping on R0ck.me, Eleduino, Seeed Studio, or others, and it’s also listed on Amazon US for $138.99 including shipping.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 15.03 Release with Linux 4.0 and Android 5.1

March 27th, 2015 No comments

Linaro has just announced their 15.03 release with Linux 4.0-rc4 (baseline), Linux 3.10.72 and 3.14.36 (LSK), and Android 5.1.

The organization has worked on hardware platforms from members namely Qualcomm, ARM, HiSilicon, Samsung, and STMicro, including the recently announced 96Boards boards, and other ARMv8 platforms.

Highlights of the release:

  • Linux Linaro 4.0-rc4-2015.03
    • updated linaro-android topic
    • added a few build/boot fixes for Arndale (llct-misc-fixes topic)
    • GATOR topic: version 5.20.1
    • updated integration-linaro-vexpress64 topic by ARM LT (FVP Base and Foundation models, and Juno support)
    • updated topic from Qualcomm LT (ifc6410 board support)
    • simple EEPROM framework (via Qualcomm LT’s topic)
    • updated topic from HiSilicon LT (Hi36xx, HiP04, and X5HD2 families support)
    • rebased “ILP32 patch set v3″ onto 4.0-rc2
  • Linaro builds of AOSP 15.03
    • updated all the baselines to AOSP 5.1
    • added commit based trigger feature to CI builds
  • Linaro OpenEmbedded 2015.03
    • integrated Linaro GCC 4.9-2015.03
    • dismantled meta-aarch64 layer
    • created meta-ilp32 layer
    • cleaned out meta-bigendian layer
    • synced overlayed recipes with upstream
    • added full wget and rt-test on LAMP image as requested by QA team
    • update busybox xargs config as requested by QA team
    • integrated ODP 1.0
    • upstreaming:
      • sysprof: fix arm big-endian build
      • bitbake.conf: use http:// for GNU_MIRROR instead of ftp://
      • kexec-tools: fix build failure on aarch64_be architecture
      • busybox: update to 1.23.1 release
      • mozjs 17.0.0: fix aarch64 and 64k page builds, generic cleanups
  • Linaro Ubuntu 15.03
    • added packages: ti-calibrator
    • updated packages: LSK 3.10.72/3.14.36 and linux-linaro 4.0-rc4 kernels
    • Added ILP32 support for ARM64 to Linaro engineering builds
    • Dismantled meta-aarch64 in favour of OE-core aarch64 support
    • CI bring up: luvOS (Linux UEFI Validation Operating System)
  • KVM – support testing arm32 with arm64
  • Added b2120stxh410 to linux-mainline and linux-arm-soc-for-next build jobs
  • 96boards: enable Xorg by default in eMMC/SD debian build
  • Added 2 new build slaves
  • Migrated lt-qcom-ubuntu-images to docker based infrastructure
  • Upgraded ARMv8 build slaves to 3.19 kernel
  • Cleaned up LCR (Linaro Confectionery Release) information and instructions

Visit https://wiki.linaro.org/Cycles/1503/Release for a list of known issues, and further release details about the LEB, LMB (Linaro Member Builds), and community builds, as well as Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Qualcomm Dragonboard 410c is Another 96Boards Compliant 64-bit ARM Development Board

March 12th, 2015 8 comments

Linaro announced the 96Boards initiative at Linaro Connect Hong Kong last month, and in collarabation with Huawei announced Hikey development board following this new standard. Qualcomm has now joined the Fray with Dragonboard 410c, a 96Boards board powered by Qualcomm Snapdragon 410 quad core Cortex A53 processor.

Qualcomm_Dragonboard_410c

Dragonboard 410c (Click to Enlarge)

Dragonboard 410c specifications:

 

  • SoC- Qualcomm Snapdragon 410 (APQ8016) quad-core ARM CortexA53 @ 1.2 GHz with Adreno 306 GPU @ 400MHz
  • System Memory – LPDDR2/3 533MHz, Single-channel 32-bit (4.2GBps)
  • Storage – eMMC 4.51 + micro SD 3.0 (UHS-I)
  • Video Output – HDMI up to 1080p
  • Connectivity – Integrated 802.11 b/g/n, BT/FM, GPS
  • USB – 2x USB 2.0 host ports, 1x micro USB OTG port.
  • Camera – Support for 13 MP camera with Wavelet Noise Reduction, JPEG decoder, and other post-processing techniques done in hardware
  • Expansion:
    • 1x 40 pin low speed expansion connector – UART, SPI, I2S, I2C x2, GPIO x12, DC power
    • 1x 60 pin high speed expansion connector – 4L-MIPI DSI, USB, I2C x2, 2L+4LMIPI CSI
    • Analog expansion connector – Headset, Speaker, FM antenna
    • Arduino compatibility through mezzanine board
  • Power Supply – 6.5 – 18V DC input

Qualcomm_Dragonboard_410c_BottomThe board will support Linux and Android, and target embedded computing and Internet of Everything (IoE) products, such as robotics, cameras, medical devices, vending machines, smart buildings, digital signage, casino gaming consoles, etc…

That’s about all we know for now, except it will be launched in summer 2015. You can register your interest on Qualcomm’s DragonBoard 410c page.

 

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Compulab Utilite2 Android / Ubuntu mini PC is Now Up for Sale for $192 and Up

March 6th, 2015 6 comments

Compulab Utilite2 is a new family of mini PCs powered vt Qualcomm Snapdragon 600 quad core Krait 300 processor, with 2GB RAM, 4GB eMMC and optional mSATA storage that runs Android 4.4 or Ubuntu Linaro, with CM-QS600 SoM found in the device being officially supported by Linaro. Utilite2 Standard 4G and Standard 4G + 32SSD (or just SSD for short) are now listed on UK based TinyGreenPC for respectively £158.00 ($241) and £181.00 ($276), but the two models can also be bought direct on Compulab website for $192 and $229 with a 4 weeks lead time.

Compulab_Utilite2_DescriptionUtilite2 specifications:

  • SoC – Qualcomm Snapdragon 600 APQ8064 quad-core Krait 300 @ 1.7GHz with Adreno 320 GPU compliant with OpenGL ES 1.1 / 2.0 / 3.0 and OpenCL
  • System Memory – 2GB DDR3-1066
  • Storage – 4GB eMMC, mSATA socket (mini-PCie form-factor, populated with 32 GB SSD on SSD model), and micro-SD slot up to 128 GB
  • Video Output – HDMI 1.4a max resolution 1920 x 1080
  • Audio I/O – HDMI, stereo line-out, stereo line-in, WC09311 audio codec.
  • Video Codecs – H.264, MPEG2/4, DivX and VC-1 HW decoding up to 1080p
  • Connectivity
    • 1000 BaseT Ethernet port,
    • Dual-antenna WiFi 802.11b/g/n,
    • Bluetooth Bluetooth 4.0 (Low Energy)
    • Cellular Expansion socket (mini-PCIe form-factor) and on-board uSIM socket for USB cellular modem
  • USB – 4x USB 2.0 host ports (max 1A per port), 1x micro USB OTG port
  • Debugging – Serial debug console (muxed with USB OTG)
  • Misc – RTC
  • Power Supply – Unregulated 10 to 16 volt input (12V adapter provided)
  • Power Consumption – 3W – 8W (depending on system load)
  • Dimensions – 85mm x 85mm x 27mm (die-cast aluminum enclosure)
  • Temperature Range – Commercial: 0C – 45C; Extended: -20C – 60C

The box is sold with a 12V/1.5A power supply (EU, UK or US standard) and power cord, two Wi-Fi antennas, and a user’s guide. The computer is pre-loaded with Linux (Ubuntu Linaro?), and you may want to read user and developer information about hardware and software on Utilite2 Wiki for complete details. I could not find much information for Android 4.4.3, maybe it will be published a little later.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 15.02 Release with Linux 3.19 and Android 5.0

February 27th, 2015 1 comment

Linaro 15.02 has just been released with Linux 3.19 (baseline), Linux 3.10.68 and 3.14.34 (LSK), Android 5.0.2, and Ubuntu Linaro Utopic.

Listed changes for Linux Linaro are exactly the same as last month, except they’ve used Linux 3.9 release. Power management tools have been added to their AOSP build, and some work has been done for Android 5.0 on the new Hikey board.

Here are the highlights of this release:

  • Linux Linaro 3.19-2015.02
    • GATOR topic: version 5.20.1
    • updated integration-linaro-vexpress64 topic by ARM LT (FVP Base and Foundation models, and Juno support)
    • updated topic from Qualcomm LT (ifc6410 board support)
    • updated topic from HiSilicon LT (Hi36xx, HiP04, and X5HD2 families support)
    • updated LLVM topic (the community llvmlinux-latest branch)
    • included ILP32 patch set v3 rebased onto 3.19. Initial tests using syscalls LTP tests done. When using ILP32 userland, a few tests have to be skipped (msgctl07, msgrcv0[1-7], msgsnd01) to avoid the stalls, and to make the testing to complete. No stalls with LP64 userland.
  • Linaro builds of AOSP 15.02 – Added Power Management Working Group tools (PM QAqa, powertop and powerdebug)
  • Linaro OpenEmbedded 2015.02
    • integrated Linaro GCC 4.9-2015.02
    • fixed linux-dummy to work with new rootfs.py depmod
    • fixed udhcpc command options to prevent
    • updated linux-linaro(-stable) recipes
    • dropped qemu overlay in favour of OE-core version
    • dropped kexec-tools overlay in favour of OE-core version
    • upstreaming – busybox: update to 1.23.1 release
  • Linaro Ubuntu 15.02 – added packages: ti-uim; updated packages: LSK 3.10.68/3.14.32 and linux-linaro 3.19 kernels
  • CI bring up: member build for TI J6-Vayu platform
  • Native ARMv8 build slave for CI
  • WIFI, bluetooth and USB integration with Android L for HiKey

Visit https://wiki.linaro.org/Cycles/1502/Release for a list of known issues, and further release details about the LEB, LMB (Linaro Member Builds), and community builds, as well as Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

HiSilicon D02 Server Board Supports up to 64 ARM Cortex A57 Cores

February 16th, 2015 10 comments

HiSilicon has showcased their latest server SoC and board at Linaro Connect Hong Kong 2015, with up to two processors with 32 Cortex A57 cores @ 2.1GHz, 8 DIMM DDR3 slots (up to 128 GB RAM), 12 SATA ports, 4 PCIe slots, 10GbE / GbE ports.

HiSilicon_D02D02 board specifications:

  • SoC – Hisilicon PhosphorV660 Hip05 with 16 to 32 ARM Cortex-A57 cores @ up to 2.1GHz and 1MB L2 cache/cluster, 32MB L3 cache
  • System Memory – 2x Memory channel 4x DDR3 DIMM(4x DIMM per processor)
  • Storage
    • 12x SAS 3.0 ports @ 12 Gbps (8 for the first processor, 4 for the second).  SAS port are compatible with SATA drives. You may want to read SAS vs SATA post for more details about SAS.
    • 2x SPI Flash 158Mb BIOS/UEFI
    • 1Gb NorFlash
  • Connectivity – 2×10/100/1000Mbit/s Gigabit Ethernet ports, 2x xGE SFP+ ports (10Gb/s)
  • Expansion – 2x 8x PCI express interfaces per processor (4 in total)USB – 1x USB 2.0 host port
  • Debugging – 1x UART interface, 1x ARM Tracer connector, 1x JTAG interface
  • Misc – RTC battery
  • Power – ATX power supply
  • Dimensions – 305 x xyz mm (SSI-EEB/E-ATX Compatible). xyz = 330, 257, 272, 264, or 267 (Not sure yet)

The board can run Ubuntu, Debian, OpenSUSE, or Fedora. The company has released a hacking manual for D02 board, where you can find more details, and learn how to build the kernel, and hack around with Grub and UEFI among other things.

For example, provided you’ve already installed the right development tools,. including Aarch64 toolchain, you should be able to build the kernel for the board as follows:

git clone  https://github.com/hisilicon/estuary
cd estuary
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
make hulk_defconfig
make -j8
make ./hisilicon/hip05-d02.dtb

Binary files can also be downloaded directly from https://github.com/hisilicon/d02_binary.

Charbax filmed a demo of the board running Ubuntu, Linaro LAVA server, and LXC (Linux Containers). The board currently come with Hip05 SoC with 16 Cortex A57 cores, but in a couple of months, the version with 32 cores will come out, and and Linaro engineers working on ARM64 server should get their hands on several boards.

Via ARMdevices.net

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

$129 Hikey Board Features a 64-bit ARM HiSilicon Processor, Complies with Linaro’s 96Boards Specifications

February 9th, 2015 16 comments

In my post about the Embedded Linux Conference 2015, I noticed a talk entitled “Generalizing Android for Low-Cost 64-Bit ARM-Based Community Boards” to be presented by Khasim Syed Mohammed, Linaro, mentioning that “Linaro is developing an open hardware platform specification to encourage software development on low-cost boards to lower the cost and accelerate the availability of maker and embedded products based on ARM SoCs”. But at the time, I had no details about the specifications themselves. As Linaro Connect HK 2015 is now taking place, the 96Boards Consumer Edition specifications have been released, and Hikey board have been unveiled with HiSilicon Kirin 620 octa core Cortex A53 processor, 1 GB RAM, and 4GB eMMC.

96Boards_Hikey

Hikey board specifications:

  • SoC – HiSilicon Kirin 620 octa core Cortex A53 processor @ 1.2 GHz (10,000 Dhrystone VAX MIPS) with ARM Mali-450MP4 GPU
  • System Memory – 1GB LPDDR3 @ 800 MHz
  • Storage – 4GB eMMC + micro SD v3 slot
  • Video Output / Display – HDMI 1.3 up to 1080p, DSI interface
  • Connectivity – 802.11 a/b/g/n Wi-Fi, Bluetooth 4.1 LE (TI Wilink 8 – WL1835MOD) with on-board antenna. Solder pads for external antenna are also present (6)
  • USB – 2x USB 2.0 host ports, 1x micro USB OTG
  • Camera – CSI interface
  • Debugging – Unpopulated 4-pin UART header (1), unpopulated 10-pin JTAG header (19)
  • Expansion headers
    • 40-pin LS (Low Speed) Expansion connector (2) – 2x UART, 2x I2C, GPIOs, SPI, Audio, reset, 1.8V and GND, as wekk as 5V/12V cooling fan support
    • HS (High Speed) Expansion connector (9) – DSI, CSI, SDIO, USB, etc…
  • Misc – Power button (3), settings header for power/boot/user (1), power measurements through holes (Total / PMIC only / HDMI, USB) (4), LEDs for Wi-Fi/Bt (11), and 3x User LED (13)
  • Power Supply (5) – 8-18V / 2A as per 96Boards specs.
  • Dimensions – 85 x 54 mm

Hikey_BoardDocumentation is available on 96Boards.org, and currently includes a User’s Guide and schematics in PDF format. You can get support on 96Boards Forums, the source code is available on github, and binary images for Linux (Ubuntu?) and Android will soon be available at https://builds.96boards.org/.

Hikey board is available on backorder on Avnet and Arrow for $129 and up.

Let’s also have a quick look at 96Boards specifications.

Stated goals:

  • Low cost ($50-$100 retail for a a minimum configuration)
  • Easy to extend with off the shelf parts available to maker community and OEMs
  • Easy to purchase globally (for example, via Amazon, Alibaba, Farnell, Digikey, Mouser, etc…)
  • Enable a third party ecosystem to develop around expansion (mezzanine) boards/peripherals/displays, etc… that can be used on any 96Board CE compliant board.

Minimum hardware features:

  • Ultra-small low-profile form factor – 85x54x12 mm – Extended Version: 85x100x12mm
  • Design is SoC independent (targets 32- and 64-bit SoCs)
  • 0.5GB RAM (Minimum 1GB recommended for Android_
  • MicroSDHC Socket for up 64GB on-board or expansion flash storage
  • Wi-Fi 802.11g/n and Bluetooth 4.0 LE
  • On-board connectors and expansion I/O:
    • 2x USB Type A or Type C host ports (USB 2.x or 3.x)
    • USB micro-B USB or type C slave or OTG port (USB 2.x or USB 3.x) for PC connection
    • Display and Audio Output: HDMI, or MHL (micro USB), or DisplayPort (USB type C)
    • Low profile 40 way female header for maker/community use
    • Low profile 60 way high speed female module header for advanced maker/OEM use with high speed interface including MIPI-DSI, USB, and optional MIPI CSI-2
    • Board power from low profile DC jack connector

Other requirements and options include at least one current sense resistor, buttons, LEDs, UART, recommended JTAG, and so on.

Software requirements include bootloader (open source), accelerated graphics support (binary or open source), a Linux kernel buildable from source code based from mainline, or the latest Google-supported Android kernel version, or the last two LTS kernels, and one of more of the following operating systems: Android, Debian/Ubuntu, Fedora/Red Hat, or an OpenEmbedded/Yocto build of a Linux distribution.

[Update: Linaro blogged about this, with quotes by several companies including Actions Semiconductors and AMD, so we might expect 96Boards compliant board(s) by these two Silicon vendors too]

Via Mininodes.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Embedded Linux Conference 2015 Schedule – IoT, Cars, and Drones

February 6th, 2015 No comments

Embedded Linux Conference 2015 will take place in San Jose, California, on March 23 – 25, 2015, and will focus on Drones, Things and Automobiles. The schedule has been published, and whether you’ll attend or not, it’s always interested to have a look at what will be talked about to have a peak into the future of Embedded Linux, or simply keep abreast with the progress in the field.

Embedded_LInux_Conference_2015So as usual, I’ve gone through the schedule, and made my own virtual program with talks that I find interesting.

Monday 23rd

  • 9:00 – 9:30 – Driving standards and Open Source to Grow the Internet of Things by Mark Skarpness, Director of Systems Engineering at Intel

Billions of devices are beginning to come online, and many of these devices, large and small, are running open source software.  To fuel this innovation, it’s more important than ever for these devices to use a common framework to communicate with each other and the cloud.  Intel is a founding member of the Open Interconnect Consortium (OIC), which will use both open source innovation and standards specifications to drive interoperability across multiple operating systems and communication protocols to enable the Internet of Things. As one of the founding members of the Linux Foundation, a top external contributor to the Android Open Source Project, and a leader behind USB, WiFi, Bluetooth and other projects and standards, Intel has the depth of knowledge and a unique approach to move things forward to benefit developers and consumers.

  • 9:30 – 10:00 – Project Ara with Paul Eremenko, Head of Project Ara, ATAP at Google & Marti Bolivar, Project Ara Software Lead, Google

Marti and Paul will discuss Project Ara’s aim to develop an open hardware platform for modular smartphones, with the goal of creating a vibrant module developer community and a marketplace from which consumers can create an entirely custom mobile device.

  • 10:45 – 11:35 – Generalizing Android for Low-Cost 64-Bit ARM-Based Community Boards by Khasim Syed Mohammed, Linaro

Linaro is developing an open hardware platform specification to encourage software development on low-cost boards to lower the cost and accelerate the availability of maker and embedded products based on ARM SoCs. By end of 2015 there will be many compliant boards based on and adhering to this specification. The key challenge for the Android community is to enable and maintain Android for multiple platforms on a common code base. This presentation highlights the issues like non-standard SoC customizations, peripheral controller customizations from vendors and shares the possible solutions through Android software generalization.

  • 11:45 – 12:35 – Open Source Drones on Linux by Lorenz Meier

This presentation will summarize the current state in academia and industry using Linux on drones, which is by now already a widespread and common pattern.

  • 14:00 – 14:50 – IoTivity and Embedded Linux Support by Kishen Maloor, Intel

IoTivity is a new collaborative project, hosted at the Linux Foundation and sponsored by the Open Interconnect Consortium. Its goal is to facilitate interconnections across the billions of “things” to be on the Internet in coming years. A majority of these “things” would be low-power embedded devices. To satisfy their connectivity needs, IoTivity must support a variety of transmission media, such as WiFi, Bluetooth, Bluetooth LE, 6LoWPAN over 805.15.4, etc. This session will present an overview of IoTivity’s current support for the Yocto Linux environment on embedded platforms, and how it allows us to be flexible for multiple purposes. It will also present how a developer can enable IoTivity on Yocto and make modifications.

  • 15:00 – 15:50 – Performance Analysis Using the perf Suite by Mans Rullgard

When faced with a performance problem, the initial steps towards a solution include identifying the sections of code responsible and the precise reasons they are time-consuming. To this end, the ‘perf’ profiling tools provide valuable insight into the characteristics of a program. The presentation will show, using real-world examples, how the ‘perf’ tools can be used to pinpoint the parts of a program in need of optimisation.

This presentation will be a version of that given at ELCE 2014 updated based on questions and audience feedback.

  • 16:20 – 17:10 – Poky meets Debian: Understanding How to Make an Embedded Linux by Using an Existing Distribution’s Source Code by Yoshitake Kobayashi, Toshiba

Poky has already become one of the most popular build system to make an embedded Linux environment. Poky refers to OpenEmbedded originally. However if you want to use other source code, how to do it? We have some experience we would like to share with you. For this study, We choose Debian source and already tried two ways to use it. The first try was probably an incorrect way and the second try may be a correct way.

In this talk, we will show both of them and also describe why we choose Debian. If you are interested in this implementation, you can download the source code from GitHub (cnxsoft: empty for now). There are some implementations available for development boards such as pandaboard, minnowboard and etc. Let’s enjoy Bitbake!

  • 17:20 – 18:10 – Teaching More Fish to Fly by John Hawley, Intel

n 2013, at the Embedded Linux Conference in Europe in Edinburgh, there was a race between a dog and a blimp. It was said that despite the dogs win, that the blimp had participated in the miracle of flight. In 2014 we started showing how the MinnowBoard can be lofted and show useful. In 2015 we just want to give an update on where we are at and what interesting projects are being done both with the MinnowBoard and other platforms in the UAV space. The talk is mainly targeting taking an off the shelf embedded platform, Minnowboard Max, and it’s use in UAVs, specifically quad-copters. With the ability to do real time computer vision, as well as various GPIO capabilities we’ll explore the directions that significantly more autonomous UAVs can take with Linux and embedded platforms using, mostly, off the shelf components.

Tuesday 24th

  • 9:00 – 10:50 – Customizing AOSP for my Device by Rafael Coutinho, Phi Innovations

Android BSP gives you some tools to create your own device customizations. This can be achieved without changes on the Android main code, and just some customizations on the devices folder. It is possible to overlay some system apk configurations, ui and even services. In this tutorial I plan to show the step by step of creating a custom Android device using a AOSP. Setting up some Kernel parameters, customizing the lights HAL and sensors HAL, changing the look and feel of Settings apk etc.

  • 11:20 – 12:10 – Room For Cooperation: Bionic and musl by Bernhard Rosenkränzer, Linaro

A while after Android started Bionic, another interesting libc project was started: musl. Its licensing is compatible with Android’s – so there may be room for picking the best of both worlds. This talk investigates where musl outperforms Bionic and vice versa — and whether or not (and how) Android can benefit from pulling musl code into Bionic.

  • 13:40 – 14:10 – Dronecode Project and Autopilot With Linux by Andrew Tridgell, Technical Steering Committee Chair of Dronecode Project

Andrew “Tridge” Tridgell provides updates on the progress of Dronecode’s open source software project for commercial drones, and insight into the future of drone development. He will also delve into the specific task of running an autopilot directly on a Linux-based platform.

  • 14:10 – 14:55 – IoT Panel with Dominig Ar Foll, Intel (Tizen); Greg Burns, AllSeen Alliance; Bryant Eastham, Panasonic; Guy Martin, Samsung; Tim Bird, Sony Mobile (Moderator)
  • 15:40 – 16:30 – Linux for Microcontrollers: From Marginal to Mainstream by Vitaly Wool, Softprise Consulting OU

The story of a DRAM-less Linux-operated microcontroller delivered at ELC a year ago, which came as a surprise for many, wouldn’t be that surprising now. However, there are some important updates to share: moving to mainline-aligned 3.x baseline, compiling out VM-specific code, optimizing kernel XIP, and the last but not the least, starting to use picoTCP kernel networking stack.

Some size and performance benchmarks will also be presented, along with the Linux demo on the DRAM-less microcontroller board.

  • 16:40 – 18:20 – Building a General Purpose Android Workstation by Ron Munitz

In this tutorial, you will have a hands-on journey of customizing, building, and using a General Purpose Desktop variant of the Android-X86 project. The tutorial assumes previous experience with building Android off the AOSP, Android-IA, CyanogenMod, or any other build system, and describes the special additions of Android-X86, such as a Kernel build system, general X86 hardware detection based HAL’s/firmware and live cd/disk installer generation and more. Then, we will explore the Linux friendly busybox minimal image, and describe the way a fully fledged Android version can be spawned out of it (with similar techniques for any other Linux distribution with the Android patches!) using chroot, and provide a listing of the ultimate Android init process.

We will continue the discussion with day to day uses, and a joint brainstorming of Linux developer uses, and justify Android-X86 as yet another X-less Linux distribution – until the time we add X to it… As a special bonus, we will address how to make any app run using a user-QEMU based ARM translator.

  • 18:20 – 19:20 – BoFs: Yocto Project / OpenEmbedded by Jeff Osier-Mixon

Got a question, comment, gripe, praise, or other communication for the Yocto Project and/or OpenEmbedded? Or maybe you’d just like to learn more about these projects and their influence on the world of embedded Linux? Feel free to join us for an informal BoF.

Wednesday 25th

  • 9:00 – 9:30 – Embedding Openness in the Connected Car by Matt Jones, Jaguar Land Rover

A future vehicle will be a “thing” on the Internet, but how can industry and community come together to accelerate the future concepts into production. The keynote will explore the platforms and standard needed for the future, and relate them to open prototypes from Jaguar Land Rover and the Automotive Grade Linux projects.

  • 9:30 – 10:00 – Community Involvement: Looking Forward and Looking Back by Deepak Saxena

Linux has grown by leaps and bounds in the last decade, finding its way into billions of mobile devices and also into the core of cloud based services that we rely on for business, entertainment, and increasingly, security. With this explosion of devices, we have seen more companies get involved with the kernel community, some successfully, and some struggling. In this talk, we will look at some of the challenges that the industry and the community continue to face in working with each other and also more importantly think about what is next? The adoption of Linux will continue to increase throughout all market segments, bringing in numerous new organizations and new developers. How do we move forward and what changes need to happen within the industry and community cultures to work better together?

  • 10:45 – 17:50 – Embedded Android Workshop by Karim Yaghmour, Opersys

While Android has been created for mobile devices — phones first and now tablets — it can, nonetheless, be used as the basis of any touch-screen system, whether it be mobile or not. Essentially, Android is a custom-built embedded Linux distribution with a very elaborate and rich set of user-space abstractions, APIs, services and virtual machine. This one-day workshop is aimed at embedded developers wanting to build embedded systems using Android. It will cover Android from the ground up, enabling developers to get a firm hold on the components that make up Android and how they need to be adapted to an embedded system. Specifically, we will start by introducing Android’s overall architecture and then proceed to peel Android’s layer one-by-one.

That’s a just a small selection of the talks, and there are many other interested sessions if you are interested in IoT, automotive or drone applications.

If you’d like to attend, you can register online with a single fee for the Embedded Linux Conference and Android Builders Summit 2015, as well as breakfasts and breaks, a T-shirt, and access to evening events:

  • Early Bird Registration Fee – US$500 through January 30, 2015
  • Standard Registration Fee – US$650 through March 5, 2015
  • Late Registration Fee – US$750 after March 5, 2015
  • Student Registration Fee – US$150
  • Hobbyist Registration Fee – US$150

If you attend as a hobbyist, you need to contact events [at] linuxfoundation.org to receive a discount code.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter