Question

I am trying to reserve 10MB out of the 2GB onboard RAM on an embedded single-board computer that uses the Canyonlands (PowerPC-460EX) CPU. By reserve RAM, I mean block out a chunk of RAM that Linux will not touch so it will retain data on a warm-reboot. I am using the U-Boot bootloader, and I have tried the following methods:

1) Set mem=2038M in the bootargs envinronment variable 2) Set the 'pram' environment variable in U-Boot and then set mem=\${mem} in bootargs

Both methods failed to change the RAM seen by Linux. I am looking at /proc/meminfo to figure out how much RAM Linux sees as available. In both cases, /proc/meminfo sees 2074876 kB of RAM available (just under 2GB).

Any ideas?

Was it helpful?

Solution

I don't have enough points to comment, but here are some clues:

1) Check that your mem parameter is being passed correctly to the kernel. You should be able to do this using cat /proc/cmdline after you boot as suggested here.

2) Try using quotes around your parameters like "mem=2038M".

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top