Armadilloフォーラム

ext3のunsupported feature

izawa

2015年6月5日 18時47分

毎度お世話様、伊澤@イットーソフトウェアです。

標記の件、LinuxPCでフォーマットしたμSDをa420wlanで運用しているのですが、
以下の引用の前半のようにe2fsckでエラーが出ます。
後半で示すようにdir_indexがfeatureにあるのでそれが原因かと思われます。

[root@armadillo420-0 (ttymxc1) ~]# e2fsck /dev/mmcblk0p1
e2fsck 1.25 (20-Sep-2001)
e2fsck: Filesystem has unsupported feature(s) (STD UPD MST)
e2fsck: Get a newer version of e2fsck!
[root@armadillo420-0 (ttymxc1) ~]# tune2fs -l /dev/mmcblk0p1 |grep feature
Filesystem features:      has_journal dir_index
[root@armadillo420-0 (ttymxc1) ~]# 

a420WLANはμSDを隠すようにWLANが配置されていますし、電池やらアンテナやらで
線が錯綜しているので極力挿抜したくありません。
さりとて、a420のtune2fsではdir_indexをオフにできないようです。a420自身での
フォーマットも45分掛かることやファイルの再コピーを考えるとこれも避けたいところです。
何か他に手頃な手段はありませんでしょうか。

# 余談ですが、dir_indexの問題ってどこかに情報ありましたっけ……?
# そも、ファイルシステムは扱えるのにチェックもチューンもできないのって……

コメント

at_kojiro.yamada

2015年6月8日 18時31分

> 以下の引用の前半のようにe2fsckでエラーが出ます。
>
> [root@armadillo420-0 (ttymxc1) ~]# e2fsck /dev/mmcblk0p1
> e2fsck 1.25 (20-Sep-2001)
> e2fsck: Filesystem has unsupported feature(s) (STD UPD MST)
> e2fsck: Get a newer version of e2fsck!

申し訳ありません。
Atmark Distに含まれるe2fsprogsのバージョンが古く、
e2fsck, tune2fs共にdir_indexに対応していませんでした。

> 何か他に手頃な手段はありませんでしょうか。

Debian アーカイブからlenny armel向けのe2fsprogsパッケージをダウンロードして、
dpkg -x コマンドで中身のtune2fsを取り出し、Armadilloにコピーして使う方法があります。

標準イメージで試してみましたので、以下に手順を記載します。
tune2fsと、その実行に必要になったlibraryは添付しておきます。

■tune2fsの実行手順

1. 添付のtune2fs_and_libraries.tar.gzを解凍

[ATDE]# tar xzvf tune2fs_and_libraries.tar.gz
[ATDE]# ls tune2fs_and_libraries
libblkid.so.1.0    libe2p.so.2.3     libuuid.so.1.2
libcom_err.so.2.1  libext2fs.so.2.4  tune2fs

2. tune2fs_and_librariesディレクトリ内のファイルを全てArmadilloにコピー
3. ライブラリ(lib*.so*)を/lib以下に配置

[Armadillo]# ls
libblkid.so.1.0    libe2p.so.2.3      libuuid.so.1.2
libcom_err.so.2.1  libext2fs.so.2.4   tune2fs
[Armadillo]# mv lib*.so* /lib

4. 配置したライブラリのシンボリックリンクを作成

[Armadillo]# ln -s /lib/libext2fs.so.2.4 /lib/libext2fs.so.2
[Armadillo]# ln -s /lib/libe2p.so.2.3 /lib/libe2p.so.2
[Armadillo]# ln -s /lib/libcom_err.so.2.1 /lib/libcom_err.so.2
[Armadillo]# ln -s /lib/libblkid.so.1.0 /lib/libblkid.so.1
[Armadillo]# ln -s /lib/libuuid.so.1.2 /lib/libuuid.so.1

5. tune2fsを実行

[Armadillo]# ls
tune2fs
[Armadillo]# chmod +x tune2fs
[Armadillo]# ./tune2fs -O ^dir_index /dev/mmcblk0p1
tune2fs 1.41.3 (12-Oct-2008)

■参考(添付したバイナリが含まれるパッケージ)

http://archive.debian.net/lenny/e2fsprogs
http://archive.debian.net/lenny/e2fslibs
http://archive.debian.net/lenny/libcomerr2
http://archive.debian.net/lenny/libblkid1
http://archive.debian.net/lenny/libuuid1

ファイル ファイルの説明
tune2fs_and_libraries.tar.gz tune2fsと実行時に必要になったlibrary

毎度お世話、伊澤です。

バイナリ一式をa420に持ち込んで、無事dir_index属性を落とすことができました。
ありがとうございました。

願わくば、マニュアルなりガイドなりでdir_index属性について触れていただきたいところです。