Re: text buffer size in boot

From: Sulev-Madis Silber <freebsd-current-freebsd-org111_at_ketas.si.pri.ee>
Date: Wed, 22 Oct 2025 00:38:29 UTC
tl;dr - nothing helps to get full boot output serial except sleep in the end of /etc/rc (or inside last ran initscript)


i tried comconsole. same thing

and that chars might be cu bug again

i've seen it with tio too, something appears on console. unsure why. might be stray noise

supposedly you could get breaks and other things out of it somehow. eg if you have break to debugger enabled. or it interrupts boot in uboot or loader due input

but this all seems unrelated here as i somehow fixed this  with my favorite bad hack method, sleep. here i need 100ms sleep (sleep 0.1) to get motd out and actually to console too

line runs 115200 8n1, on one end is h3 uart0, other end i run isolated cp2102 based usb ttl adapter. that one is cheapest and it has eeprom into which you can put own serial and use it with custom device symlinker script

but that all doesn't really matter as apparently vt/init/kernel, at least here on this setup, doesn't like fast data in the very end of the boot with abrupt end in the end of this all

that's how it looks like

never tried to emulate it in vm yet, although this changes a ton of parameters

i'm also unsure how serial control passes from uboot to loader to kernel too. like it says

Dual Console: Video Primary, Serial Secondary

but there's not really any "video". i mean device is some tv out capable. and hardwarely iirc it has hdmi. but that's not enabled at least by logs

anyway. for some reason i need to wait in the end so that entire buffer gets out. internally it's saved

there are no other issues either. i'm kind of puzzled. never seen this before but then i iirc didn't try to boot like this at bbb. and that was whole other hw too. completely different serial adapters then. in fact then i used old phone data cables which needed vref from system

anyway, that's kind of difficult to hit too. you need to output certain stuff. but once you do. or i do. it hit same issue in every boot. boots are exact same outputs. and it cuts out in exact same byte in every boot

i don't know where's the issue or what else it affects as i don't have large set of hw here

again, there are no other issues with console io, except it cuts off in exact same char. that is unless i add a short sleep before /etc/rc exits

and that all took me long time to debug since kernel perfectly saves full boot log and it's available in syslog

previously i just wondered if i'm hitting some limits which was strange

probably someone else who has worked with all that has idea why sleep there fixed all my problems

unsure if this is hw too

anyway, feels like something was cut off early, and instead of flushing buffers, it just deleted it. i don't know what handles it. i haven't worked with kernel enough. supposedly there are threads or something there. "processes", kind of. i really have no idea what interrupts or whatever is even involved on getting text out to serial port

only thing i know is sleep fixes it

oh and getty is perfect there, that the next thing the init puts there

i spent like long time figuring out why my text is cut off as if something deliberately stopped there. it seems like stoppage also didn't happen somehow mid byte, as that would maybe cause nonprintables. but no, perfect output, except cut off



On October 22, 2025 2:42:38 AM GMT+03:00, Marcin Cieslak <saper@saper.info> wrote:
>Maybe switching the loader to "comconsole" works? What is the real serial
>device behind your console?
>
>https://lists.freebsd.org/archives/freebsd-current/2024-September/006455.html
>
>For one of my boards eficonsole pauses the boot loader IF anything
>is connected to it :
>
>https://lists.freebsd.org/archives/freebsd-arm/2023-March/002433.html
>
>Maybe switching to the com console early can work for you...
>
>Marcin