From 5536f7440f2f4a12782e8d741cbbba5f1c3cfea8 Mon Sep 17 00:00:00 2001 From: Archaic Date: Mon, 26 Dec 2005 19:00:06 +0000 Subject: Applied Alexander Patrakov's patch which adds UTF-8 capability to the development branch of the LFS Book. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7235 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter08/fstab.xml | 39 +++++++++++++++++++++++++++++++++++++++ chapter08/kernel.xml | 16 ++++++++-------- 2 files changed, 47 insertions(+), 8 deletions(-) (limited to 'chapter08') diff --git a/chapter08/fstab.xml b/chapter08/fstab.xml index 439057b4f..1487bbbea 100644 --- a/chapter08/fstab.xml +++ b/chapter08/fstab.xml @@ -65,4 +65,43 @@ EOF usbcore must be listed in /etc/sysconfig/modules. + Filesystems with MS-DOS or Windows origin (i.e.: vfat, ntfs, smbfs, cifs, + iso9660, udf) need the iocharset mount option in order for + non-ASCII characters in file names to be interpreted properly. The value + of this option should be the same as the character set of your locale, + adjusted in such a way that the kernel understands it. This works if the + relevant character set definition (found under File systems -> + Native Language Support) has been compiled into the kernel + or built as a module. The codepage option is also needed for + vfat and smbfs filesystems. It + should be set to the codepage number used under MS-DOS in your country. E.g., + in order to mount USB flash drives, a ru_RU.KOI8-R user would need the + following line in /etc/fstab: + +/dev/sda1 /media/flash vfat noauto,user,quiet,showexec,iocharset=koi8r,codepage=866 0 0 + + The corresponding line for ru_RU.UTF-8 users is: + +/dev/sda1 /media/flash vfat noauto,user,quiet,showexec,iocharset=utf8,codepage=866 0 0 + + In the latter case, the kernel emits the following message: + +FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive! + + This negative recommendation should be ignored, since all other values + of the iocharset option result in wrong display of filenames in + UTF-8 locales. + + It is also possible to specify default codepage and iocharset values for + some filesystems during kernel configuration, the relevant parameters + are named + Default NLS Option (CONFIG_NLS_DEFAULT), + Default Remote NLS Option (CONFIG_SMB_NLS_DEFAULT), + Default codepage for FAT (CONFIG_FAT_DEFAULT_CODEPAGE), and + Default iocharset for FAT (CONFIG_FAT_DEFAULT_IOCHARSET). + There is no way to specify these settings for the + ntfs filesystem at kernel compilation time. + + diff --git a/chapter08/kernel.xml b/chapter08/kernel.xml index fcac33a39..4b9f0bcfd 100644 --- a/chapter08/kernel.xml +++ b/chapter08/kernel.xml @@ -48,6 +48,13 @@ in the kernel source tree for alternative methods to the way this book configures the kernel. + By default, Linux kernel generates wrong sequences of bytes when + dead keys are used in UTF-8 keyboard mode. Also, one cannot copy and paste + non-ASCII characters when UTF-8 mode is aciive. Fix these issues with the + patch: + +patch -Np1 -i ../&linux-utf8-patch; + Prepare for compilation by running the following command: make mrproper @@ -57,14 +64,7 @@ kernel compilation. Do not rely on the source tree being clean after un-tarring. - If, in it was decided to - compile the keymap into the kernel, issue the command below: - -loadkeys -m /usr/share/kbd/keymaps/[path to keymap] > \ - drivers/char/defkeymap.c - - For example, if using a Dutch keyboard, use - /usr/share/kbd/keymaps/i386/qwerty/nl.map.gz. + Configure the kernel via a menu-driven interface. BLFS has some information regarding particular kernel configuration requirements of -- cgit v1.2.3-54-g00ecf