Home  >  Edison  >  Setting Up

How to update linux or U-Boot to a newer version

Updating Linux

Currently 3 kernels are supplied:

  1. linux-yocto_5.10.63 (LTS, default)
  2. linux-yocto_5.10.59-rt52 (LTS, PREEMPT-RT)
  3. linux-yocto_5.14 (testing)

You select your preferred kernel from meta-intel-edison/meta-intel-edison-distro/conf/distro/poky-edison.conf.

If you want to update the kernel to a newer rename or copy the respective recipe in meta-intel-edison/meta-intel-edison-bsp/recipes-kernel/linux/. The version is encoded in the filename (PV as Yocto calls this).

Updating LTS versions

Generally this should just work. But in particular for the LTS versions, patches that we carry in the recipe may have been upstreamed so the patching stage will fail while building. Commenting out the redundant patch in the recipe will fix the issue.

Updating Testing versions

For testing even newer versions (5.15 and later) in general the same may happen, but occasionally you may encounter other issues like new kernel config settings needed, new patches needed to fix regressions. You might want to follow https://github.com/htot/meta-intel-edison to see if there are any fixes being tested or join the Telegram group Intel Edison and participate in the discussions (don’t worry, the group is low traffic).

Updating U-Boot

U-Boot recipes are found in meta-intel-edison/meta-intel-edison-bsp/recipes-bsp/u-boot/.
Generally not much development normally goes on there that affect running the Linux kernel. Except of course when certain ACPI tables (like DSDT) particular to Intel Edison itself (not the board) are modified. These are served by U-Boot to the kernel and affect drivers or driver configuration or other settings.

To update U-Boot change the PV in the filenames of the following files:

  • u-boot_2021.10.bb
  • u-boot-common_2021.10.inc
  • u-boot-fw-utils_2021.10.bb
  • u-boot-mkimage_2021.10.bb

Additionally inside u-boot-common_2021.10.inc change the SRCREV to the correct hash and set PV to the version you need. Same as with LTS kernels, patches may have reached upstream and might need to commented out.