Re: PR 252541: Early kernel panic on RPi4B (Too many early devmatch mappings) [tied to monitor connected vs. not]

Mark Millard via freebsd-arm <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
Before the detailed sequence/evidence below: I eventually found how to
control works vs. fails . . .

Fails: have my monitor connected (1920 x 1080 in case it is important)
Works: no monitor connected
(Same kernel.)

The later reporting is in the order of investigations and results, and
so the above does not appear until the end.

End top-post.

On 2021-Jan-12, at 02:31, Mark Millard <marklmi at yahoo.com> wrote:

> I've tried a from-scratch build via the script:
> 
> # more ~/sys_build_scripts.amd64-host/make-aarch64-debug-clang-default_config-amd64-host.sh
> kldload -n filemon && \
> script ~/sys_typescripts/typescript_make_aarch64_debug_clang_default_config-amd64-host-$(date +%Y-%m-%d:%H:%M:%S) \
> env __MAKE_CONF=/dev/null SRCCONF=/dev/null SRC_ENV_CONF=/dev/null TARGET=arm64 TARGET_ARCH=aarch64 \
> WITH_META_MODE=yes \
> MAKEOBJDIRPREFIX="/usr/obj/aarch64dbg_default_config_clang/arm64.aarch64" \
> make $*
> 
> on my existing source context ( 19cca0b9613d
> with CommitDate 2021-01-09 16:21:33 -0800 
> based ):
> 
> # ~/fbsd-based-on-what-freebsd-main.sh mm-src
> 19cca0b9613d7c3058e41baf0204245119732235
> CommitDate: 2021-01-09 16:21:33 -0800
> 5d333ee67ac3 19cca0b9613d (HEAD -> mm-src) mm-src snapshot for mm's patched build in git context.
> 
> So defaults but for TARGET, TARGET_ARCH, WITH_META_MODE, and
> MAKEOBJDIRPREFIX . WITH_META_MODE should not matter for a
> from-scratch build as far as I know.
> 
> This is still a cross-build context. I used the 3 commands:
> 
> ~/sys_build_scripts.amd64-host/make-aarch64-debug-clang-default_config-amd64-host.sh -j32 kernel-toolchain
> 
> ~/sys_build_scripts.amd64-host/make-aarch64-debug-clang-default_config-amd64-host.sh -j32 buildkernel
> 
> ~/sys_build_scripts.amd64-host/make-aarch64-debug-clang-default_config-amd64-host.sh -j32 installkernel DESTDIR=/usr/obj/DESTDIRs/clang-aarch64-installkernel-dbg-default_config
> 
> (I'll avoid documenting copying to the RPi4B /boot/kernel/ and such.)
> 
> It still failed to boot, with:
> 
> . . .
> Hit [Enter] to boot immediately, or any other key for command prompt.
> Booting [/boot/kernel/kernel]...               
> Using DTB provided by EFI at 0x7ef0000.
> EFI framebuffer information:
> addr, size     0x3e2fe000, 0x7e9000
> dimensions     1920 x 1080
> stride         1920
> masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
> ---<<BOOT>>---
> panic: Too many early devmap mappings
> cpuid = 0
> time = 1
> KDB: stack backtrace:
> . . .
> 
> So my configuration files were not needed to have the failure
> that I've been getting for the debug kernels.
> 

I made a build based on 1a816c75600 that matches the official
git (i.e., no changes in source) and used the same script as
above (while cd'd into a different worktree). Same failure.

So this time I show more prior messages that indicate
variations in what might be loaded:

. . .
Setting currdev to disk0p1:
Loading /boot/defaults/loader.conf
Loading /boot/defaults/loader.conf
Loading /boot/device.hints
Loading /boot/loader.conf
Loading /boot/loader.conf.local
Loading kernel...
/boot/kernel/kernel text=0x2a8 text=0x7faa3c text=0x22589c data=0x1aa458 data=0x0+0x611000 syms=[0x8+0x1209c0+0x8+0x145428]
Loading configured modules...
/boot/kernel/umodem.ko text=0x2140 text=0x1390 data=0x6e0+0x10 syms=[0x8+0xf48+0x8+0xb6e]
loading required module 'ucom'
/boot/kernel/ucom.ko text=0x22e6 text=0x2e48 data=0x8d0+0x858 syms=[0x8+0x12a8+0x8+0xbe5]
/boot/entropy size=0x1000
/etc/hostid size=0x25

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...               
Using DTB provided by EFI at 0x7ef0000.
EFI framebuffer information:
addr, size     0x3e2fe000, 0x7e9000
dimensions     1920 x 1080
stride         1920
masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
---<<BOOT>>---
panic: Too many early devmap mappings
cpuid = 0
time = 1
KDB: stack backtrace:
. . .

FYI I'd only edited /boot/loader.conf of the
files listed above. /boot/loader.conf.d/ is
empty.

For reference:

# more /boot/loader.conf
geom_label_load="YES"           # File system labels (see glabel(8))
#
boot_multicons="YES"
boot_serial="YES"
#
# ucom is not automatically being loaded when umodem is loaded at boot.
ucom_load="YES"
umodem_load="YES"
#
beastie_disable="YES"
loader_color="NO"
#
vfs.root.mountfrom="ufs:/dev/gpt/RPi4Broot"
kern.cam.boot_delay=10000
vfs.mountroot.timeout=10
vfs.root_mount_always_wait=1
vfs.ffs.dotrimcons=1
#
kern.geom.label.disk_ident.enable=0
kern.geom.label.gptid.enable=0
kern.geom.label.ufsid.enable=0
#
dumpdev="/dev/gpt/RPi4Bswap"
#
vm.pageout_oom_seq=120
vm.pfault_oom_attempts=-1

So looking at the alternatives for what to vary,
I decided to eliminate the:

EFI framebuffer information:
addr, size     0x3e2fe000, 0x7e9000
dimensions     1920 x 1080
stride         1920
masks          0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000

part by booting with the monitor disconnected, leaving the
rest as it was for the above.

It booted just fine:

# uname -apKU
FreeBSD RPi4B 13.0-CURRENT FreeBSD 13.0-CURRENT #0 pure-src-c255871-g1a816c756003: Tue Jan 12 02:43:40 PST 2021     root@FBSDFHUGE:/usr/obj/aarch64dbg_default_config_clang/arm64.aarch64/usr/fbsd/pure-src/arm64.aarch64/sys/GENERIC  arm64 aarch64 1300134 1300134

I doubt that the use of 1a816c756003 is significant. But
I know having the monitor connected vs. not is significant
for that version.

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.