0

Android エミュレーター (avd-Nexus 5) でカスタム ubifs ファイルシステムの機能をテストしたいと考えています。ubifs をサポートする金魚カーネル (3.4) をコンパイルしてデプロイしました。しかし、エミュレータに ubifs をマウントするための正しい手順が見つかりません。adb のマウント コマンドを使用してみましたが、使用できません。続行する方法についてのアイデアはありますか? または、実際の Nexus 5 デバイスに ubifs をマウントするアイデアがある場合は、共有してください。

前もって感謝します..

4

1 に答える 1

0

UbiFsを使用するには、 UBIが機能する必要があります。 UBIには、フラッシュ デバイスまたは MTD (メモリ テクノロジ デバイス) が必要です。マウントするには、 nand_simドライバーを使用できます。以下は、UbiFsファイルシステムをセットアップするためのいくつかのコマンドです。

# nandsim emulating Micron 3.3V 256MiB, 2048 bytes page.
modprobe nandsim first_id_byte=0x2c second_id_byte=0xda third_id_byte=0x90 \
  fourth_id_byte=0x95
flash_erase /dev/mtd0 0 0
ubiformat /dev/mtd0
modprobe ubi mtd=0
ubiupdatevol /dev/ubi0_0 ubi.img
mount -t ubifs -o ro /dev/ubi0_0 /mnt/ubifs

これには、モジュールとしてnand_simが必要です。ubiubifs、およびmtdをモジュールとして持つとおそらく役に立ちます。少なくとも上記のコマンドは Debian/Ubuntu システムで動作し、UbiFsイメージを検証し、破損したイメージを診断します。モジュールを作成するためのAndroid シミュレータ固有の方法がおそらくあるでしょう。または、nand_simをカーネルに組み込み、パラメータを指定してダミーのフラッシュ デバイスを作成することもできます。

詳細とリソースについては、 UBI Wiki のエントリを参照してください。少なくとも与えられた概念は、正しい道にあなたを導くはずです。

: ubi.imgは、消去ブロックサイズなどのいくつかのフラッシュ パラメータを使用して作成されます。これは NAND デバイスの特性です。テスト イメージのパラメーターと一致するデバイスのnand_simパラメーターを指定する必要があります。Linux カーネル ファイルnand_ids.cには、 first_id_bytesecond_id_byteなどの許容値を含むテーブルがあります。適切な NAND ジオメトリを作成するために nand_sim がエミュレートするid flashの NAND ハードウェア コマンドがあります。最初のバイトは製造元 IDです。参照: nand_sim の UbiF

于 2014-06-05T14:55:51.377 に答える