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 06:41:24 UTC 2020
On 2020-Oct-11, at 17:23, Mark Millard <marklmi at yahoo.com> wrote:
> On 2020-Oct-11, at 17:13, Mark Millard <marklmi at yahoo.com> wrote:
>
>>>
>>> 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.
>>
>
> My wording was poor because the done_pipe is actually for
> || (or) involving the (potential) pipe symbol.
Looking at a "it will boot" context, u-boot's
printenv does report one definition with || involved:
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done; setenv devplist
So that might be the context for the parse stage associated with
the failure you gave a back-trace for.
===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)
More information about the freebsd-arm
mailing list