PAE


Revision 26 as of 2013-05-14 10:11:52

Clear message

PAE, Physical Address Extension

A guide for getting computers with older Pentium M processors to work with the latest Lubuntu

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 ubiquitous 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 release is maintained.

A number of older Pentium M processors produced around 2003-4 (the ones with 400 MHz front side bus) do not display the PAE flag, and hence a standard 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 with 533 MHz front side bus display the PAE flag correctly.

In spite of their age many of the affected computers (IBM Thinkpads, 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 - well, actually the guide is usable for any member of the Ubuntu family, but as we are dealing with old hardware we focus on Lubuntu.

The process 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.04 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. Lubuntu 12.04 is only supported through october 2013.

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.04 installer which supports non-PAE processors. This method makes it possible to get directly to the newest version of Lubuntu, 13.04, but uses some non-standard installation methods. 'grub-n-iso' uses the fact that grub will boot the kernel of 13.04 and give you the possibility to install fake-PAE directly into a fresh install of Lubuntu 13.04. 'Installed system' goes one step further, and clones an image of an installed Lubuntu 13.04 system onto a USB drive or an internal (HDD) drive. This is now available here.

D. Use another distro like Puppy Retro.


Obviously the elegant solution would be to modify the test which takes place during install of a regular ISO so none of the four options above were necessary. A very small code change which would benefit a large number of users. Until that we have to rely on more or less elegant workarounds.

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 and 13.04. 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.

1

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.

The command

cat /proc/cpuinfo 

does not show pae in the flags line for the processor. This is what we would like to change.

2

Run

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.

Now

sudo apt-get update 

and

sudo apt-get install fake-pae

installs the fake-pae package.

Verify that

cat /proc/cpuinfo 

now shows the pae flag.

In order to clean up unneeded files and save (a little) space run

sudo apt-get clean 

3

If one now runs

sudo do-release-upgrade 

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.

Executing

cd /etc/update-manager/

and

less release-upgrades 

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

and executing

sudo sed -i s/Prompt=lts/Prompt=normal/ release-upgrades

the file is changed, as can be seen with another

less release-upgrades

4

Now

sudo do-release-upgrade

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

uname -a 

which shows that the kernel is now 3.5.x

5

A second

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

uname -a 

A kernel of 3.8.x indicates a successful upgrade to 13.04.

cat /proc/cpuinfo 

and similar tools still show the fake pae flag.

6

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, lxkeymap, 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!