Date: Wed, 12 Oct 2022 23:44:45 -0700 From: Mark Millard <marklmi@yahoo.com> To: Warner Losh <imp@bsdimp.com> Cc: freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: FYI: FreeBSD-14.0-CURRENT-arm-armv7-GENERICSD-20220930-42dc8696df5-258315.img is broken for RPi2 v1.1 (so: armv7) Message-ID: <DCA9791E-6382-4FC2-A4E7-87725A002B0B@yahoo.com> In-Reply-To: <6BA96801-D70D-48EC-8DA9-F67C2826609A@yahoo.com> References: <6B46F46A-2CAF-42C9-9A04-63567D7DB9B2@yahoo.com> <D9B791B7-106A-402E-AD8C-F811EB315560@yahoo.com> <CANCZdfoJ=E=ef86PRaYsvgXWLAu=AdbN%2B_kiv0vPhKVksqPY%2Bg@mail.gmail.com> <FC871551-7C49-4751-8763-2E8F82C1480A@yahoo.com> <CANCZdfoU2Ln2vqymT66Yu6ZdxSrZLAx1%2BA_hstLYSrzBmduHBw@mail.gmail.com> <28D78C89-E195-4EF1-BB7B-E7F75060BDC7@yahoo.com> <5B631C27-E68C-4F38-96B5-B311110A8F86@yahoo.com> <6EF84694-7CD7-4A9F-BF9C-DFFB52F557AD@yahoo.com> <CANCZdfrdnxUyBtj0cvAwiX%2BNJZppqrtButU48jiUVgW4op%2B-FQ@mail.gmail.com> <CANCZdfom2TLLHD1SzY8_1TuxTC8GoWwNMGYHvaT-XefHgHmJcw@mail.gmail.com> <6A679278-69E0-4592-BFED-48ED8598C2F1@yahoo.com> <6BA96801-D70D-48EC-8DA9-F67C2826609A@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2022-Oct-12, at 22:28, Mark Millard <marklmi@yahoo.com> wrote: > On 2022-Oct-11, at 19:55, Mark Millard <marklmi@yahoo.com> wrote: >=20 >> On 2022-Oct-11, at 12:10, Warner Losh <imp@bsdimp.com> wrote: >>=20 >>> On Tue, Oct 11, 2022 at 1:03 PM Warner Losh <imp@bsdimp.com> wrote: >>>>=20 >>>>=20 >>>> On Tue, Oct 11, 2022 at 12:50 PM Mark Millard <marklmi@yahoo.com> = wrote: >>>> . . . >>>>=20 >>>> For: >>>>=20 >>>> boot-2022-09-16-15-45-b44869cba1b3-good >>>> boot-2022-09-16-18-02-dd2b9c296776-bad >>>>=20 >>>> there are no armv7 artifacts available between. >>>>=20 >>>> The range is: >>>>=20 >>>> A) =E2=80=A2 git: b44869cba1b3 - main - sound: add patch for = Lenovo Legion 5 Intel Nuno Teixeira=20 >>>> B) =E2=80=A2 git: a705c72f2142 - main - stand: use = archsw.arch_copyin instead of i386_copyin Warner Losh=20 >>>> C) =E2=80=A2 git: 4c670b53a000 - main - stand: use = archsw.arch_copyin instead of direct call Warner Losh=20 >>>> D) =E2=80=A2 git: 8b19d28d68a3 - main - stand: Create = MOD_ALIGN macro and use it everywhere Warner Losh=20 >>>> E) =E2=80=A2 git: bca9c87b6104 - main - stand: Create = common/modinfo.h Warner Losh=20 >>>> F) =E2=80=A2 git: 5d1531d9d4e7 - main - stand: Move = md_copymodules into modinfo.c and reduce copies Warner Losh=20 >>>> G) =E2=80=A2 git: 2e6ed47a4609 - main - stand: Move MOD_xxx = macros from modinfo.h to .c Warner Losh=20 >>>> H) =E2=80=A2 git: fc352701ff3a - main - stand: collapse all = copies of *copyenv into md_copyenv Warner Losh=20 >>>> =E2=80=A2 git: e895ab3fbdc1 - main - stand: Remove dead store = to bi_kernelname Warner Losh=20 >>>> =E2=80=A2 git: d43bcf62a218 - main - stand: Stop support = booting 4.x and earlier kernels Warner Losh=20 >>>> =E2=80=A2 git: 59b1d074280d - main - i386: Mark the obsolete = fields in bootinfo with _was_ Warner Losh=20 >>>> =E2=80=A2 git: 4134f677eb39 - main - i386: Make boot loader = smaller by reducing size of bootinfo Warner Losh=20 >>>> =E2=80=A2 git: 9758dd3de1cd - main - stand: Allocate bootinfo = rather than have it be static Warner Losh=20 >>>> =E2=80=A2 git: c0ecae78abbe - main - stand/elf: Only support = swapping headers on powerpc. Warner Losh=20 >>>> =E2=80=A2 git: dd2b9c296776 - main - stand: fix mismerge = Warner Losh >>>>=20 >>> 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. >>=20 >> 5d1531d9d4e7 has the stand/common/metadata.c "align" >> removal that the later dd2b9c296776 fixes as the >> "mismerge". So it appears that most of the stages >> would not build without adjustment for that. >>=20 >> So presume I've made the adjustment for any such >> such cases below. >>=20 >> H) fc352701ff3a Bad >> D) 8b19d28d68a3 Good >> F) 5d1531d9d4e7 Bad >> E) bca9c87b6104 Good >>=20 >> So the good -> bad back-to-back sequence pair is: >>=20 >> git: bca9c87b6104 - main - stand: Create common/modinfo.h Warner Los >> git: 5d1531d9d4e7 - main - stand: Move md_copymodules into modinfo.c = and reduce copies Warner Losh >>=20 >>=20 >> Note: I cross build armv7 via aarch64 normally. >> There is no "buildstand" analogous to buildworld >> or buildkernel that takes TARGET and TARGET_ARCH >> for cross builds. Thus I ended up with a full >> buildworld to establish a context for the cross >> builds. >>=20 >=20 > I got another oddity to add to the evidence, > although it might just be a separate issue. >=20 > First off some context: With the additions to > the microsd card: >=20 > /boot/efi/bcm2710-rpi-2-b.dtb > /boot/efi/bcm2710-rpi-3-b-plus.dtb > /boot/efi/bcm2710-rpi-3-b.dtb > /boot/efi/bcm2710-rpi-cm3.dtb >=20 > I can have armv7 13.1-STABLE FreeBSD boot: >=20 > RPi2B v1.1 (The official support targets this.) > RPi2B v1.2 (not tested but I could) > RPi3B+ (no access to such) > RPi3B (tested) > Computer Module 3 (no access to such) >=20 > (I recently sent out notes out that are for mostly USB > booting to match more closely Bob P.'s context. This > has some more involved to span the range and some > specifics of dealing with oddities of the media I have > access to show up in order for me to demonstrate > operation.) >=20 > Part of the point of 13.1-STABLE here is avoiding all > the recent EFI loader changes, not just one block of > them. >=20 > But for main [so: 14] and the same bca9c87b6104 based EFI > loader that I reported as working on the RPi2B v1.1, I get > differing behavior between: >=20 > RPi2B v1.1 (boots with serial console & HDMI output throughout) > vs. > RPi3B (serial output stops and, when HDMO is connected, > HDMI output keeps going) >=20 > For the RPi3B, the last serial console line output is: >=20 > Kernel args: (null) >=20 > By contrast, for RPi2B v1.1 with both the serial console and > the HDMI connected, both get console output, reaching the > login prompt. (I've not certified every line is present > on both. There could be differences for all I know.) >=20 > So, in this context, the RPi3B seems to hit the console > handling type of issue that you were originally expecting. >=20 > I originally looked into this in case the results meant > that you could use a bcm2710 based RPi* instead of a > bcm2709 based one for investigating the armv7-style-boot > with 5d1531d9d4e7 and later EFI loader problem(s), giving > you more options. >=20 Adding 2 more files (only 1 necessary) and adjusting config.txt I get both the serial console and the HDMI console not stopping for the armv7 bca9c87b6104 EFI loader --on both the RPi3B and the RPi2B v1.1 . I added: # ls -Tld /boot/efi/overlays/*-bt.dtbo -rwxr-xr-x 1 root wheel 1073 Mar 3 13:29:56 2021 = /boot/efi/overlays/disable-bt.dtbo -rwxr-xr-x 1 root wheel 1819 Mar 3 13:29:56 2021 = /boot/efi/overlays/miniuart-bt.dtbo but am just using disable-bt.dtbo --via the updated config.txt : # diff -u /boot/efi/config.txt.orig /boot/efi/config.txt --- /boot/efi/config.txt.orig 2022-10-07 05:38:00.000000000 +0000 +++ /boot/efi/config.txt 2022-10-13 05:39:26.000000000 +0000 @@ -3,3 +3,6 @@ kernel=3Du-boot.bin kernel7=3Du-boot.bin dtoverlay=3Dmmc +# +# Local addition(s): +dtoverlay=3Ddisable-bt This changes which UART is used for the serial console. (As does the alternative *-bt.dtbo .) So, in summary, to allow armv7 boots via the likes of a RPi3B as well as a RPi2B v1.1 with the serial console and HDMI console both operational (if connected) . . . Based on microsd card media that are from the likes of: FreeBSD-14.0-CURRENT-arm-armv7-GENERICSD-20221007-b05b1ecbef0-258483.img The changes are as follows. For /boot/efi/EFI/BOOT/bootarm.efi , use the bca9c87b6104 EFI loader from main [so: 14], not later. (Other earlier ones/13.1-STABLE ones/etc. also would work.) Add the files: /boot/efi/bcm2710-rpi-2-b.dtb /boot/efi/bcm2710-rpi-3-b-plus.dtb /boot/efi/bcm2710-rpi-3-b.dtb /boot/efi/bcm2710-rpi-cm3.dtb Add at least one of: /boot/efi/overlays/disable-bt.dtbo /boot/efi/overlays/miniuart-bt.dtbo Put one of those 2 to use via config.txt , such as via: # diff -u /boot/efi/config.txt.orig /boot/efi/config.txt --- /boot/efi/config.txt.orig 2022-10-07 05:38:00.000000000 +0000 +++ /boot/efi/config.txt 2022-10-13 05:39:26.000000000 +0000 @@ -3,3 +3,6 @@ kernel=3Du-boot.bin kernel7=3Du-boot.bin dtoverlay=3Dmmc +# +# Local addition(s): +dtoverlay=3Ddisable-bt With this both the serial console and HDMI console should work, each allowing a login. This may suggest armv7 snapshot content changes in addition to the EFI loader fixes for what is after bca9c87b6104 . =3D=3D=3D Mark Millard marklmi at yahoo.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DCA9791E-6382-4FC2-A4E7-87725A002B0B>