[U-Boot] [BUG] fs: fat: incorrect creation of files with Unicode file name

AKASHI Takahiro takahiro.akashi at linaro.org
Wed Nov 27 06:17:29 UTC 2019


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 at .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


More information about the U-Boot mailing list