Manual Review + Autoconnect Request for "factory-reset-tools"

I would like to ask for manual review for “factory-reset-tools” snap, which provides tools for Ubuntu-preinstalled systems to create USB media for factory reset, and change GRUB boot entry to boot into reset partition or UEFI firmware setup. Some customization are available due to requests from PC OEM to change launch items (which can call different GRUB entry or a script to change the content of the reset partition).

This tool requires permissions to format a USB flash drive in order to create a reset media from the reset partition, which exists in the Ubuntu-preinstalled systems.

The request for dbus is that it uses a daemon to change the content of /boot/grub/grubenv, and we are using dbus for IPC.

This snap is intended for systems preloaded with 24.04 Classic installations.

A separate request will be filed to transfer ownership to Canonical.

Source code is available at https://github.com/canonical/factory-reset-tools

based on the functionality of the snap the following requested interfaces are expected, therefore +1 from me for auto-connect of the followings to factory-reset-tools snap:

  • block-devices
  • system-files
    • write:
      • /var/lib/snapd/hostfs/boot/grub
    • read:
      • /etc/reset_partition_fsuuid

However, regarding read access to /usr/share/desktop-provision/reset.yaml , I believe it should belong to Ubuntu Desktop Provision, but since I’m not quite familiar with it, could you please briefly explain why you need this access? Thanks.

The project has just been transferred under ubuntu-desktop-provision to be managed as a monorepo. We will need a wider access for the whole /usr/share/desktop-provision/ in order to get the theming file whitelabel.yaml and the OEM logo inside it.

This package is still in development, I am not sure when we should submit for review, I was thinking to do it early to ensure the delivery is on schedule.

@medicalwei Can you please specifically detail what accesses are required for this snap? I couldn’t find a snapcraft.yaml in the ubuntu-desktop-provision repo.