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:10:14 UTC
On Tue, Oct 11, 2022 at 1:03 PM Warner Losh <imp@bsdimp.com> wrote:

>
>
> 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.
>

None of the other platforms I tested on when I did the refactor had issue
or saw any kind of change. So
there may be other issues going on that also take out the boot console...


> 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.
>

I think this is the right fix:
https://reviews.freebsd.org/D36941
Please comment....