[syslinux] Problem: vga TEXT mode has only 8 colors when booting with syslinux

Francis Moreau
2014-07-01T17:16:47Z

Hello,

First of all, I'm really not an expert so please correct me if I'm
saying anything wrong.

I noticed a difference when using grub2 or syslinux in my linux virtual
console (tty[1-5]) which uses VGA text mode (no graphical mode). To be
sure that I'm using this mode, I did:

    $ dmesg | grep -i vga
    Console: colour VGA+ 80x25

In my understanding when using the VGA text mode, 16 colours are available.

However, if I try to display those 16 colours after syslinux booting my
system, I can see only 8 different colours. Here's my syslinux.cfg:

    DEFAULT linux
    PROMPT 0
    UI menu.c32
    MENU TITLE Linux

    LABEL linux
        MENU LABEL  linux
        LINUX       ../vmlinuz
        INITRD      ../initrd.img
        APPEND      root=PARTUUID=c3b28cc5-93d5-4cdc-b86e-857231520205
rw quiet

The same application running on the same system displays 16 colours if
booted with grub2 (but still using VGA text mode). FWIW, grub2's config
is using:

GRUB_TERMINAL=console
GRUB_GFXPAYLOAD_LINUX=keep

Could anybody explain me why there's such difference and why syslinux
leaves the VGA text mode with only 8 colours where there should be 16 ?

Thanks.