41

I saw recently that the i386 CPU is not going to be supported in the Linux Kernel 3.8 so does that mean that Ubuntu will only be available in the coming years in 64-bit?

2

2 Answers 2

62

No, it means that you won't be able to run Linux on the Intel 80386 chip, the original chip from Intel which supported 32-bit architecture. Those processors had clock speeds of 12-40 Mhz and were superseded by Intel 80486 and then Intel Pentium in early- and mid-1990th.

Intel 80386 chip

Other, more modern 32-bit chips (Pentium Pro and above) are still going to be supported. Those processors are characterized as having the i386 architecture but they have some improvements over the original 80386, the use of which allows the removal of some ugly crutches from Linux that are required for 80386 support:

This tree removes ancient-386-CPUs support and thus zaps quite a bit of complexity ... which has plagued us with extra work whenever we wanted to change SMP primitives, for years.

Anecdote has it that there was some sentimental value in supporting 80386 processor as it was the processor that Linus Torvalds used when he developed the first version of Linux.

[Linux] needs a MMU (sorry everybody), and it specifically needs a 386/486 MMU (see later). ... It uses every conceivable feature of the 386 I could find, as it was also a project to teach me about the 386. As already mentioned, it uses a MMU, for both paging (not to disk yet) and segmentation. It's the segmentation that makes it REALLY 386 dependent (every task has a 64Mb segment for code & data - max 64 tasks in 4Gb. Anybody who needs more than 64Mb/task - tough cookies).

Also, despite i386 support present in Linux kernel up until version 3.8, in the recent years most Linux distributions were compiled with settings which made them incompatible with 80386 processor anyway. In particular, Ubuntu requires i686 (Pentium Pro) processor or above since Ubuntu 10.10.

5
  • Don't forget the x87 architecture. It's used in some modern Athlon 64s.
    – nanofarad
    Dec 17, 2012 at 12:41
  • According to the Wikipedia article you link to, the 80386 ran at 12--40 MHz. I distinctly recall having a 386-based system clocked at 16 MHz back when they were still relatively modern.
    – user
    Dec 17, 2012 at 13:06
  • 2
    x87 is the non-SIMD (mostly MMX/SSE; but AMD did create their own variants for parts of it) floating point extensions to the x86 architecture. The name comes from the fact that prior to the 486DX all Intel systems needed a separate co-processor chip to do floating point in hardware (the lower cost 486SX which launched after the 486DX was the last x86 chip design Intel sold without an ondie hardware FPU); the chips for it were the 8087, 80287, 80387, and 80487. Dec 17, 2012 at 13:40
  • 9
    Linus's commit message when he merged the 386 removal patch was "I'm not sentimental. Good riddance.", so I'm skeptical about the sentimentality claim. git.kernel.org/?p=linux/kernel/git/torvalds/… Dec 17, 2012 at 13:43
  • 2
    @DanNeely: The commit message from Ingo Molnar, the developer who implemented the change, reads: "Unfortunately there's a nostalgic cost...", so there was a cost at least for Ingo. Of course Linus did not object the change, that would be stupid :) Thanks for the link, btw.
    – Sergey
    Dec 17, 2012 at 20:00
7

Ubuntu hasn't run on proper "i386"'s for a long time, support for the processor was dropped in 10.10.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .