From mboxrd@z Thu Jan 1 00:00:00 1970 From: AKASHI Takahiro Date: Wed, 27 Nov 2019 15:17:29 +0900 Subject: [U-Boot] [BUG] fs: fat: incorrect creation of files with Unicode file name In-Reply-To: References: Message-ID: <20191127061727.GO22427@linaro.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit To: u-boot@lists.denx.de On Wed, Nov 13, 2019 at 12:53:17AM +0100, Heinrich Schuchardt wrote: > In the UEFI Shell I create a file with > > FS0:\> echo привет_мир.текст > привет_мир.текст > > FS0:\> ls > Directory of: FS0:\ > 00/00/0000 00:00 38 привет_мир.текст > > The U-Boot console shows it correctly: > > => ls scsi 0:1 > 38 привет_мир.текст > > Now in Linux I mount the volume. ls shows an incorrect filename: > > > ls /mnt > 'пÑ'$'\302\200''ивеÑ'$'\302\202''_миÑ'$'\302\200''.Ñ'$'\302\202''екÑ'$'\302\201''Ñ'$'\302\202' > > Now in Linux I create a file > > # echo привет_мир.текст > /mnt/привет_мир.текст > > U-Boot shows the file name incorrectly > > => ls scsi 0:1 > 31 ?@825B_<8@.B5:AB > > So U-Boot seems not to convert file names correctly to UTF-16 before saving. No conversion from/to UTF-16 takes place at a long file name entry in the current FAT file system. If we implement this, it will end up with incompatibility of (meta) data with existing media. -Takahiro Akashi > Best regards > > Heinrich