Skip to content

SteamOS Update Resilience #14

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

diericx
Copy link
Contributor

@diericx diericx commented Dec 14, 2023

I would love to see these changes persist through a SteamOS update. Here are some changes I think will work, but have not been thoroughly tested yet through an actual update.

From my understanding the only reason this solution breaks on an os update is systemd-sysext is comparing extension-release.tailscaled against /etc/os-release and the versions are not matching.

The idea here is that we stop checking against our system version when mounting the system extension. From the docs:

A simple mechanism for version compatibility is enforced: a system extension image must carry a /usr/lib/extension-release.d/extension-release.NAME file, which must match its image name, that is compared with the host os-release file: the contained ID= fields have to match unless "_any" is set for the extension. If the extension ID= is not "_any", the SYSEXT_LEVEL= field (if defined) has to match. If the latter is not defined, the VERSION_ID= field has to match instead.

So I believe if we set ID to _any it will not continue comparing against /etc/os-release. I'm not sure where the SYSEXT_LEVEL value is coming from though...

I think we should wait until someone can really test this though.

@diericx diericx marked this pull request as draft December 14, 2023 23:48
@legowerewolf legowerewolf changed the title SteamOS Update Resliance SteamOS Update Resilience Dec 15, 2023
@legowerewolf
Copy link
Contributor

Alright, I've applied ID=_any on my Deck, and it works fine for me. I'd be comfortable merging it in now, but if you want we can wait for the next SteamOS update and check again then.

@legowerewolf legowerewolf linked an issue Dec 15, 2023 that may be closed by this pull request
@gustakasn0v
Copy link

I'd be okay merging this, even if we haven't tested it with a real update. I can't see it worsening the current experience or malfunctioning, and it stands a good chance at surviving future updates.

I'll report back when I receive a SteamOS update with my anecdotes. I suggest we keep #13 open until then

@diericx
Copy link
Contributor Author

diericx commented Dec 15, 2023

Whatever ya'll are cool with! I'll mark it as ready in the meantime. :)

@diericx diericx marked this pull request as ready for review December 15, 2023 22:44
@legowerewolf legowerewolf changed the base branch from main to as-system-extension December 16, 2023 23:19
@legowerewolf legowerewolf merged commit 1316390 into tailscale-dev:as-system-extension Dec 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

System extension fails to merge after a SteamOS update
3 participants