UP Board

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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.

Installation

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.

GPIO

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, so it is required to build a custom kernel or patch it in order to add the functionality. See UP's official wiki page for more information.

Sound

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.

Compilation

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 are using the ABS the makepkg page has information on how to set the variable in there.

Manual

  • Once you have 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 will 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 will 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.

Troubleshooting

Reboot causing kernel panic

Rebooting the board multiple times without disconnecting power, as what could happen if using as a server, could fail with a kernel panic. This is possibly due to a bug, as discussed at "UPboard Ubilinux Freezing" forum topic and Bug 106721 in Freedesktop.org bug tracker.

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

/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="reboot=efi,cold fsck.mode=force fsck.repair=yes"

See also