Revision 10 as of 2015-01-10 19:23:55

Clear message

Follow the instructions below to install or upgrade a Ubuntu (or any flavor) system with a Pentium M processor that doesn't announce its PAE support.

Installing

Using forcepae

Boot menu with "forcepae"

Starting with 14.04, you can use the forcepae parameter to force the system to use PAE. To do this:

  • Boot with the installation media
  • In the boot menu, highlight "Install Ubuntu"
  • Press F6 to bring up the options textbox (see image)
  • Add "forcepae" after the last two dashes (see image)
  • Press Enter to boot.

After booting,  dmesg | grep -i pae  will now show "PAE forced!". You can use this as a check.

If this doesn't seem to work, you can use 12.04-based systems as long as they are supported. Alternatively, you can replace your CPU with a newer one that supports PAE, which is what you will need to do when 12.04-based releases aren't supported any more.

Without forcepae

The ISO install images use syslinux to boot the Linux kernel. The boot fails because syslinux jumps to the 16-bit entry point of the kernel which does a CPU check. Grub bypasses the 16-bit code and jumps directly to the 32-bit entry point. Thus, the boot will be successful if syslinux is replaced with Grub.

  • Download ISO of ubuntu flavor you wish to use, for example, xubuntu. I will use the name xubuntu.iso, for convenience.
  • partition and format USB stick, in this example, /dev/sdb and /dev/sdb1. The USBStick has to be larger then the iso. Use mkvfat for formatting of /dev/sdb1.
  • Eject and insert the USB to have the automounter mount the USB drive. Make note of the location.
  • Use grub to install grub to the USB stick
    • grub-install --no-floppy --root-directory=/media/ubuntu/2341-af31/ (obviously this will have to match the mounted path)
  • grub-mkconfig > /media/ubuntu/2341-af31/boot/grub/grub.cfg

Open grub.cfg in your favorite editor and remove all the menuentry sections to replace it with the following.

menuentry "Xubuntu (32bit)" {
  iso_path=/xubuntu-13.10-dvd-i386.iso
  export iso_path
  search --set --file $iso_path
  loopback loop $iso_path
  root=(loop)
  configfile /grub/loopback.cfg
  loopback --delete loop
}

Save, unmount and reboot from the USB stick.

What will happen is, the USB stick will be booted as usual by grub, grub will then do a loopback mount of the iso, as is (so no modification to it required). The beauty of this all is, you can add MORE iso's and just add menu entries for them. So xubuntu 32bit, 64bit, gnomebuntu, you name it, you can add it. The only requirement is that the iso does actually support grub booting (e.g. has the /grub/loopback.cfg). Not all iso's have this!

Upgrading

Install a PAE kernel (to verify your system is PAE capable)

First, run

  •   apt-get install linux-image-generic-pae

Reboot and then run

  •   uname -a

This should output a line where the version number (eg. 3.11.0-17) ends with "-generic" and is 3.11.x or above.

Add the PAE flag to processor information

To add the PAE flag to the processor information stored in /proc/cpuinfo, run the following:

  •   cat /proc/cpuinfo | sed 's/flags\t*:/& pae/' > /tmp/cpuinfo_pae
      sudo mount -o bind /tmp/cpuinfo_pae /proc/cpuinfo
      sudo mount -o remount,ro,bind /proc/cpuinfo

After you have ran those commands, run

  •   grep flags /proc/cpuinfo

If the flag was correctly added, the command returns a line that starts with "flags :" and contains the flag "pae".