I am preparing a server for data acquisition from a big CCD camera. It uses PCI controllers which came with some software including a kernel driver module for 32-bit systems. Specs say Fedora 8 (2.6.26 kernel) but I found it working also in Centos 5.3 (2.6.18 PAE kernel). The driver requires that the appropriate amount of RAM is reserved for its use and it seems that it MUST be under 4GB. So I use, as instructed:
kernel /boot/vmlinuz-2.6.18-128.el5PAE ro root=LABEL=/ rhgb quiet mem=2768175104 memmap=587202560$2768175104
line in grub.conf. But that results in all memory above 4GB being "lost", wasted. The server is a powerful, 16GB RAM machine and the images will be huge, 512MB each (256MB from each of the two controllers) so the more usable memory to process the images, the better.
Thinkable solutions I am looking the advice for are:
1. configuring the kernel so that it reserves a "hole" in the RAM, still being able to use the "upper" memory
1a. as 1. but, if it is impossible to use the upper memory in a "regular" way, at least being able to setup a RAM disk there
2. forcing the kernel driver to use the memory above 4GB
3. rewriting the kernel module to 64-bit
Options 2 and 3 require kernel modules programming skills which I do not have. I am pretty fluent in C but have never tried kernel programming.
Any hints would be very much appreciated.