[syslinux] isolinux, extlinux and accented characters

Gert Hulselmans gerth at zytor.com
Tue Jan 4 07:01:39 PST 2011


appzer0 wrote:
> Hi,
>
> Hmmm, seems that attached files makes mailman block the mail. Then I'll
> paste the
> config files in the message body instead.
>
> Le 04/01/2011 13:21, appzer0 a écrit :
>> Hello,
>>
>> First of all, thanks very much for this piece of software, it's
>> working like a charm.
>> I'm using it to boot a Linux distro I'm working on.
>>
>> What I want to deal with is the display of accented characters in
>> ISOLINUX.
>>
>> First, I set EXTLINUX up to boot an ext2-formatted USB stick. No
>> problem so far.
>> I wrote a config file ordering to load a font (lat-9w) to display
>> french strings. The config file is
>> written in ISO-8859-1, as UTF-8 is not supported.
>>
>> So everything's OK with EXTLINUX.
>>
>> Now, ISOLINUX has some display problems with *exactly* the same
>> configuration as in EXTLINUX's.
>>
>> Any accented character is broken. So I tried to mkisofs the image with
>> some extensions (RockRidge,
>> Joliet, etc.) but it has no effect. I'd like to know where to look to
>> fix this behaviour, or at least to know
>> which part of the code is responsible for this behaviour, as EXTLINUX
>> appears to deal with accents perfectly.
>>
>> Find the 2 config files extlinux.conf and isolinux.cfg attached.
>>
>> Thanks in advance,
>>
>>
>> appzer0
>
> extlinux.conf:
> ---
> #
> # Fichier de configuration de 'syslinux'.
> #
>
> # ATTENTION ! Ce fichier doit être encodé en ISO-8859-1 et non en UTF-8 !
>
> # On charge d'emblée le module du menu graphique :
> DEFAULT /boot/extlinux/vesamenu.c32
> PROMPT 0
>
> # On laisse 10 secondes de réflexion avant d'amorcer :
> TIMEOUT 100
>
> # Couleurs :
> menu color border        *    #00000000 #00000000 none
> menu color screen        *    #90ffffff #00000000 *
> menu color title        *    #ffffffff #00000000 *
> menu color unsel        *    #90ffffff #00000000 *
> menu color hotkey        *    #ff6bff6b #00000000 *
> menu color sel            *    #e0ffffff #200cd22d *
> menu color hotsel        *    #e06bff6b #200cd22d *
> menu color scrollbar    *    #200cd22d #00000000 *
> menu color tabmsg        *    #60ffffff #00000000 *
> menu color cmdmark        *    #c000ffff #00000000 *
> menu color cmdline        *    #c0ffffff #00000000 *
> menu color timeout_msg    *    #80ffffff #00000000 *
> menu color timeout        *    #c0ffffff #00000000 *
>
> # Image d'arrière-plan :
> MENU BACKGROUND /boot/extlinux/syslinux.png
>
> # Police latine pour afficher les accents :
> FONT /boot/extlinux/lat9w-16.psfu
>
> # Titre du menu :
> MENU TITLE Système 0 Linux
>
> # On remplace le message anglophone "Press [tab] to edit options."
> MENU TABMSG Appuyez sur TAB pour éditer les options de démarrage
>
> # Message d'attente :
> MENU AUTOBOOT Lancement automatique dans # seconde{,s}...
>
> # Noyau principal avec initrd  :
> LABEL 0
>      MENU LABEL Lancer le système autonome
>      KERNEL /boot/noyau
>      APPEND initrd=/boot/initrd.gz load_ramdisk=1 prompt_ramdisk=0
> vt.default_utf8=1 vga=791
>
> # L'outil de détection de matériel HDT :
> LABEL hdt
>      MENU LABEL HDT : détection du matériel
>      KERNEL /boot/extlinux/hdt.c32
>      APPEND modules=modules.pci pciids=pci.ids
>
> # L'outil de test de la mémoire Memtest86+ :
> LABEL memtest
>      MENU LABEL Memtest86+ : test de la mémoire vive
>      LINUX /boot/extlinux/memtest86+.bin
>
> # Menu pour redémarrer :
> LABEL reboot
>      MENU LABEL Redémarrer la machine
>      KERNEL /boot/extlinux/reboot.c32
>
> MENU SEPARATOR
>
> # Sous-menu pour les choix de claviers :
> LABEL -
>      MENU LABEL Passer en ligne de commande
>      MENU DISABLE
>
> LABEL be
>      MENU LABEL Charger le clavier belge
>      MENU INDENT 1
>      KERNEL /boot/extlinux/kbdmap.c32
>      APPEND /boot/extlinux/claviers/be.ktl
>
> LABEL cf
>      MENU LABEL Charger le clavier canadien
>      MENU INDENT 1
>      KERNEL /boot/extlinux/kbdmap.c32
>      APPEND /boot/extlinux/claviers/cf.ktl
>
> LABEL ch
>      MENU LABEL Charger le clavier suisse
>      MENU INDENT 1
>      KERNEL /boot/extlinux/kbdmap.c32
>      APPEND /boot/extlinux/claviers/ch.ktl
>
> LABEL fr
> MENU LABEL Charger le clavier français
>      MENU INDENT 1
>      KERNEL /boot/extlinux/kbdmap.c32
>      APPEND /boot/extlinux/claviers/fr.ktl
> ---
>
>
>
> isolinux.cfg:
> ---
> #
> # Fichier de configuration de 'syslinux'.
> #
>
> # ATTENTION ! Ce fichier doit être encodé en ISO-8859-1 et non en UTF-8 !
>
> # On charge d'emblée le module du menu graphique :
> DEFAULT /boot/isolinux/vesamenu.c32
> PROMPT 0
>
> # On laisse 10 secondes de réflexion avant d'amorcer :
> TIMEOUT 100
>
> # Couleurs :
> menu color border        *    #00000000 #00000000 none
> menu color screen        *    #90ffffff #00000000 *
> menu color title        *    #ffffffff #00000000 *
> menu color unsel        *    #90ffffff #00000000 *
> menu color hotkey        *    #ff6bff6b #00000000 *
> menu color sel            *    #e0ffffff #200cd22d *
> menu color hotsel        *    #e06bff6b #200cd22d *
> menu color scrollbar    *    #200cd22d #00000000 *
> menu color tabmsg        *    #60ffffff #00000000 *
> menu color cmdmark        *    #c000ffff #00000000 *
> menu color cmdline        *    #c0ffffff #00000000 *
> menu color timeout_msg    *    #80ffffff #00000000 *
> menu color timeout        *    #c0ffffff #00000000 *
>
> # Image d'arrière-plan :
> MENU BACKGROUND /boot/isolinux/syslinux.png
>
> # Police latine pour afficher les accents :
> FONT /boot/isolinux/lat9w-16.psfu
>
> # Titre du menu :
> MENU TITLE Système 0 Linux
>
> # On remplace le message anglophone "Press [tab] to edit options."
> MENU TABMSG Appuyez sur TAB pour éditer les options de démarrage
>
> # Message d'attente :
> MENU AUTOBOOT Lancement automatique dans # seconde{,s}...
>
> # Noyau principal avec initrd  :
> LABEL 0
>      MENU LABEL Lancer le système autonome
>      KERNEL /boot/noyau
>      APPEND initrd=/boot/initrd.gz load_ramdisk=1 prompt_ramdisk=0
> vt.default_utf8=1 vga=791
>
> # L'outil de détection de matériel HDT :
> LABEL hdt
>      MENU LABEL HDT : détection du matériel
>      KERNEL /boot/isolinux/hdt.c32
>      APPEND modules=modules.pci pciids=pci.ids
>
> # L'outil de test de la mémoire Memtest86+ :
> LABEL memtest
>      MENU LABEL Memtest86+ : test de la mémoire vive
>      LINUX /boot/isolinux/memtest86+.bin
>
> # Menu pour redémarrer :
> LABEL reboot
>      MENU LABEL Redémarrer la machine
>      KERNEL /boot/isolinux/reboot.c32
>
> MENU SEPARATOR
>
> # Sous-menu pour les choix de claviers :
> LABEL -
>      MENU LABEL Passer en ligne de commande
>      MENU DISABLE
>
> LABEL be
>      MENU LABEL Charger le clavier belge
>      MENU INDENT 1
>      KERNEL /boot/isolinux/kbdmap.c32
>      APPEND /boot/isolinux/claviers/be.ktl
>
> LABEL cf
>      MENU LABEL Charger le clavier canadien
>      MENU INDENT 1
>      KERNEL /boot/isolinux/kbdmap.c32
>      APPEND /boot/isolinux/claviers/cf.ktl
>
> LABEL ch
>      MENU LABEL Charger le clavier suisse
>      MENU INDENT 1
>      KERNEL /boot/isolinux/kbdmap.c32
>      APPEND /boot/isolinux/claviers/ch.ktl
>
> LABEL fr
> MENU LABEL Charger le clavier français
>      MENU INDENT 1
>      KERNEL /boot/isolinux/kbdmap.c32
>      APPEND /boot/isolinux/claviers/fr.ktl
> ---
>
>
> appzer0
>

The following is not a valid filename for an iso9660 filesystem:
  /boot/isolinux/lat9w-16.psfu

The '-' and the 4 character extension is not supported by iso9660 level1.

Without "-l" (mkisofs), the filenames will be shortened to fit in an 8.3
format and may result in heavy alterations in order make the name unique.
With "-l", this may result in compatibility issues with DOS and make some
files inaccessible (some versions of DOS might be alright with the names
but results may vary).

See for more info at:
http://syslinux.zytor.com/wiki/index.php/Common_Problems#ISOLINUX

mkisofs should display a warning and will change the filename to a valid
iso9660 filename.

- Gert Hulselmans






More information about the Syslinux mailing list