1. ホーム
  2. c

[解決済み] Linuxカーネルはどうやって自分でコンパイルするの?

2023-03-30 21:18:21

質問

自分のマシンに Linux システムをインストールする際の Linux カーネルのコンパイル過程がよくわかりません。 をインストールする際の Linux カーネルのコンパイル プロセスがよくわかりません。

以下は、私を混乱させたいくつかの事柄です。

  1. カーネルは C 言語で書かれていますが、コンパイラーをインストールせずにどのようにカーネルをコンパイルしたのでしょうか。
  2. カーネルがコンパイルされる前に C コンパイラが私のマシンにインストールされている場合、コンパイラがインストールされていない状態で、どのようにしてコンパイラ自体をコンパイルすることができるのでしょうか。

数日間、とても混乱していました、回答ありがとうございました。

どのように解決するのですか?

あなたの Linux マシンの最初のバイナリは、(おそらく)他の Linux マシンでビルドされたものです。

最初の Linux システムのバイナリは、いくつかの 他の プラットフォームで構築されました。

そのコンピュータのバイナリは、そのルーツをたどると、まだ 別の プラットフォームで構築された元のシステムにまでさかのぼることができます。

...

これをさらに推し進めると、より原始的なツールで作られたコンパイラが見つかり、それらは今度はホストとは別のマシンで作られるようになります。

...

このまま押し進めると、コンピュータは、その命令を マシンのフロント パネルにあるスイッチを設定することで、命令を入力できるように作られたコンピュータがあります。 .

とてもクールなものです。

ルールは、「ツールを構築し、ツールを構築し、ツールを構築する..."」です。私たちの物理的な環境を動かす道具とよく似ていますね。また、quot;pulling yourself by the bootstraps"とも呼ばれます。