OpenWrt

Support for NXP Layerscape targets is in the main OpenWrt tree, however, the Traverse targets have not been added yet.

You can see our integration branch over at Gitlab

sysupgrade

There are two sets of OpenWrt partitions in the ubifs, called 'kernelX and rootfsX' (where X=1 or 2). When you upgrade OpenWrt, the new version will be installed into the spare partition.

The current partition set is defined in the 'bootsys' variable:

root@OpenWrt:~# fw_printenv bootsys
bootsys=1

Universal boot

The Traverse LS1043 target generates multi-configuration FIT images, these can include multiple device tree files.

As our LS1043 boards are very similar, this means the same binaries can boot on multiple boards.

In U-Boot, append the board name to the bootm command:

bootm $kernel_load#ls1043s
bootm $kernel_load#five64

By default, U-Boot boots OpenWrt like this:

nandboot=run nandbootargs && ubi part nandubi && ubi read $kernel_load kernel$bootsys && bootm $kernel_load#ls1043s

Tip: The current board model can be found through the device tree parameters:

root@OpenWrt:/# cat /proc/device-tree/model && echo
Traverse LS1043S
root@OpenWrt:/# cat /proc/device-tree/compatible  && echo
traverse,ls1043s

OpenWrt will populate its sysinfo data from the device tree:

root@OpenWrt:/# cat /tmp/board.json | head -n 4
{
        "model": {
                "id": "traverse,ls1043s",
                "name": "Traverse LS1043S"