[main][20230908.1000] Missing /etc/steamos-atomupd/client.conf breaks SteamOS updater
Closed this issue ยท 10 comments
Your system information
- Steam client version:
- SteamOS version: 20230908.1000
- Opted into Steam client beta?: No
- Opted into SteamOS beta?: main
- Have you checked for updates in Settings > System?: Yes
Please describe your issue in as much detail as possible:
The newest update on the main channel 20230908.1000, does not include the /etc/steamos-atomupd/client.conf file which the SteamOS updater needs:
$ sudo steamos-update
Traceback (most recent call last):
File "/usr/bin/steamos-atomupd-client", line 39, in <module>
client.main()
File "/usr/lib/python3.11/site-packages/steamosatomupd/client.py", line 951, in main
ret = client.run()
^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/steamosatomupd/client.py", line 736, in run
with open(args.config, 'r', encoding='utf-8') as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: '/etc/steamos-atomupd/client.conf'
Failed to check for updates
One could pick the file from the other slot as a fix:
mkdir -p /tmp/self /tmp/other
sudo mount -o ro /dev/disk/by-partsets/other/rootfs /tmp/other
sudo mount /dev/disk/by-partsets/self/rootfs /tmp/self
sudo btrfs property set /tmp/self ro false
sudo cp -a /tmp/other/etc/steamos-atomupd/client.conf /tmp/self/etc/steamos-atomupd/
sudo btrfs property set /tmp/self ro true
sudo umount /tmp/self /tmp/other
sudo mount -o remount /etcSteps for reproducing this issue:
- Update to main 20230908.1000
- Check for updates
- Receive the error popup message
There's another missing file:
$ sudo steamos-update
Job for rauc.service failed because the control process exited with error code.
See "systemctl status rauc.service" and "journalctl -xeu rauc.service" for details.
Traceback (most recent call last):
File "/usr/bin/steamos-atomupd-client", line 39, in <module>
client.main()
File "/usr/lib/python3.11/site-packages/steamosatomupd/client.py", line 951, in main
ret = client.run()
^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/steamosatomupd/client.py", line 771, in run
set_rauc_conf()
File "/usr/lib/python3.11/site-packages/steamosatomupd/client.py", line 668, in set_rauc_conf
subprocess.run(['systemctl', 'restart', 'rauc'], check=True)
File "/usr/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['systemctl', 'restart', 'rauc']' returned non-zero exit status 1.
Update failed
systemctl status rauc
ร rauc.service - RAUC Update Service
Loaded: loaded (/usr/lib/systemd/system/rauc.service; static)
Active: failed (Result: exit-code) since Sun 2023-09-10 09:24:10 CEST; 19s ago
Docs: https://rauc.readthedocs.io
Process: 4895 ExecStart=/usr/bin/rauc --mount=/run/rauc service (code=exited, status=1/FAILURE)
Main PID: 4895 (code=exited, status=1/FAILURE)
CPU: 14ms
Sep 10 09:24:10 sakuradeck systemd[1]: Starting RAUC Update Service...
Sep 10 09:24:10 sakuradeck rauc[4895]: Failed to initialize context: Failed to load system config (/etc/rauc/system.conf): No such file or directory
Sep 10 09:24:10 sakuradeck systemd[1]: rauc.service: Main process exited, code=exited, status=1/FAILURE
Sep 10 09:24:10 sakuradeck systemd[1]: rauc.service: Failed with result 'exit-code'.
Sep 10 09:24:10 sakuradeck systemd[1]: Failed to start RAUC Update Service.Missing /etc/rauc/system.conf
So
mkdir -p /tmp/self /tmp/other
sudo mount -o ro /dev/disk/by-partsets/other/rootfs /tmp/other
sudo mount /dev/disk/by-partsets/self/rootfs /tmp/self
sudo btrfs property set /tmp/self ro false
sudo cp -a /tmp/other/etc/rauc/system.conf /tmp/self/etc/rauc/
sudo btrfs property set /tmp/self ro true
sudo umount /tmp/self /tmp/other
sudo mount -o remount /etcto fix
EDIT:
yikes
Update available
0%
100%
ERROR:client.py:938: Failed to install update file: Failed to install bundle: 1: installing
0% Installing
0% Determining slot states
20% Determining slot states failed.
100% Installing failed.
LastError: Bootname or device of booted slot not found
idle
Installing `https://steamdeck-images.steamos.cloud/steamdeck/20230907.1000/steamdeck-20230907.1000-3.5.0.raucb` failed
Update failed
A
sudo steamos-bootconf set-mode reboot-otherWas necessary after all.
I updated to 20230907.1000 and the updater seems fine now.
Thanks for the information. Hopefully they fix this soon.
EDIT: I'm not having any issues currently? Not sure what they changed, but it's working now without having to follow the above steps.
I solved this issue by rebooting to previous slot via the PolicyKit helper which doesn't require sudo, so no password setup is actually needed:
/usr/bin/steamos-polkit-helpers/steamos-reboot-other
Thank you for the tips folks, saved my SD too.
How did you learn about steamos-reboot-other and "sudo steamos-update". Is this documented anywhere?
On a side note, I'm not sure if it's related, it was possible to switch partitions by holding QAM button (...) during startup, but I noticed that doesn't work anymore.
Actually, none of the held buttons during startup seem to work anymore (bios, boot manager, verbose boot).
@octopuserectus AFAIK there is no official documentation on SteamOS internals. Most of my knowledge comes from SteamOS sources and logs. The only community documentation effort I know is steamos-teardown and it wasn't much updated.
I didn't even know about switching partition by holding buttons. It may be broken in main branch as well. Since this switch is automatic when the OS has failed to boot, I think it's more handy to have a button for this action in the developer settings.
To Valve: please add steamos-reboot-other action button to Developer menu. It could have been very helpful in situations such as this.
Thanks for the report everyone.
Due to a last minute update one the steamos-customizaions-jupiter ended without any of the updater files. That is fixed now and new OS versions (main, beta, etc) dated 20230911 should be out shortly.
The problematic version was also pulled. For anyone having this issue - steamos-reboot --reboot-other will get you back into the other/older OS.
Looking through the images - 20230911.100 and 20230911.1000 seems to be out - although I didn't try them myself.
Can anyone check those out (should pop-up via the steam client UI) and let us know, how it goes.
Edit: Scratch that - images have been generated, but are not available via the client just yet. Still keep an eye open and let us know how it goes.
We had a few main and beta-candidate images since the above issue and the issue seems to be resolved on my end.
So unless the OP can provide details how the latest version is failing, I suspect we can close this?
Closing per the last comment.