例如,当我在x64系统上安装了一些Linux发行版时,我几乎可以拔掉我的存储驱动器,把它放到另一台x64机器上,安装几个HL驱动程序,比如图形驱动程序,它很可能没有任何麻烦地运行。
谈到ARM系统,尤其是ARM SoC,就像任何类型的智能手机一样,情况完全不同。对于每一款智能手机,都有不同的操作系统版本(例如OEM Android发行版)。
我的问题是:为什么?
我了解到,与具有标准化体系结构的个人电脑不同,SoC芯片和体系结构很多很多。但是,考虑到设备树,我问自己为什么没有一种方法将设备树作为硬件描述,与某些ROM芯片上的引导加载程序一起,独立于任何硬件规范构建Linux操作系统,至少在某些定义的范围内。
发布于 2016-12-19 04:45:46
我问自己,为什么没有一种方法可以将设备树作为硬件描述与引导加载程序放在某个ROM芯片上,并独立于任何硬件规范构建Linux操作系统,至少在某些定义的范围内是如此。
答:便宜。没人想为ROM芯片付钱。SoC中有一个引导ROM,但是设备树根据SoC所在的电路而变化,所以这是不好的。您将需要一个独立的"BIOS芯片“,如x86板,以使这一工作。
您可以通过将大多数ARM板引导的SD卡作为BIOS芯片来使其工作;只需将U-Boot和设备树放在上面,然后让USB从USB驱动器加载内核。然后USB驱动器将(公平地)便携从ARM板到ARM板。
在优化方面,虽然您可以为ARM进行一般的编译,但针对特定处理器(比在x86_64上更多)确实有好处。
https://unix.stackexchange.com/questions/331300
复制相似问题