Using Ubuntu on Genio

This page covers nuances when using Ubuntu on Genio.

Limitations of Ubuntu on Genio Platform

The following are the limitations of Ubuntu Desktop on the Genio platform:

  • The Genio platform only supports OpenGL ES. Therefore, desktop programs depending on the OpenGL API are not supported.

  • Native support for X11 and glx is not available. Instead, X11 applications are supported through the XWayland framework. This may lead to compatibility issues due to Wayland restrictions

  • Currently, video hardware acceleration on the Genio platform is provided by the GStreamer framework and the V4L2 (Video4Linux 2) subsystem. Consequently, applications that depend on VAAPI cannot utilize hardware video acceleration.

  • Ubuntu on Genio does not provide support for the integrated ISP (Image Signal Processor) in Genio SoCs, and lacks support for MIPI-CSI sensor interfaces.

Default Login Name

You may login to UART (ttyS0) console

Ubuntu 22.04.2 LTS mtk-genio ttyS0

mtk-genio login:

The default user name and password are both ubuntu.

If the system asks you to change the default password, follow the prompted instructions to change the password.

Cloud Init

During the first boot, Cloud-init will create the account and initialize the system. Please stay tuned. It may take a few minutes to finish the initialization.

Use the following command to make sure clooud-init has been completed:

cloud-init status --wait

Package Update

After cloud init, update the package index with:

sudo apt update

In addition, if you’d like to enable hardware video codec and AI/ML accelerators, please follow the steps in Install Genio Hardware Support Packages.

Set Ethernet MAC Address Temporarily

You can use the following commands to temporarily override the on-board ethernet port’s MAC address:

sudo ifconfig eth0 down
# Replace 00:55:7b:b5:7d:f7 to your own unique MAC address
sudo ip link set dev eth0 address 00:55:7b:b5:7d:f7
sudo ifconfig eth0 up
# Check if the MAC address has been properly updated
ifconfig

Please note that this is a temporary setting and will be cleared after reboot.

Set Ethernet MAC Address from Boot Firmware

If you need to change the MAC address stored in boot firmware, modify the boot firmware file u-boot-initial-env and add the following line:

ethaddr=00:55:7b:b5:7d:f7

Please change the MAC address 00:55:7b:b5:7d:f7 to a unique MAC address that is allowed in your local area network, and update the U-boot environment partition with genio-flash:

genio-flash mmc0boot1

The command writes the mmc0boot1 partition, which stores U-Boot environment variables of boot firmware. It keeps other partitions intact. The boot firmware would override the MAC address assigned in the device tree binary when booting into Linux kernel.

UART Terminal Console Size

You may find that the ttyS0 console window size is incorrect, resulting in strange line-breaking and page-scrolling behavior.

To remedy this you could install the xterm package:

sudo apt install xterm

and run resize command every time you change the UART console’s window size in your host PC terminal application:

resize

Display Device Configuration

All Genio EVK boards are configured to output to the onboard DSI panel by default.

In addition,

  • Genio 700 EVK, Genio 510 EVK, and Genio 1200 EVK support HDMI external monitor by default.

  • Genio 700 EVK, Genio 510 EVK, and Genio 1200 EVK disables DPoC (DisplayPort over USB Type-C) by default.

  • Genio 350 EVK disables HDMI output by default. The onboard Ethernet port is mutually exclusive to the HDMI port.

Each EVK have alternative display output configurations and can be changed by loading different DTBO(device tree blob for overlay) files in the U-Boot environment.

For example, to use DPoC output and disable HDMI & DSI output on Genio 1200 EVK, modify the boot firmware file u-boot-initial-env and modify the following line:

list_dtbo= gpu-mali.dtbo video.dtbo apusys.dtbo

and append dtbo file name display-dp.dtbo to the line:

list_dtbo= gpu-mali.dtbo video.dtbo apusys.dtbo display-dp.dtbo

Save the file, and then run genio-flash on you host PC:

genio-flash

If you need the list of default dtbo files, please refer to Alternative EVK Hardware Configurations.

The file u-boot-initial-env is converted to a binary file u-boot-env.bin by genio-flash tool and write to the mmc0boot1 hardware partition.

Note that the U-boot environment variables in mmc0boot1 partition are file paths that reference the actual device tree binaries stored in another partition, firmware.

The firmware partition content is stored in the partition image file firmware.vfat and it is a FAT32 file system, as described in the Partition Layout section.

Therefore, if you need to read or replace the actual device tree binary files, you can mount the firmware.vfat partition image in each boot firmware package by following the steps here.