g7 / microos-rebase-tools

Tools to rebase an openSUSE MicroOS installation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

microos-rebase-tools

Note: rebasing is not supported by MicroOS, this project is unofficial and lacking in various aspects.

microos-rebase-tools are a set of tools that can reinstall a MicroOS system in-place, either via an autogenerated kiwi config, via a custom one, from a tarball containing the new rootfs or from an OCI registry.

Dependencies

  • etcrebase
  • podman
  • python3-kiwi

Usage

Rebuilding the installation from a pattern

You can rebuild your installation by supplying a list of pattern/packages to microos-rebase.

sudo microos-rebase /<target> patterns-microos-desktop-gnome

Warning: you might need to temporairly disable SELinux enforcing with sudo setenforce 0. Using the boxbuild plugin might work as well, but it has not been tested yet.

Rebuilding the installation from a kiwi configuration

sudo microos-rebase /<target> https://build.opensuse.org/source/devel:microos:aeon:images/aeon-self-installer/aeon-self-installer.kiwi

Note: the SELinux warning above applies here too. Most existing kiwi configurations file don't work out-of-the-box, as they might reference unreachable repositories. You can tweak how microos-rebase interacts with kiwi with command line arguments. Every argument prefixed with --kiwi- will be passed to the kiwi system prepare command.

For example, --kiwi-add-package=geany will invoke kiwi with --add-package=geany. You can use this feature to make a kiwi configuration buildable. See kiwi system prepare -h for more details.

Unpacking an existing rootfs

sudo microos-rebase /<target> /path/to/rootfs.tar.gz

You can also specify a remote URL, and that will be fetched and extracted.

Fetching an OCI image

sudo microos-rebase /<target> oci://registry.opensuse.org/home/epaolantonio/microos-images/containers/aeon:latest

Fetches an OCI image from the registry, and unpacks it into the target.

About

Tools to rebase an openSUSE MicroOS installation

License:GNU General Public License v2.0


Languages

Language:Shell 94.4%Language:Makefile 5.6%