-
Notifications
You must be signed in to change notification settings - Fork 1
Extensions
Extensions are used to extend the default functionality of qToggleOS. They can be installed and removed by the user at any time and they are updated whenever whenever the system receives a firmware update.
The reason behind these extensions is to prevent bloating the base OS. Extensions are made up of relatively big files that would otherwise increase the size of the root filesystem, if they were to be included in the base OS image.
Managing extensions is done using the extctl
command. The following subcommands are defined:
-
extctl installed
- lists installed extensions and their versions -
extctl available
- lists all extensions available for the current platform and OS version -
extctl install <extension>
- installs the given extension -
extctl uninstall <extension>
- installs the given extension -
extctl update
- updates all outdated extensions to match current OS version
After installing/uninstalling/updating extensions, a reboot is needed.
Extensions are in fact archives of filesystems that are overlaid on top of the OS's root filesystem, at each boot.
Installed extensions live at /data/extensions
, each of them in their separate folder. The /data/extensions
folder is managed by the extctl
command.
The building process of the base OS image also takes care of building a separate archive for each available extension, for each of the supported platforms. These archives are downloaded by extctl
the same way the base firmware archive is downloaded by fwupdate
. They live in the same repository.
Currently the only available extension is docker
which includes:
- docker CLI
- docker engine
- compose