* docs/grub.texi (Filesystems): Clarify restrictions.

(Regexp): Mention non-Unicode regexp behaviour.
	(Other): Mention non-Unicode matching behaviour.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2011-12-25 14:46:44 +01:00
parent 74bbf0dbae
commit f63d6bf4a1
2 changed files with 33 additions and 11 deletions

View file

@ -1,6 +1,12 @@
2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
* docs/grub.texi (Filesystems): Clarify restrictions.
(Regexp): Mention non-Unicode regexp behaviour.
(Other): Mention non-Unicode matching behaviour.
2011-12-24 Vladimir Serbinenko <phcoder@gmail.com> 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
Make HFS implementation to use MacRoman. Make HFS implementation use MacRoman.
* grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define. * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
(macroman): New const array. (macroman): New const array.

View file

@ -3932,7 +3932,7 @@ appropriate representation is used. All text files (including config) are
assumed to be encoded in UTF-8. assumed to be encoded in UTF-8.
@chapter Filesystems @chapter Filesystems
NTFS, JFS, UDF, HFS+, exFAT, long filesnames in FAT, Joliet part of NTFS, JFS, UDF, HFS+, exFAT, long filenames in FAT, Joliet part of
ISO9660 are treated as UTF-16 as per specification. BFS is read as UTF-8, ISO9660 are treated as UTF-16 as per specification. BFS is read as UTF-8,
again according to specification. BtrFS, cpio, tar, squash4, minix, minix2, again according to specification. BtrFS, cpio, tar, squash4, minix, minix2,
minix3, ROMFS, ReiserFS, XFS, ext2, ext3, ext4, FAT (short names), minix3, ROMFS, ReiserFS, XFS, ext2, ext3, ext4, FAT (short names),
@ -3942,15 +3942,20 @@ but as long as the charset used is superset of ASCII you should be able to
access ASCII-named files. And it's recommended to configure your system to use access ASCII-named files. And it's recommended to configure your system to use
UTF-8 to access the filesystem, convmv may help with migration. AFFS and HFS UTF-8 to access the filesystem, convmv may help with migration. AFFS and HFS
never use unicode and GRUB assumes them to be in Latin1 and MacRoman never use unicode and GRUB assumes them to be in Latin1 and MacRoman
respectively. NTFS, HFS+, FAT and exFAT are case-insensitive however no respectively. GRUB handles filesystem case-insensitivity however no attempt
attempt is performed at case conversion of international characters so e.g. is performed at case conversion of international characters so e.g. a file
a file named lowercase greek alpha is treated as different from the one named named lowercase greek alpha is treated as different from the one named
as uppercase alpha. Also similar to POSIX systems GRUB make no attempt at check as uppercase alpha. The filesystems in questions are NTFS (except POSIX
of canonical equivalence so a file name u-diaresis is treated as distinct from namespace), HFS+ (by default), FAT, exFAT
u+combining diaresis. This however means that in order to access file on and ZFS (configurable on per-subvolume basis by property ``casesensitivity'',
HFS+ its name must be specified in normalisation form D. On ZFS subvolumes default sensitive). On ZFS subvolumes marked as case insensitive files
marked as case insensitive files containing lowercase international characters containing lowercase international characters are inaccessible.
are inaccessible. Also like all supported filesystems except HFS+ and ZFS (configurable on
per-subvolume basis by property ``normalization'', default none) GRUB makes
no attempt at check of canonical equivalence so a file name u-diaresis is
treated as distinct from u+combining diaresis. This however means that in
order to access file on HFS+ its name must be specified in normalisation form D.
On normalized ZFS subvolumes filenames out of normalisation are inaccessible.
@chapter Output terminal @chapter Output terminal
Firmware output console ``console'' on ARC and IEEE1275 are limited to ASCII. Firmware output console ``console'' on ARC and IEEE1275 are limited to ASCII.
@ -3985,6 +3990,17 @@ makes difficult to enter any text using non-Latin alphabet.
@chapter Gettext @chapter Gettext
GRUB supports being translated. For this you need to have language *.mo files in $prefix/locale, load gettext module and set ``lang'' variable. GRUB supports being translated. For this you need to have language *.mo files in $prefix/locale, load gettext module and set ``lang'' variable.
@chapter Regexp
Regexps work on unicode characters, however no attempt at checking cannonical
equivalence has been made. Moreover the classes like [:alpha:] match only
ASCII subset.
@chapter Other
IEEE1275 aliases are matched case-insensitively except non-ASCII which is
matched as binary. Similar behaviour is for matching OSBundleRequired.
Since IEEE1275 aliases and OSBundleRequired don't contain any non-ASCII it
should never be a problem in practice.
@node Security @node Security
@chapter Authentication and authorisation @chapter Authentication and authorisation