-1

I have an embedded system with arm Linux integrated (own construction) that has several software components. I know that in normal desktop case there is an apt or for arm pacman as package manager where I can easily update packages. This Linux system doesn´t have a package manager.

I tried: Downloading a tar file and refresh the packages manually.

#My question is# How can I update this packages best way?

artless noise
  • 21,212
  • 6
  • 68
  • 105

1 Answers1

0

Embedded Linux is usually upgraded in its entirety, not in parts.

In order to avoid errors during the upgrade two partitions (A and B) are used. If the update fails, the system is simply booted from the backup partition.

That is:

  1. The system is booted from partition A.
  2. A new image of OS is downloaded (this contains kernel, initialization system and your software).
  3. Flashing image to partition B.
  4. The boot loader is set to boot once from partition B.
  5. The system, booted from partition B, configures the bootloader to boot permanently from partition B.

Now it turns out that partition A contains an old version of OS, and partition B contains a new one.

lcomrade
  • 186
  • 2
  • 6
  • I think he is referring to the file system binaries. Typically these are called 'packages' and the reference to `apt` and `pacman` would seem to confirm this. This is a technique used to update embedded Linux kernels. Also, step 4/5 can be a conditional boot from partition B, where it reverts to the old version if the boot fails. I had implemented this as part of the 'init' script (systemd now) to confirm that the file system has transferred control in a reliable way and the kernel update did not have an issue with the hardware. So this is a great answer, but maybe to the wrong question? – artless noise Feb 25 '22 at 21:47