Date: Sat, 20 Mar 2021 00:49:09 +0200 From: Toomas Soome <tsoome@me.com> To: current@freebsd.org Subject: Re: [Bug 254395] bsdinstall: fail script install after BETA3 Message-ID: <28321ED9-BFAF-434A-9E3E-07932A3B4863@me.com> In-Reply-To: <024a371e-a57d-9b94-b85a-e8b59be76a22@yuripv.dev> References: <bug-254395-2597@https.bugs.freebsd.org/bugzilla/> <bug-254395-2597-djsz8ngnqS@https.bugs.freebsd.org/bugzilla/> <2132088f8d7addba911e3f49fc674e1b@bsdforge.com> <024a371e-a57d-9b94-b85a-e8b59be76a22@yuripv.dev>
next in thread | previous in thread | raw e-mail | index | archive | help
> On 20. Mar 2021, at 00:21, Yuri Pankov <yuripv@yuripv.dev> wrote: >=20 > Chris wrote: >> On 2021-03-19 13:06, bugzilla-noreply@freebsd.org wrote: >>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D254395 >>>=20 >>> Nathan Whitehorn <nwhitehorn@FreeBSD.org> changed: >>>=20 >>> What |Removed |Added >>> = --------------------------------------------------------------------------= -- >>>=20 >>> Severity|Affects Only Me |Affects Some People >>> CC| |imp@FreeBSD.org >>> Priority|--- |Normal >>>=20 >>> --- Comment #6 from Nathan Whitehorn <nwhitehorn@FreeBSD.org> --- >>> Thanks for the suggestion about the documentation -- I've updated = the >>> man page. >>>=20 >>> 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. >>>=20 >>> Some extra commentary on solutions, so it can be in one place. >>> Possibilities >>> are: >>>=20 >>> 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. >>>=20 >>> 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. >>>=20 >>> 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). >>>=20 >>> 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. >>>=20 >>> 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. >>=20 >> 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. >=20 > Wrong, see "13.3 File System Format" in UEFI specification. >=20 it is not as simple as that:) 13.3.1.1 is more specific: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D The EFI firmware must support the FAT32, FAT16, and FAT12 variants of = the EFI file system. What variant of EFI FAT to use is defined by the = size of the media. The rules defining the relationship between media = size and FAT variants is defined in the specification for the EFI file = system. =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D rgds, toomas
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?28321ED9-BFAF-434A-9E3E-07932A3B4863>