Difference between revisions of "Subarches"

From Funtoo
Jump to navigation Jump to search
Line 11: Line 11:
tables=subarch
tables=subarch
|where=CPU_Family="64-bit Intel Processors"
|where=CPU_Family="64-bit Intel Processors"
|fields=_pageName,Subarch,Release_Date,Description,CFLAGS
|fields=_pageName,Release_Date,Description,CFLAGS
|order by=Release_Date DESC
|order by=Release_Date DESC
|format=template
|format=template
Line 29: Line 29:
tables=subarch
tables=subarch
|where=CPU_Family="64-bit AMD Processors"
|where=CPU_Family="64-bit AMD Processors"
|fields=_pageName,Subarch,Release_Date,Description,CFLAGS
|fields=_pageName,Release_Date,Description,CFLAGS
|order by=Release_Date DESC
|order by=Release_Date DESC
|format=template
|format=template
Line 35: Line 35:
tables=subarch
tables=subarch
|where=CPU_Family="64-bit Processors (PC-Compatible, Generic)"
|where=CPU_Family="64-bit Processors (PC-Compatible, Generic)"
|fields=_pageName,Subarch,Description,CFLAGS
|fields=_pageName,Release_Date,Description,CFLAGS
|format=template
|format=template
|template=NewSubarchList}}
|template=NewSubarchList}}
Line 47: Line 47:
tables=subarch
tables=subarch
|where=CHOST="i686-pc-linux-gnu"
|where=CHOST="i686-pc-linux-gnu"
|fields=_pageName,Subarch,Release_Date,Description,CFLAGS
|fields=_pageName,Release_Date,Description,CFLAGS
|format=template
|format=template
|template=NewSubarchList}}
|template=NewSubarchList}}
Line 62: Line 62:
tables=subarch
tables=subarch
|where=CPU_Family="32-bit ARM (Board Optimized)"
|where=CPU_Family="32-bit ARM (Board Optimized)"
|fields=_pageName,Subarch,Release_Date,Description,CFLAGS
|fields=_pageName,Release_Date,Description,CFLAGS
|format=template
|format=template
|template=NewSubarchList}}
|template=NewSubarchList}}
Line 73: Line 73:
tables=subarch
tables=subarch
|where=CPU_Family="32-bit ARM (Generic)"
|where=CPU_Family="32-bit ARM (Generic)"
|fields=_pageName,Subarch,Description,CFLAGS
|fields=_pageName,Release_Date,Description,CFLAGS
|format=template
|format=template
|template=NewSubarchList}}
|template=NewSubarchList}}
Line 86: Line 86:
tables=subarch
tables=subarch
|where=CPU_Family="64-bit ARM (Generic)"
|where=CPU_Family="64-bit ARM (Generic)"
|fields=_pageName,Subarch,Description,CFLAGS
|fields=_pageName,Release_Date,Description,CFLAGS
|format=template
|format=template
|template=NewSubarchList}}
|template=NewSubarchList}}

Revision as of 00:08, November 23, 2018

This page provides an overview of Funtoo Linux sub-architectures (also called subarches) designed for quick and easy reference. Funtoo Linux provides optimized installation images for all sub-architectures listed below. Clicking on a particular subarch will bring you to a detail page where you can learn more about that subarch and download a stage3 for installation.

Intel-Optimized 64-bit

   Important

These stages have been optimized for 64-bit Intel processor families. Stages optimized for AMD processors are also available -- see below.

Intel64-skylake2018The intel64-skylake subarch specifically supports processors based on Intel's Skylake microarchitecture. Skylake desktop processors are branded as 6th (Skylake) and 7th (Kaby Lake) Generation Intel Core i3, Core i5, and Core i7 Processors.-march=skylake -O2 -pipe
Intel64-broadwell2017The intel64-broadwell subarch specifically supports processors based on Intel's Broadwell microarchitecture. Broadwell desktop processors are branded as 5th Generation Intel Core i3, Core i5, and Core i7 Processors.-march=broadwell -O2 -pipe
Intel64-haswell2013The intel64-haswell subarch specifically supports processors based on Intel's Haswell microarchitecture. Haswell desktop processors are branded as 4th Generation Intel Core i3, Core i5, and Core i7 Processors.-march=haswell -O2 -pipe
Intel64-silvermont2013Silvermont is a low-power Atom-based microarchitecture that includes Intel Bay Trail, Avoton and Rangeley Processors.-march=silvermont -O2 -pipe
Intel64-ivybridge2012The intel64-ivybridge subarch specifically supports processors based on Intel's Ivy Bridge microarchitecture and AVX instructions. These processors are branded as 3rd Generation Intel Core i3, Core i5, and Core i7 Processors.-march=ivybridge -O2 -pipe
Intel64-sandybridge2011The intel64-sandybridge subarch specifically supports processors based on Intel's Sandy Bridge microarchitecture and AVX instructions. These processors are branded as 2nd Generation Intel Core i3, Core i5, and Core i7 Processors.-march=sandybridge -O2 -pipe
Intel64-westmere2010Intel Westmere processors are updated first-generation Nehalem processors that included a die-shrink and additional AES and PCLMUL instructions.-march=westmere -O2 -pipe
Intel64-nehalem2008The intel64-nehalem subarch supports first-generation Intel Core processors: Nehalem microarchitecture-based Intel Pentium/Celeron, Intel Core i3, i5, i7 and Xeon Processors.-march=nehalem -O2 -pipe
Core2 642006The core2_64 subarch supports 64-bit-capable processors based on the Core microarchitecture and all processors of the Penryn microarchitecture. This includes all Intel Core 2 branded processors, some Celeron, some Pentium and some Xeon branded processors.-march=core2 -O2 -pipe
Generic 64generic_64The generic_64 subarch is designed to support all 64-bit PC-compatible CPUs (x86_64), from their initial release in 2003 to current.-mtune=generic -O2 -pipe

