Fedora kernel packaging changes

Uncategorized

We recently made a change in Fedora kernel packaging, to drop the regular 686 kernels. As of Fedora 11, the only 32-bit kernels built are ‘586′ and ‘686-PAE’ (and their -debug variants).

In F11, at install-time, Anaconda will install the PAE kernel if the CPU is capable of using it, and otherwise, will fall back to the 586 kernel. (Users upgrading with yum will see a 686->586 transition unless they are already using the -PAE flavour)

Both kernels actually have instruction scheduling optimised for 686 (Using gcc’s -mtune=generic, which optimises for the popular CPUs of the time).

The actual differences between the two builds:

586:

  • Uses only up to the i586 ISA

  • Supports up to 4GB of RAM.
  • Will use segment limits to approximate NX.

686-PAE:

  • Uses the 686 ISA including CMOV.

  • Uses 3-level page-tables allowing >4GB RAM.
  • Where possible, uses hardware NX instead of segment limits. (faster)
  • Has Xen virtualisation enabled.

Processors that will need to use the 586 kernel include..

  • all AMD CPUs prior to the Athlon

  • Intel Pentiums prior to the Pentium Pro
  • Some subset of Intel Pentium M’s (These are the only ‘modern’ CPUs)
  • All Cyrix and Transmeta
  • All VIA prior to Esther

Related posts:

  1. An annoying kernel packaging bug. The kernel rpm package creates an initramfs file that gets...
  2. Fedora 11 released, onwards to F12. With the release of Fedora 11 recently, we are now...
  3. execshield split-up. One of the longest living patchsets we’ve carried in the...
  4. exploded Fedora devel tree. I did a make prep of every package in the...

Related posts brought to you by Yet Another Related Posts Plugin.

3 Comments

3 Comments

  1. stickster  •  Feb 10, 2009 @10:39

    I noted this in the yum upgrade FAQ on the wiki. Thanks for the heads-up, Dave.

  2. AdamHough  •  Feb 10, 2009 @17:55

    https://fedoraproject.org/wiki/Features/ArchitectureSupport
    “or Fedora 11, we’d like to revisit what architectures Fedora supports, and change some of our defaults so that we work better on those architectures.

    The main user-visible changes would be:

    * 32-bit x86 would be built for i586 by default.
    * The x86_64 kernel would be installed on compatible hardware, even when installing a 32-bit OS
    * The PAE kernel would be installed on other 32-bit hardware, where it is supported

    The 32-bit LiveCD would remain using a 32-bit kernel, in all likelyhood.

    Have you seen this link yet. There is also a discussion on the fedora-devel with the title “Features/ArchitectureSupport – changing what we build for” discussing this topic as well.

    I say this because you did not seem to mention anything about the x86_64 kernel for 32-bit installs, and was wondering if you had heard or seen anything about this?

  3. davej  •  Feb 10, 2009 @17:59

    yeah, that’s happening too, I probably should have mentioned it at least in passing, though maybe it deserves a separate post to keep this one simple.