Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Mar 2021 21:15:14 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 254395] bsdinstall: fail script install after BETA3
Message-ID:  <bug-254395-227-nnd8GcrFDg@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-254395-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-254395-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D254395

--- Comment #15 from commit-hook@FreeBSD.org ---
A commit in branch releng/13.0 references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=3D3ef46634cd5a6ba0e156d5da095bbee5f=
63ec1cd

commit 3ef46634cd5a6ba0e156d5da095bbee5f63ec1cd
Author:     Nathan Whitehorn <nwhitehorn@FreeBSD.org>
AuthorDate: 2021-03-23 13:19:42 +0000
Commit:     Nathan Whitehorn <nwhitehorn@FreeBSD.org>
CommitDate: 2021-03-23 19:22:20 +0000

    Fix scripted installs on EFI systems after default mounting of the ESP.

    Because the ESP mount point (/boot/efi) is in mtree, tar will attempt to
    extract a directory at that point post-mount when the system is install=
ed.
    Normally, this is fine, since tar can happily set whatever properties it
    wants. For FAT32 file systems, however, like the ESP, tar will attempt =
to
    set mtime on the root directory, which FAT does not support, and tar wi=
ll
    interpret this as a fatal error, breaking the install (see
    https://github.com/libarchive/libarchive/issues/1516). This issue would
    also break scripted installs on bare-metal POWER8, POWER9, and PS3
    systems, as well as some ARM systems.

    This patch solves the problem in two ways:
    - If stdout is a TTY, use the distextract stage instead of tar, as in
      interactive installs. distextract solves this problem internally and
      provides a nicer UI to boot, but requires a TTY.
    - If stdout is not a TTY, use tar but, as a stopgap for 13.0, exclude
      boot/efi from tarball extraction and then add it by hand. This is a
      hack, and better solutions (as in the libarchive ticket above) will
      obsolete it, but it solves the most common case, leaving only
      unattended TTY-less installs on a few tier-2 platforms broken.

    In addition, fix a bug with fstab generation uncovered once the tar iss=
ue
    is fixed that umount(8) can depend on the ordering of lines in fstab in=
 a
    way that mount(8) does not. The partition editor now writes out fstab in
    mount order, making sure umount (run at the end of scripted, but not
    interactive, installs) succeeds.

    PR:             254395
    Approved by:    re (gjb)
    Reviewed by:    gjb, imp
    MFC after:      3 days
    Differential Revision:  https://reviews.freebsd.org/D29380

    (cherry picked from commit c2f16c595eb51c6e0cb6ece3f6f078d738019059)
    (cherry picked from commit 4601382e1362352f17a33e4ed38db5dcfe3f6be5)

 usr.sbin/bsdinstall/partedit/partedit.c | 39 +++++++++++++++++++++++++++++=
++++
 usr.sbin/bsdinstall/scripts/script      | 30 ++++++++++++++++++-------
 2 files changed, 61 insertions(+), 8 deletions(-)

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-254395-227-nnd8GcrFDg>