On Thu, Mar 13, 2025 at 08:13:23PM +0100, Marek Vasut wrote:

> Add U-Boot adjustments to the libexfat code and integrate
> the result into U-Boot filesystem layer. This provides full
> read-write exfat support for U-Boot available via generic
> filesystem interface.
> 
> FS_DIRENT_NAME_LEN is increased to 1024 in case exfat is
> enabled, because EXFAT can use UTF16 names, which do not
> fit into current FS_DIRENT_NAME_LEN. To avoid affecting
> every configuration, increase FS_DIRENT_NAME_LEN only in
> case EXFAT is enabled.
> 
> Example usage via sandbox, assuming disk.img with one exfat partition:
> 
> Drive info:
> $ ./u-boot -Tc 'host bind 0 ../disk.img ; host info 0'
> dev       blocks  blksz label           path
>   0       262144    512 0               ../disk.img
> 
> List files:
> $ ./u-boot -Tc 'host bind 0 ../disk.img ; ls host 0:1 /api'
>       475   Kconfig
>       230   Makefile
>      1873   README
>      ...
> 10 file(s), 0 dir(s)
> 
> Load and checksum a file:
> $ ./u-boot -Tc 'host bind 0 ../disk.img ; load host 0:1 $loadaddr .config ; \
>                 crc32 $loadaddr $filesize'
> 56724 bytes read in 1 ms (54.1 MiB/s)
> crc32 for 00000000 ... 0000dd93 ==> b2e847c9
> 
> $ crc32 .config
> b2e847c9
> 
> Load .config file to RAM, store the file into FS as /newconfig,
> load the /newconfig into RAM and checksum the file:
> $ ./u-boot -Tc 'host bind 0 ../disk.img ; load host 0:1 $loadaddr .config ; \
>               save host 0:1 $loadaddr /newconfig $filesize ; \
>               load host 0:1 0x10000 /newconfig ; \
>               crc32 0x10000 $filesize'
> 56724 bytes read in 1 ms (54.1 MiB/s)
> 56724 bytes written in 0 ms
> 56724 bytes read in 0 ms
> crc32 for 00010000 ... 0001dd93 ==> b2e847c9
> 
> Remove file 3.txt and create new directory /newdir:
> $ ./u-boot -Tc 'host bind 0 ../disk.img ; ls host 0:1 / ; \
>                 rm host 0:1 3.txt ; mkdir host 0:1 /newdir ; \
>               ls host 0:1 /'
> ...
>         0   1.txt
>         0   2.txt
>         0   3.txt
>         0   4.txt
>         0   5.txt
> 
> 7 file(s), 4 dir(s)
> ...
>         0   1.txt
>         0   2.txt
>             newdir/
>         0   4.txt
>         0   5.txt
> 
> 6 file(s), 5 dir(s)
> 
> Signed-off-by: Marek Vasut <ma...@denx.de>

Acked-by: Tom Rini <tr...@konsulko.com>

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to