Jump to content

ODROID XU4 (odroid-xu4): Difference between revisions

From postmarketOS Wiki
Jenneron (talk | contribs)
GPU note
updating kernel info and benchmark data
 
(14 intermediate revisions by 7 users not shown)
Line 6: Line 6:
| imagecaption = ODROID XU4
| imagecaption = ODROID XU4
| releaseyear = 2015
| releaseyear = 2015
| originalsoftware = Ubuntu 20.04 LTS
| category = community
| originalsoftware = Ubuntu
| originalversion = 20.04 LTS
| chipset = Samsung Exynos 5422
| chipset = Samsung Exynos 5422
| cpu = 4x 1.9 GHz A15 & 4x 1.3 GHz A7
| cpu = 4x 1.9 GHz A15 & 4x 1.3 GHz A7
Line 14: Line 16:
| memory = 2GB LPDDR3
| memory = 2GB LPDDR3
| architecture = armv7
| architecture = armv7
| type = Single Board Computer
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) -->
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) -->
| status_usbnet = Y
| status_usbnet = Y
Line 24: Line 27:
| status_mainline = Y
| status_mainline = Y
| status_battery = -
| status_battery = -
| status_3d =
| status_3d = Y
| status_accel = -
| status_accel = -
| status_audio =
| status_audio =
Line 41: Line 44:
if the device haven't originally ran Android OS, e.g. Nokia N900
if the device haven't originally ran Android OS, e.g. Nokia N900
| n-android =  ✔
| n-android =  ✔
Version of the kernel that pmos is running
| pmoskernel = 5.12.9
see Unixbench page on wiki
| whet_dhry = 0.0
-->
-->
| pmoskernel = 6.6.41
| whet_dhry = 1389.1
}}
}}


Line 67: Line 68:
1. Use pmbootstrap to create a bootable SD card:
1. Use pmbootstrap to create a bootable SD card:


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


You <b>must</b> 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.
You <b>must</b> 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.
Line 75: Line 76:


3. The Odroid XU4 should boot up and become accessible over SSH.
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 ==
== GPU ==

Latest revision as of 07:17, 16 August 2024

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 Ubuntu
Original version 20.04 LTS
postmarketOS
Category community
Pre-built images yes
postmarketOS kernel 6.6.41
Unixbench Whet/Dhry score 1389.1
Features
USB Networking
Works
Internal storage
No data
SD card
No data
Multimedia
3D Acceleration
Works
Audio
No data
Camera Flash
No data
Miscellaneous
FDE
No data
USB OTG
No data
HDMI/DP
No data
Sensors
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data


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