Hi!

AFAIR „ANSI“ terminal sequences were derived from a DEC vt100 or vt102, so no 
surprise when there is not much difference.
I’d suggest to “hexdump” the output to see what arrives via serial. Then you 
might decide which emulation to use.
I don’t know the details, but supporting a pure serial mode without cursor 
positioning might help (Remember: Those TTYs could not erase a character 
printed already, so they printed it again like /x/ to show that the x had been 
deleted 😉)

Talking about the old times: Anybody still knowing vi’s “open mode” where you 
could only edit a single line (to save bandwidth)?
Or the reduction of the screen size if the baud rate was just 300 baud? Welcome 
to a different world 😉

Kind regards,
Ulrich Windl

From: systemd-devel <systemd-devel-boun...@lists.freedesktop.org> On Behalf Of 
Kevin P. Fleming
Sent: Tuesday, December 31, 2024 12:36 PM
Cc: Systemd <systemd-devel@lists.freedesktop.org>
Subject: [EXT] Re: [systemd-devel] Expected terminal type for sd-boot on a 
serial console?

Thanks, that was very helpful! As a further test I switched Minicom to 'ANSI' 
terminal emulation instead of 'VT102', but there was no improvement. 
Interestingly, U-boot's own menu displays highlighting as it should, but the 
sd-boot menu does not. I'll try to follow up with the U-boot project to see 
what might be going on with their UEFI implementation.

On Sat, Dec 28, 2024, at 19:24, Mantas Mikulėnas wrote:
On Sat, Dec 28, 2024, 20:38 Kevin P. Fleming 
<lists.systemd-de...@kevin.km6g.us<mailto:lists.systemd-de...@kevin.km6g.us>> 
wrote:

I've got three machines which have serial (only) consoles, all of which are 
using sd-boot from systemd 257. I use Minicom, in VT102 mode, to connect to 
these machines, and while the console generally works, there is no 
'highlighting' in the sd-boot menu. As a result it's rather difficult to choose 
a non-default entry to boot.

What terminal type is sd-boot expecting?

None. It outputs text using the EFI ConOut interface, which is not a 
terminal-style interface at all – it's more like the DOS or Windows console, 
with discrete APIs for cursor positioning and text formatting [1].

It's your system firmware which decides how to translate those API calls to 
VT220 sequences or something similar.

[1]: 
https://uefi.org/specs/UEFI/2.9_A/12_Protocols_Console_Support.html#efi-simple-text-output-protocol


Reply via email to