syslinux2ansi
Convert SYSLINUX config to ANSI output
SYNOPSIS
syslinux2ansi [-n] [-c] [-m MAX_ENTRIES] [-u] [-w WIDTH] [FILE...]
PARAMETERS
-n, --no-colors
Disables ANSI color escape sequences, resulting in plain text output.
-c, --compact
Enables a compact output mode, reducing vertical spacing between menu entries.
-m MAX_ENTRIES, --max-entries MAX_ENTRIES
Limits the number of menu entries displayed in the output.
-u, --unicode
Enables Unicode support, attempting to render Unicode characters correctly if the terminal supports them.
-w WIDTH, --width WIDTH
Specifies the maximum line width for the output, wrapping lines that exceed this width.
FILE...
One or more SYSLINUX or ISOLINUX configuration files to be processed. If no files are specified, input is read from standard input.
DESCRIPTION
syslinux2ansi is a utility designed to convert SYSLINUX and ISOLINUX menu configuration files into standard ANSI escape sequences. This conversion makes the boot menus displayable on a wider range of terminals and consoles that do not natively support the more advanced, pseudo-graphical rendering of SYSLINUX. This is particularly crucial for environments such as serial consoles, embedded systems, or virtual machine setups where only basic text mode is available.
The command parses the specified SYSLINUX or ISOLINUX configuration files, extracting essential information like menu labels, descriptions, and associated commands for each entry. It then applies ANSI formatting, including colors, bold text, and other attributes, either based on the SYSLINUX configuration's definitions or default ANSI styles. By providing a fallback, text-based, yet visually formatted menu, syslinux2ansi ensures that users can still navigate and interact with the boot options even in constrained display environments, enhancing compatibility and accessibility for SYSLINUX/ISOLINUX-based boot media.
CAVEATS
This utility primarily targets simple SYSLINUX menu structures. Complex features such as chained menus, included configurations, or advanced graphical modes might not be fully translated or may result in incomplete representations. It focuses on rendering the textual content and basic formatting of menus.
INPUT AND OUTPUT
The command can process one or more SYSLINUX/ISOLINUX configuration files specified as arguments. If no files are provided, it reads from standard input. The output consists of standard ANSI escape sequences, ensuring compatibility with most modern terminal emulators and serial consoles.
HISTORY
SYSLINUX is an open-source bootloader suite, initially developed by H. Peter Anvin. The syslinux2ansi utility emerged as part of this project to address compatibility challenges in diverse booting environments. As SYSLINUX gained popularity for creating bootable media (CDs, DVDs, USB drives) for Linux, the need arose to ensure its menu interface was accessible across all console types, especially those without advanced graphics capabilities like serial consoles or basic text-mode virtual machines. syslinux2ansi specifically fulfills this role by providing a text-based, ANSI-formatted representation of the menu, allowing for robust and universally readable boot menus, which is critical for headless servers and remote management. Its development aligns with the broader goal of making SYSLINUX versatile and reliable in various deployment scenarios.
SEE ALSO
syslinux(1), isolinux(1)