diff options
author | Jeremy Huntwork <jhuntwork@linuxfromscratch.org> | 2006-01-06 01:59:08 +0000 |
---|---|---|
committer | Jeremy Huntwork <jhuntwork@linuxfromscratch.org> | 2006-01-06 01:59:08 +0000 |
commit | fa21b3dc894b9964620968dfae6685d69ce89fb9 (patch) | |
tree | 2353b9af8cae48156b98e651873d483e994e352a /chapter08 | |
parent | 60e34b52810dd47567ca18aa2c86fe4cd7c9fd01 (diff) |
Initial support of UTF-8. Thanks Alexander Patrakov.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7245 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter08')
-rw-r--r-- | chapter08/fstab.xml | 39 | ||||
-rw-r--r-- | chapter08/kernel.xml | 16 |
2 files changed, 47 insertions, 8 deletions
diff --git a/chapter08/fstab.xml b/chapter08/fstab.xml index 439057b4f..fb7961346 100644 --- a/chapter08/fstab.xml +++ b/chapter08/fstab.xml @@ -65,4 +65,43 @@ EOF</userinput></screen> <filename>usbcore</filename> must be listed in <filename>/etc/sysconfig/modules</filename>.</para> + <para>Filesystems with MS-DOS or Windows origin (i.e.: vfat, ntfs, smbfs, cifs, + iso9660, udf) need the <quote>iocharset</quote> 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 <quote>codepage</quote> 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 <filename>/etc/fstab</filename>:</para> + +<screen>/dev/sda1 /media/flash vfat noauto,user,quiet,showexec,iocharset=koi8r,codepage=866 0 0</screen> + + <para>The corresponding line for ru_RU.UTF-8 users is:</para> + +<screen>/dev/sda1 /media/flash vfat noauto,user,quiet,showexec,iocharset=utf8,codepage=866 0 0</screen> + + <note><para>In the latter case, the kernel emits the following message:</para> + +<screen><computeroutput>FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!</computeroutput></screen> + + <para>This negative recommendation should be ignored, since all other values + of the <quote>iocharset</quote> option result in wrong display of filenames in + UTF-8 locales.</para></note> + + <para>It is also possible to specify default codepage and iocharset values for + some filesystems during kernel configuration. The relevant parameters + are named + <quote>Default NLS Option</quote> (CONFIG_NLS_DEFAULT), + <quote>Default Remote NLS Option</quote> (CONFIG_SMB_NLS_DEFAULT), + <quote>Default codepage for FAT</quote> (CONFIG_FAT_DEFAULT_CODEPAGE), and + <quote>Default iocharset for FAT</quote> (CONFIG_FAT_DEFAULT_IOCHARSET). + There is no way to specify these settings for the + ntfs filesystem at kernel compilation time.</para> + <!-- Personally, I find it more foolproof to always specify the iocharset and + codepage in /etc/fstab for MS-based filesystems - Alexander E. Patrakov --> + </sect1> diff --git a/chapter08/kernel.xml b/chapter08/kernel.xml index fcac33a39..457e1c2fb 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.</para> + <para>By default, the 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 active. Fix these issues with the + patch:</para> + +<screen><userinput>patch -Np1 -i ../&linux-utf8-patch;</userinput></screen> + <para>Prepare for compilation by running the following command:</para> <screen><userinput>make mrproper</userinput></screen> @@ -57,14 +64,7 @@ kernel compilation. Do not rely on the source tree being clean after un-tarring.</para> - <para>If, in <xref linkend="ch-scripts-console" role=","/> it was decided to - compile the keymap into the kernel, issue the command below:</para> - -<screen role="nodump"><userinput>loadkeys -m /usr/share/kbd/keymaps/<replaceable>[path to keymap]</replaceable> > \ - drivers/char/defkeymap.c</userinput></screen> - - <para>For example, if using a Dutch keyboard, use - <filename>/usr/share/kbd/keymaps/i386/qwerty/nl.map.gz</filename>.</para> + <!-- Support for compiling a keymap into the kernel is deliberately removed --> <para>Configure the kernel via a menu-driven interface. BLFS has some information regarding particular kernel configuration requirements of |