Skip to content
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

Latest ISO doesn't automatically launch installer #600

Closed
davidmhewitt opened this issue Feb 28, 2022 · 6 comments
Closed

Latest ISO doesn't automatically launch installer #600

davidmhewitt opened this issue Feb 28, 2022 · 6 comments

Comments

@davidmhewitt
Copy link
Member

davidmhewitt commented Feb 28, 2022

What Happened?

The greeter is supposed to be responsible for launching the installer session when it detects it is installed.

Something has changed in the stack somewhere that prevents this from occurring successfully.

I believe this is because the elementary user that casper creates during bootup of the live ISO isn't recognised as a user by LightDM, and the Greeter follows the "no users, so launch initial setup" path.

It seems that casper creates this user as UID 999, and probably always has. LightDM uses AccountsService to get the list of valid "human" users to be displayed in the greeter. It seems that AccountsService now only treats users with UID >= 1000 as real users, whereas previously it must have done something else. So, this elementary user is not presented to the greeter as a valid user, and the initial setup flow is launched instead of the installer.

I don't think we can just change the logic to just launch the installer session regardless of whether there's a user or not, because it relies on launching the installer session as that user.

So, possible solutions:

  • Patch casper to create the live user with UID 1000
  • Patch whichever config AccountsService is looking at to have valid UIDs as >= 999 (probably in the ISO only)
  • Completely rethink/rework how the installer "sessions" work (i.e. have the installer run in a pantheon session, or see if it's possible to run it directly in the greeter instead of its own session)

Steps to Reproduce

  1. Boot 20220228 ISO
  2. End up at initial setup instead of installer

Expected Behavior

  1. Boot ISO
  2. Get to installer

OS Version

7.x (Early Access)

Software Version

Compiled from git

Log Output

No response

Hardware Info

No response

@davidmhewitt davidmhewitt moved this to Needs Discussion in OS 7 Feb 28, 2022
@davidmhewitt davidmhewitt moved this from Needs Discussion to Todo in OS 7 Mar 1, 2022
@danirabbit
Copy link
Member

I can confirm this issue. It seems like this would be a good time to revisit this in Greeter and maybe change the way we launch the installer to detecting Casper?

@davidmhewitt
Copy link
Member Author

I don't think I understand your proposal.

We currently rely on LightDM to autologin to either the installer session or the demo session.

But as far as it's concerned, there is no user to autologin to. It's accountsservice that provides the list of users. And accountsservice has decided that users with UID < 1000 aren't users.

@danirabbit
Copy link
Member

Ah yeah sorry I haven't jumped into the code here yet. I know accountservice now automatically ignores non-person accounts in its list of users. I was more just commenting that we can probably still solve this in greeter instead of with a patch and that there's probably some code in greeter we can revisit anyways that was launching the installer whenever it's installed regardless of whether we were in a live session

@davidmhewitt
Copy link
Member Author

davidmhewitt commented May 16, 2022

The installer is currently a session, and a session needs a user to run under, and for all intents and purposes, we don't have a user (at least not one the greeter can see or launch sessions under).

If we rework the whole thing so that the installer process runs under the greeter rather than in a session, then sure, we don't have to patch anything.

But I bet we'd find a bunch of other issues.

@davidmhewitt
Copy link
Member Author

davidmhewitt commented Sep 26, 2022

I built a patched version of the caper package yesterday: elementary/os-patches@casper-jammy...casper-jammy-patched

It's in the launchpad PPA and the latest daily iso was built with it included: https://github.com/elementary/os/actions/runs/3124228888/jobs/5071898039

However, I've not been able to test it because the builds site is showing the 20220925 daily as the latest available to download instead of the 20220926 including the potential fix.

@danirabbit Could you look to see if this is a recurrence of this issue? elementary/builds#62

I think if there's a bunch too many files in the DO bucket, then we start to miss some of the newer files on the frontend. Don't know if we want to be more aggressive at cleanup policies to remove older images.

@davidmhewitt
Copy link
Member Author

davidmhewitt commented Sep 26, 2022

The latest daily iso now launches the installer correctly, if we want to take this approach and make this change permanent, we should merge elementary/os-patches#254

If we don't want to take this approach, we'll need to delete the casper packages and recipes from the patches PPA.

Repository owner moved this from Needs Review to Done in OS 7 Sep 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Status: Done
2 participants