Date: Mon, 6 Jun 2022 09:46:21 +0000 (UTC) From: Filippo Moretti <filippomore@yahoo.com> To: FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: Loader can't find /boot/ua/loader.lua on UFS after main-n255828-18054d0220c Message-ID: <842021085.7679468.1654508781175@mail.yahoo.com> In-Reply-To: <CANCZdfr3gVXT6qEvXY3S9AeuBT7KKs_YcrBEk60a0jZmZ531VQ@mail.gmail.com> References: <YpQdK70gH%2B%2BZ9ZjA@albert.catwhisker.org> <AE2261C9-12E5-4DA2-AEA9-43C3E9C4AA2A@me.com> <YpSb5aWAn3DYZXZQ@albert.catwhisker.org> <CANCZdfqDx2rVNy=K1rcbQZu1igFDhuUwwBQN7UN9p=Ya-t3ZbA@mail.gmail.com> <7BEE44CC-4D31-4CBC-BC12-9A327424299C@me.com> <CANCZdfpqiOj595_uU=kWg4qD37GCO1zXZo6B2MUbWTokUeugHg@mail.gmail.com> <20220530223432.D91C518F@slippy.cwsent.com> <CA%2Bq%2BTcp_wfhhK2CvdKsx9GwkKmD3mR9D12pny4ge1Dq4=NokDQ@mail.gmail.com> <CANCZdfr3gVXT6qEvXY3S9AeuBT7KKs_YcrBEk60a0jZmZ531VQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
------=_Part_7679467_261928603.1654508781173 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable =20 Is it now safe to attempt updating current with UFS?SincerelyFilippo On Wednesday, June 1, 2022 at 01:07:20 AM GMT+2, Warner Losh <imp@bsdim= p.com> wrote: =20 =20 =20 On Tue, May 31, 2022 at 3:55 PM Olivier Cochard-Labb=C3=A9 <olivier@freebsd= .org> wrote: Same problem here:- I'm building FreeBSD head on a builder machine, and NFS= mounting its /usr/src and /usr/obj to 4 others Results:- 2 of them, UEFI+ZFS machines works great ((Thinkpad T420 and AMD = Epyc with Tyan motherboard)- 2 of them, BIOS+UFS machines meet this "can't = find /boot/ua/loader.lua" (HP microserver and PC Engines APU2) I had to boot from an USB stick, mounting the system partition and "cp boot= /loader_4th.old boot/loader". Kirk found that the boot loader defines MAXPHYS to be 128k, which only is f= or the BIOS loader since it's 32-bit. UEFIis 64-bits and just works because= it's define to 1MB. So the UEFI machines with ZFS are doubly safe. Kirk ha= s a changethat relaxes the check and I think we should do this diff --git a/sys/sys/param.h b/sys/sys/param.h index 1f720ed31142..8cd9616e872e 100644 --- a/sys/sys/param.h +++ b/sys/sys/param.h @@ -176,7 +176,7 @@ =C2=A0#define DFLTPHYS =C2=A0 =C2=A0 =C2=A0 (64 * 1024) =C2=A0 =C2=A0 /* de= fault max raw I/O transfer size */ =C2=A0#endif =C2=A0#ifndef MAXPHYS =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* max raw I/O t= ransfer size */ -#ifdef __ILP32__ +#if defined(__ILP32__) && !defined(_STANDALONE) /* Always 1M for loader */ =C2=A0#define MAXPHYS =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0(128 * 1024) =C2=A0#else =C2=A0#define MAXPHYS =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0(1024 * 1024) as well to ensure that the loader always assumes a larger MAXPHYS (though I= 'd kinda like the loader to notdefine it at all, but that is a longer conve= rsation after reflection not a quick fix to get people back up andrunning). Warner =20 ------=_Part_7679467_261928603.1654508781173 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <html><head></head><body><div class=3D"ydp1922b367yahoo-style-wrap" style= =3D"font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px= ;"><div></div> <div><br></div><div dir=3D"ltr" data-setdir=3D"false">Is it now saf= e to attempt updating current with UFS?</div><div dir=3D"ltr" data-setdir= =3D"false">Sincerely</div><div dir=3D"ltr" data-setdir=3D"false">Filippo<br= ></div> =20 </div><div id=3D"yahoo_quoted_4794599096" class=3D"yahoo_quoted"> <div style=3D"font-family:'Helvetica Neue', Helvetica, Arial, s= ans-serif;font-size:13px;color:#26282a;"> =20 <div> On Wednesday, June 1, 2022 at 01:07:20 AM GMT+2, Warner= Losh <imp@bsdimp.com> wrote: </div> <div><br></div> <div><br></div> <div><div id=3D"yiv0786447234"><div><div dir=3D"ltr"><div d= ir=3D"ltr"><br clear=3D"none"></div><br clear=3D"none"><div class=3D"yiv078= 6447234gmail_quote"><div id=3D"yiv0786447234yqt94645" class=3D"yiv078644723= 4yqt8846933344"><div dir=3D"ltr" class=3D"yiv0786447234gmail_attr">On Tue, = May 31, 2022 at 3:55 PM Olivier Cochard-Labb=C3=A9 <<a rel=3D"nofollow n= oopener noreferrer" shape=3D"rect" ymailto=3D"mailto:olivier@freebsd.org" t= arget=3D"_blank" href=3D"mailto:olivier@freebsd.org">olivier@freebsd.org</a= >> wrote:<br clear=3D"none"></div><blockquote style=3D"margin:0px 0px 0p= x 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex;" class=3D"= yiv0786447234gmail_quote"><div dir=3D"ltr"><div dir=3D"ltr"><div>Same probl= em here:</div><div>- I'm building FreeBSD head on a builder machine, and NF= S mounting its /usr/src and /usr/obj to 4 others</div><div><br clear=3D"non= e"></div><div>Results:</div><div>- 2 of them, UEFI+ZFS machines works great= ((Thinkpad T420 and AMD Epyc with Tyan motherboard)</div><div>- 2 of them,= BIOS+UFS machines meet this "can't find /boot/ua/loader.lua" (HP microserv= er and PC Engines APU2)</div><div><br clear=3D"none"></div><div>I had to bo= ot from an USB stick, mounting the system partition and "cp boot/loader_4th= .old boot/loader".</div></div></div></blockquote></div><div><br clear=3D"no= ne"></div><div>Kirk found that the boot loader defines MAXPHYS to be 128k, = which only is for the BIOS loader since it's 32-bit. UEFI</div><div>is 64-b= its and just works because it's define to 1MB. So the UEFI machines with ZF= S are doubly safe. Kirk has a change</div><div>that relaxes the check and I= think we should do this</div><div><br clear=3D"none"></div><div>diff --git= a/sys/sys/param.h b/sys/sys/param.h<br clear=3D"none">index 1f720ed31142..= 8cd9616e872e 100644<br clear=3D"none">--- a/sys/sys/param.h<br clear=3D"non= e">+++ b/sys/sys/param.h<br clear=3D"none">@@ -176,7 +176,7 @@<br clear=3D"= none"> #define DFLTPHYS (64 * 1024) = /* default max raw I/O transfer size */<br clear=3D"none"> #endif<br = clear=3D"none"> #ifndef MAXPHYS &nb= sp; /*= max raw I/O transfer size */<br clear=3D"none">-#ifdef __ILP32__<br clear= =3D"none">+#if defined(__ILP32__) && !defined(_STANDALONE) /* Alway= s 1M for loader */<br clear=3D"none"> #define MAXPHYS &n= bsp; (128 * 1024)<br clear=3D"none"> = ;#else<br clear=3D"none"> #define MAXPHYS = (1024 * 1024)<br clear=3D"none"></div><div><br c= lear=3D"none"></div><div>as well to ensure that the loader always assumes a= larger MAXPHYS (though I'd kinda like the loader to not</div><div>define i= t at all, but that is a longer conversation after reflection not a quick fi= x to get people back up and</div><div>running).</div><div><br clear=3D"none= "></div><div>Warner</div></div></div> </div></div></div> </div> </div></body></html> ------=_Part_7679467_261928603.1654508781173--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?842021085.7679468.1654508781175>