guix-play/gnu/installer
Mathieu Othacehe 8ce6f4dc28
installer: Run the installation inside a container.
When the store overlay is mounted, other processes such as kmscon, udev
and guix-daemon may open files from the store, preventing the
underlying install support from being umounted. See:
https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html.

To avoid this situation, mount the store overlay inside a container,
and run the installation from within that container.

* gnu/build/shepherd.scm (fork+exec-command/container): New procedure.
* gnu/services/base.scm (guix-shepherd-service): Support an optional PID
argument passed to the "start" method. If that argument is passed, ensure that
guix-daemon enters the given PID MNT namespace by using
fork+exec-command/container procedure.
* gnu/installer/final.scm (umount-cow-store): Remove it,
(install-system): run the installation from within a container.
* gnu/installer/newt/final.scm (run-install-shell): Remove the display hack.
2020-09-02 17:05:23 +02:00
..
aux-files
newt installer: Run the installation inside a container. 2020-09-02 17:05:23 +02:00
connman.scm
final.scm installer: Run the installation inside a container. 2020-09-02 17:05:23 +02:00
hostname.scm
keymap.scm
locale.scm
newt.scm
parted.scm installer: Remove logical devices. 2020-08-06 11:31:38 +02:00
proxy.scm
record.scm
services.scm
steps.scm
tests.scm
timezone.scm
user.scm
utils.scm