c - Linux内核如何编译自己?

我安装的时候不太明白Linux内核的编译过程 我机器上的 Linux 系统。

以下是一些让我感到困惑的事情:

  1. 内核是用 C 语言编写的,但是在没有安装编译器的情况下如何编译内核?
  2. 如果在编译内核之前在我的机器上安装了 C 编译器,如何在没有安装编译器的情况下编译编译器本身?

这两天我很困惑,谢谢你的回复。

最佳答案

您的 Linux 机器的第一轮二进制文件是在其他一些 Linux 机器上构建的(可能)。

第一个 Linux 系统的二进制文件是在某个其他平台上构建的。

该计算机的二进制文件可以将其根追溯到构建在另一个另一个平台上的原始系统。

...

深入研究,您会发现编译器使用更原始的工具构建,而这些工具又构建在主机以外的机器上。

...

继续往下推,您会发现计算机内置了可以通过设置机器前面板上的开关来输入指令。

非常酷的东西。

规则是“构建工具来构建工具来构建工具......”。非常类似于运行我们物理环境的工具。也称为“自力更生”。

https://stackoverflow.com/questions/494372/

相关文章:

linux - 如何将后台应用程序的输出重定向到/dev/null

python - boto3 客户端 NoRegionError : You must specif

linux - 让 bash 脚本回答交互式提示

linux - 如何让maven构建平台独立?

python - 使用 Python 计算目录的大小?

python - 如何在 Xvfb 中运行 Selenium?

python - 如何前向声明一个函数以避免后面定义的函数出现 `NameError` s?

python - 在 Python 中记录未捕获的异常

python - 在 Python 中构建完整路径文件名

python - 从python pandas中的列名获取列索引