CuBox-i support in Debian

This page exists to collate information about the status of support in Debian for the CuBox-i family of devices by SolidRun (CuBox-i1, CuBox-i2, CuBox-i2Ultra, CuBox-i4Pro).

General information

The CuBox-i devices are a series of small-footprint, always-on computers based on the FreeScale i.MX6 chipset.

Bootloader support

The CuBox-i uses U-Boot as a bootloader, and is supported by the U-Boot version in Debian 9/Stretch onwards.

The CuBox-i U-Boot uses SPL (allowing the same U-Boot image to be used across multiple models), and should be installed to the SD card using the layout described here. Note that this version of U-Boot will also support reading the second-stage bootloader from a FAT filesystem on the first partition of the device; however, since U-Boot also reads its environment from an offset of 384K on the SD card, there is 342K of reserved space at the front of the disk which will be otherwise unused. It is therefore recommended to install U-Boot to the embedded space at the front of the disk, and not to set up a dedicated boot partition on the SD card.

Kernel support

The CuBox-i is supported by the armmp linux kernel (4.9+) in Debian Stretch including serial console, usb, ethernet, mmc, HDMI, eSATA and ir receiver.

Installing Debian

Starting from Debian 8/Jessie, the cubox-i and hummingboard are supported through the official debian installer.

Be prepared to attach a serial console to your cubox-i/hummingboard, because the installer does not output on the HDMI interface.

Desktop Environments

On Buster Gnome on Wayland works out of the box. It is important to boot the kernel with the cma=... parameter set, e.g. cma=256M.

See also cma entry for the Wandboard

I added the cma=... parameter by

rd@xbian:/etc/flash-kernel/bootscript$ diff -u bootscr.cubox-i~ bootscr.cubox-i 
--- bootscr.cubox-i~    2017-07-25 06:58:47.000000000 +0200 
+++ bootscr.cubox-i     2018-01-13 17:26:46.983026580 +0100 
@@ -29,6 +29,7 @@ 
fi 
 
setenv bootargs @@LINUX_KERNEL_CMDLINE_DEFAULTS@@ ${bootargs} @@LINUX_KERNEL_CMDLINE@@ 
+@@UBOOT_ENV_EXTRA@@ 
 
if test -z "${prefix}" ; then 
  setenv image_locations '/boot/ /' 
rd@xbian:/etc/flash-kernel/bootscript$

# echo 'setenv bootargs ${bootargs} cma=256M' | tee /etc/flash-kernel/ubootenv.d/cma  && flash-kernel

Further info