From owner-freebsd-current@freebsd.org Fri Mar 19 22:56:07 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 EE0A05AF565 for ; Fri, 19 Mar 2021 22:56:07 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mailman.nyi.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 4F2K4l4RgRz4WrJ for ; Fri, 19 Mar 2021 22:56:07 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mailman.nyi.freebsd.org (Postfix) id 988535AF564; Fri, 19 Mar 2021 22:56:07 +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 984565AF6B0 for ; Fri, 19 Mar 2021 22:56:07 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qv1-xf2b.google.com (mail-qv1-xf2b.google.com [IPv6:2607:f8b0:4864:20::f2b]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4F2K4l3kHpz4X6p for ; Fri, 19 Mar 2021 22:56:07 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qv1-xf2b.google.com with SMTP id 30so5834569qva.9 for ; Fri, 19 Mar 2021 15:56:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=9IXJFhN1zERX3NcMDdBzoksuykds1yLQ8tcy1g4tj/k=; b=H3XuponWXwqFhJCkvU++N4CTYqSJXXSOAACk+dzIayCz7O5/r0+KBGLln6U0MiVEun YkRth5nu8PFjsiBnHEViI9nanK7e3G2P0gOUdYvQ5pSny/SZCYDBJMyyKfzJkZiveFg/ jPkHzjYUmxCHIFmLou+TvasBe5OT+3ecAXWCxN9PzZqThCvLaOS8P3ZdGj5YvFXSMige 2cD2s9Mph740PLEq5v5y3EC31xjPMxGz6HGzWoYtHCWojWrkqXGBkWicQG5m/pm11emy POFynS192lz4N73166krli6AHO9YRkr8VDfA5szhqtKT6/F6fohhMk14Y5r8fWVGN/C6 h1Jw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=9IXJFhN1zERX3NcMDdBzoksuykds1yLQ8tcy1g4tj/k=; b=jMTTD1OkO7KEJ05BLn+xVNBit8dsy7A2O7drJtck96RYdvnneiSBlMux+ieQ+fGtgo GTbJowp6dLjtDU8jMoSQyRKvJq6rN8smAQt9YE/RWIFmXHXWnGokBtbJTCEOfxZrUBeu /LKz0yenj7B71tIRKB8wqnSt6aLEnWyTHJc7OQodasJSyurNbpCzcXq3quqv4axFQrM2 ZW08KDjDm78+M7KQTQv953t593FGIUqKebpizfZgDnyoNQLT+ttnRs/ZKwxfrMH/yB4K +rS3M/Bpx1+pSwYVyv2wBV0Zb2eI6Kh6Rjv+qQo4YDkJKoKFlZ3My84sbDAdhmR9tf4l XZbA== X-Gm-Message-State: AOAM530usBkpkcKes0nvjxPSoUuQB1yQZelVaW7F5gtmaCnC+D/v1g4H PqDR2fUEWWfv8KtboPOpvE/YBVdmhBpQshwE+PEv+Q== X-Google-Smtp-Source: ABdhPJw1wmHiVur5dwo8qanfkIItVNmU3nR4EQj+xwGrvwnI9mOnbw+fjN3esR8jCBw4XM7Raxb+L+A6MHIijvsAwFs= X-Received: by 2002:a05:6214:aae:: with SMTP id ew14mr11645572qvb.24.1616194566249; Fri, 19 Mar 2021 15:56:06 -0700 (PDT) MIME-Version: 1.0 References: <2132088f8d7addba911e3f49fc674e1b@bsdforge.com> <024a371e-a57d-9b94-b85a-e8b59be76a22@yuripv.dev> <28321ED9-BFAF-434A-9E3E-07932A3B4863@me.com> In-Reply-To: <28321ED9-BFAF-434A-9E3E-07932A3B4863@me.com> From: Warner Losh Date: Fri, 19 Mar 2021 16:55:55 -0600 Message-ID: Subject: Re: [Bug 254395] bsdinstall: fail script install after BETA3 To: Toomas Soome Cc: FreeBSD Current X-Rspamd-Queue-Id: 4F2K4l3kHpz4X6p X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.34 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:56:08 -0000 On Fri, Mar 19, 2021 at 4:49 PM Toomas Soome via freebsd-current < freebsd-current@freebsd.org> wrote: > > > > On 20. Mar 2021, at 00:21, Yuri Pankov wrote: > > > > Chris wrote: > >> 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. > > > > Wrong, see "13.3 File System Format" in UEFI specification. > > > > it is not as simple as that:) > > > 13.3.1.1 is more specific: > ===================== > 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. > We've also seen a few non-conformant systems where FAT12 support has been removed, so there's also a bit of real-world experience that goes along with reading the UEFI specification :(. Warner On Fri, Mar 19, 2021 at 4:49 PM Toomas Soome via freebsd-current < freebsd-current@freebsd.org> wrote: > > > > On 20. Mar 2021, at 00:21, Yuri Pankov wrote: > > > > Chris wrote: > >> 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. > > > > Wrong, see "13.3 File System Format" in UEFI specification. > > > > it is not as simple as that:) > > > 13.3.1.1 is more specific: > ===================== > 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. > > ===================== > > rgds, > toomas > > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" >