From ArchWiki
Jump to navigation Jump to search

The UP Board is a Intel based SOC device by Aaeon. There is a companion device, the UP Core, that uses the same chipset and devices. Installation of Arch is no different, except that you do not have the GPIO bus to enable.


The UP Board features a UEFI only setup (no BIOS emulation). The standard UEFI installation process may be followed. systemd-boot works well as a simple bootloader.

Note: The installation disk for the UP Board is /dev/mmcblk0. GPT is the recommended partition type.


The GPIO pins on the UP board are routed through a CPLD that requires a custom driver. This driver has not yet been added to the mainline kernel, but there are patches available that add the functionality. The AUR package linux-upAUR provides the mainline kernel with the driver patched in and enabled.


Due to a possible bug, discussed at https://forum.up-community.org/discussion/comment/8980#Comment_8980 and reported here https://bugs.freedesktop.org/show_bug.cgi?id=106721

Rebooting the board multiple times without disconnecting power, as what could happen if using as a server, could fail with a kernel panic.

To make rebooting the board more reliable, try adding the following to your /etc/default/grub configuration.

GRUB_CMDLINE_LINUX_DEFAULT="reboot=efi,cold fsck.mode=force fsck.repair=yes"


As of August 2016, the mainline kernel does not support sound through HDMI for cherry trail based devices like the UP Board. There are plans on adding support to the mainline kernel as noted here, but in the mean time if you wish to have sound you will need to manually patch your kernel. There is currently no AUR package including these patches.


Without any optimizations, compilation on the UP Board takes around 5-6 hours. Setting your MAKEFLAGS beforehand will drastically improve the compilation time. If you're using the ABS the makepkg page has information on how to set the variable in there.


  • Once you've extracted the archive, you will need to remove the inline reference in one of the header files. You can do this with sed like so:
$ sed -i 's/inline//g' sound-byt-cht-hdmi-v4.7/sound/hdmi_audio/intel_mid_hdmi_audio.h
  • Next you'll need to create a patch for the 2 folders that have been changed, sound/ and drivers/gpu/drm/i915:
$ diff -ENwbur {linux-4.7.2,sound-byt-cht-hdmi-v4.7}/drivers/gpu/drm/i915 >> cherry.patch
$ diff -ENwbur {linux-4.7.2,sound-byt-cht-hdmi-v4.7}/sound >> cherry.patch
  • Once the patch has been created you can move it into the kernel sources directory and run:
$ patch -p1 < cherry.patch
  • Lastly, you'll need to make sure that CONFIG_SUPPORT_HDMI=y option is in the .config.

Arch Build System

If you wish to build the kernel using the ABS, follow the steps provided in Kernels/Arch Build System. Remember to add the patch to the prepare function and run updpkgsums to update the checksum for the changed config file.

See Also