0

Ubuntu12.04でLFS7.1を作成しましたが、6.4章:Chroot環境に入るで問題が発生しました。次のコマンドを実行します:chroot "$ LFS" / tools / bin / env -i \ HOME = / root TERM = "$ TERM" PS1 ='\ u:\ w \ $'\ PATH = / bin:/ usr / bin :/ sbin:/ usr / sbin:/ tools / bin \ / tools / bin / bash --login +hシンボルリンク/toolsを作成せず、すべてのコマンドに/ mnt / lfs/toolsを使用しました。bashを実行した後、その出力は次のとおりです。

root@ubuntu:/mnt/lfs/tools# ldd ./bin/env
linux-gate.so.1 =>  (0xb7703000)
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb754c000)
/mnt/lfs/tools/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7704000)

誰かが私がこの問題を解決するのを手伝ってくれる?

4

1 に答える 1

0

この本には、このシンボリックリンクがオプションであるというヒントが含まれているとは思いません...

最初のツール チェーンを作成するときに、そのシンボリック リンクを使用する必要があります。この方法でのみ、ホストシステムとchrootされたシステムで同じ(テキスト的に同一の)パスを持つことができます。これは、ツールのコンパイル中に、他のツールやライブラリ ("/tools") を見つけるために使用されるパスが、作成されたばかりの実行可能ファイルに組み込まれるため必要です。(シンボリックリンクを使用しないと、パス「/mnt/lfs/tools」が実行可能ファイルに埋め込まれます。このパスは chroot 後には存在しません)。

第 4.2 章に戻りたくない場合は、これを試してください: lfs システム内にパス /mnt/lfs/tools を作成して、chroot システム内でツールが配置されている場所を指すようにします。つまり、次のように (ホスト システムで) 別のシンボリック リンクを作成します。

ln -s /tools /mnt/lfs/mnt/lfs/tools

(はい、2 番目の引数は /mnt/lfs/mnt/lfs/tools を読み取り、/mnt/lfs が 2 回含まれています)。その後、6.4 Chroot に入る... に進みます。

しかし、より良い (よりクリーンな) オプションは、第 5 章の結果を削除して 4.2 に戻ることです。今回はシンボリックリンクを作成します。

于 2012-11-24T11:55:04.203 に答える