← Back to team overview

kernel-packages team mailing list archive

[Bug 1307105] Re: Kernel install fails due PAE checks


> Physical Address Extensions (PAE) 32-bit is available.

If the pae flag is not present in /proc/cpuinfo then PAE is not enabled
on your particular CPU, even if it is available for other CPUs in the
same family. The CPU indicates PAE support (or not) in the result of the
CPUID instruction, which is hardcoded in the processor microcode.

> Are there any adverse effects known about the boot parameter

I have not seen any reports of adverse effects, but given the small
number of users and non-extensive testing it is possible.

> If that is so, then the PAE flag can be set / forced without problems.

afaik those errata would not be a problem as Linux does not use PAT on
Pentium M, and the TLB is cleared on init. But there may be other issues
or internal errata that Intel hasn't published. Nobody knows why Intel
disabled PAE for these processors. As the docs say:

	forcepae [X86-32]
			Forcefully enable Physical Address Extension (PAE).
			Many Pentium M systems disable PAE but may have a
			functionally usable PAE implementation.
			Warning: use of this parameter will taint the kernel
			and may cause unknown problems.

The CPU is run out-of-spec so there are no guarantees. If this is not
acceptable then the next easiest workaround is to compile your own
kernel with PAE disabled (CONFIG_X86_PAE=n).

You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.

  Kernel install fails due PAE checks

Status in linux package in Ubuntu:

Bug description:
  When a user boots Ubuntu Live/Install media with 'forcepae' option, the option should automatically be added to /etc/default/grub, or kernel upgrades will refuse to install when they do not see pae capability in cpuinfo.

  On Thinkpad T42 with Pentium M processor linux image upgrade fails with message "This kernel does not support a non-PAE CPU.". System was installed from  ubuntu-14.04-beta2-desktop-i386.iso with "forcepae" kernel option. After install, system works, but cannot be upgraded to laters kernel.

      root@t42:/boot# apt-get upgrade
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      You might want to run 'apt-get -f install' to correct these.
      The following packages have unmet dependencies:
       linux-image-extra-3.13.0-24-generic : Depends: linux-image-3.13.0-24-generic but it is not installed
       linux-image-generic : Depends: linux-image-3.13.0-24-generic but it is not installed
      E: Unmet dependencies. Try using -f.

      root@t42:/boot# apt-get install -f
      Reading package lists... Done
      Building dependency tree
      Reading state information... Done
      Correcting dependencies... Done
      The following extra packages will be installed:
      Suggested packages:
        fdutils linux-doc-3.13.0 linux-source-3.13.0 linux-tools
      The following NEW packages will be installed:
      0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
      3 not fully installed or removed.
      Need to get 0 B/14.6 MB of archives.
      After this operation, 32.3 MB of additional disk space will be used.
      Do you want to continue? [Y/n]
      (Reading database ... 196089 files and directories currently installed.)
      Preparing to unpack .../linux-image-3.13.0-24-generic_3.13.0-24.46_i386.deb ...
      This kernel does not support a non-PAE CPU.
      dpkg: error processing archive /var/cache/apt/archives/linux-image-3.13.0-24-generic_3.13.0-24.46_i386.deb (--unpack):
       subprocess new pre-installation script returned error exit status 1
      Examining /etc/kernel/postrm.d .
      run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-24-generic /boot/vmlinuz-3.13.0-24-generic
      run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-24-generic /boot/vmlinuz-3.13.0-24-generic
      Errors were encountered while processing:
      E: Sub-process /usr/bin/dpkg returned an error code (1)

To manage notifications about this bug go to: