通过raspberry文档阅读。我发现了这些文字
"请注意,DT和ATAG是互斥的。因此,将DT blob传递给不了解它的内核会导致引导失败。为防止这种情况,加载程序检查内核映像是否兼容DT,这是由mkknlimg实用程序添加的预告片标记的;这可以在这里找到,或者在最近的内核源代码树的scripts目录中找到。任何没有预告片的内核都被认为不具备DT功能。"
在https://www.raspberrypi.org/documentation/configuration/device-tree.md
我很好奇预告片在内核黑客俚语中意味着什么?
我不特别提出Raspberry Pi这个问题。我对一般性解释感兴趣。
答案 0 :(得分:1)
预告片会附加到其他内容的末尾。在这种情况下,它是在内核映像文件末尾添加的一些额外字节。这些字节不会影响内核的操作,但加载程序可以检查它们。
将此与标题进行对比,标题是放在其他内容之前的标题,例如TCP / IP中的消息数据之前的IP标头,或电子邮件开头的标题行。
答案 1 :(得分:1)
在这种情况下,预告片是在构建过程中附加到图像末尾的几个字节。然后,启动时的加载器可以在最后查看几个字节,如果它在那里找到了神奇的值(在你的情况下,真正的魔法就是RPTL')。然后加载器采用与DT兼容的内核。
https://github.com/raspberrypi/tools/blob/master/mkimage/mkknlimg#L21
看看这里:https://github.com/raspberrypi/tools/blob/master/mkimage/mkknlimg#L123找到如何以及附加到最后的内容。