https://fedoraproject.org/wiki/Changes/ModernizeLiveMedia

This document represents a proposed Change. As part of the Changes
process, proposals are publicly announced in order to receive
community feedback. This proposal will only be implemented if approved
by the Fedora Engineering Steering Committee.


== Summary ==
Modernize the live media by switching to the "new" live environment
setup scripts provided by {{package|livesys-scripts}} and leverage new
functionality in {{package|dracut}} to enable support for
automatically enabling persistent overlays when flashed to USB sticks.

== Owner ==
* Name: [[User:Ngompa|Neal Gompa]], [[User:Mcoleman|Matt Coleman]]
* Email: ngomp...@gmail.com, m...@1eanda.com


== Detailed Description ==
As part of preparing to change our tooling around producing images, we
need to update the way we produce working live media. This has been
done in two parts: the live environment setup scripts have been
reworked to run properly through systemd and are packaged in
{{package|livesys-scripts}} and new functionality in
{{package|dracut}} has been added to enable support for automatically
enabling persistent overlays when flashed to USB sticks so that
<code>livecd-iso-to-disk.sh</code> can be retired.


== Benefit to Fedora ==
Since we introduced [[Releases/FeatureLiveCD|live media in Fedora
Linux 7]], the actual mechanism in which the live environment sets
itself up has been complex and intricately tied to the method in which
we produce the media (using Kickstarts). The nature of the
implementation of those scripts means that they are hard to understand
and debug, which has caused problems in the past whenever we've needed
to update them.

As we look forward to new and better tooling for producing images
(such as {{package|kiwi}} and {{package|osbuild}}), we cannot continue
to rely on kickstart-driven image builds that construct shell scripts
on the fly to embed in the image as we do now. With
{{package|livesys-scripts}}, those scripts have been simplified and
turned into systemd services that activate only in live environments.

This also gives us the opportunity to introduce new functionality for
live media. [https://github.com/dracutdevs/dracut/pull/1991 New
functionality was added to dracut] and
[https://src.fedoraproject.org/rpms/dracut/pull-request/26 backported
to Fedora] so that we can retire the remaining usage of
<code>livecd-iso-to-disk.sh</code> and provide a better experience
with our live media, particularly for portable backup and rescue
environments by introducing the ability to automatically setup
persistence on boot when unpartitioned space is detected on a USB
stick on boot.

== Scope ==
* Proposal owners:
** Modify [https://pagure.io/fedora-kickstarts fedora-kickstarts] to
drop embedded livesys setup scripts and use
{{package|livesys-scripts}}
** Add <code>livesys.service</code> and
<code>livesys-late.service</code> to the systemd presets in
{{package|fedora-release}}
** [https://src.fedoraproject.org/rpms/dracut/pull-request/26 Backport
<code>dmsquash-live-autooverlay</code> module] to {{package|dracut}}
** Modify 
[https://github.com/weldr/lorax/tree/master/share/templates.d/99-generic
lorax-generic-templates] to offer menu entries for configuring the
persistent overlay

* Other developers:
** Anaconda may need adaptations to correctly filter out more live
environment specific boot arguments when configuring the installed
environment.

* Release engineering: [https://pagure.io/releng/issue/11091 #11091]

* 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 ==
There should be no impact here, as this affects only the live environment.

== How To Test ==
Once the changes are merged, simply try to boot produced live media.

There should be new options for resetting the persistent overlay and
booting with no persistence. The default options should boot with
persistence and setup of persistence should work.

Testing persistence behavior is simple:

# Boot normally
# Create a file in the home directory
# Reboot into the environment
# See the file is there still

Testing the reset behavior would go similar to the regular test,
except you should expect the file to not show up in step 4. Same for
booting with no persistence.

Otherwise, the media should work like before, and things like live
installation should work as expected.

== User Experience ==
When booting live media, two new menu options will become available:
one to reset the persistent overlay while booting, and one to boot
without persistence. The default boot options will create a persistent
overlay if it doesn't exist and can be written (e.g. when booting from
a USB stick).

== Dependencies ==
* [https://pagure.io/fedora-kickstarts fedora-kickstarts]
* {{package|anaconda}}
* {{package|dracut}}
* {{package|livesys-scripts}}
* {{package|lorax}}

== Contingency Plan ==
* Contingency mechanism: Revert changes to fedora-kickstarts and lorax
to go back to previous behavior
* Contingency deadline: Final Freeze
* Blocks release? Yes


== Documentation ==
Information on the persistent overlay functionality is included in the
Dracut documentation.

== Release Notes ==
By default, Fedora Linux live environments flashed to writable USB
media with sufficient free space will maintain user changes to the
environment. This "persistence" can be reset at boot time through the
boot menu.


-- 
Ben Cotton
He / Him / His
Fedora Program Manager
Red Hat
TZ=America/Indiana/Indianapolis
_______________________________________________
devel-announce mailing list -- devel-announce@lists.fedoraproject.org
To unsubscribe send an email to devel-announce-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel-announce@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to