From owner-freebsd-current@freebsd.org Fri Mar 19 22:11:11 2021 Return-Path: Delivered-To: freebsd-current@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 086AA5AE156 for ; Fri, 19 Mar 2021 22:11:11 +0000 (UTC) (envelope-from bsd-lists@bsdforge.com) Received: from mailman.nyi.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 4F2J4t5NkMz4T5x for ; Fri, 19 Mar 2021 22:11:10 +0000 (UTC) (envelope-from bsd-lists@bsdforge.com) Received: by mailman.nyi.freebsd.org (Postfix) id B8D6B5AE3F5; Fri, 19 Mar 2021 22:11:10 +0000 (UTC) Delivered-To: current@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B8A2D5AE155 for ; Fri, 19 Mar 2021 22:11:10 +0000 (UTC) (envelope-from bsd-lists@bsdforge.com) Received: from udns.ultimatedns.net (static-24-113-41-81.wavecable.com [24.113.41.81]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "ultimatedns.net", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4F2J4t3bgnz4TMj; Fri, 19 Mar 2021 22:11:10 +0000 (UTC) (envelope-from bsd-lists@bsdforge.com) Received: from ultimatedns.net (localhost [127.0.0.1]) by udns.ultimatedns.net (8.16.1/8.16.1) with ESMTP id 12JMB6jX079902; Fri, 19 Mar 2021 15:11:12 -0700 (PDT) (envelope-from bsd-lists@bsdforge.com) MIME-Version: 1.0 Date: Fri, 19 Mar 2021 15:11:06 -0700 From: Chris To: bugzilla-noreply@freebsd.org Cc: current@freebsd.org Subject: Re: [Bug 254395] bsdinstall: fail script install after BETA3 In-Reply-To: References: User-Agent: UDNSMS/17.0 Message-ID: <2132088f8d7addba911e3f49fc674e1b@bsdforge.com> X-Sender: bsd-lists@bsdforge.com Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 4F2J4t3bgnz4TMj X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 19 Mar 2021 22:11:11 -0000 On 2021-03-19 13:06, bugzilla-noreply@freebsd.org wrote: > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=254395 > > Nathan Whitehorn changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Severity|Affects Only Me |Affects Some People > CC| |imp@FreeBSD.org > Priority|--- |Normal > > --- Comment #6 from Nathan Whitehorn --- > Thanks for the suggestion about the documentation -- I've updated the man > page. > > The core problem here is that our tar can't extract archives to FAT32 with > default options, since it treats inability to set modification time as a > fatal > error and FAT32 doesn't let you do that on the root directory. As such, any > file in the release tarballs can't be extracted to FAT32. For interactive > installations, the bsdinstall distextract tool, a CURSES-y frontend to > libarchive, solves this by ignoring ctime/mtime errors. > > Some extra commentary on solutions, so it can be in one place. Possibilities > are: > > 1. We drop /boot/efi from mtree. That will result in it not existing in > base.txz, solving this issue, but will result in it not being in mtree. It > will > also leave in place an identical bug that will break scripted installation > on > bare-metal POWER8 and POWER9 systems, although that is a tier-2 platform. > > 2. We add an option to tar to ignore failure in setting ctime/mtime, like > the > interactive installer uses. This has the difficulty that the patch is hacky > and > would have to go through upstream. > > 3. We go back to using distextract for scripted installations as well as > interactive ones, reverting d7640440fb644fde697f62fdff0b55aa3a4d5ef7. This > fixes this issue but will result in installation failures for scripted > installs > without a controlling tty. (It will also add nice progress bars to scripted > installs). > > 4. We do --exclude /boot/efi when running tar, then mkdir -p it by hand > afterward. This is incredibly hacky and otherwise essentially functionally > equivalent to #1. Like #1, it will fix this issue and has no obvious > functional > downside, but leaves scripted installs bare-metal POWER8 and POWER9 broken. > > 5. We patch the file system driver to (pretend to) allow setting times on > the > mount point. I don't want to do this, since I don't want to solve this in > the > kernel at RC3 and I don't like it pretending to do things it can't do. 6. (my favorite) do NOT require that the efi/ partition be in strictly a fat32 format. I mean fat32 is not strictly required as the format for the efi partition. It is simply _assumed_ to be the required format and as such, the one used in so many cases. Whould it actually be that much harder to use ffs/ufs? You asked. ;-) > > -------- > > Of these, 1, 3, and 4 are quite easy to implement, but all have some > downside. > My temptation is to do 4 for 13.0, since it will definitely work but is just > lame, then either do #2 or a variant on #3 where distextract notices there > is > no tty and doesn't try to set up a dialog as a longer-term fix in HEAD. Any > thoughts?