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

UX Tweaks [2/2] #600

Merged
merged 11 commits into from
Aug 21, 2019
Merged

UX Tweaks [2/2] #600

merged 11 commits into from
Aug 21, 2019

Conversation

MrChromebox
Copy link
Contributor

series of small tweaks to the HEADS UI which improve user experience:

  • add ability to directly access menu options in config-gui via function parameter
  • filter out invalid boot devices from options menu
  • don't reboot after creating new HOTP/TOTP
  • jump directly to boot device selection when existing is invalid
  • add Full Reset config option to reset TPM, GPG, boot signatures
  • check for file existence when persisting between flashes
  • default to Y when selecting a new boot device
  • prompt for retry when GPG card detection fails
  • better handle user cancellation when adding a new key to ROM
  • persist device serial in CBFS between flashes

Add optional parameter to bypass menu selection and
immediately select a menu option. This allows us to call
the 'Set Boot Device' option directly, saving the user
an unnecessary step.

Signed-off-by: Matt DeVillier <[email protected]>
use similar filtering logic as with USB drives to provide
the user a more sane list of boot device options. Show user
only valid bootable partitions, not block devices.

There's no point in showing /dev/nvme0 and /dev/nvme0n1 (eg)
when /dev/nvme0n1p[1..n] (eg) exist, as the former are not
valid boot devices.

Signed-off-by: Matt DeVillier <[email protected]>
Updating TOTP/HOTP is mainly necessary after a user updates
their firmware, and no need to force another reboot.

Signed-off-by: Matt DeVillier <[email protected]>
If the boot device is invalid or unabled to be mounted
and the user opts to select a new boot device, jump
directly to that menu option and avoid the additional
step of showing the config main menu.

Signed-off-by: Matt DeVillier <[email protected]>
Add Full Reset option to clear all GPG keys and user settings,
both from the local filesystem and running firmware, and
clear/reset the TPM

Signed-off-by: Matt DeVillier <[email protected]>
Check that any files added to cbfs exist before attempting to
add them, so flashing doesn't fail after a reset.

Signed-off-by: Matt DeVillier <[email protected]>
Next prompt will be to ensure GPG key is attached, which defaults
to Y, so default here as well for consistency

Signed-off-by: Matt DeVillier <[email protected]>
Initial card detection can sometimes fail, so prompt the user
to remove/reinsert their GPG card before retrying. Since
errexit is likely set, disable it prior to calling --card-status so
we can handle the error ourself, then re-set if necessary when done.

Signed-off-by: Matt DeVillier <[email protected]>
if user chooses abort option, exit without flashing ROM

Signed-off-by: Matt DeVillier <[email protected]>
Librem devices store their serial number as a text file
in cbfs; persist this across flashes.

Signed-off-by: Matt DeVillier <[email protected]>
Copy link
Collaborator

@kylerankin kylerankin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good. Had meant to merge quite some time ago after testing. Merging now.

@kylerankin kylerankin merged commit c5999d9 into linuxboot:master Aug 21, 2019
@MrChromebox MrChromebox deleted the ux_tweaks_2 branch September 30, 2019 19:02
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.

2 participants