Skip to content

Ubuntu_18.04

AAEONAEU-SW edited this page May 23, 2022 · 14 revisions

Install Ubuntu for UP, UP Squared, UP Core, UP Core Plus, UP Xtreme, and UP Squared Pro

Prerequisites

  • a UP, UP Squared, UP Core, UP Core Plus, UP Xtreme or UP Squared Pro board
  • a USB stick with at least 8Gb of space
  • Keyboard, mouse, a screen and an internet connection

Installation

  • Download Ubuntu 18.04.5 ISO from the Ubuntu download page (works with desktop and server edition)

https://releases.ubuntu.com/bionic/ubuntu-18.04.5-desktop-amd64.iso

https://releases.ubuntu.com/bionic/ubuntu-18.04.5-live-server-amd64.iso

  • Burn the downloaded image on a USB stick. We suggest using etcher for doing that. You can download it from

https://etcher.io

  • Insert the USB installer disk in an empty USB port and proceed with a normal Ubuntu installation.
    • While installing, do not select the option "automatic updates"

Install Ubuntu kernel 5.4.0 from PPA on Ubuntu 18.04

This is the latest Kernel available for the UP Series. It has been validated on UP Board, UP Core, UP Squared, UP Core Plus, UP Xtreme, and UP Squared Pro.

After the reboot you need to add our repository:

sudo add-apt-repository ppa:up-division/5.4-upboard

Update the repository list

sudo apt update

Remove all the generic installed kernel (select No on the question "Abort Kernel Removal")

sudo apt-get autoremove --purge 'linux-.*generic'

Install our kernel(18.04 and 20.04 share the same 5.4 kernel):

sudo apt-get install linux-generic-hwe-18.04-5.4-upboard

Install the updates:

sudo apt dist-upgrade -y

sudo update-grub

Reboot

sudo reboot

After the reboot, you can verify that the kernel is indeed installed by typing

 $ uname -a
 Linux upxtreme-UP-WHL01 5.4.0-1-generic #2~upboard2-Ubuntu SMP Thu Jul 25 13:35:27 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Install Ubuntu kernel 5.4.0 locally from debian packages on Ubuntu 18.04

Download the next debian packages from our Launchpad site listing the archives inside linux-hwe-edge - 5.4.0-1.2~upboard2:

https://launchpad.net/~up-division/+archive/ubuntu/5.4-upboard/+packages

 linux-hwe-5.4-headers-5.4.0-1_5.4.0-1.0~upboard2_all.deb
 linux-headers-5.4.0-1-generic_5.4.0-1.0~upboard2_amd64.deb
 linux-image-unsigned-5.4.0-1-generic_5.4.0-1.0~upboard2_amd64.deb 
 linux-modules-5.4.0-1-generic_5.4.0-1.0~upboard2_amd64.deb 
 linux-modules-extra-5.4.0-1-generic_5.4.0-1.0~upboard2_amd64.deb

Then, copy all the .deb files to your USB stick and connect to the USB port on your board.

To install the kernel locally you have to go to the directory where you saved the Debian packages. There, just run the dpkg command to install all packages together:

sudo dpkg -i *.deb

Once the installation is done successfully, be sure the GRUB is updated to include the newest kernel:

sudo update-grub

Finally, reboot your machine and check your new kernel installed:

sudo reboot

 uname -a
 Linux upxtreme-UP-WHL01 5.4.0-1-generic #2~upboard2-Ubuntu SMP Thu Jul 25 13:35:27 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

(Legacy) Install Ubuntu kernel 4.15.0 for UP from PPA on Ubuntu 18.04 (Not UP Xtreme)

This is a legacy kernel to enable support for UP, UP Squared, UP Core, and UP Core plus. For the latest kernel available which supports all UP Series, including UP Xtreme please refer to the steps to install the Kernel 5.0.

After the reboot you need to add our repository:

sudo add-apt-repository ppa:up-division/up

Update the repository list

