Skip to content

Prerequisites

Install stock firmware 15.00.20 or newer before using libretouch. This is the assumed starting point for every procedure in these docs.

libretouch does not replace the bootloader — installing to internal flash and the development setups all boot through the stock U-Boot. It has to be a version that can boot with a device tree, because libretouch's boot commands load one:

fatload usb 0:1 ${loadaddr} ${variant}_${module_type}.dtb && fdt addr ${loadaddr}

Bootloaders older than 15.00.20 provide neither piece:

Stock version Bootloader fdt command ${module_type}
02.01.51 … 07.02.21 U-Boot 2012.10 no no
09.00.41 … 14.00.33 U-Boot 2013.01.01 no no
15.00.20 and later U-Boot 2014.07-05722 yes yes

The 2014.07 bootloader is unchanged from 15.00.20 all the way through 27.00.06, so any stock release in that range works equally well. If you have a choice, take the newest available for your product — with one exception, below.

Preferred stock version on lisa_scm

On lisa_scm boards, prefer 16.00.09, or 15.00.20 if that is what you can get. Every release from 17.00.08 onwards is fine for running libretouch, but it gives up something on the stock side: 16.00.09 is the last stock version whose kernel runs the USB port as a dual-role port, and the newer ones pin it to device-only. That is what the USB-drive route in service access depends on, so on 17.00.08 or later there is no way to get a shell on the stock system without a serial console.

This is a property of the stock kernel, not of the hardware or the bootloader. libretouch brings its own device tree and runs the port as dual-role on every board, so a device already on a newer release does not need to be downgraded before installing libretouch — only before working on the stock system itself. Restoring stock firmware is how to change version if you decide you want to.

Every other variant keeps the port dual-role in all versions, so the plain "newest available" advice holds there.

Checking and updating what a device has

To see what is installed now, from the U-Boot prompt:

printenv nand_boot

If it contains ubifsload and fdt addr, the bootloader is new enough. If it ends at bootm ${kloadaddr}, it is not.

On an older device, update the stock firmware first — see the U-Boot update mechanism, which explains why that step must use sweup uboot preserve and where the boot method changed.