I have a PXE environment that requires systems to boot up, then automatically login and start a program on boot. All of a sudden this stopped working after years of working. It took me a while to figure it out so figured I would post in case anyone else ran into this.
I have been doing auto login the recommended systemd for a while, as shown: https://wiki.archlinux.org/title/Getty. I copied /lib/systemd/system/getty@.service
into /etc/systemd/system/getty@tty1.service
. Then with a script edited it using sed in the build pipeline. In the end the line was:
ExecStart=-/usr/bin/agetty --noclear %I $TERM --autologin username
This worked for YEARS, then suddenly stopped. In investigating, I saw another file was being written next to mine at /etc/systemd/system/getty@tty1.servicee
; with another e added to the end of service, making it servicee. After a lot of playing around with it and looking at other guides I figured out, there was a update to systemd/getty and now it cares that all options are before the terminal variable is presented. Changing that line to the following fixed it.
ExecStart=-/usr/bin/agetty --noclear --autologin username %I $TERM