chrootでunameを実際に使用していますか?

chrootでunameを実際に使用していますか?

ブートとchrootingの組み合わせでOSイメージを準備しています。カーネルモジュールの構築などの一部のタスクは、unamechroot内でもホスト構成を報告する出力に依存します。この構成は、デプロイされる構成とは異なります。その結果、カーネルヘッダが見つからず、他のステップが混乱してしまいます。

創造性を発揮してunameこれを偽シェルスクリプトに置き換えることができますが、より実用的なアプローチは何ですか?

答え1

Linuxは報告された値を変更するための制限された方法を提供しますunamepersonalityシステムコールは次のように呼び出すことができます。setarchユーティリティ(組み込まれていないすべてのLinuxで利用可能なutil-linuxパッケージの一部)、たとえばamd64コンピュータで使用したり、setarch i386 myprogramプログラムlinux32 myprogramが32ビットx86システムで実行されていると信じることができます。

unameただし、レポートのバージョンを任意の数に変更する方法はありません。

以下を使用して、プロセスツリーのホスト名を変更することもできます。UTS名前空間

シュルートこれらのパラメータはchroot設定に従って設定できます。

ただし、コンパイルされたソフトウェアの場合、情報報告を変更するだけではuname十分ではありません。また、ターゲットプロセッサに適したコンパイラを使用し、正しいコードをリンクする必要があります。これは…クロスコンパイル、クロスコンパイル環境は、ビルドのターゲットとビルド方法を決定するためにホストシステムに関する情報を使用しません。だからふりをするのを忘れunameて、代わりに読んでください。カーネルモジュールのクロスコンパイル、そしてkbuild ドキュメント

関連情報