coreelec:updates

Updating

CoreELEC can be updated either automatic or manual from both .tar and .img.gz files, but .tar files are faster to process.


Auto-Update is enabled by default and tracks minor revisions, eq: CoreELEC 19.2.5 will update to 19.2.6, 19.2.7, 19.3 RC1 etc.

Major revisions (eq: 19.3 to 20.0) are excluded from Auto-Update as they frequently require (3rd party) Kodi add-ons to be updated also. Broken add-ons are the main source of update issues.

With Auto-Update enabled, the latest update file will download in the background, then Kodi will prompt to reboot and start the update process.

To manage system updates manually, Auto-Update can be disabled in the CoreELEC Configuration Addon.


Manual updates provide greater control over the update process. CoreELEC provides several manual update methods which are listed below.

  • navigate to the Updates section of the CoreELEC Configuration Addon
  • select Update Channel (CoreELEC major version)
  • select Available Versions

The update .tar file will start downloading in the background. Once completed, the system will prompt to reboot and perform the update.


Another way is by using a USB Flash Drive and the Kodi File Manager

View hidden files and folders has to be enabled in Kodi settings.

  • enable viewing hidden files and folders
  • download the CoreELEC image or update file
  • copy file to a USB drive
  • insert the USB Flash Drive
  • navigate to /storage/.update/ using the Kodi File Manager
  • copy the update file from the USB drive to /storage/.update
  • reboot

  • copy/paste the update file to the UPDATE folder of the CoreELEC Samba share
  • reboot upon successful completion of the file transfer

  • SSH into CoreELEC and navigate to the (hidden) update folder
  • cd /storage/.update
  • ensure there are no files in the folder
  • ls -la
  • download the update file
  • wget <path to update file>
  • force writing all cached data to disk
  • sync
  • reboot

Example:

wget https://relkai.coreelec.org/CoreELEC-Amlogic-ng.arm-19.4-Matrix_nightly_20211215.tar

Download locations:


  • SSH into CoreELEC and navigate to the (hidden) update folder
  • cd /storage/.update
  • ensure there are no files in the folder
  • ls -la
  • download the update file
  • megadl <path to update file>
  • force writing all cached data to disk
  • sync
  • reboot

Example:

megadl https://mega.nz/file/790WxQDI#Z0OJs2d8StgFNe2mRygarP

Downgrading

Downgrading is unsupported by Team CoreELEC (and Team Kodi).
Any support requests will be ignored.

When downgrading, all kinds of issues arise in the areas of:

  • Addon compatibility
  • Hardware compatibility
  • System stability
  • System useability

These issues can be circumvented by creating a new installation on external media with the desired older version of CoreELEC.


Load Kernel Module on Boot

Kernel modules can automatically be loaded on boot using /storage/.cache/kernel-overlays/. The example below will load the module named bt100.ko

Example:

1) Obtain the CoreELEC kernel version

uname -r

5.4.210

2) Create a file with name of the module, and extension .conf (eg. bt100.conf). That file will contain the overlay path for the module, /lib/modules/5.4.210/bt100/bt100.ko

Note: change the kernel version in the overlay path to match your kernel version obtained in step 1.

echo /storage/.cache/kernel-overlays/bt100 > /storage/.cache/kernel-overlays/bt100.conf

3) Create the overlay path for the module under /storage/.cache/kernel-overlays

mkdir -p /storage/.cache/kernel-overlays/bt100/lib/modules/5.4.210/bt100/

4) Copy the module to the directory created in step 3

cp /storage/downloads/bt100.ko /storage/.cache/kernel-overlays/bt100/lib/modules/5.4.210/bt100/bt100.ko

Disable Kernel Module

A module can be blacklisted to disable it from loading on boot, by adding the module name to blacklist.conf under modprobe.d. It is placed at /storage/.config/modprobe.d/blacklist.conf, which is overlaid to /etc/modprobe.d/blacklist.conf. The following example disables the module wlan100.

Example:

1) Find the module name in the list of installed modules.

lsmod

2) Create blacklist.conf in the directory /storage/.config/modprobe.d/, and edit the file to include the module name:

echo 'blacklist wlan100' >> /storage/.config/modprobe.d/blacklist.conf 

Changes take effect after a reboot.