Puppy Linux Supported Architectures
Puppy Linux as of November 2015 supports both x86 and x86_64 CPU architectures. Generally, these are manufactured by Intel and AMD and some smaller companies such as VIA and earlier on Cyrix.
Puppy will not (likely) run on an old 486, or even an old PI. A PII will struggle with a modern Puppy. Some later PIII and Athlon machines should cope.
If you are finding it tough deciding which Puppy to download for your machine read on.
x86
Technically speaking, any Intel 8086 processor is x86! This includes the old 286, 386 and 486 series however it wasn’t until the 386 that “32 bit” registers came into effect.
We often refer to “32 bit” or “64 bit”. Generally when we refer to “x86” we are talking about “32 bit”. A 32 bit operating system will run on an x86 or an x86_64 processor but a 64 bit operating system will not run on an x86 processor. If you are unsure what type of processor you have a 32 bit Puppy is a safe bet and once running there are various ways to determine the architecture of your processor.
Here is a simple test we have devised if you are running Linux:
grep -o -w -q 'lm' /proc/cpuinfo && echo "64 bit" || echo "32 bit"
That test will return 64 bit
if your processor is capable or 32 bit
otherwise.
To PAE or not to PAE ; That is the question!
PAE (Physical Address Extension) is a patch to the Linux Kernel. Normally, a 32 bit operating system is limited to “seeing” 4 GB of RAM. When a kernel is configured there is an option to enable higher memory. This switches on the PAE patch and subsequently the operating system is capable of “seeing” up to 64 GB of RAM, however, any one process is still restricted to using up to 4 GB of RAM.
Some 32 bit processors have not got PAE capability set in their instructions. It is a limited few but a notable one is the Intel Centrino with 400MHz FSB. Some quite old processors do not support PAE too.
A similar check to the 64 bit test above can be performed to determine your processors PAE capabily:
grep -o -w -q 'pae' /proc/cpuinfo && echo "PAE Supported" || echo "PAE Unsupported"
This will return PAE Supported
if your processor supports PAE; PAE Unsupported
if your processor does not.
If you have less than 4GB of RAM there isn’t much point in using a PAE enabled operating system, however in most cases it will work fine anyway.
i386, i486, i586 and i686
Briefly, these architectures correspond with the following CPUs:
-
i386 – Intel 386 and AMD 386 CPUs
-
i486 – Intel 486 and AMD 486
-
i586 – The First Intel Pentiums MMX, AMD-K5
-
i686 – Pentium Pro, AMD-K6
Since around 2009 Puppy’s kernels have been compiled with Pentium Pro support making the operating system “i686”. Most software is compiled i686 as well.
x86_64
x86_64 is just x86 with 64 bit addressing capability. This gives the operating system access to 64 GB of RAM natively.
AMD were the first to come up with a 64 bit processor with their “Opteron” line in 2003. In 2004 Intel released its first 64 bit processor “Nocona”.
In summary:
-
AMD Opteron, Athlon X2 and later are 64 bit processors
-
Intel’s Pentium 4 Prescott gained 64 bit support in 2004. Pentium D and later are 64 bit processors with the exception of some Atom processors (“Diamondville” and some others).
x86_64, ia64, amd64 ; I’ve seen all these, what’s up with that?
Firstly, x86_64 and _amd64 are one and the same. Maybe it’s because AMD got there first that “amd64” caught on.
ia64 is a completely different instruction set for Intel Itanium processors which Puppy does not support.
arm
arm processors are likely to be found in embedded systems such as routers, TVs, appliances and mobile phones.
There are many different arm architectures and not all are compatible; armel, armhf, armv6l, armv7l, even 64 bit aarch64 or arm64.
Puppy now has support for armhf on the Raspberry Pi family of computers, from pi zero and the original pi 1 to the latest pi 4. See the Old Puppy Forum for more details.
BIOS and UEFI
BIOS (Basic Input/Output System) based computers have been around for a long time. Most people familiar with computers have been into the BIOS setup at some point to change a setting such as boot device order or the system time.
UEFI (Unified Extensible Firmware Interface) is a standard and is (however much a pain it is) necessary to help address the limitation of BIOS/MBR systems limit of support for hard disks above 2 TB. MBR can not work on large disks. It is fairly inexpensive these days to replace your current harddisk with a 4 TB or even 6 TB.
My MAC has EFI; is that the same as UEFI?
No.
UEFI and Puppy
At the time of writing, Puppy does not support UEFI. However, most Windows™ computers come with “legacy Bios” which you can enter to enable booting a Puppy boot media (optical or USB). Secure Boot must be turned off and you must make sure that the computer has fully shut down and not in a hibernated state.
Puppy does intend to support UEFI in the near future.
Conclusion
Hopefully the above information has helped you out with your decision. If not, please consider this: The only stupid question is the one that isn’t asked! Feel free to “ask away” on the Puppy Linux Discussion Forum.