You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
9
9
## [Unreleased]
10
10
11
-
tbd
11
+
### Changed
12
+
13
+
* README: Cross-check the Feature, Tests and Install-Type sections for each of the three distros against the actual cfg-file behavior, and correct five discrepancies. The "What this ... does" summaries now mention the `LF_KICKSTART_VERSION` build stamp and the `/root/lf-install-version` fleet marker for all three distros. The RHEL `df -hT` test reflects the real mount counts (3 or 4 on non-CIS depending on BIOS/UEFI, 9 or 10 on CIS) instead of the previous off-by-one numbers. The RHEL `ll /root`/`grep` test no longer claims that the stamp lands in `/var/log/anaconda/anaconda.log` (it actually only lands in the `%post``ks-script-*.log`). The `lftype` table now lists the `linuxfabrik` password as "locked (SSH key login via `cloud-init`)" for the cloud variants instead of the misleading "unset". A `//boot` typo in the Ubuntu section is fixed
Copy file name to clipboardExpand all lines: README.md
+10-7Lines changed: 10 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -74,17 +74,18 @@ For convenience, we provide https://linuxfabrik.ch/ks as a shortened URL to http
74
74
75
75
* Supports RHEL 8+, Fedora 38+ and compatible.
76
76
* Works on legacy BIOS as well as UEFI.
77
-
* The kickstart file is intended to provide a minimal installation, with `firewalld` disabled and SELinux in "Enforcing" mode.
77
+
* The kickstart file is intended to provide a minimal installation, with `firewalld` disabled (and removed entirely on cloud variants) and SELinux in "Enforcing" mode.
78
78
* Can be installed on a user-defined disk by specifying the kernel cmdline argument `lfdisk=$DISK`. If unset, it tries to find the first block device, in the order `vda` > `sda` > `nvme0n1`, and fails otherwise.
79
79
* There are two users: `linuxfabrik` and `root`. The root account is always locked and has no password or SSH keys. Login with the `linuxfabrik` user, which is also part of the `wheel` group. `sudo` is configured to gain root.
80
+
* Every install carries a `LF_KICKSTART_VERSION` build stamp (format `YYYYMMDDNN`) that is logged at install time and written to `/root/lf-install-version` on the installed system, so any host can be traced back to the exact `lf-rhel.cfg` build that produced it. See "Log Files" below for where to read the stamp. The same marker file and naming is used on Debian and Ubuntu hosts for uniform fleet identification across distros.
80
81
81
82
The kickstart file can be used to install different types of minimal installs by setting the kernel cmdline argument `lftype=`:
82
83
83
84
|`lftype=`| Install Type | Partitioning Scheme | Password of User `linuxfabrik`| SSH Keys of User `linuxfabrik`|
84
85
|---|---|---|---|---|
85
86
|`cis`| Minimal | CIS, LVM |`password`| Those of Linuxfabrik |
|`cloud`| Minimal | Minimal, LVM |locked (SSH key login via `cloud-init`) | none at install time (injected by`cloud-init`) |
88
+
|`cloud-cis`| Minimal | CIS, LVM |locked (SSH key login via `cloud-init`) | none at install time (injected by`cloud-init`) |
88
89
|`minimal` (default) | Minimal | Minimal, LVM |`password`| Those of Linuxfabrik |
89
90
90
91
@@ -142,13 +143,13 @@ What to test within the VM:
142
143
*`ssh linuxfabrik@vm`: Should work on non-cloud. On cloud, it depends on cloud-init.
143
144
*`sudo su -`: Should work.
144
145
*`cat /etc/shadow`: Should show that root's password is locked.
145
-
*`df -hT`: Three partitions (`/`, `/backup`, `/boot`) on non-cis, eight partitions on cis.
146
+
*`df -hT`: On `lftype=cloud` and `lftype=minimal`, four mounts on UEFI (`/`, `/backup`, `/boot`, `/boot/efi`) and three on BIOS (no `/boot/efi`). On `lftype=cis` and `lftype=cloud-cis`, ten mounts on UEFI (`/`, `/backup`, `/boot`, `/boot/efi`, `/home`, `/tmp`, `/var`, `/var/log`, `/var/log/audit`, `/var/tmp`) and nine on BIOS. Swap is not listed by `df`.
146
147
*`lvs`: Should work.
147
148
*`sudo dnf -y install nano`: Should work.
148
149
*`systemctl status cloud-init`: Not found on non-cloud, should work on cloud.
149
150
*`systemctl status firewalld`: Should be inactive on non-cloud. On cloud, firewalld is removed.
150
-
*`ll /root`: Should list `dynamic.ks` (the rendered kickstart fragment Linuxfabrik applied, always present). Anaconda additionally writes `original-ks.cfg` on every install and, on most targets, `anaconda-ks.cfg` — both are written after all `%post` scripts, so they are not cleaned up by this kickstart. On `lftype=cis` and `lftype=minimal`, `70-install-ssh-keys.ks` is also archived (the SSH key deployment fragment); on `lftype=cloud` and `lftype=cloud-cis`, no SSH key fragment is generated because `cloud-init` handles keys.
151
-
*`grep 'Linuxfabrik Kickstart version' /root/dynamic.ks`: Should show the `YYYYMMDDNN` build stamp of the `lf-rhel.cfg` variant that was applied during installation. The same stamp is also written to `/var/log/anaconda/anaconda.log` and to the `%post``ks-script-*.log` under `/var/log/anaconda/`, so the origin of any installed host is traceable to a specific `lf-rhel.cfg` build.
151
+
*`ll /root`: Should list `dynamic.ks` (the rendered kickstart fragment Linuxfabrik applied, always present) and `lf-install-version` (the build stamp marker). Anaconda additionally writes `original-ks.cfg` on every install and, on most targets, `anaconda-ks.cfg` — both are written after all `%post` scripts, so they are not cleaned up by this kickstart. On `lftype=cis` and `lftype=minimal`, `70-install-ssh-keys.ks` is also archived (the SSH key deployment fragment); on `lftype=cloud` and `lftype=cloud-cis`, no SSH key fragment is generated because `cloud-init` handles keys.
152
+
*`cat /root/lf-install-version` or `grep 'Linuxfabrik Kickstart version' /root/dynamic.ks`: Both should show the `YYYYMMDDNN` build stamp of the `lf-rhel.cfg` variant that was applied during installation. The same stamp is also present in the `%post``ks-script-*.log` under `/var/log/anaconda/` (the first line of the script that ran the `post_cloud`/`post_cis` block), so the origin of any installed host is traceable to a specific `lf-rhel.cfg` build both on disk and in the installer logs.
152
153
153
154
154
155
### Log Files
@@ -229,6 +230,7 @@ boot: auto url=http://<server>/<path>/lf-debian.cfg
229
230
* There are two users: `linuxfabrik` and `root`. The root account is not created (disabled). Login with the `linuxfabrik` user, which has password-less sudo. The default password is `password` (change after first login).
230
231
* SSH server is installed and Linuxfabrik SSH keys are deployed.
231
232
* The system shuts down after installation.
233
+
* Every install carries a `LF_KICKSTART_VERSION` build stamp (format `YYYYMMDDNN`) that is logged at install time via `logger(1)` in `preseed/early_command` and written to `/root/lf-install-version` on the installed system, so any host can be traced back to the exact `lf-debian.cfg` build that produced it. See "Log Files" below for where to read the stamp. The same marker file and naming is used on RHEL and Ubuntu hosts for uniform fleet identification across distros.
* Targets UEFI systems (see comments in the file for BIOS adaptation).
308
-
* Provides a minimal server installation with LVM partitioning (`/`, `/backup`, `//boot`, swap).
310
+
* Provides a minimal server installation with LVM partitioning (`/`, `/backup`, `/boot`, swap).
309
311
* There are two users: `linuxfabrik` and `root`. The root account is locked with no password. Login with the `linuxfabrik` user, which has password-less sudo. The default password is `password` (change after first login).
310
312
* SSH server is installed and Linuxfabrik SSH keys are deployed.
311
313
*`ufw` and `kdump` are disabled.
312
314
* The system shuts down after installation.
315
+
* Every install carries a `LF_KICKSTART_VERSION` build stamp (format `YYYYMMDDNN`) that is logged at install time via `logger(1)` in `autoinstall early-commands` and written to `/root/lf-install-version` on the installed system, so any host can be traced back to the exact `lf-ubuntu.cfg` build that produced it. See "Log Files" below for where to read the stamp. The same marker file and naming is used on RHEL and Debian hosts for uniform fleet identification across distros.
0 commit comments