AMD-Optimized 64-bit

Amd64-zen32022The amd64-zen3 subarch is optimized for AMD Ryzen and ThreadRipper 5-Series processors, as well as 3rd generation EPYC processors. See Zen 3 on Wikipedia for more information.-march=znver3 -O2 -pipe
Amd64-zen22019The amd64-zen2 subarch is optimized for AMD Ryzen and EPYC processors series 3000 and above.-march=znver2 -O2 -pipe
Amd64-zen2017The amd64-zen subarch is optimized for AMD Ryzen and EPYC processors.-march=znver1 -O2 -pipe
Amd64-excavator2015The amd64-excavator subarch supports the AMD excavator microarchitecture, produced from 2015. It is the successor to the AMD Steamroller microarchitecture and will be the last revision of the 'bulldozer' family of processors, and is succeeded by AMD Ryzen processors. These processors also include the Bristol Ridge/Carizzo and Stoney Ridge APUs such as the AMD Athlon FX 9830P that include excavator cores along with integrated graphics cores.-march=bdver4 -O2 -pipe
Amd64-steamroller2014The amd64-steamroller subarch supports the AMD steamroller microarchitecture, produced from early 2014. It is the successor to the AMD Piledriver microarchitecture.-march=bdver3 -O2 -pipe
Amd64-jaguar2013AMD jaguar microarchitecture debuted in mid-2013 and is targeted at low-power devices, including notebooks, tablets and small form-factor desktops and servers. It is perhaps most well-known for being the microarchitecture used for the Playstation 4 and Xbox One,
Amd64-piledriver2012The amd64-piledriver subarch supports the AMD Piledriver microarchitecture produced by AMD from mid-2012 through 2015, which is the successor to the AMD bulldozer microarchitecture.-march=bdver2 -O2 -pipe
Amd64-bulldozer2011The amd64-bulldozer subarch supports the AMD bulldozer microarchitecture CPUs, which were released from late 2011 through the first quarter of 2012 as a replacement for K10 microarchitecture CPUs.-march=bdver1 -O2 -pipe
Amd64-k102007The amd64-k10 subarch provides support for the AMD Family 10h processors, which were released in late 2007 as a successor to the AMD K8 series processors.-march=amdfam10 -O2 -pipe
Generic 642003The generic_64 subarch is designed to support all 64-bit PC-compatible CPUs (x86_64), from their initial release in 2003 to current.-mtune=generic -O2 -pipe

32-bit Optimized

Generic 32This subarch supports generic 32-mtune=generic -O2 -fomit-frame-pointer -pipe
I686This subarch supports P6-O2 -march=i686 -mtune=generic -pipe

32-bit ARM Stages

   Important

The ARM architecture is used on a variety of specialty computing platforms, such as the Raspberry Pi. If you're new to Funtoo, it is suggested that you install an Intel or AMD stage3 on a PC-based laptop, desktop or server system first, and then "graduate" to ARM.

We recommend you use one of our board-optimized builds if possible:

ODROID-XU4This subarch is optimized specifically for the ODROID-O2 -pipe -march=armv7-a -mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
Raspberry Pi (Version 1)This subarch is optimized specifically for the Raspberry Pi 1 Model B, Model A, Model B+, Model A+, Compute Module, Raspberry Pi Zero.-O2 -pipe -march=armv6j -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard
Raspberry Pi (Version 2)This subarch is optimized specifically for the Raspberry Pi 2 Model B (Broadcom BCM2836, released Feb 2015)-O2 -pipe -march=armv7-a -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
Raspberry Pi (Version 3)This subarch is optimized specifically for the Raspberry Pi 2 Model B version 1.2 (Oct 2016), Raspberry Pi 3 Model B and Compute Module 3 (2017)-O2 -pipe -march=armv7-a -mtune=cortex-a53 -mfpu=neon-vfpv4 -mfloat-abi=hard

The following generic optimized builds are also available:

Armv6j hardfpThis subarch supports the ARM11 series processors, including compatible CPUs such as the Broadcom BCM2835 (Raspberry Pi).-O2 -pipe -march=armv6j -mfloat-abi=hard
Armv6j vfp hardfpThis subarch supports the ARM11 series processors, including compatible CPUs such as the Broadcom BCM2835 (Raspberry Pi).-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard
Armv7a vfpv3 hardfpThis subarch supports the ARMv7-O2 -pipe -march=armv7-a -mfpu=vfpv3 -mfloat-abi=hard

64-bit ARM Stages

   Important

The ARM64 architecture is used on a variety of specialty computing platforms, such as the ODROID C2. If you're new to Funtoo, it is suggested that you install an Intel or AMD stage3 on a PC-based laptop, desktop or server system first, and then "graduate" to ARM.

Arm64 genericThis subarch supports the generic ARM64 architecture (Armv8-O2 -pipe -march=armv8-a

How to Identify your CPU

There are a couple of ways to identify the type of CPU you have. One option is to use the lscpu command:

root # lscpu

If the lscpu command is unavailable, you can get similar information via /proc:

root # cat /proc/cpuinfo | grep "^model name" | uniq
model name	: Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz

The cpuid command is another option and can provide other interesting information:

root # emerge cpuid; cpuid | tail -n 1
   Note

Search is your friend. Take the chip name gathered, then google wiki chipname to find the wikipedia article for your chip. The right hand column of your processors wiki article will list the microarchitecture.

example: searching for "amd phenom wiki" returns this article & the article says its "Microarchitecture K10"