Jump to content

ODROID XU4 (odroid-xu4)

From postmarketOS Wiki
ODROID XU4
ODROID XU4
ODROID XU4
Manufacturer ODROID
Name XU4
Codename odroid-xu4
Released 2015
Type single board computer
Hardware
Chipset Samsung Exynos 5422
CPU 4x 1.9 GHz A15
4x 1.3 GHz A7
GPU Mali-T628
Display None
Storage eMMC card or microSD
Memory 2GB LPDDR3
Architecture armv7
Software
Original software
The software and version the device was shipped with.
Ubuntu 20.04 LTS
Extended version
The most recent supported version from the manufacturer.
Ubuntu
postmarketOS
Category community
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
pmOS kernel
The kernel version that runs on the device's port.
6.6.41
Unixbench score
Unixbench Whetstone/Dhrystone score. See Unixbench.
1389.1
Device package device-odroid-xu4
Kernel package linux-postmarketos-exynos5
Features
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Works
Multimedia
3D Acceleration
Works
Audio
Audio playback, microphone, headset and buttons.
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB OTG
USB On-The-Go or USB-C Role switching
Untested

Contributors

Maintainer(s)

Users owning this device


Installation

1. Use pmbootstrap to create a bootable SD card:

 pmbootstrap init  # pick 'odroid' as manufacturer, 'xu4' as device and 'console' as UI.
 pmbootstrap install --disk=/dev/sdX

You must install the nonfree firmware package for this device to get it booting. It contains early bootloaders and trustzone firmware. The early bootloaders initialise the hardware and then boots u-boot.

2. Insert SD card into the Odroid XU4, plug in the Ethernet cable and turn it on.

3. The Odroid XU4 should boot up and become accessible over SSH.

Installation to eMMC

Installation to a eMMC module is not supported with pmbootstrap out of the box. When installing to eMMC the bootloaders should be embedded in /dev/mmcblk0boot0 (and to different offsets compared to when flashing to sdcard), while PostmarketOS's rootfs should be flashed to /dev/mmcblk0. One way to manually do this is to remove deviceinfo_sd_embed_firmware from device-odroid-xu4's deviceinfo, install the rootfs, and then manually flash the bootloaders. To do this you can run the following steps (on your odroid-xu4 or on your computer if you have a eMMC->usb adapter) from the pmaports directory, i.e. ~/.local/var/pmbootstrap/cache_git/pmaports:

 pmbootstrap init
 sed -i '/deviceinfo_sd_embed_firmware/d' device/community/device-odroid-xu4/deviceinfo
 pmbootstrap checksum device-odroid-xu4
 pmbootstrap build --force device-odroid-xu4
 # Update partition path and name if needed:
 pmbootstrap install --disk /dev/mmcblk0
 # Next dd bootloaders to eMMC boot0 partition.
 # Disable write protection
 echo 0 | sudo tee /sys/block/mmcblk0boot0/force_ro
 # Update path to file and partition path and name in all dd commands if needed:
 sudo dd if=$HOME/.local/var/pmbootstrap/chroot_rootfs_odroid-xu4/usr/share/u-boot/odroid-xu3/bl1.bin of=/dev/mmcblk0boot0 bs=512 seek=0
 sudo dd if=$HOME/.local/var/pmbootstrap/chroot_rootfs_odroid-xu4/usr/share/u-boot/odroid-xu3/bl2.bin of=/dev/mmcblk0boot0 bs=512 seek=30
 sudo dd if=$HOME/.local/var/pmbootstrap/chroot_rootfs_odroid-xu4/usr/share/u-boot/odroid-xu3/u-boot.bin of=/dev/mmcblk0boot0 bs=512 seek=62
 sudo dd if=$HOME/.local/var/pmbootstrap/chroot_rootfs_odroid-xu4/usr/share/u-boot/odroid-xu3/tzsw.bin of=/dev/mmcblk0boot0 bs=512 seek=2110

After that you should be able to boot PostmarketOS from your eMMC.

GPU

See 3D_Acceleration#Mali_T628.

See also