Platform Independent Embedded Linux OTA Method
Main Article Content
Abstract
Embedded devices are often used at remote locations. Accordingly, since it is difficult and costly to physically access the devices for firmware updates, the updates are made with Over-the-Air (OTA). OTA is a firmware update method that allows embedded devices to be updated wirelessly without requiring physical access. OTA applications for Embedded Linux devices are platform-dependent. Therefore, the aim of this study is to develop an easy integrated, steady, and robust OTA method. This method runs in the background without any user action on a platform-independent Embedded Linux device and it has a small footprint. The firmware is compressed in this method. The compressed firmware is uploaded to a storage area such as a remote drive, cloud, and repository. The storage area is used efficiently thanks to compressed firmware. The OTA application checks versions of firmware in the storage area and compares them with firmware running on the device. It decides which version is more up-to-date. If the version of the firmware in the storage area is more up-to-date, the OTA application runs in the background and downloads the updated firmware without interfering with the working functions on the device. After the download is completed, compressed firmware is extracted and flashed into the specified memory location. When the device is rebooted after the procedure is completed, the device is going to boot with the new version of the firmware. Consequently, the OTA application can be integrated easily on most Embedded Linux platforms. Besides the OTA application can be enhanced with security and power-safe features.
Downloads
Article Details
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.
References
Brown, B.B. (2018). Over-the-Air ( OTA ) Updates in Embedded Microcontroller Applications : Design Trade-Offs and Lessons Learned.
Barbieri, E. (2021, November 24). What is embedded linux? part I. Ubuntu. Retrieved December 24, 2022, https://ubuntu.com/blog/what-is-embedded-linux
Wikipedia Contributors. (2019, June 29). Linux kernel. Wikipedia; Wikimedia Foundation. https://en.wikipedia.org/wiki/Linux_kernel
The Yocto Project. It’s not an embedded linux distribution, it creates a custom one for you. Yocto project; Linux Foundation. Retrieved December 24, 2022, from https://www.yoctoproject.org/
What is the Linux kernel? (2019, February 27). RedHat. https://www.redhat.com/en/topics/linux/what-is-the-linux-kernel
Python Software Foundation. (2019). What is Python? Executive Summary. Python.org; Retrieved December 24, 2022, from https://www.python.org/doc/essays/blurb/
w3Schools. (2019). Introduction to Python. W3schools.com. https://www.w3schools.com/python/python_intro.asp
Koon, J. (2022, December 1). Cybersecurity Risks Of Automotive OTA. Semiconductor Engineering. https://semiengineering.com/cybersecurity-risks-of-automotive-ota/
Viswanathan, K. (2008, February). How to setup a bootloader for an embedded linux machine. MSys Technologies. https://www.msystechnologies.com/blog/how-to-setup-a-bootloader-for-an-embedded-linux-machine/