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,Description,CFLAGS
|fields=_pageName,Subarch,Release Date,Description,CFLAGS
|order by=Release_Date DESC
|order by=Release_Date DESC
|format=template
|format=template

Revision as of 00:04, 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.

Error: No field named "Release Date" found for any of the specified database tables.
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-zen3amd64The 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-zen2amd64The amd64-zen2 subarch is optimized for AMD Ryzen and EPYC processors series 3000 and above.-march=znver2 -O2 -pipe
Amd64-zenamd64The amd64-zen subarch is optimized for AMD Ryzen and EPYC processors.-march=znver1 -O2 -pipe
Amd64-excavatoramd64The 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-steamrolleramd64The 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-jaguaramd64AMD 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-piledriveramd64The 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-bulldozeramd64The 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-k10amd64The 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 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

32-bit Optimized

Generic 32generic_32This subarch supports generic 32-bit PC-compatible processors.-mtune=generic -O2 -fomit-frame-pointer -pipe
I686i686This subarch supports P6-class (Intel Pentium Pro instruction set) processors.-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-XU4odroidThis subarch is optimized specifically for the ODROID-XU4, ODROID-XU3 and ODROID-XU3-LITE boards from ODROID.-O2 -pipe -march=armv7-a -mtune=cortex-a15.cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard
Raspberry Pi (Version 1)raspiThis 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)raspi2This 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)raspi3This 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 hardfparmv6j_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 hardfparmv6j_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 hardfparmv7a_vfpv3_hardfpThis subarch supports the ARMv7-A architecture with hardware floating point. CPU support includes Cortex-A5 (with hardware FPU), Cortex-A7, A8, A9, A12, A15, A17, and Qualcomm Krait and other ARMv7-A CPUs.-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 genericarm64_genericThis subarch supports the generic ARM64 architecture (Armv8-a), and is suitable for use on Raspberry Pi 4.-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"