我很想知道 Board/Machine ID 的重要性。我有几个与之相关的问题:
- 机器 ID 与电路板 ID 相同还是不同?
- 这个 ID 对于引导加载程序和内核引导有什么意义?
- 谁决定董事会 ID?
- ID 仅与 ARM 架构相关,还是该概念也适用于其他平台?
- 如何查看特定机器的主板ID?
- 是特定于引导 Linux 的吗?
任何其他信息。除了这些问题之外,欢迎提问。
提前致谢。
最佳答案
此上下文中的“机器 ID”特定于 ARM Linux,并且编号由 ARM 内核维护者分配。主线支持的机器在 arch/arm/tools/mach-types
中列出;可以找到完整的注册表 here .
ARM 系统存在问题,因为没有“标准”硬件布局(例如与 x86 兼容的 IBM PC),没有标准固件(例如 ACPI BIOS),并且大多数外围设备直接连接到 CPU 而不是在后面可能的总线(例如 PCI)。因此,ARM 内核必须依靠引导加载程序来告诉它它在哪台机器上运行,从而知道要使用哪个硬编码硬件定义/支持代码(参见 arch/arm/mach-*/
)。
请注意,此系统现已过时,描述硬件的首选方式是使用 Device Tree ,这消除了用特定于机器的代码填充内核的大部分需要(实际上,许多仍然受支持的旧系统正在从“boardfiles”转换为 DT)。
关于linux-kernel - ARM 机器/主板 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25256486/