【问题标题】:How do I reserve RAM on a PowerPC CPU running Linux?如何在运行 Linux 的 PowerPC CPU 上保留 RAM?
【发布时间】:2013-02-18 19:54:07
【问题描述】:

我正在尝试从使用 Canyonlands (PowerPC-460EX) CPU 的嵌入式单板计算机上的 2GB 板载 RAM 中保留 10MB。通过保留 RAM,我的意思是阻止 Linux 不会触及的一大块 RAM,以便在热重启时保留数据。我正在使用 U-Boot 引导程序,我尝试了以下方法:

1) 在 bootargs 环境变量中设置 mem=2038M 2) 在 U-Boot 中设置 'pram' 环境变量,然后在 bootargs 中设置 mem=\${mem}

这两种方法都无法更改 Linux 看到的 RAM。我正在查看 /proc/meminfo 以了解 Linux 认为有多少 RAM 可用。在这两种情况下,/proc/meminfo 都会看到 2074876 kB 的可用 RAM(略低于 2GB)。

有什么想法吗?

【问题讨论】:

  • 额外信息:Linux 内核是 v2.6.30.3,U-boot 是 2009.08。

标签: linux memory embedded powerpc u-boot


【解决方案1】:

我没有足够的积分来评论,但这里有一些线索:

1) 检查您的 mem 参数是否正确传递给内核。按照建议的here 启动后,您应该可以使用cat /proc/cmdline 执行此操作。

2) 尝试在参数周围使用引号,例如“mem=2038M”。

【讨论】:

  • 我感谢你的答案,因为你把我引向了正确的方向。谢谢!基本上,问题在于 U-boot 中的 bootargs 环境变量被 usbdrive_args 变量覆盖。查看 /proc/cmdline 帮助我发现 bootargs 没有传递给内核!
  • 我猜你需要做的就是将 usbdrive_args 附加到 bootargs 而不是替换它们。
猜你喜欢
  • 1970-01-01
  • 2014-06-07
  • 2016-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-06
  • 1970-01-01
  • 2020-04-01
相关资源
最近更新 更多