sudo apt update

Remove all the generic installed kernel

sudo apt-get autoremove --purge 'linux-.*generic'

Install our kernel:

sudo apt-get install linux-image-generic-hwe-18.04-upboard

Install the updates:

sudo apt dist-upgrade -y

sudo reboot

Reboot

sudo reboot

After the reboot you can verify that the kernel is indeed installed by typing

 $ uname -a
 Linux upsquared-UP-APL01 4.15.0-37-generic #40~upboard07-Ubuntu SMP Thu Feb 14 13:49:37 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

(Legacy) Install Ubuntu kernel 4.15.0 for UP locally from Debian packages on Ubuntu 18.04 (Not UP Xtreme)

The following steps are to install the Legacy 4.15 kernel valid for UP, UP Squared, UP Core, and UP Core Plus. For the latest kernel valid for all UP Series, including UP Xtreme, please refer here.

Download the next Debian packages from our Launchpad site listing the archives inside linux-hwe - 4.15.0-37.40~upboard04:

https://launchpad.net/~up-division/+archive/ubuntu/up/+packages

 linux-headers-4.15.0-37_4.15.0-37.40_upboard07_all.deb
 linux-headers-4.15.0-37-generic_4.15.0-37.40_upboard07_amd64.deb
 linux-image-unsigned-4.15.0-37-generic_4.15.0-37.40_upboard07_amd64.deb
 linux-modules-4.15.0-37-generic_4.15.0-37.40_upboard07_amd64.deb
 linux-modules-extra-4.15.0-37-generic_4.15.0-37.40_upboard07_amd64.deb
 linux-source-4.15.0_4.15.0-37.40_upboard07_all.deb

Then, copy all the .deb files to your USB stick and connect to the USB port on your board.

To install the kernel locally you have to go to the directory where you saved the Debian packages. There, just run the dpkg command to install all packages together:

sudo dpkg -i *.deb

Once the installation is done successfully, be sure the GRUB is updated to include the newest kernel:

sudo update-grub

Finally, reboot your machine and check your new kernel installed:

sudo reboot

 uname -a
 Linux upsquared-UP-APL01 4.15.0-37-generic #40~upboard07-Ubuntu SMP Thu Feb 14 13:49:37 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Configure WiFi/BT for UP Core and UP Core Plus

Install the Ampak firmware for WiFi and Bluetooth from PPA on Ubuntu 18.04

This firmware is available for UP Core (AP6214A chipset) and UP Core Plus (AP6355 chipset).

Just run the next command:

sudo apt install firmware-ampak

Reboot your machine to get the firmware working:

sudo reboot

WiFi

Scan your available WiFi networks:

sudo iwlist wlan0 scan

You will see all the WiFi interfaces in your area.

Bluetooth

Check your Bluetooth devices in your area:

hcitool scan

Install the Ampak firmware for WiFi and Bluetooth locally from the Debian package on Ubuntu 18.04

Download the next Debian package from our Launchpad site listing the archives inside firmware-ampak - 1.2.1-0:

https://launchpad.net/~up-division/+archive/ubuntu/upboard/+packages

firmware-ampak_1.2.1-0_all.deb

Then, copy the .deb file to your USB stick and connect to the USB port on your board.

To install the Ampak firmware locally you have to go to the directory where you saved the debian package. There, just run the dpkg command to install the package:

sudo dpkg -i *.deb

Reboot your machine to get the firmware working:

sudo reboot

WiFi

Scan your available WiFi networks:

sudo iwlist wlan0 scan

You will see all the WiFi interfaces in your area.

Bluetooth

Check your Bluetooth devices in your area:

hcitool scan

Setup for other WiFi/BT modules tested on UP Series

Install the Realtek firmware to enable WiFi with the 5M02.B module on Ubuntu 18.04

To enable support on Ubuntu for WiFi when using our UP WiFi Kit 5M02.B module, please follow the steps available on the readme of our GitHub repository: Add WiFi/BT support for 5M02.B

