CI20 Distros

The CI20 ships with Debian7 installed, but a number of other distributions have been built and run on CI20 already. Those distributions are undergoing preparation for their images to be uploaded to the file store, and the links here will be updated in due course.

As the images are generated, the procedure used to build and burn the images will be documented by articles in the CI20 Rootfs Guides category.

How to burn images
For instructions on how to use the below images please see the Dev Zone.

Debian
The Debian 8 NAND flashing image, as used for the production NAND image, is available to download from the following links.

To burn the CI20 on-board NAND back to the factory default image download the following SDcard image and follow the instructions on Flashing the NAND Image.

Debian 8 2016-02-02 Beta
The Debian 8 NAND image is available here The rootfs tarball used to create this image is available here

Please read the release notes carefully.

The associated md5sums are

3ad5e53c7ee89322ff8132f800dc5ad3 nand_2016_06_02.img aa4e8b33502d30e43c34e94a81e1fd1e rootfs_2016_06_02.tar

Debian 8 2015-09-09
The Debian 8 NAND image is available here The rootfs tarball used to create this image is available here

This is a major release. Kernel upgrade from 3.0.8 to 3.18. Debian upgrade from 7 to 8. Please read the release notes carefully.

The associated md5sums are

5e5ba4b5aac9f424342683f95397c784 nand_2015_09_09.img 61f83ef8d8cc70cc678ee02801eb93fc rootfs_2015_09_09.tar

Legacy Images
Old images can be found here.

Android
Android KitKat and Android Lollipop images are available for download. You have a choice of whether to use UBIFS, or EXT4 support.

UBIFS images will flash your NAND with Android. You'll need an SD card to flash it on the CI20 - Check Flashing the NAND Image.

EXT4 images will run straight from the SD card.

Images which support UBIFS are 1GB. Images which support EXT4 are 3GBs.


 * Oreo 8.1 EXT4
 * md5sum
 * Oreo 8.1 UBIFS
 * md5sum
 * Oreo EXT4
 * md5sum
 * Oreo UBIFS
 * md5sum
 * Nougat EXT4
 * md5sum
 * Nougat UBIFS
 * md5sum
 * Marshmallow EXT4 w/Support for ARM native applications
 * Marshmallow EXT4
 * Lollipop UBIFS
 * Lollipop EXT4
 * KitKat UBIFS
 * KitKat EXT4

Details on how to make the image are available here.

Release notes:
==== android_oreo_8.1.0_r1_sdcard_20180308.img.tar.gz [EXT4] & android_oreo_8.1.0_r1_nand_20180308.img.tar.gz [UBIFS]: ====

MIPS CI20 Oreo MR1 release notes

 * Upgraded Oreo to version 8.1.0 r1
 * Created CTS pre-built CtsShim apks for mips
 * MIPS32 ART optimizing compiler improvements and fixes backported from AOSP
 * Fixed corner case in bionic strncmp optimization for MIPS
 * Updated Chromium webview to v64.0.3282.46
 * Fixed build and runtime Camera issues after upgrade to Oreo MR1
 * Oreo MR1 Magic Code support - Allows running Android applications containing ARM native libraries
 * Fixed various SELinux policy issues
 * First stage (early) mount support enabled
 * Implemented support in system/core for by-name and by-num symlinks for ubi devices
 * Provided prebuilt device tree blobs for sdcard and nand image variants
 * Vendor image has been split from system image
 * U-Boot updated to support new partition layout and fastboot flashing procedure of the vendor partition
 * Fixed mouse pointer not showing
 * Fixed navigation bar not showing
 * Fixed video recording issues without microphone attached
 * Fixed some mouse + list-item selection/scrolling issues
 * Fixed surfaceflinger HW vsync issues
 * Increased system partition to 1280MB
 * Full Treble support has been enabled
 * Full VNDK support has been enabled
 * Upgraded kernel version to 3.18.91+
 * Configured kernel according to VINTF specifications
 * Added kernel support for device tree blob loading
 * Enabled HIGH_RES_TIMERS support
 * Suspend mode initial implementation - NOT fully functional
 * Implemented UBI volume specific uevent callbacks for volume info advertising

