Date: Sat, 7 Sep 2024 21:31:21 -0600 From: Warner Losh <imp@bsdimp.com> To: Tomoaki AOKI <junchoon@dec.sakura.ne.jp> Cc: Mark Millard <marklmi@yahoo.com>, void <void@f-m.fm>, Current FreeBSD <freebsd-current@freebsd.org> Subject: Re: Loader needs to be updated message Message-ID: <CANCZdfqO20t_AW6Z%2Bas6d7Wq_8u4RTs8f_4e9Fio-PU20DPh9w@mail.gmail.com> In-Reply-To: <20240908121601.2cb0dd605bf1669028c4b4ae@dec.sakura.ne.jp> References: <082B95C0-8D03-40E6-A5DD-EA8723FA9AF3.ref@yahoo.com> <082B95C0-8D03-40E6-A5DD-EA8723FA9AF3@yahoo.com> <20240908121601.2cb0dd605bf1669028c4b4ae@dec.sakura.ne.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
--000000000000ddf0bd06219346a4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Sep 7, 2024, 9:16=E2=80=AFPM Tomoaki AOKI <junchoon@dec.sakura.ne.j= p> wrote: > On Sat, 7 Sep 2024 19:38:47 -0700 > Mark Millard <marklmi@yahoo.com> wrote: > > > void <void_at_f-m.fm> wrote on > > Date: Sat, 07 Sep 2024 17:27:00 UTC : > > > > > On Sat, Sep 07, 2024 at 08:20:07AM -0700, Mark Millard wrote: > > > > > > >I'm more interested in what is there than just what is not > > > >there. May be show something analogous to: > > > > > > > ># gpart list | grep -E '(Name|type|efi|media)' > > > >1. Name: mmcsd1s1 > > > > efimedia: HD(1,MBR,00000000,0x8000,0x3b68000) > > > > rawtype: 12 > > > > type: fat32lba > > > >1. Name: mmcsd1 > > > >1. Name: da0p1 > > > > efimedia: HD(1,GPT,81f199f2-5eb9-11ec-b507-a0cec8d68fdc,0x28,0x8200= 0) > > > > rawtype: c12a7328-f81f-11d2-ba4b-00a0c93ec93b > > > > label: BPIM3efi > > > > type: efi > > > >2. Name: da0p2 > > > > efimedia: > HD(2,GPT,efa6f52d-c8ca-11ec-bb1e-03fc0558c84f,0x82800,0x366000) > > > > rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b > > > > type: freebsd-swap > > > >3. Name: da0p3 > > > > efimedia: > HD(3,GPT,71abc138-db5e-11ee-bfe1-e352d1095e3c,0x6861c800,0x732800) > > > > rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b > > > > type: freebsd-swap > > > >4. Name: da0p4 > > > > efimedia: > HD(4,GPT,b568945a-5eba-11ec-b507-a0cec8d68fdc,0xa1c800,0x67c00000) > > > > rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b > > > > type: freebsd-ufs > > > >1. Name: da0 > > > > > > > >I'll note that on various type of systems, the (effectively) > > > >ESP need not be specifically of "type: efi", possibly some > > > >fat variant instead also works. (Of course, EFI need not be > > > >the only alternative for various type of contexts.) > > > > > > > >I'll note the /boot/efi is normally just an empty directory > > > >that is possibly used as a mount point. > > > > > > > >In some (somewhat older) configurations /boot/msdos is > > > >similarly an empty directory and possibly used as the mount > > > >point instead. > > > > > > > >> After source building to latest stable in the usual way, same erro= r > message 'loader needs updating'. > > > > > > This is on the guest > > > > > > # gpart list | grep -E '(Name|type|efi|media)' > > > 1. Name: vtbd0p1 > > > efimedia: HD(1,GPT,b7731537-61da-11ed-9652-00a0981073a7,0x28,0x400) > > > rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f > > > type: freebsd-boot > > > > As I understand it, that "type: freebsd-boot" means that one of > > the likes of: > > > > # ls -lodT /boot/gpt*boot* > > -r--r--r-- 1 root wheel uarch 62139 Apr 7 15:55:46 2024 /boot/gptboo= t > > -r-xr-xr-x 1 root wheel uarch 109568 Apr 7 15:55:46 2024 > /boot/gptboot.efi > > -r--r--r-- 1 root wheel uarch 176062 Apr 8 01:15:54 2024 > /boot/gptzfsboot > > > > is in use inside that freebsd-boot partition (vtbd0p1). But only > > one of those supports zfs. > > > > Fair warning that I never use any of those 3 --nor freebsd-boot > > partitions. Nor have I ever used Bhyve. Do not blindly believe what I > > report here. But hopefully it points in a useful direction to > > initially investigate. > > > > Looking at: > > > > "man 8 gptboot.efi" indicates that "gptboot.efi works only with UFS > > root file systems". > > > > "man 8 gptboot" indicates that "gptboot is used on BIOS-based > > computers to boot from a UFS partition on a GPT-partitioned disk". > > > > BUT "man 8 gptzfsboot" indicates "gptzfsboot is used on BIOS-based > > computers to boot from a filesystem in a ZFS pool". > > > > So the partitioning is not set up for supporting the combination of: > > EFI and ZFS-for-root-filesystem: if the gptzfsboot is used then it > > needs to be old style BIOS-and-ZFS for the context. > > > > So my expectation here is that the gptzfsboot content in use in > > vtbd0p1 (i.e. -i 1 vtbd0 in some commands) is out of date and needs > > to be updated. To my knowledge, there is no simple technique to look > > up the vintage present in -i 1 vtbd0 . > > > > I have no clue which of the following should be used for your context > > to be sure that the content ends up up to date: > > > > The Protective MBR variant: > > # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 vtbd0 > > > > The variant for without the Protective MBR: > > # gpart bootcode -p /boot/gptzfsboot -i 1 vtbd0 > > > > Those commands are adjusted variations of what the man page's EXAMPLES > > section shows, but not using the 2 example's ada0 notation. > > > > > 2. Name: vtbd0p2 > > > efimedia: > HD(2,GPT,b77a2687-61da-11ed-9652-00a0981073a7,0x800,0x2000000) > > > rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b > > > type: freebsd-swap > > > 3. Name: vtbd0p3 > > > efimedia: > HD(3,GPT,b7836ca4-61da-11ed-9652-00a0981073a7,0x2000800,0xdfff000) > > > rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b > > > type: freebsd-zfs > > > 1. Name: vtbd0 > > > > > > =3D=3D=3D > > Mark Millard > > marklmi at yahoo.com > > FYI: > boot1.efi works with ZFS. gptboot.efi is basically the one which > stripped ZFS-related codes from boot1.efi. > > And IIUC, boot1.efi shares most codes with loader.efi (except for its > own FS module wrapper as a consumer, implemented for UFS and ZFS). > > It would be deleted in the future (that is your plan, Warner?), > but currently still usable. > That's the plan. There's a number of advanced features it doesn't support and it doubles the effort for many things.. However it insulates one from loader.efi changes... which some people use..= . Warner --=20 > Tomoaki AOKI <junchoon@dec.sakura.ne.jp> > --000000000000ddf0bd06219346a4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"auto"><div><br><br><div class=3D"gmail_quote"><div dir=3D"ltr" = class=3D"gmail_attr">On Sat, Sep 7, 2024, 9:16=E2=80=AFPM Tomoaki AOKI <= <a href=3D"mailto:junchoon@dec.sakura.ne.jp">junchoon@dec.sakura.ne.jp</a>&= gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0= .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sat, 7 Sep 2024 19:38= :47 -0700<br> Mark Millard <<a href=3D"mailto:marklmi@yahoo.com" target=3D"_blank" rel= =3D"noreferrer">marklmi@yahoo.com</a>> wrote:<br> <br> > void <<a href=3D"http://void_at_f-m.fm" rel=3D"noreferrer noreferre= r" target=3D"_blank">void_at_f-m.fm</a>> wrote on<br> > Date: Sat, 07 Sep 2024 17:27:00 UTC :<br> > <br> > > On Sat, Sep 07, 2024 at 08:20:07AM -0700, Mark Millard wrote:<br> > > <br> > > >I'm more interested in what is there than just what is no= t<br> > > >there. May be show something analogous to:<br> > > ><br> > > ># gpart list | grep -E '(Name|type|efi|media)'<br> > > >1. Name: mmcsd1s1<br> > > > efimedia: HD(1,MBR,00000000,0x8000,0x3b68000)<br> > > > rawtype: 12<br> > > > type: fat32lba<br> > > >1. Name: mmcsd1<br> > > >1. Name: da0p1<br> > > > efimedia: HD(1,GPT,81f199f2-5eb9-11ec-b507-a0cec8d68fdc,0x28= ,0x82000)<br> > > > rawtype: c12a7328-f81f-11d2-ba4b-00a0c93ec93b<br> > > > label: BPIM3efi<br> > > > type: efi<br> > > >2. Name: da0p2<br> > > > efimedia: HD(2,GPT,efa6f52d-c8ca-11ec-bb1e-03fc0558c84f,0x82= 800,0x366000)<br> > > > rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b<br> > > > type: freebsd-swap<br> > > >3. Name: da0p3<br> > > > efimedia: HD(3,GPT,71abc138-db5e-11ee-bfe1-e352d1095e3c,0x68= 61c800,0x732800)<br> > > > rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b<br> > > > type: freebsd-swap<br> > > >4. Name: da0p4<br> > > > efimedia: HD(4,GPT,b568945a-5eba-11ec-b507-a0cec8d68fdc,0xa1= c800,0x67c00000)<br> > > > rawtype: 516e7cb6-6ecf-11d6-8ff8-00022d09712b<br> > > > type: freebsd-ufs<br> > > >1. Name: da0<br> > > ><br> > > >I'll note that on various type of systems, the (effective= ly)<br> > > >ESP need not be specifically of "type: efi", possib= ly some<br> > > >fat variant instead also works. (Of course, EFI need not be<b= r> > > >the only alternative for various type of contexts.)<br> > > ><br> > > >I'll note the /boot/efi is normally just an empty directo= ry<br> > > >that is possibly used as a mount point.<br> > > ><br> > > >In some (somewhat older) configurations /boot/msdos is<br> > > >similarly an empty directory and possibly used as the mount<b= r> > > >point instead.<br> > > ><br> > > >> After source building to latest stable in the usual way,= same error message 'loader needs updating'.<br> > > <br> > > This is on the guest<br> > > <br> > > # gpart list | grep -E '(Name|type|efi|media)'<br> > > 1. Name: vtbd0p1<br> > > efimedia: HD(1,GPT,b7731537-61da-11ed-9652-00a0981073a7,0x28,0x40= 0)<br> > > rawtype: 83bd6b9d-7f41-11dc-be0b-001560b84f0f<br> > > type: freebsd-boot<br> > <br> > As I understand it, that "type: freebsd-boot" means that one= of<br> > the likes of:<br> > <br> > # ls -lodT /boot/gpt*boot*<br> > -r--r--r--=C2=A0 1 root wheel uarch=C2=A0 62139 Apr=C2=A0 7 15:55:46 2= 024 /boot/gptboot<br> > -r-xr-xr-x=C2=A0 1 root wheel uarch 109568 Apr=C2=A0 7 15:55:46 2024 /= boot/gptboot.efi<br> > -r--r--r--=C2=A0 1 root wheel uarch 176062 Apr=C2=A0 8 01:15:54 2024 /= boot/gptzfsboot<br> > <br> > is in use inside that freebsd-boot partition (vtbd0p1). But only<br> > one of those supports zfs.<br> > <br> > Fair warning that I never use any of those 3 --nor freebsd-boot<br> > partitions. Nor have I ever used Bhyve. Do not blindly believe what I<= br> > report here. But hopefully it points in a useful direction to<br> > initially investigate.<br> > <br> > Looking at:<br> > <br> > "man 8 gptboot.efi" indicates that "gptboot.efi works o= nly with UFS<br> > root file systems".<br> > <br> > "man 8 gptboot" indicates that "gptboot is used on BIOS= -based<br> > computers to boot from a UFS partition on a GPT-partitioned disk"= .<br> > <br> > BUT "man 8 gptzfsboot" indicates "gptzfsboot is used on= BIOS-based<br> > computers to boot from a filesystem in a ZFS pool".<br> > <br> > So the partitioning is not set up for supporting the combination of:<b= r> > EFI and ZFS-for-root-filesystem: if the gptzfsboot is used then it<br> > needs to be old style BIOS-and-ZFS for the context.<br> > <br> > So my expectation here is that the gptzfsboot content in use in<br> > vtbd0p1 (i.e. -i 1 vtbd0 in some commands) is out of date and needs<br= > > to be updated. To my knowledge, there is no simple technique to look<b= r> > up the vintage present in -i 1 vtbd0 .<br> > <br> > I have no clue which of the following should be used for your context<= br> > to be sure that the content ends up up to date:<br> > <br> > The Protective MBR variant:<br> > # gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 vtbd0<br> > <br> > The variant for without the Protective MBR:<br> > # gpart bootcode -p /boot/gptzfsboot -i 1 vtbd0<br> > <br> > Those commands are adjusted variations of what the man page's EXAM= PLES<br> > section shows, but not using the 2 example's ada0 notation.<br> > <br> > > 2. Name: vtbd0p2<br> > > efimedia: HD(2,GPT,b77a2687-61da-11ed-9652-00a0981073a7,0x800,0x2= 000000)<br> > > rawtype: 516e7cb5-6ecf-11d6-8ff8-00022d09712b<br> > > type: freebsd-swap<br> > > 3. Name: vtbd0p3<br> > > efimedia: HD(3,GPT,b7836ca4-61da-11ed-9652-00a0981073a7,0x2000800= ,0xdfff000)<br> > > rawtype: 516e7cba-6ecf-11d6-8ff8-00022d09712b<br> > > type: freebsd-zfs<br> > > 1. Name: vtbd0<br> > <br> > <br> > =3D=3D=3D<br> > Mark Millard<br> > marklmi at <a href=3D"http://yahoo.com" rel=3D"noreferrer noreferrer" = target=3D"_blank">yahoo.com</a><br> <br> FYI:<br> boot1.efi works with ZFS. gptboot.efi is basically the one which<br> stripped ZFS-related codes from boot1.efi.<br> <br> And IIUC, boot1.efi shares most codes with loader.efi (except for its<br> own FS module wrapper as a consumer, implemented for UFS and ZFS).<br> <br> It would be deleted in the future (that is your plan, Warner?),<br> but currently still usable.<br></blockquote></div></div><div dir=3D"auto"><= br></div><div dir=3D"auto">That's the plan. There's a number of adv= anced features it doesn't support and it doubles the effort for many th= ings..</div><div dir=3D"auto"><br></div><div dir=3D"auto">However it insula= tes one from loader.efi changes... which some people use...</div><div dir= =3D"auto"><br></div><div dir=3D"auto">Warner=C2=A0</div><div dir=3D"auto"><= br></div><div dir=3D"auto"><div class=3D"gmail_quote"><blockquote class=3D"= gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-= left:1ex"> -- <br> Tomoaki AOKI=C2=A0 =C2=A0 <<a href=3D"mailto:junchoon@dec.sakura.ne.jp" = target=3D"_blank" rel=3D"noreferrer">junchoon@dec.sakura.ne.jp</a>><br> </blockquote></div></div></div> --000000000000ddf0bd06219346a4--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfqO20t_AW6Z%2Bas6d7Wq_8u4RTs8f_4e9Fio-PU20DPh9w>