Enable PAE in Hardy kernel to support 4GB memory
~~ Update ~~ seems the BIOS on my damn Toshiba laptop refuses to report 4GB to the OS level.
Gave up on this… Oh Well.
I got all exited the other day and went ahead and ordered 4 GB of RAM for my laptop. Rushed home and put it in.
Rebooted and checked available memory using the free command:
total used free shared buffers cached
Mem: 3114640 2949160 165480 0 90196 1801028
-/+ buffers/cache: 1057936 2056704
Swap: 6072528 80 6072448
WTF? Only 3 GB?! So I start reading the Ubuntu forums and come to find out that Ubuntu does not enable PAE which is required for accessing 4GB.
A few options: install the server kernel, 64 bit kernel, or recompile. Being the adventurous type, I decide to recompile.
Now a little history here, its been YEARS since I last compiled a kernel, I don’t think I have even every done a 2.6 kernel, if that tells anyone something!!
Using the guide found here : https://help.ubuntu.com/community/Kernel/Compile
I start with :
sudo su – (easier than running each and every command as root)
apt-get install linux-kernel-devel fakeroot build-essential
apt-get install git-core
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-intrepid.git ubuntu-intrepid
Note: intrepid kernel? figure what the heck 🙂
This pulls down the whole kernel and puts in it /root/ubuntu-intrepid
Now, where is the option to turn on PAE.
# cd debian/config/i386
# grep -n -i pae *
So, I add this same line to the config. generic file.
Next I compile.
# AUTOBUILD=1 fakeroot debian/rules binary-debs
Then its time to go take a nap, have some lunch, etc…
Somewhere along the way it occurs to me that if I am just rebuilding the generic kernel and I am going to end up with the .deb packages to install, then I really need to rename this some what so that I am not over writing the current working kernel … duh! I am working with the intrepid kernel, so that should hopefully solve that problem, so it should not be the hardy generic but intrepid generic … Also, if this is going to install the packages, does that eliminate all of the old way of doing it where the initrd had to be built, manually add the new kernel to the bootloader? Will see….
ACK – Didn’t work — well the kernel booted and everything, but since I was using the ATI restricted driver, it fucked up my graphics … back to the drawing board