Linux如何在不同的微处理器上运行? Linux内核是否在每次安装时进行编译?
每个编译/安装的内核映像都是为特定的微处理器(或通常的微处理器系列)而构build的
源代码部分与硬件无关(=多个驱动程序,调度程序…),部分是平台特定的(=与硬件的低层交互…),但是生成的二进制文件始终是特定于一个体系结构的。
Linux内核就像每个编译的程序一样依赖于平台 。
内核黑客是非常熟练的编程人员,所以很大一部分内核代码是以平台感知的方式编写的(例如,使用预处理器macros),其余部分必须是架构相关的,无论是性能问题还是因为被限制在某些硬件function上不存在于其他拱形上,等等。
这通常不是在arch A上编译内核的能力的限制,而是产生将在arch B上运行的内核的能力,这个过程被称为交叉编译,并且是通过交叉编译器
所以答案是在安装时不需要编译 ,因为它可以由你的发行版供应商编译或交叉编译 。 如果你需要自定义它,你可以在自己的机器上重新编译它。
通常的步骤来让Linux在特定的平台上工作:
重复每个平台。
它通常在安装之前编译。 但是,它是分别编译为每个平台。