debugfsを介してext3/ext4ファイルシステムを拡張するには?

debugfsを介してext3/ext4ファイルシステムを拡張するには?

現在の状況は、ファームウェアで使用されるext4ファイルシステムのデフォルトサイズを拡張したいことです。

問題は、resize2fs一部のファイルシステム機能を消去し、ログをデバイスパーティションの先頭に再配置するなど、追加のタスクを実行することです。したがって、デバイスがインストールされる前にクラッシュし続け、起動する前にカーネルコンソールにアクセスする方法がわかりませんadbconsole=デバイスディスプレイにコンソールを印刷するためにアクセスしたり、カーネルパラメータを調整したりする方法がわかりません。

拡張なので、通常は移行する必要はありません。それでは、それを使用debugfsして利用可能なinodeのサイズと(必要な場合)数を変更するにはどうすればよいですか?つまり、どのフィールドを設定しset_super_value、どの番号を選択する必要がありますか?

さらに重要なのは、グループ記述子チェックサムを設定する方法

答え1

ファイルシステムが非常に小さくない限り(< 128 MB)、ファイルシステムのサイズを変更するためにスーパーブロックの整数を変更することはできません。ファイルシステムを便利にするために更新する必要がある他のメタデータ構造があります。つまり、可能debugfs "set_super_value"(ssv)コマンドを使用してスーパーブロックのs_blocks_countフィールドを更新し、e2fsckを実行して不足しているメタデータ自体を再構成できます。

これを行う能力は、ファイルシステムのサイズをどれだけうまく調整したか、ファイルシステムをフォーマットするときに「resize_inode」機能が有効になっているかどうかによって大きく異なります。そうしないと、e2fsckによって再構成された不足しているメタデータが他の重要なファイルシステムコンテンツと重複して他の問題を引き起こす可能性があります。

これが動作することを確認する最善の方法は、ファイルシステム全体のイメージを作成してテストすることです。

関連情報