Re: FYI: FreeBSD-14.0-CURRENT-arm-armv7-GENERICSD-20220930-42dc8696df5-258315.img is broken for RPi2 v1.1 (so: armv7)

From: Warner Losh <imp_at_bsdimp.com>
Date: Tue, 11 Oct 2022 19:03:29 UTC
On Tue, Oct 11, 2022 at 12:50 PM Mark Millard <marklmi@yahoo.com> wrote:

> On 2022-Oct-11, at 09:20, Mark Millard <marklmi@yahoo.com> wrote:
>
> > [Summary: Both somewhat before and just after your ConOut commit
> > work. I'll have to do a rough bisect with the available armv7
> > artifacts that are after those but before October.]
> >
> > On 2022-Oct-11, at 08:26, Mark Millard <marklmi@yahoo.com> wrote:
> >
> >> On 2022-Oct-11, at 06:17, Warner Losh <imp@bsdimp.com> wrote:
> >> . . .
> >>> . . .
> >>>
> >>> The change was made in late August that I'm thinking of, so if you
> could find a
> >>> snapshot from early August July that would be a useful data point:
> >>>
> >>> commit df065f699f1ff819bb9607c44a6754275ab335ed
> >>> Author: Warner Losh <imp@FreeBSD.org>
> >>> Date:   Fri Aug 26 15:46:33 2022 -0600
> >>>
> >>>   stand: More sensible defaults when ConOut is missing
> >>
> >> I'll look at finding and trying some artifact build to extract a
> >> armv7 EFI loader from. Available snapshot history does not
> >> go back that far so far as I know.
> >>
> >> But I may not be able to look into this immediately.
> >>
> >> In main:
> >>
> >> commit df065f699f1ff819bb9607c44a6754275ab335ed
> >> Author:     Warner Losh <imp@FreeBSD.org>
> >> AuthorDate: 2022-08-26 21:46:33 +0000
> >> Commit:     Warner Losh <imp@FreeBSD.org>
> >> CommitDate: 2022-08-27 04:17:56 +0000
> >>
> >> It looks like the closest prior artifact is at:
> >>
> >>
> https://artifact.ci.freebsd.org/snapshot/main/a358db5603702d5de5fd75f5bd16bbf7c0ab673f/arm/armv7/?C=M&O=D
> >> git: a358db560370 - main - socket(2): bring documentation up tp date
> Gleb Smirnoff
> >>
> >> with date/time: 2022-Aug-26 16:26
> >>
> >> So I expect to use that.
> >
> > Turns out that I had the time.
> >
> > Use of the ./boot/loader.efi from a358db560370 substituted
> > into the failing main snapshot based microsd card worked
> > fine for both contexts:
> >
> > A) Just serial console.
> > and:
> > B) Serial console and HDMI console at the same time.
> >
> > I also tried the oldest artifact build with the loader change
> > in place:
> >
> >
> https://artifact.ci.freebsd.org/snapshot/main/7ed3228323ef4f9e3130603ea68c3be9c2ed50ce/arm/armv7/
> > git: 7ed3228323ef - main - stand: Document that boot0 uses BIOS Warner
> Losh
> > Date/time: 2022-Aug-27 05:12
> >
> > This also worked for both (A) and (B).
> >
> > So it looks like I'll be doing a rough bisect to find a
> > before/after pair. It might have some elapsed time to
> > finish.
>
> The date/times encoded into the file names below
> are those shown for base.txz . The overall artifact
> directory date/time is somewhat later. The -good
> vs. -bad suffix indicates the boot status.
>
> # ls -C1d *
> boot-2022-08-26-16-26-a358db560370-good
> boot-2022-08-27-05-12-7ed3228323ef-good
> boot-2022-09-12-18-30-c198adf39498-good
> boot-2022-09-15-01-28-145a50dcda7a-good
> boot-2022-09-16-14-26-b4174079576a-good
> boot-2022-09-16-15-45-b44869cba1b3-good
> boot-2022-09-16-18-02-dd2b9c296776-bad
> boot-2022-09-16-20-51-30cfb3c8ee3d-bad
> boot-2022-09-18-00-46-c3707bd3d658-bad
>
> For:
>
> boot-2022-09-16-15-45-b44869cba1b3-good
> boot-2022-09-16-18-02-dd2b9c296776-bad
>
> there are no armv7 artifacts available between.
>
> The range is:
>
>         • git: b44869cba1b3 - main - sound: add patch for Lenovo Legion 5
> Intel Nuno Teixeira
>         • git: a705c72f2142 - main - stand: use archsw.arch_copyin instead
> of i386_copyin Warner Losh
>         • git: 4c670b53a000 - main - stand: use archsw.arch_copyin instead
> of direct call Warner Losh
>         • git: 8b19d28d68a3 - main - stand: Create MOD_ALIGN macro and use
> it everywhere Warner Losh
>         • git: bca9c87b6104 - main - stand: Create common/modinfo.h Warner
> Losh
>         • git: 5d1531d9d4e7 - main - stand: Move md_copymodules into
> modinfo.c and reduce copies Warner Losh
>         • git: 2e6ed47a4609 - main - stand: Move MOD_xxx macros from
> modinfo.h to .c Warner Losh
>         • git: fc352701ff3a - main - stand: collapse all copies of
> *copyenv into md_copyenv Warner Losh
>         • git: e895ab3fbdc1 - main - stand: Remove dead store to
> bi_kernelname Warner Losh
>         • git: d43bcf62a218 - main - stand: Stop support booting 4.x and
> earlier kernels Warner Losh
>         • git: 59b1d074280d - main - i386: Mark the obsolete fields in
> bootinfo with _was_ Warner Losh
>         • git: 4134f677eb39 - main - i386: Make boot loader smaller by
> reducing size of bootinfo Warner Losh
>         • git: 9758dd3de1cd - main - stand: Allocate bootinfo rather than
> have it be static Warner Losh
>         • git: c0ecae78abbe - main - stand/elf: Only support swapping
> headers on powerpc. Warner Losh
>         • git: dd2b9c296776 - main - stand: fix mismerge Warner Losh
>

Yea, I did a bunch of refactoring. I'm surprised that this produced a
change at all. Would be nice to
know which one of these caused the problems.


> Side note about /boot/msdos :
>
> The Oct-07 snapshot of main [so: 14] has:
>
> # ls -Tld /boot/msdos /boot/efi
> drwxr-xr-x  1 root  wheel  16384 Jan  1 00:00:00 1980 /boot/efi
> lrwxr-xr-x  1 root  wheel     51 Oct  7 10:36:20 2022 /boot/msdos ->
> /usr/obj/usr/src/arm.armv7/release/GENERIC/boot/efi
>

That's likely my fault, it should be a link to a plain 'efi' I'll prep a
fix.

Warner