ST-Ericsson NovaThor U8500

From postmarketOS
Jump to: navigation, search

References

Supported devices

This chipset is used similarly in the following devices:

Kernel hacking

An external page for [Ux500 mainline work].

U-Boot

There is a port of (mainline) U-Boot for U8500 currently maintained at: https://github.com/novathor-mainline/u-boot

It contains a board called stemmy, which is intended for all Samsung devices using U8500 (see above). It provides a simple Android fastboot interface as replacement for Samsung's proprietary flashing procedure. As a device tree compatible bootloader, it can be also used to boot mainline without any hacks in the Linux kernel.

Note: In this case, U-Boot does not replace the Samsung bootloader. Instead, it is packaged into an Android boot image (if necessary), and flashed to the Android boot partition like a regular Linux kernel.

Building

Requirements: ARM cross compiler (e.g. arm-non-eabi-gcc)

export CROSS_COMPILE=arm-none-eabi-
make stemmy_defconfig
make

If your device uses Android boot images, package it into an Android boot image:

mkbootimg --kernel u-boot.bin --base=0x00000000 --kernel_offset=0x00100000 --ramdisk_offset=0x02000000 --tags_offset=0x00000100 --output=u-boot.img

Installation

Install it normally to the boot partition:

heimdall flash --Kernel u-boot.img

Usage

U-Boot will try to boot an Android boot image from the boot partition by default. Pressing one of the volume keys during boot allows to change that behavior:

  • Volume Down: Enter Fastboot mode
  • Volume Up: Boot into recovery (recovery partition)
Note: Since the boot partition is already used for U-Boot itself, U-Boot reads the Android boot image with 1 MB offset from the boot partition. This offset is applied automatically when using fastboot flash boot boot.img.

In Fastboot mode, kernels can be directly booted from RAM using fastboot boot .... Alternatively, partitions can be flashed using fastboot flash <partition> ....

U-Boot itself can be also flashed from U-Boot using fastboot flash u-boot u-boot.img (in this case, it will not apply the offset for the boot partition).