Re: /boot/loader.conf debuging traces come out jumbled

From: Kyle Evans <kevans_at_freebsd.org>
Date: Tue, 14 Dec 2021 00:17:52 UTC
On Mon, Dec 13, 2021 at 6:07 PM Julian H. Stacey <jhs@berklix.com> wrote:
>
> Debugging my /boot/loader.conf on 12.2-STABLE (with a 12.2-RELEASE kernel,
>
>   (as 12.2-STABLE & 12.3-RELEASE & 13.0-RELEASE GENERIC kernels crash during
>    boot on one machine here (To be subject of later analysis &
>    posting)...  I got distracted onto debugging boot options, after
>    output from booting screen rolled off the top), So I concentrated
>    first on identifying & hashing out noisey boot options , before
>    next searching how to capture boot text (maybe to a serial port ?) )
>
> I tried adding markers to loader.conf create deliberate visible error texts to
> mark around lines I wanted to study the effect of, eg
> fuse_load="YES" etc ...
>
> I added this in the middle of /boot/loader.conf :
>         ZZZZZZZZZ00000000_load="YES"
>         ZZZZZZZZZ00001111_load="YES"
>         ZZZZZZZZZ00002222_load="YES"
>         ZZZZZZZZZ44440000_load="YES"
>         ZZZZZZZZZ44441111_load="YES"
>         ZZZZZZZZZ44442222_load="YES"
>
> & next boot showed a weirdly disordered:
>
>         Loading configured modules...
>         can't find 'ZZZZZZZZZ00000000_load'
>         can't find 'ZZZZZZZZZ00002222_load'
>         can't find 'ZZZZZZZZZ44442222_load'
>         can't find 'ZZZZZZZZZ44440000_load'
>         can't find 'ZZZZZZZZZ44441111_load'
>         can't find 'ZZZZZZZZZ00001111_load'
>         /etc/hostid size=0x25
>
> its not even just a reverse order that one might have expected from
> a forth unstacker or some such. Makes it harder to trace what output
> lines come from which loader.conf lines.
>

To my knowledge, we've never guaranteed module load order beyond
kernel-first then everything else. You'll have a much better time with
_before/_after though; something like this should work:

hostid_before="echo before hostid"
hostid_after="echo after hostid"