Karmic Koala and using more than 3 GB of RAM in its 32 bit installation.
I upgraded my laptop OS to Karmic Koala (Ubuntu 9.10) beta version to play with new features and capabilities provided in this release.
Out of habit or whatever I am using 32 bit version of the OS both on the laptop and desktop (both are 64 bit) and I rather prefer to stay with 32 bits as some application sucks on 64 bit (are they still suck?). Well in previous versions I replaced the kernel with a server kernel to have access to all of my 4 GB of RAM but in the new release it is not possible to install the server kernel for 32 bit architecture as it is dropped :). To get more information about provided kernels take a look at : https://wiki.ubuntu.com/KernelTeam/Specs/KarmicKernelFlavours
So, how we can use more than 3GB of ram on a 32 bit Ubuntu? It is simply possible by installing the linux-generic-pae meta package. you can install it simply by using the following command or clicking on apt:linux-generic-pae link if you are using Firefox. (I do not know whether other browser can handle the link type correctly, do they?)
sudo apt-get install linux-generic-pae
The above command will install linux-image-2.6.31-13-generic-pae and linux-image-generic-pae or newer version when available. You may need to install the linux-headers-generic-pae if you are planning some development.
Now you need to restart the system and boot using the new kernel. By default Ubuntu should use the latest kernel version available in the system.
To see the amount of recognized RAM use free command .... just type the command in the terminal and you will understand.
If you can not use more than 3GB of ram after restarting the machine it means that Ubuntu is using the generic kernel and you should either remove the generic kernel or you should change the boot configuration.
To make the new grub show the boot loading menu you should open /etc/default/grub and comment the GRUB_HIDDEN_TIMEOUT=0 after commenting this property and saving the file you will need to execute the following command which will generatet he /boot/grub/grub.cfg file:
Now you should be able to see the boot loader menu to choose the kernel version you want to boot with.
To remove generic kernel packages you can use a command like the following command depending the kernel version you want to remove.
sudo apt-get remove linux-image-2.6.31-13-generic linux-image-generic