
私は現在組み込みシステムの設計作業をしており、テスト開発システムは現在KVMで実行されているVMです。 KVMにディレクトリ(chrootなど)をマウントし、それをVMのルートファイルシステムとして使用させることは可能ですか?
現在、単一のスパースファイルにルートファイルシステムがあり、ループを介してディレクトリにマウントできますが、変更を実行してテストするときにローカルシステムのディレクトリ構造にルートファイルシステムを配置する方が簡単です。
答え1
仮想マシンにIP接続がある場合は、NFSを介してルートファイルシステムをマウントします。 (カーネルまたはinitrd / initramfsにNFSクライアントドライバとその依存関係をインストールする必要があります。)
ホストにNFSサーバーをインストールし、ディレクトリを宣言してエクスポートします。/etc/exports
。
/path/to/root 10.0.9.0/24(ro,async,no_subtree_check)
ゲストに読んでくださいnfsroot.txt
簡単に言えば、カーネル文書のカーネルコマンドラインには、次の内容を含める必要があります。
root=/dev/nfs nfsroot=10.0.9.1:/path/to/root
仮想マシンの実行中にディレクトリツリーを共有することは絶対的な要件ではなく、必要なのは仮想マシンを起動する前にルートファイルシステムを再構築する便利な方法だけである場合、小さなスクリプトやmakefileを作成して再構築するだけで十分簡単です。ルートファイルシステム。起動前のルートファイルシステムイメージ。これは組み込み開発で一般的です。ルートファイルシステムの便利なオプションは次のとおりです。ファイルシステムの初期化、変形初期化プログラム。また、見ることができます busyboxリンクでinitramfsイメージを生成するには?。