Skip to content

Conversation

@dharmit
Copy link
Contributor

@dharmit dharmit commented Dec 4, 2025

The idea behind this PR is to extract system extension related documentation from the "Building a Linux Virtual Machine Image with Elemental" document and have a dedicated file for it.

Copy link

@jtomasek jtomasek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit inline

Comment on lines 39 to 46
`elemental` is a higher level tool used for installation and upgrade of an immutable OS. `elemental3ctl` is lower
level and helps in, among other things, building a bootable OS image of either RAW or ISO foramt. However,
`elemental3ctl` is not expected to be used directly by most users; it will be used by `elemental` to get stuff done.
`elemental3ctl` can also be used to install an OCI image on the target system.

As a matter of fact, `elemental3ctl` itself is installed on the immutable OS as a sysext. Another sysext installed
out of the box is RKE2, thus making the OS a perfect environment to develop and deploy Kubernetes applications on.
`elemental3ctl` is a lower level tool that can do various things like installing an OS (packaged as OCI image) on
target system, upgrading the system from an OCI image, manage kernel modules on a system, unpack an OCI image, build
an installation media (generally an ISO file) from an OS image (packaged as OCI image).
`elemental3` is a higher level tool that uses the ISO artifact generated by `elemental3ctl` and other payload (system
extensions, Kubernetes definitions and firstboot configs) to generate a ISO or RAW file which can be used to boot a
VM from.
The `elemental3ctl` binary is installed on the immutable OS as a sysext. Another sysext installed out of the box is
RKE2, thus making the OS a perfect environment to develop and deploy Kubernetes applications on.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@atanasdinov i will eventually squash/rebase commits, but I have pushed this one separately so that you can review if our conversation yesterday has made my understanding clearer or not. 😆

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants