QubesOS / qubes-issues

The Qubes OS Project issue tracker
https://www.qubes-os.org/doc/issue-tracking/
536 stars 48 forks source link

Installer is handling some fatal errors poorly #9497

Open sjvudp opened 2 weeks ago

sjvudp commented 2 weeks ago

How to file a helpful issue

Qubes OS release

4.2.3

Brief summary

I re-installed Qubes OS using the "Custom" method, but did not re-create the VM thin pool, nor did I remove the existing vm-* LVs. After reboot when configuring the templates, that step aborted with some larger error message popup.

So far, so good (or not), BUT:

After clicking OK, the installation continued, and I was offered to log in to a qubes manager without any qube!

So wouldn't it make much more sense to store the bad state (not to talk about "intelligent" recovery), so that after rebooting the system again, it would re-try to create the templates (all, or just the bad/missing ones)? If it would work that way, I could lvremove the old vm-* LVs and reboot to have them re-created.

Or, alternatively, provide some command to trigger the template creation in case they are missing.

Steps to reproduce

Try a re-install, keeping the existing qubes LVs.

Expected behavior

There should be at least an error message before template configuration starts, saying that existing templates "are in the way", or templates with the same name should be replaced or upgraded in a more clever way. Or, I know that from HP-UX installation, if you reboot the unconfigured system, configuration restarts (either from the beginning, or at the last problem) until the system had been configured successfully.

Actual behavior

Installation continues after an error, resulting in an unusable system (with no instructions how to fix it). It seems the user has to repeat the complete installation then.

marmarek commented 2 weeks ago

Or, alternatively, provide some command to trigger the template creation in case they are missing.

This you can do, simply start initial-setup service. Or systemctl enable initial-setup and then reboot.