Custom Silverblue iso: how to add user?

I have created a custom ostree and iso based on Fedora Silverblue 36, it does not contain any desktop environment just boot to console and start sway.
If I install using the official Silverblue iso then change to my custom ostree is works as expected, instead if I install from scratch using my custom iso (same ostree) it does not prompt to create any user so I am stuck to the console with no possibility to login.
During the installation process I can only pick the installation destination.

What is the preferred approach for this?


We talked about that on today, you can check the matrix room logs for lots of additional details.

Short summary:

Anaconda has a set of different profiles, which are defining the installer behavior.
The profile is chosen depending on the /etc/os-release contents in the installer image. E.g. if grep VARIANT_ID /etc/os-release in the installer shell returns workstation or silverblue, fedora-workstation.conf or fedora-silverblue.conf will be applied correspondingly.

The important difference between the profiles is the approach to an initial setup - all Gnome variants remove User/Password screens from the installer and run gnome-initial-setup on the first boot instead. So my best guess is that your custom iso image picks one of the Gnome profiles.

In the installer shell, you can check /tmp/anaconda.log to confirm this:

DBG core.configuration.profile: Detecting a profile for ID=fedora, VARIANT_ID=silverblue.
INF core.configuration.profile: The 'fedora-silverblue' profile is detected.
INF core.configuration.anaconda: Load the 'fedora-silverblue' profile configuration.

How to fix that? Simple - build your custom iso with the fedora-release-xxx subpackage that matches with one of the good profiles, e.g. fedora-release-kinoite or just generic fedora-release. With lorax, this is defined by the --variant commandline argument, and I expect that the default fedora-release would be selected if you don’t set any variant.


Thank you very much for your reply.
I am a bit busy at the moment I will have a look in the next days and report back.

An update for future reference:

  • --variant Silverblue: only installation destination, Fedora Silverblue branding
  • --variant workstation: only installation destination, Fedora Workstation branding
  • --variant "" (default): allows to enable/disable root user and create an user

This is my script:

lorax \
    --product Fedora \
    --version 36 \
    --release "$(date +'%Y%m%d')" \
    --variant "" \
    --isfinal \
    --source \
    --nomacboot \
    --volid Fedora-SB-ostree-x86_64-36 \
    --add-template "${PWD}/lorax-configure-repo.tmpl" \
    --add-template "${PWD}/lorax-embed-repo.tmpl" \
    --add-template-var ostree_osname=fedora \
    --add-template-var ostree_oskey=fedora-36-primary \
    --add-template-var ostree_contenturl=mirrorlist= \
    --add-template-var ostree_install_repo="file://${PWD}/repo" \
    --add-template-var ostree_install_ref=desktop \
    --add-template-var ostree_update_repo="file://${PWD}/repo" \
    --add-template-var ostree_update_ref=desktop \
    --logfile lorax.log \
    --tmp "${PWD}/temp" \
    --rootfs-size 8 \

Thanks for the suggestion