Skip site navigation (1)Skip section navigation (2)
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>