Ubuntu Bionic 18.04.5 LTS for Nitrogen8M Mini/Nano boards with kernel 4.14.x

Published on June 12, 2019

Ubuntu 18.04.5 Weston/Wayland Compositor We’re happy to release our Ubuntu Bionic image for Nitrogen8M_Mini board. Since this board supports only Wayland graphical backend, the system is simpler than earlier systems with i.MX6, similar to i.MX8M system. We use Weston, the reference Wayland compositor in this system, later we'll release other Wayland compositors as well. This image is a console developer image also, it boots to the command prompt. Weston compositor could be started manually or you can set autostart the service, as per your preference. This system contains NXP/Freescale licensed content, so you will need to register on our web-site and log in before you can accept the license agreement and download the images from here:

Important ! Before installing this image please check your U-Boot version as it requires U-Boot version 2018.07  to be used. Make sure to visit our wiki if you need to upgrade: You can find the bootscript in the /boot subdirectory now, its named boot.scr. The partition labels are set if you use the fastboot method. If you use your own method please check the boot partition labels, because the fstab boots by label (LABEL=sys-0Bh for example) now. You can use e2label to modify partition label.

Programming the image

Since the Nitrogen8M_Mini board has an SD card slot, not like Nitrogen8M, you can create an SD car similarly to i.MX6 boards. The image is a slightly-less-than-4GiB image file containing the partition table.  Inspired by ubuntu-mate.org, I changed over from dd to another disk copy program called ddrescue. It is a much more talkative program, although dd does do it’s job honestly. I don’t like mute programs, you never know whats happening in a given moment. For example, if you want to create an SD card for a console image, you need to do the following : $ sudo apt-get install gddrescue xz-utils util-linux $ gunzip 20200823-nitrogen8mm-4.14.x_2.0.1_ga-bionic-en_US-console-weston_aarch64.img.gz $ sudo ddrescue -D --force 20200823-nitrogen8mm-4.14.x_2.0.1_ga-bionic-en_US-console-weston_aarch64.img /dev/sdX You have to replace sdX with your actual SDHC reader/writer device. Use the lsblk command to check it. Type lsblk with unplugged SDHC reader, then insert the device, and type lsblk again. A new node will be added , that is your SDHC reader/writer device.

Usernames and passwords

Two users are defined for use on the system: ubuntu and root. The password for each is Boundary (capital B). The user ubuntu has administrator rights, but doesn't need to enter password at sudo command. We wanted to make life easier at the cost of some security. If you want to change this please type: ubuntu@bionic-dev64:~$ sudo visudo , and comment out or delete the last line with "ubuntu" and "NOPASSWD:" An ssh server is configured on the system, though it does not allow password-based authentication for user root. User ubuntu has sudo privileges, so you can place your ssh public key (normally $HOME/.ssh/id_rsa.pub) to the system like so : ubuntu@bionic-dev64:~$ sudo mkdir /root/.ssh ubuntu@bionic-dev64:~$ sudo nano /root/.ssh/authorized_keys ... paste content of $HOME/.ssh/id_rsa.pub here ubuntu@bionic-dev64:~$ sudo chmod 600 /root/.ssh/auth* ubuntu@bionic-dev64:~$ sudo chmod 600 /root/.ssh/

What's supported

Since the images above include our stable 4.14.x kernel, essentially everything is supported including :
  • Vivante GPU accelerations for Wayland (OpenGL ES 2.0)
  • The Hantro Video Processing Unit supports the following decoders:
    • video/x-h265
    • video/x-vp9
    • video/x-h264
    • video/x-vp8
  • The Hantro Video Processing Unit supports the following encoders:
    • video/x-h264
    • video/x-vp8
  • Wi-Fi and Bluetooth modules for the built-in Silex module
  • All kind of storage devices , eMMC, SDXC, USB2.0 pen drives, mini PCIe devices, cell modems
  • All of our supported touch panels
The packaging (inluding kernel) is done in the normal debian way, so apt-get update/dist-upgrade will keep your image up and running the latest as patches come out.

What's new in this release

The Linux kernel was upgraded to 4.14.98 ( meta-package name: linux-boundary-16b ) GPU driver was upgraded to Vivante 6.2.4p4.0 ( meta-package name: imx-gpu-viv-b15-... ). The module galcore (CONFIG_MXC_GPU_VIV) was removed from the kernel, and it's an externally built module. This change makes the graphics system modular, and more upgradeable, at the price of longer kernel upgrading time. Upgrading kernel takes about 3-4 minutes now, instead of 30 seconds, because every kernel upgrade rebuilds the galcore driver from sources, because its a DKMS module. The NXP/Vivante GPU SDK was added : imx-gpu-sdk 4.0.2 . You can get the source with the usual apt-get source command. The SDK has many new demos, for example OpenGL ES2, OpenVG. The distribution is Bionic 18.04.2 LTS . Here are some main component versions :
  • Xorg server 1.19.6-1ubuntu4.2
  • gstreamer1.0 1.14.4
  • bluez 5.48-1ubuntu3.1
  • Qt5 5.9.5+dfsg-0ubuntu2.1.2
  • apt 1.6.8
  • dpkg 1.19.0.5ubuntu2.3
  • gcc/g++ 7.4.0-1ubuntu1~18.04
  • 1.16.0-2ubuntu1.1~18.04.1
  • 5.0.0-3ubuntu9
  • Silex WiFi / Bluetooth is supported in Bionic also, as well as in Stretch, Xenial and Jessie.
This screenshot shows a playing video, it works via gstreamer as usual: Ubuntu 18.04.2 Weston/Wayland Compositor, playing video on glimagesink And this screenshot is the usual Qt5/QML demo application running on Weston Compositor: Ubuntu 18.04.2 Weston/Wayland Compositor, running Qt5/QML demo The system boots to the command prompt, as I mentioned before. You can start Weston compositor on any virtual tty (not ssh, not RS232) terminal by typing: ubuntu@bionic-dev64:~$ wl or ubuntu@bionic-dev64:~$ weston-launch If you want to start Weston at boot automatically, you have to enable the service, you have to type the following: ubuntu@bionic-dev64:~$ sudo systemctl unmask weston.service ubuntu@bionic-dev64:~$ sudo systemctl enable weston.service If you want to disable the autostart again you need to type: ubuntu@bionic-dev64:~$ sudo systemctl disable weston.service ubuntu@bionic-dev64:~$ sudo systemctl mask weston.service You can find the weston.ini file in the /usr/share/weston/examples directory. Please type: ubuntu@bionic-dev64:~$ man weston.ini ,to check the options, and feel free to modify it to suit your needs.
As always, please give us some feedback and let us know how things work for you.