什么是使用Linux内核的设备的ATAG?

rqm*_*mok 7 boot arm linux-kernel embedded-linux

我试图了解内核如何启动.我目前正在尝试将新内核移植到hTC Incredible S VIVO(s710e)设备,但我无法启动它.所以,我查看了设备的原始内核,并查看了一些文档,发现该设备使用了ATAG.现在,我有几个问题,我找不到明确的答案:

  • 什么是ATAG?
  • 它们用于什么?
  • 内核如何使用ATAG启动?
  • ATAG在启动内核时起着至关重要的作用吗?

小智 9

ATAGS是ARM标签.它们用于将内存大小等信息从引导代码传送到内核.一些引用(反过来导致其他引用):引导标准, 自定义ATAG.

这个参考臂/ Booting解释了理论,但没有太多告诉用户该做什么.

在我的目标上,我在我的U-Boot配置中使用以下内容:CONFIG_CMDLINE_TAG,CONFIG_SETUP_MEMORY_TAGS,以及我的内核配置中的这些:CONFIG_ATAGS = y,未设置CONFIG_USE_OF.不确定这是否足够你,但它为你提供搜索的线索,祝你好运.