Known issues :
 * DBUG-3102: Execution of SKIA dm (diamond) tests are failing with "Segmentation fault" when option "--gpu true" is used. With option "--gpu false" tests run to completion.
 * DBUG-3057: There is 11 test failures from CtsUiRenderingTestCases cts module.
 * All tests are using new Bitmap.Config.HARDWARE which was introduced in API level 26 which is special configuration, when bitmap is stored only in graphic memory.
 * Picture which has been decoded with this option is not valid.
 * 3 CTS modules (Media, MediaStress and MediaBitstreams modules) have been excluded from execution due to performance & HW specific issues with Audio/Video processing
 * Some application buttons are not click-able on their right half
 * Blue focus window is visible after clicking on videos in the gallery
 * ART test 141-class-unload failure
 * Fix for this issue exists on dev-mips-oreo-mr1 branch but did not make it into the ci20-oreo-8.1.0_r1 release tag.
 * The following projects have their GIT history removed on Github, due to 100Mb file size restriction:
 * cts
 * prebuilts/build-tools

==== android_sdcard_20171211.img.tar.gz [EXT4] & android_nand_20171211.img.tar.gz [UBIFS]: ====

MIPS CI20 Oreo release notes

 * Updated Chromium browser to v62.0.3202.24
 * Switched from Launcher2 to Launcher3 as default - Launcher2 is being deprecated soon
 * Fixed build and runtime Camera issues after upgrade to Oreo
 * Removed legacy audio policy manager & implemented new XB4780 audio policy manager
 * Reworked libsensor to match new interface required by HIDL
 * Updated power HAL interface
 * Enabled binderized Graphics Allocator
 * Oreo Magic Code support - Allows running Android applications containing ARM native libraries
 * Fixed various SELinux policy issues
 * Kernel v3.18 updates:
 * Wifi brcmfmac driver fixed to comply with Android expectations when connecting to a network
 * Fixed adb issues noticed during CTS validation in USB dwc2 gadget driver

Known issues:
 * DBUG-3102: Execution of SKIA dm (diamond) tests are failing with "Segmentation fault" when option "--gpu true" is used. With option "--gpu false" tests run to completion.
 * DBUG-3054, DBUG-3055, DBUG-3056: CTS modules CtsDeqpTestCases, CtsLibcoreTestCases and CtsVideoTestCases have big number of test failures.
 * DBUG-3057: There is 11 test failures from CtsUiRenderingTestCases cts module.
 * All tests are using new Bitmap.Config.HARDWARE which was introduced in API level 26 which is special configuration, when bitmap is stored only in graphic memory.
 * Picture which has been decoded with this option is not valid.
 * 3 CTS modules (Media, MediaStress and MediaBitstreams modules) have been excluded from execution due to performance & HW specific issues with Audio/Video processing
 * CI20 is not yet fully converted to TREBLE compatible device
 * Slight degradation in performance in comparison with the Nougat release has been observed with some GPU related benchmark apps.

MIPS Oreo 8.0.0 R4 Emulator release notes
The following features and fixes were applied on top of Googles official release tag android-8.0.0_r4


 * Updated prebuilt emulator & kernel
 * MIPS32 R5/R6 architecture kernel & CPU auto detection in emulator
 * TREBLE support backported from AOSP
 * Various SELinux policy fixes
 * Vendor/System were split into separate partitions according to TREBLE requirements
 * Fixed RILD initialization
 * Fixed random system ui crashes
 * Fixed audio backend initialization
 * Ported support for the following MIPS architecture variants
 * mips32-fp - MIPS32 ISA R1 FP32
 * mips32r2-fp - MIPS32 ISA R2 FP32
 * mips32r2dsp-fp - MIPS32 ISA R2 FP32 + DSP R1
 * mips32r2dspr2-fp - MIPS32 ISA R2 FP32 + DSP R2
 * mips32r5 - MIPS32 ISA R2 FP64 + MSA
 * mips32r6 - MIPS32 ISA R6 FP64 + MSA
 * mips64r6 - MIPS64 ISA R6 FP64 + MSA
 * Clang updated with MSA support and fixes
 * Low-level MIPS MSA optimizations for better audio/video/Graphics performance ported into following projects:
 * libavc
 * libhevc
 * libmpeg2
 * libpng
 * libvpx
 * webp
 * skia
 * MIPS32 + MIPS64 MSA Vectorizer support in ART
 * Bionic optimizations for frequently used operations
 * libm assembler optimizations:
 * ceil, floor, floorf, fma, fmaf, lrint, lrintf, rint, rintf, sqrt, trunc, truncf
 * MIPS 32/64 VDSO clock_gettime & gettimeofday support - ~7 times faster implementation
 * LTP project support enabled for MIPS
 * Fixed number of LTP tests found during VTS validation
 * linux-kselftest project enabled for MIPS32 variants
 * Updated MIPS64 webview.apk

