首页 / LINUX / 限制linux内核的内存区域
限制linux内核的内存区域
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了限制linux内核的内存区域,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1633字,纯文字阅读大概需要3分钟。
内容图文
![限制linux内核的内存区域](/upload/InfoBanner/zyjiaocheng/958/80604997ca7d4d05b6293c3b5c1b3e01.jpg)
我在P1022RDK(P1022 Core)平台上运行ltib Linux.我有512 MB = 0x20000000内存.我希望我的Linux内核使用板载内存的后半部分(即256 MB到512 MB),并希望将前半部分内存保留用于其他目的.
为此,我使用ltib构建Linux内核,并设置以下内核配置.如果我正在以正确的方式做,请建议.
CONFIG_LOWMEM_SIZE = 0x10000000 # 256 MB
CONFIG_PHYSICAL_START = 0x10000000 # Starting from 256MB (second half of memory)
在Uboot上我按以下方式加载内核:
setenv loadaddr 0x11000000 # Kernel base = 0x10000000 + 0x01000000 (offset)
setenv fdtaddr 0x10c00000 # Kernel base = 0x10000000 + 0x00c00000 (offset)
bootm $loadaddr - $fdtaddr My kernel Load address is 0x10000000 & kernel entry point is 0x10000000
使用上面的配置/步骤,我的内核在Uboot上停留在以下内容:
Booting kernel from Legacy Image at 11000000 ...
Image Name: Linux-2.6.32.13
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 3352851 Bytes = 3.2 MB
Load Address: 10000000
Entry Point: 10000000
Verifying Checksum ... OK
Flattened Device Tree blob at 10c00000
Booting using the fdt blob at 0x10c00000
Uncompressing Kernel Image ... OK
它应该在这里解压缩FDT&继续
有什么想法吗?
解决方法:
要向David Schwartz的答案添加详细信息,通过指定内核引导参数来设置内核使用的数量和起始地址,您可以执行您想要的操作.
例如,将以下命令添加到内核引导args:
mem=256M@0x80000000
将指示内核应该使用从0x80000000开始的256M,这是您需要的.
您应该将CONFIG设置恢复为原始值,并验证内核是否将以其默认配置正确启动(没有mem =设置).
您可以先通过指定尝试mem =
mem=256M
这将为您提供从0开始减少的内存区域,前256M未使用.一旦看到它工作,使用带有偏移的256M,如上所述.
还要注意在RAM中通过uBoot加载初始压缩映像的位置,以确保它不会与最终的内核内存区域冲突.
内容总结
以上是互联网集市为您收集整理的限制linux内核的内存区域全部内容,希望文章能够帮你解决限制linux内核的内存区域所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。