PAE, Physical Address Extension
A guide for getting computers with older Pentium M and Celeron M processors to work with the latest Lubuntu
If you encounter an error related to PAE while installing Buntu 14.04 the solution is as follows:
At the boot menu screen the options are
- Command-line options
- Advanced options
With the cursor on the top choice press F6.
A menu with a number of options appear. The option 'forcepae' is not there, so press Escape to close the list.
Now a string of options is visible, often with 'quiet' or 'quiet splash --' at the end. Add 'forcepae' to the string after the two dashes.
Press return, and the installation begins. The warning about forcepae being experimental does not matter for Pentium M or Celeron M processors.
If everything appears to work you don't have to read further.
Technical note: After booting, "dmesg | grep -i pae" will now show "PAE forced!". You can use this as a check.
Physical Address Extension (PAE) is a feature found on almost all 32 bit processors produced after Pentium Pro, ie. younger than around 1995. Because PAE is close to being a standard it is now a requirement for Ubuntu: During installation the processor is prompted for the PAE flag, and only if present the process will carry on.
Lubuntu and Xubuntu offered a PAE and a non-PAE release up to and including 12.04, but from 12.10 only the PAE releases are maintained.
A number of older Pentium M processors produced around 2003-4 (the Banias family) do not display the PAE flag, and hence a normal installation fails. However, these processors are in fact able to run the latest (and PAE-demanding) kernels if only the installation process is modified a little.
Pentium M's of the Dothan family display the PAE flag correctly and support the latest Buntus without modifications. The same distinction (Banias versus Dothan) goes for the lower performing Celeron M processors.
In spite of their age many of the affected computers (IBM Thinkpads and Dell Latitudes, for example) are suitable for today's use if given a light distro like Xubuntu or Lubuntu; among other advantages they have a low power consumption. This guide describes a workaround for installing the latest Lubuntu and bringing them back to life - actually the guide is usable for any member of the Ubuntu family, but because we are dealing with old hardware we focus on Lubuntu.
For 14.04 a boot option has been added which makes the install straightforward, as can be seen at the top of the page.
The process for 13.10 might take some time but is not difficult. Everybody can manage, and if you are unfamiliar with giving commands at the command line, fear not! Just write the commands exactly as they appear here, keeping in mind that upper- and lowercase are different.
Before proceeding: If the installation is failing, are you sure the problem is related to PAE? A lot of misunderstandings flourish, and lack of PAE support is too often blamed when an installation on old hardware fails.
As a first step please try installing a regular 13.10 Xubuntu or Lubuntu ISO (including the alternate Lubuntu). Only if you get the error kernel requires features not present on the CPU: PAE this guide comes into play.
Now we know that the problem is in fact related to the PAE flag. This gives several options:
A. Install Xubuntu 12.04, which is supported through april 2015, nOS With support until april 2017 or Bodhi Linux with support through 2017. Lubuntu 12.04 is out of support and should not be used. Puppy Retro is another option, but it's less user friendly than the first three.
B. Install the non-PAE 12.04 mini ISO and follow a certain upgrade path, as decribed in the following text.
C. Install Lubuntu-fake-PAE a modified Lubuntu 13.10 installer which supports non-PAE processors. This method makes it possible to get directly to the newest version of Lubuntu, 13.10, but uses some non-standard installation methods. 'grub-n-iso' uses the fact that grub will boot the kernel of 13.10 and give you the possibility to install fake-PAE directly into a fresh install of Lubuntu 13.10. 'Installed system' goes one step further, and clones an image of an installed Lubuntu 13.10 system onto a USB drive or an internal (HDD) drive. This is now available here.
D. Install the development version 14.04 as described at the top of the page. The new option 'forcepae' does the same as Fake-PAE and makes the installation straightforward. Be aware that as of today (2014-03-16) 14.04 is still in development, so expect the unexpected.
E. Move the hard disk to a computer on which the processor has PAE capability and PAE flag (that is, everything else than a Banias). Install the system as usual but don't add restricted drivers. After the install move the disk back.
The guide is focusing on option B: We are going to add a fake PAE flag to the output of cpuinfo, and after that we are able to upgrade to 12.10, 13.04 and 13.10. The idea comes from a thread posted by 7bit. The contents of the PPA can be seen in Launchpad.
An upgrade is always a risky process, and in general a fresh install is preferred. In order to minimise the risk of something going wrong we keep the installation as small as possible during upgrade. Only when the system has reached the latest version the full selection of packages is applied.
Make a USB stick for installation using the non-PAE 12.04 mini ISO. If your machine does not support boot from USB you have to burn a CD in stead.
Remember to have wired internet access during the entire process.
When the installation is finished reboot the computer.
does not show pae in the flags line for the processor. This is what we would like to change.
sudo apt-get install python-software-properties
and after that
sudo apt-add-repository ppa:prof7bit/fake-pae
You will see a screen explaining about the PPA you are about to add. Just accept the text.
sudo apt-get update
sudo apt-get install fake-pae
installs the fake-pae package.
now shows the pae flag.
In order to clean up unneeded files and save (a little) space run
sudo apt-get clean
If one now runs
in order to upgrade to 12.10 nothing happens, as 12.04 is a long term support release, and by default it only allows upgrades to another long term support release (regardless of PAE/non-PAE support). This must be changed before proceeding.
shows Prompt=lts at the bottom of release-upgrades. This must be changed to Prompt=normal.
After taking a back up with
sudo cp release-upgrades release-upgrades.backup
sudo sed -i s/Prompt=lts/Prompt=normal/ release-upgrades
the file is changed, as can be seen with another
performs the upgrade to 12.10. You might be informed that sources.list will be changed, which is all right.
After the upgrade is completed reboot the computer and run
which shows that the kernel is now 3.5.x
sudo apt-get clean sudo apt-get update sudo do-release-upgrade
brings the system to 13.04. You might see a number of apparent errors during the upgrade, but wait a moment before considering it a failure.
After a reboot you could be greeted by a message saying that 13.04 is available, though you have just upgraded to 13.04. It's only a minor bug - when in doubt, as always try
A kernel of 3.8.x indicates a successful upgrade to 13.04.
and similar tools still show the fake pae flag.
Repeat step 5 to get to 13.10.
After a reboot
sudo apt-get update sudo apt-get clean sudo apt-get autoremove
is run in order to save a little space.
Now the desktop environment can be installed. The command
sudo apt-get install lubuntu-desktop
gives the full installation, but often it's better to begin with the smallest selection of packages like
sudo apt-get install --no-install-recommends lubuntu-core
as described here.
After a reboot one can install extra packages according to own taste and needs. Synaptic, chromium-browser, gedit, vlc, libreoffice, gimp, alsamixergui, file-roller, gparted and gpicview are a good beginning (for 12.10 eog should be installed in stead of gpicview).
When this has worked well through a couple of reboots it's time to focus on the wireless connection and other hardware which might need closed-source drivers.
Have fun with your reborn Pentium M-equipped computer!