Known issues:
 * DBUG-3044: Full CTS cycle could not be executed on MIPS emulators. During cts execution emulator may lose connection with cts-tradefed
 * DBUG-3102: Execution of SKIA dm (diamond) tests are failing with "Segmentation fault" when option "--gpu true" is used. With option "--gpu false" tests run to completion.
 * DBUG-3108, DBUG-3109, DBUG-3107, DBUG-3054: CTS modules CtsJdwpTestCases, CtsWebkitTestCases, CtsWidgetTestCases and CtsDeqpTestCases have big number of test failures.

==== android_sdcard_20170818.img.tar.gz [EXT4] & android_nand_20170818.img.tar.gz [UBIFS]: ====


 * Upgraded Nougat to version 7.1.2 r17
 * Enabled ZRAM support - enhances support for memory intensive applications
 * Adjusted heap size to values more appropriate for tablets - Fixes issues with activity memory manager
 * Moved sdcard burning procedures to only one script called mksdcard
 * Implemented sdcard contents verification after burning UBIFS/EXT4 build variants
 * Update PVR libraries
 * Includes a fix for gl_position_unset.vert WebGL conformance test
 * Updated 3.18 kernel
 * Enabled ZRAM kernel side support
 * Fixed an early boot SMP warning caused by ftrace_init
 * Updated Magic Code support library (Akim)
 * Fixes GMS support on 7.1.2 Android
 * Fixed Magic Code memory leak in bionic linker

==== android_sdcard_20170703.img.tar.gz [EXT4] & android_nand_20170703.img.tar.gz [UBIFS]: ====
 * Upgraded Nougat to version 7.1.1 r28
 * Converted cache and data partitions to F2FS on SDCARD for optimal IO performance
 * U-Boot: Implemented basic fastboot support for UBIFS and EXT4/F2FS
 * New fastboot-flash-all script implemented for easy system update
 * Removed legacy audio and switched to Googles default audio policy
 * GMS support enabled
 * Fixed random kernel hang camera related issues
 * Enabled video recording
 * Fixed recorded images/videos image offset issue (images slightly shifted to right)
 * Fixed issues with periodic video reproduction failures
 * Fixed adb remount on UBIFS
 * Implemented additional modes for UBIFS fallocate
 * Resolved various SELinux failures
 * Improved performance by using second CPU core more often
 * Enabled power button functionality

==== android_sdcard_20170306.img.tar.gz [EXT4] & android_nand_20170306.img.tar.gz [UBIFS]: ====
 * Updated kernel to v3.18
 * Boot from NAND with UBIFS in enforcing mode
 * Updated PVR libraries to DDK 1.14@4001660 with new libdrm support
 * OSS audio support replaced with ALSA
 * Camera CIM support replaced with V4L2
 * Clock app crash has been fixed
 * Launcher menu now renders sliding animation correctly
 * Kernel function tracing support enabled
 * ConfigFS support using new DWC2 USB driver stack
 * Many bugfixes, security updates and enhancements which came along with up to date v3.18 kernel
 * Known Issues
 * adb,mtp dual role support does not work
 * UBIFS fallocate only mode 0 implemented
 * Camera recording & video reproduction broken
 * GPU - occasional display flickering

android-nougat_20161019.img.gz:

 * Initial port of Android Nougat 7.0.0 release 1 to CI20
 * Chromium 51.0.2704.91 version included in the release
 * Known Issues
 * Gallery is not rendering Action Bar
 * Clock app crashes when Timezone dialog is opened
 * Having too many tabs open in Chromium may cause board to reboot (due to OOM)
 * Camera recording is not working
 * Launcher menu does not render sliding animation correctly - transparent surfaces are sometimes rendered black
 * MagicCode support for running native ARM apks and GMS are missing
 * HW Codecs for some formats are missing, making YouTube video reproduction laggy
 * Screen Lock is difficult to unlock by mouse sometimes, fast swipe is needed

android-marshmallow_20160822.img.gz:

 * Updated to android-6.0.1_r31 tag.
 * Support for running ARM native applications (MagicCode) added

android-marshmallow_20151124.img.gz:

 * Android native camera application is enabled.
 * SELinux enforcing mode support
 * System partition size increased to 750MB

