PAE support in linux-2.6.29.*
I have a laptop with 4GB of RAM.
I use slackware 12.2.
I built a recent kernel (22.214.171.124) which I currently use.
Only 3GB of RAM are displayed when I
I read somewhere after googling that you could have
linux see up to 64GB even on 32-bit if you set up
CONFIG_X86_PAE while building the kernel
I did a grep of PAE in my current config
and grep 'CONFIG_X86_'
None of these showed any PAE string
Does anybody know where this setting is located?
Perhaps they changed the name recently?
If you are seeing 3 Gig, you have the appropriate option selected. I don't have access to 32-bit system, but try a grep for highmem.
The missing memory is probably a motherboard limitation.
But I still can't figure out which config options enable which actual features.
I do understand the underlying features. Without using PAE, you only have access to 4GB of physical address space which gives you access to less than 4GB (typically 3.25GB) of ram.
The only 32 bit system I have handy with 4GB of ram is an old Centos system. Its config has CONFIG_HIGHMEM64G set and doesn't mention CONFIG_X86_PAE at all.
There is some feature that I think may be part of CONFIG_HIGHMEM64G that makes the kernel use a separate 4GB virtual address from the process 4GB virtual address space. (To support more than 16GB physical, the kernel needs a larger virtual address space). I hope I don't have that enabled on that old Centos system, but I'm not sure. I hope you can have PAE without that (I know on other old Centos systems I had PAE without splitting the address space).
If that table of data from the BIOS includes the extra chunk outside 4GB of address space then the motherboard and BIOS are OK for a full 4GB of ram and your problem is lack of PAE in the kernel. If that table doesn't include the extra chunk, then the problem is in the motherboard or BIOS.
I didn't notice until just now the important detail that you already have all the files and knowledge needed to build a new kernel.
So that means the easiest path is try it and see.
From your post at
I'm pretty sure CONFIG_HIGHMEM64G will add PAE support. Try it and see whether it just adds PAE support or also does anything you don't want.
figured it out
yesterday I built linux-126.96.36.199
and this time in
# make menuconfig
instead of checking 'up to 4GB' of RAM I checked '64GB'
After building and rebooting I got the right total
amount of RAM displayed
Excerpts from my config
# Linux kernel version: 188.8.131.52
# CONFIG_64BIT is not set
# CONFIG_X86_64 is not set
# CONFIG_GENERIC_CPU is not set
# CONFIG_NOHIGHMEM is not set
# CONFIG_HIGHMEM4G is not set
Glad to see it worked!
|All times are GMT -5. The time now is 11:03 PM.|