|
$ butane --pretty --strict autologin.bu --output autologin.ign
|
|
|
Add a bash profile that tells systemd to not use a pager for output.
|
|
|
Add a systemd dropin to override the default `serial-getty@ttyS0.service`.
|
|
|
And check on `zincati.service`, which communicates with our update server and tells `rpm-ostree` when to do an update and to what version to update to:
|
|
|
And finally, of course we can use the `podman` (or `docker`) command to inspect the current state of containers on the system:
|
|
|
Aug 06 14:50:36 tutorial systemd[1]: Started Zincati Update Agent. Aug 06 14:50:36 tutorial zincati[889]: [INFO ] starting update agent (zincati 0.0.12) Aug 06 14:50:39 tutorial zincati[889]: [INFO ] Cincinnati service: https://updates.coreos.fedoraproject.org Aug 06 14:50:39 tutorial zincati[889]: [INFO ] agent running on node 'dbe8968f75c34d9eb3d3c4c226aa8fdf', in update group 'default' Aug 06 14:50:39 tutorial zincati[889]: [INFO ] initialization complete, auto-updates logic enabled
|
|
|
Booting Fedora CoreOS
|
|
|
Butane outputs valid Ignition configs. However, if you are tweaking the config after Butane, or manually creating Ignition configs, you will have to verify that the config format is valid with `ignition-validate`:
|
|
|
[core@tutorial ~]$
|
|
|
[core@tutorial ~]$ cat /etc/hostname tutorial [core@tutorial ~]$ hostnamectl Static hostname: tutorial Icon name: computer-vm Chassis: vm Machine ID: d06466128a1c4a6ab255d9581748755c Boot ID: 2a19abb9681e442cb1e10271350bfff3 Virtualization: kvm Operating System: Fedora CoreOS 32.20200715.3.0 CPE OS Name: cpe:/o:fedoraproject:fedora:32 Kernel: Linux 5.7.8-200.fc32.x86_64 Architecture: x86-64
|
|
|
[core@tutorial ~]$ journalctl -t ignition ...
|
|
|
[core@tutorial ~]$ podman version [core@tutorial ~]$ podman info
|
|
|
[core@tutorial ~]$ rpm-ostree status State: idle Deployments: * ostree://fedora:fedora/x86_64/coreos/stable Version: 32.20200715.3.0 (2020-07-27T11:36:29Z) Commit: a3b08ee51b1d950afd9d0d73f32d5424ad52c7703a6b5830e0dc11c3a682d869 GPGSignature: Valid signature by 97A1AE57C3A2372CCA3A4ABA6C13026D12C944D0
|
|
|
[core@tutorial ~]$ rpm -q ignition kernel moby-engine podman systemd rpm-ostree zincati ignition-2.4.1-1.git5260a5b.fc32.x86_64 kernel-5.7.8-200.fc32.x86_64 moby-engine-19.03.11-1.ce.git42e35e6.fc32.x86_64 podman-1.9.3-1.fc32.x86_64 systemd-245.6-2.fc32.x86_64 rpm-ostree-2020.3-1.fc32.x86_64 zincati-0.0.12-2.fc32.x86_64
|
|
|
[core@tutorial ~]$ systemctl cat serial-getty@ttyS0.service # /usr/lib/systemd/system/serial-getty@.service ...
|
|
|
[core@tutorial ~]$ systemctl status --full zincati.service ● zincati.service - Zincati Update Agent Loaded: loaded (/usr/lib/systemd/system/zincati.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-08-06 14:50:36 UTC; 1h 41min ago Docs: https://github.com/coreos/zincati Main PID: 889 (zincati) Tasks: 2 (limit: 2288) Memory: 14.2M CGroup: /system.slice/zincati.service └─889 /usr/libexec/zincati agent -v
|
|
|
Depending on your version of `virt-install`, you may not be able to use `--os-variant=fedora-coreos-stable` and will get an error. In this case, you should pick an older Fedora variant (`--os-variant=fedora31` for example). You can find the variants that are supported by you current version of `virt-install` with `osinfo-query os | grep '^\s*fedora'`.
|
|
|
Enabling autologin and setting a custom hostname
|
|
|
# /etc/systemd/system/serial-getty@ttyS0.service.d/autologin-core.conf [Service] # Override Execstart in main unit ExecStart= # Add new Execstart with `-` prefix to ignore failure` ExecStart=-/usr/sbin/agetty --autologin core --noclear %I $TERM
|
|
|
Exploring Fedora CoreOS internals
|
|