RPi4B: modern firmware vs. Device tree loaded to 0x4000 (size 0xbe0c) [fails] vs. to 0x1f0000 (size 0xbd90) [works]?

Mark Millard marklmi at yahoo.com
Mon Oct 12 00:14:04 UTC 2020


> 
> On 2020-Oct-11, at 16:13, Robert Crowston <crowston at protonmail.com> wrote:
> 
>>> mmc0 is current device
>> 
>> should not be mmc0 if you boot from USB/SSD
> 
> I'm still using sd cards.
> 
> armstub or not has no effect. Seems like a counter is overflowing in the internals of malloc(). Not even when booting, just when interpreting the bootcmd. I tried raising CONFIG_SYS_MALLOC_F_LEN, but it didn't change much. The malloc() code in question is from 2002, so I doubt it's a bug there. I tried rolling back from HEAD to v2020.10. Same problem.

Are you able to look at the content of the boot command, or at least the beginning
of it? Does it look reasonable and have the expected termination at the expected
place?

The backtrace that you reported involves:

                case '|':
                        done_word(dest, ctx);
                        if (next=='|') {
                                b_getch(input);
                                done_pipe(ctx,PIPE_OR);

but having piped commands (|) seems possibly odd for the
context. Garbage memory content may be more likely.

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



More information about the freebsd-arm mailing list