次のブートログにリストされているMTDパーティションの命名方式は何ですか?
5 cmdlinepart partitions found on MTD device phys_mapped_flash
Creating 5 MTD partitions on "phys_mapped_flash":
0x00000000-0x00080000 : "bootloader"
0x00080000-0x00680000 : "kernel"
0x00680000-0x01680000 : "rootfs"
0x01680000-0x01780000 : "data"
0x01780000-0x017a0000 : "bootload-env"
具体的には、U-Bootプロンプトのコマンドの引数として「rootfs」パーティションを指定するために使用される命名スキームが何であるかを尋ねました。
setenv bootargs 'root= ???????'
IMO、指定する必要がありますルート= これは、ブートログにカーネルがルートデバイスが何であるかが不明であることを示すためです。
VFS: Cannot open root device "<NULL>" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
...開始ログには次の内容も表示されます。
Kernel command line: bootoctlinux 0x2a00200 mtdparts=phys_mapped_flash:512k(bootloader)ro,6M(kernel),16M(rootfs),1024k(data),128k(bootload-env) console=ttyS0,115200
注:ルートファイルシステムは、カーネルELFファイル(vmlinux64)の埋め込みセクション(.init.ramfs)にgzipで圧縮されたcpioアーカイブとして保存され、ブートログはRAMに正常にロードされたことを示します。
Loading .init.ramfs @ 0xffffffff806ac000 (0x185ac7 bytes)
これはフラッシュストレージがわずか32MBの組み込みシステムです(Linuxカーネルv2.6.21.7(配布:MIPS64用Cavium-Octeon))。
U-Boot 1.1.1(開発バージョン、svnバージョン:176)
編集する:
ある人は MTD1 と呼ばれ、ある人は MTD2 と呼ばれ、ある人は /dev/MTD1 と呼ばれ、ある人は /dev/mtd1 と呼ばれ、ある人は MTDblock1 と呼ばれ、ある人は mtdblock1 と呼ばれ、ある人ははmtdblock2と呼ばれ、ある人はubi.mtdblock1と呼ばれ、ある人はubi:mtdblock1と呼ばれます。 (なぜコロンがあるのですか?)ちょっと…
真実は何ですか? U-Bootプロンプトまたはブートログで確認するには?
答え1
root=/dev/mtdblock3
またはいくつかのUBIオプション。あなたが気づいていないことは、他のファイルシステムに別の提案があるということです:-).これが/dev/mtd3
ツリー内のファイルシステムで使用されているかどうかはわかりません。
ルートファイルシステムがブロックベース(非mtd対応)ファイルシステムの読み取り専用インスタンスの場合/dev/mtdblock3
。
ルートファイルシステムがJFFS2のインスタンスの場合は、/dev/mtdblock3
.seeを使用してください。https://www.denx.de/wiki/DULG/RootFileSystemOnAJFFS2FileSystem 一般に、他のファイルシステムのいくつかの例については、以下を参照してください。http://www.denx.de/wiki/publish/DULG/DULG-enbw_cmc.html#Section_9.5.(しかし、UBIはこのセクションでは言及されていません。)
rootfs が UBI を使用している場合は、一部の UBI オプションを使用します。ただし、UBIの詳細は表示されませんでした。root=
UBIデバイス/ボリュームを使用する前に、UBIデバイス/ボリュームに関するいくつかのカーネル起動メッセージが必要です。ねえ:http://www.linux-mtd.infradead.org/faq/ubifs.html#L_mount_ubifs UBIオプションの例を示しますubi.mtd=0 root=ubi0:rootfs rootfstype=ubifs
。 mtdパーティションは「rootfs」として直接呼び出されるため、UBIではないと予想されます。
root=mtdblock3
少なくともわからない場合は、この形式を使用しないでください。違いは、一部のinitramfsがそれをサポートしていない可能性があることです。ただし、root=/dev/mtdblock3
カーネルを使用してルートファイルシステムをマウントし、initramfsを使用しないと、カーネルはこの形式を理解します。