/usr/srcはカスタムカーネルの有効な場所ですか?

/usr/srcはカスタムカーネルの有効な場所ですか?

(カーネルハッキングのための)カスタムカーネルを構築してインストールする方法を学びながら、私はパラドックスを見つけました。

これにスタック交換の回答、著者は次のように指摘します。

以下の手順では、ソースツリー内のパスは[src] / whatever形式を取ります。ここで、[src]はソースコードがインストールされているディレクトリです(例:/usr/src/linux-3.13.3)。書き込み権限の観点からソースツリーを安全に保つ必要があるため(ルートが所有する必要があるため)、このsuルートを実行できます。

彼は参考書でこう述べた。Linuxカーネルの簡単な紹介、Greg Krohartmanは次のように述べています。

この警告は、この本の手順に従うときに覚えておくべき最も重要なことです。カーネルのソースコードのダウンロード、解凍、カーネルの設定、ビルドなど、この本のすべての作業はコンピュータ上の一般ユーザーとして実行する必要があります。新しいカーネルをインストールするために必要な2〜3個のコマンドのみをスーパーユーザー(root)として実行する必要があります。

そして

カーネルソースコードは/usr/src/linux/ディレクトリに置かないでください。これは、新しいカスタムカーネルの場所ではなく、システムライブラリが構築されるカーネルの場所であるためです。 /usr/src/ ディレクトリツリーの下では、カーネルの開発をまったく実行せず、ローカルユーザーディレクトリでのみ実行して、システムに悪いことがないようにしてください。

どちらのソースもかなり古いです。現在、正しいアプローチは何ですか?

答え1

/usr「カスタム」が間違っている場合:

男性:

   /usr/src
          Source  files  for different parts of the system, included with some packages for reference purposes.  Don't work
          here with your own projects, as files below /usr should be read-only except when installing software (optional).

   /usr/src/linux
          This was the traditional place for the kernel source.  Some distributions put here the  source  for  the  default
          kernel they ship.  You should probably use another directory when building your own kernel.

manファイル階層:

   /usr/
       Vendor-supplied operating system resources. Usually read-only, but this is not required. Possibly shared between
       multiple hosts. This directory should not be modified by the administrator, except when installing or removing
       vendor-supplied packages.

/usr/include以前の依存関係は次のとおりです/usr/src/linux

   /usr/include/linux
          This  contains  information which may change from system release to system release and used to be a symbolic link
          to /usr/src/linux/include/linux to get at operating-system-specific information.

したがって、カーネルソースコードは/usr/src修正ではなく参照にすぎません。

ビルドを読み取り専用イベントに切り替えるためのDocumentation/admin-guide/README.rstオプションが表示されます。O=/usr/src/linux-VERSION

   cd /usr/src/linux-4.X
   make O=/home/name/build/kernel menuconfig
   make O=/home/name/build/kernel

同様に、.configファイルは/ homeの下に作成されます。

関連情報