--- nav_order: 2 --- # Trying out development builds ## No default user accounts The default images produced do *not* include any default passwords or SSH keys. There is a `root` user present, but its password is locked. ## Using the "generic cloud" image Many people who just want to "try things out" will find it easiest to start with [the cloud image](https://github.com/CentOS/centos-bootc-layered/tree/main/cloud). The [bootc playground](https://github.com/vrothberg/bootc-playground) repository helps automate this. ## Installation using Anaconda Tools like [Anaconda](https://anaconda-installer.readthedocs.io/en/latest/intro.html) support injecting configuration at image installation time, such as SSH keys and passwords. This means that in contrast to what was said just before, it's possible to directly install (and update from) an "unconfigured base image" provided by this project. This hinges on the [ostreecontainer](https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#ostreecontainer) kickstart verb, which is new in Fedora 38; for example, there is a [netinst.iso](https://dl.fedoraproject.org/pub/fedora/linux/releases/39/Everything/x86_64/iso/) which can be scripted with kickstart. Because a current development target for this project is [Fedora ELN](https://docs.fedoraproject.org/en-US/eln/), it's also supported to use the ISO generated by that project. See [example.ks](example.ks) for an example Kickstart file. The [virt-install --initrd-inject](https://github.com/virt-manager/virt-manager/blob/main/man/virt-install.rst#--initrd-inject) helps inject kickstart for installation to virtual machines. ## Use osbuild-deploy-container The in-development [osbuild-deploy-container tool](https://github.com/osbuild/osbuild-deploy-container) supports generating disk images, including injecting user accounts. NOTE: this tool [does not yet work with centos stream 9](https://github.com/osbuild/bootc-image-builder/issues/20). There's also an [osbuildbootc](https://github.com/cgwalters/osbuildbootc) tool that will be merged with the above. ## Using `bootc install to-filesystem --replace=alongside` with a cloud image A toplevel goal of this project is that the "source of truth" for Linux operating system management is a container image registry - as opposed to e.g. a set of qcow2 OpenStack images or AMIs, etc. You should not need to maintain infrastructure to e.g. manage garbage collection or versioning of cloud (IaaS) VM images. The latest releases of `bootc` have support for `bootc install to-filesystem --replace=alongside`. More about this core mechanic in the [bootc install docs](https://github.com/containers/bootc/blob/main/docs/install.md). Here's an example set of steps to execute; this could be done via e.g. [cloud-init](https://cloudinit.readthedocs.io/en/latest/reference/index.html) configuration. ```shell dnf -y install podman skopeo podman run --rm --privileged --pid=host -v /:/target --security-opt label=type:unconfined_t bootc install to-filesystem --karg=console=ttyS0,115200n8 --replace=alongside /target reboot ``` ## Rebasing from Fedora CoreOS [Fedora CoreOS](https://docs.fedoraproject.org/en-US/fedora-coreos/) supports many different platforms, and can be used as a starting point to "rebase" to a custom derived image from CentOS boot. These commands should all be invoked as root. ```shell systemctl mask --now zincati && rm -vf /run/ostree/staged-deployment-locked echo "# dummy change" >> "/etc/sudoers.d/coreos-sudo-group" cp -a ~core/.ssh/authorized_keys.d/ignition ~core/.ssh/authorized_keys rpm-ostree rebase ostree-unverified-registry:quay.io/centos-bootc/fedora-bootc:eln systemctl reboot ```