すべてのファイルが何を担当しているかを理解するには、MPU がどのように起動するかを理解する必要があります。
ご質問のとおり、NXP (Freescale) i.MX マイクロプロセッサ ファミリを使用されていることがわかりました。これには、基本的なシステム セットアップ (メモリへのインターフェイス、クロック ツリーなど) を作成し、ブートするメディアを検索し (焼き付けられた OTP ビットまたは GPIO に基づいて)、ブートローダー (あなたの場合は u-boot) を検索する小さな ROM ローダーが含まれています。データシートで指定されている正確なアドレスを読み込んで起動します。 U-Boot は、より多くのインターフェイス (イーサネットなど) を初期化し、カーネルに渡す必要がある引数 (NFS を使用する場合は画面設定、コンソール、ネットワーク設定) を見つけ、カーネルを DDR にコピーして、すべての引数を渡します。カーネルはすべてのドライバーをロードし、すべてのライブラリ、アプリケーションなどを含む rootfs を検索します。この後、カーネルは init スクリプトを開始します。これにより、すべてのシステムが初期化され、アプリケーションが開始されます。
zImage
コンパイルされたカーネルの実際のバイナリ イメージです。これは、ブート ローダーがロードして実行しようとするものです (組み込み Linux では、何らかの方法でブート セクタに直接書き込まれていると思います。手順については、組み込み Linux ディストリビューションのマニュアルを参照してください)rootfs
いわゆるINITial RamDisk(initrdとしても知られる)イメージで、実際のルートファイルシステムをマウントできる状態にカーネルを起動するために必要なものがすべて含まれています。uboot
組み込み Linux で使用されるブートローダーです。基本的に、BIOS (Basic Input Output System) にzImage
を実行するように指示します。zImage
を伝えるオプション付き 起動方法を知るためのルート ファイルシステムの場所
推測する必要がある場合、これらのファイルはすべて、実際の SD カード イメージを生成するプロセスで作成される可能性があります。たとえ前の 3 つを手動で最終イメージに追加する必要がなくなったとしてもです。
直接イーサネット接続を介して SSH 経由でデバイスに接続する方法
一部の Linux システムでは、mtab でルート ファイルシステムが /dev/<実デバイス ノード> ではなく /dev/root として表示されるのはなぜですか?