Additional Audio configuration

Fixing HDMI Audio not working on UP Board and UP Core on Ubuntu 18.04

On Recent Ubuntu images the HDMI Audio configuration is broken. Once the installation of Ubuntu is complete from the terminal you can run this command to fix it:

 sudo sed -i '/module-detect/ {n;a\
  ## fix HDMI audio on Intel Cherry Trail platforms with latest Ubuntu releases\
  unload-module module-alsa-card\
  load-module module-alsa-sink device=hw:0,2
  }' /etc/pulse/default.pa

Modify grub configuration file (/etc/default/grub) on this line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash snd_hda_intel.dmic_detect=0"

And then execute:

grub-mkconfig -o /boot/grub/grub.cfg

Once the system is rebooted the HDMI audio will work automatically.

Enable the HAT functionality from userspace

To be able to use the GPIO, PWM, SPI, I2C, and UART functionality with a normal user we created a ubuntu package that set the correct permission.

NOTE: this could create a security problem, do only if you know what are you doing

Install upboard-extras

Run the following command to install the upboard-extras package:

sudo apt install upboard-extras

The command will add rules.d file as follows. The step is necessary.

/lib/udev/rules.d/99-gpio.rules
/lib/udev/rules.d/99-i2c.rules
/lib/udev/rules.d/99-leds.rules
/lib/udev/rules.d/99-spi.rules
/lib/udev/rules.d/99-ttyAMA0.rules

Add Groups

You can create a bash script (e.g. permissiongroups.sh) script with the following content:

 #!/bin/sh
 set -e
 
 for group in gpio leds spi i2c; do
 	if ! getent group $group >/dev/null; then
 		addgroup --system $group
 	fi
 done

Then add execution permissions ($ chmod +x permissiongroups.sh)

and run it ($ ./permissiongroups.sh)

after that you need to add the user that needs to access the HAT functionality to the corresponding groups:

for example, this command permits the current user to access the GPIO functionality

sudo usermod -a -G gpio ${USER}

LEDs

sudo usermod -a -G leds ${USER}

SPI

sudo usermod -a -G spi ${USER}

I2C

sudo usermod -a -G i2c ${USER}

UART

sudo usermod -a -G dialout ${USER}

to apply the permission changes after issuing the previous command a reboot is needed

sudo reboot

NOTE: The above upboard-extras package does not include the udev rule for PWM. Please install the PWM rules file available here. See the steps in below section (Also in readme file in the link)


udev rule for pwm0/pwm1/

This section describes how to setup a udev rule for accessing pwm0, pwm1 device in user space from the file here.

Pre-requisites

  • install upboard-extras and add groups and user to groups following the steps in the above section
  • copy file 99-pwm.rules to /lib/udev/rules.d
  • reboot

Test

  • Run script pwm.sh

./pwm.sh

Expected Result

  • Simple PWM script writes to pwm0/pwm1's period, duty_cycle, enable and unexport
  • Accesses pwm0/pwm1/ in user space

Version

0.3

Acknowledgments

  • Hat tip to anyone who's code was used

Hang on Shutdown or Reboot for UP Board

Hang on shutdown or reboot with certain Kernel releases. This is a problem related to kernel modules for HSUART DMA on Cherry Trail SoC and it affects only UP Board The HSUARTs can still be used in PIO mode even after disabling DMA support but will be less CPU efficient.

Source: http://www.reddit.com/r/Atomic_Pi/wiki/ubuntu

edit /etc/modprobe.d/blacklist.conf use a command line editor like vim or nano

sudo nano /etc/modprobe.d/blacklist.conf

and add lines to the bottom

 blacklist dw_dmac_core
 install dw_dmac /bin/true
 install dw_dmac_core /bin/true

Then save back the blacklist.conf and run this command before rebooting:

sudo update-initramfs -u

The settings will take effect after the power has been restarted.

Clone this wiki locally