Armadilloフォーラム

X1 Linuxカーネル6.1でexFAT形式のUSBメモリをマウント

tsato

2024年6月21日 17時06分

お世話になります。

Armadillo-X1で、Linuxカーネル6.1とdebian12(bookworm)に入れ替えました。
Linuxカーネル6.1はexFAT形式のマウントにも対応しているとの情報でしたので、128GBのexFATのUSBメモリをマウントしようとしましたが、下記エラーとなりました。

root@armadillo:~# mount /dev/sda1 /mnt
mount: /mnt: unknown filesystem type 'exfat'.
       dmesg(1) may have more information after failed mount system call.
mount: (hint) your fstab has been modified, but systemd still uses
       the old version; use 'systemctl daemon-reload' to reload.
root@armadillo:~#

調べると、exFATでのマウントには"exfat-fuse"と"exfat-utils"のパッケージが必要とのことで、
事前にパッケージのupdateとupgradeは行い、"exfat-fuse"の方は正常にインストールできましたが、"exfat-utils"の方は実行すると以下のエラーとなりました。

root@armadillo:~# sudo apt-get install exfat-utils
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package exfat-utils is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
 
E: Package 'exfat-utils' has no installation candidate
root@armadillo:~# 

調べると、マウント時のコマンドを"mount.exfat-fuse"にするとexFATのマウントをすることが出来ましたが、この場合当然ながらFAT32のUSBメモリはマウントできません。
FAT32でもexFATでも同一のコマンドでマウントするような手法は何かあったりしますでしょうか。

よろしくお願いします。

コメント

at_dominique.m…

2024年6月21日 17時23分

tsatoさん

お世話になっています、
マルティネです。

> Armadillo-X1で、Linuxカーネル6.1とdebian12(bookworm)に入れ替えました。
> Linuxカーネル6.1はexFAT形式のマウントにも対応しているとの情報でしたので、128GBのexFATのUSBメモリをマウントしようとしましたが、下記エラーとなりました。

標準のカーネルではドライバがビルドされてません:

root@armadillo:~# zcat /proc/config.gz | grep EXFAT_FS
# CONFIG_EXFAT_FS is not set

大変お手数ですが、カーネルをビルドすればマウントできるようになります。
(最近 exfat がよく使われていますので、次の更新で有効にします。ご迷惑をおかけして申し訳ございません。)

ビルド手順は以下のとおりです:
https://manual.atmark-techno.com/armadillo-iot-g3l/armadillo-iotg-g3l_p…

コンフィギュレーションの「x1_defconfig」コマンドの後に「make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig」コマンドを実行してください。
そのメニューに:
* 「/」キーで「EXFAT_FS」を検索します
* 「1」キーで選択します
* 「exFAT filesystem support」項目を y で有効します
* 「ESC」キーで保存まで戻って Yes でコンフィグを保存してください。

そのカーネルを起動していただければマウントコマンドが成功するようになるはずです。

> 調べると、exFATでのマウントには"exfat-fuse"と"exfat-utils"のパッケージが必要とのことで、

ちなみにマウントするだけであればそういうパッケージは不要です(exfat のファイルシステムをチェックする時や作る時に使います)

よろしくお願いします

お世話になります。

ご回答ありがとうございます。
ご指摘いただいたようにLinuxカーネルコンフィギュレーションでEXFAT_FSを追加したところ、どちらの形式でも無事mountコマンドでマウントできるようになりました。ありがとうございます。

> ちなみにマウントするだけであればそういうパッケージは不要です(exfat のファイルシステムをチェックする時や作る時に使います)
exFATのファイルチェック・修復コマンドは、従来どおりfsckコマンドでも可能でしょうか。

よろしくお願いします。

at_dominique.m…

2024年6月24日 9時58分

tsatoさん

マルティネです。

無事にマウントできてよかったです。

> > ちなみにマウントするだけであればそういうパッケージは不要です(exfat のファイルシステムをチェックする時や作る時に使います)
>
> exFATのファイルチェック・修復コマンドは、従来どおりfsckコマンドでも可能でしょうか。

一般的には fsck のバージョンによりますが、Armadillo でデフォルトに使用している util-linux の fsck の場合は exfatprogs がインストールされている場合に fsck.exfat を実行しますので、exfatprogs をインストールすれば「fsck」コマンドだけで問題ありません。
(fsck のコマンド出力に「exfatprogs version : ...」が表示されると思います)

exfatprogs をインストールしないと、util-linux ではファイルシステムのチェック・修復はできませんので、何もしません。
共通コマンドを利用できても、追加パッケージが必要です。

よろしくお願いします。

お世話になります。

ご回答ありがとうございます。
exfatprogsの方をインストールしたところ、fsckコマンドで「exfatprogs version : ...」が出るようにはなりました。
ただ、実際にUSBのメモリ破損が起きていないため修復動作の確認までは出来なかったので、
とりあえずこの状態で様子を見ていこうかと思います。
ありがとうございました。

よろしくお願いします。