android-lollipop-ubifs_20150917.img.gz:

 * Boot from NAND flash. First boot ~235s, every following boot: ~140s.

android-lollipop-ext4_20150917.img.gz:

 * Boot from SD Card. First boot ~150s, every following boot: ~50s.

android-kitkat-ubifs_20150916.img.gz:

 * Boot from NAND flash.
 * Decreased boot up time for 20 seconds. First boot ~150s, every following boot: ~95s.
 * Fixed Ethernet after wake up from suspend mode.
 * Added HDMI hot plug functionality.

android-kitkat-ext4_20150916.img.gz:

 * Boot CI20 board directly form SD Card. First boot ~105s, every following boot: ~40s.
 * Fixed Ethernet after wake up from suspend mode.
 * Added HDMI hot plug functionality.

For further detail check out the Android on the MIPS CI20 page.

Legacy Images
Old images can be found here.

Gentoo
A Gentoo Linux SDCard image is available on the Gentoo mirrors:

${YOUR_CLOSEST_MIRROR}/experimental/mips/desktop-ci20/

All the instructions are in the README file.

Please find the Gentoo mirrors list here:

http://www.gentoo.org/main/en/mirrors2.xml

Yocto
Meta layer for building Poky, the reference system of the Yocto Project, for CI20 is available at GitHub: https://github.com/leon-anavi/meta-jz-mips

Instructions how to use meta-jz-mips and to build core-image-minimal are available here.

Poky
Poky, is the reference system of the Yocto Project. Instructions how to build a minimal Poky image with Linux kernel 3.18.3 for CI20 using meta-jz-mips are available here.

core-image-sato
Yocto Sato is running on CI20 - you can download the image here

The image is around 200Mbyte. You'll need an SD card to flash it on the CI20. Check Flashing the NAND Image.

The image was made using the steps documented on How to make a yocto rootfs for MIPS CI20.

A few details
 * Serial/Getty is on ttyS0. If you find a fix for getty on ttyS4, please email the list.
 * Display Resolution compiled in kernel is 1024x768 for greater compatibility with monitors.
 * The image uses kernel 3.0.8

Angstrom
Angstrom with a XFCE4 UI is running on the CI20 - you can download the image here

The image is 1Gbyte. You'll need an SD card to flash it on the CI20. Check Flashing the NAND Image.

The image was made using the steps documented on How to make an Angstrom rootfs for MIPS CI20.

Arch
Arch is running on CI20, and an image is in progress...

Buildroot
For instructions how to make buildroot, see How to make a buildroot rootfs for MIPS CI20.

This is a small (~70Mb) buildroot image. It boots directly from the sd card and doesn't flash the NAND.

Just dd the image on an sd card. (dd if=image.img of=/dev/sdX). Or windows32diskimager.

It has a minimal X environment too :).

Suitable for checking your board and running memtest.


 * Username ci20
 * Password ci20
 * Root password ci20
 * For some reason, have to login via user ci20 and then su to root if logging in via monitor/tv.

2015_03_03
Download [here]

Specific notes fir 2015_03_03: This image has ddr timings tweaked. Purpose. Requesting people to run memtest using this.

OpenWRT
OpenWRT support is a work in progress. Check the following links:

Check Readme.md for detailed status.
 * OpenWrt on CI20
 * https://github.com/Pteridium/OpenWRT-experimental/tree/ci20-alpha (deprecated)
 * OpenWRT-CI20 branch CI20-0.3 (current)

OpenELEC
OpenELEC (short for "Open Embedded Linux Entertainment Center") is a free and open source embedded operating system providing a complete appliance-like media center software suite that comes with a pre-configured version of Kodi (formerly XBMC) media player and third-party addons with retro video game console emulators and PVR/DVR plugins.

OpenELEC is an extremely small and very fast booting Linux based distribution, primarily designed to be booted from flash memory card such as USB-memory, SD-card, CompactFlash or a solid-state drive, similar to that of the Linux Live distributions but specifically targeted to a minimum set-top box hardware setup based on ARM SoC's or Intel x86 processor and graphics.

Over the years OpenELEC have and have had partnerships with several media player manufacturers and media center system integrates as OEM firmware developers, with OpenELEC maintaining the operating-systems on their hardware.

Check the following links for discussion about CI20:
 * https://github.com/OpenELEC/OpenELEC.tv/issues/3830
 * http://openelec.tv/forum/12-guides-tips-and-tricks/1061-guide-how-to-build-your-own-openelec-distro