From Fedora Project Wiki

Add Fedora Auto Firstboot Services to desktop variants

Summary

Add fedora-autofirstboot to desktop variants to run a predetermined set of tasks on first boot after post installation, notably installing codecs and cleaning up installer packages from the installed system.

Owner


Current status

Detailed Description

fedora-autofirstboot is a collection of scripts that invoke on firstboot of a freshly installed system to run a set of predetermined tasks. It also provides a framework for third-parties to introduce their own firstboot tasks to run through this framework. The initial services included are to install OpenH264 and remove Anaconda.

Feedback

Based on the discussion with various stakeholders, this Change has been determined to be infeasible to implement.

The specific reasons for the lack of feasibility come down to the following issues:

  • No way to safely handle auto-installation reliably with unreliable network connectivity
  • No user interface handling for handling errors or failure modes
  • Induces automatic slowdowns on RPM-OSTree systems due to forced layering

There is no easy way to resolve these issues without completely reworking the whole thing, so this Change is shelved.

Benefit to Fedora

The main benefit is to smooth out the new user experience for new Fedora Linux installations. In particular, we can deal with a long-standing sticking point that Anaconda remains installed on the user's machine when it is not useful to do so.

Scope

  • Other developers: N/A (not needed for this Change)
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives: N/A

Upgrade/compatibility impact

This will have no impact on upgraded systems, since the firstboot condition is not true in that case.


How To Test

  1. Install Fedora Workstation, KDE, etc.
  2. Reboot into installed environment
  3. Check to see openh264 is installed and anaconda-core is not.

User Experience

The first boot will be slightly slower because of these tasks running, though they should happily run in the background as other services start up, so it should not be noticeable.

Dependencies

The main dependency is fedora-release, though we will need to ensure all udisks2 plugins get pulled in as dependencies for gnome-disks and blivet-gui so they don't get uninstalled when Anaconda is.


Contingency Plan

  • Contingency mechanism: Remove fedora-autofirstboot from the kickstarts
  • Contingency deadline: Final freeze
  • Blocks release? No


Documentation

There is not currently much documentation in the upstream project, though contributions are welcome.

Release Notes

Fedora Linux now ships with a framework for setting up first-boot services and uses this to install multimedia software and remove the installer software from the system after installation.