Difference between pages "Install/Stage3" and "Subarches"

< Install(Difference between pages)
(Your SubArch)
 
 
Line 1: Line 1:
<noinclude>
+
= Download/Browse Funtoo Linux Subarches =
{{InstallPart|the process of installing the Stage3 tarball}}
+
__NOTITLE__
</noinclude>
+
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.
=== Installing the Stage 3 tarball ===
+
  
After creating filesystems, the next step is downloading the initial Stage 3 tarball. The Stage 3 is a pre-compiled system used as a starting point to install Funtoo Linux. Load one of the following URLs in another browser window:
+
{{#widget:AddThis}}
  
{{MirrorList}}
+
{{#widget:TabList|tab.intel64=64-bit Intel Processors|tab.amd64=64-bit AMD Processors|tab.32=32-bit PC-Compatible|tab.arm32=32-bit ARM Processors|active=intel64}}
  
Now, let's navigate the directories on the mirrors to find the appropriate build of Funtoo Linux for you.
+
{{tab|id=intel64|active=true|body=
 
+
{{TableStart}}
==== Which Build? ====
+
{{#ask:[[CPU Family::64-bit Intel Processors]]
 
+
|?#
'''If you're not sure, pick <code>funtoo-current</code>.'''
+
|?Subarch
 
+
|?CFLAGS
Funtoo Linux has various different 'builds', or variants. Here is a list of the various builds that are available, and what their distinctive features are:
+
|?Description
 +
|format=template
 +
|link=none
 +
|headers=hide
 +
|searchlabel=... further results
 +
|sep=,
 +
|template=SubarchList
 +
}}
 +
{{#ask:[[CPU Family::64-bit Processors (PC-Compatible, Generic)]]
 +
|?#
 +
|?Subarch
 +
|?CFLAGS
 +
|?Description
 +
|format=template
 +
|link=none
 +
|headers=hide
 +
|searchlabel=... further results
 +
|sep=,
 +
|template=SubarchList
 +
}}
 +
{{TableEnd}}
 +
}}
  
 +
{{tab|id=amd64|body=
 
{{TableStart}}
 
{{TableStart}}
<tr><th class="info">Build</th><th class="info">Description</th></tr>
+
{{#ask:[[CPU Family::64-bit AMD Processors]]
<tr><td><code>funtoo-current</code></td><td>The most commonly-selected build of Funtoo Linux. Receives rapid updates and preferred by desktop users.</td></tr>
+
|?#
<tr><td><code>funtoo-current-hardened</code></td><td>Same package set as <code>funtoo-current</code>, but with a hardened, exploit-resistant toolchain.</td></tr>
+
|?Subarch
<tr><td><code>funtoo-stable</code></td><td>Emphasizes less-frequent package updates and trusted, reliable versions of packages over the latest versions.</td></tr>
+
|?CFLAGS
 +
|?Description
 +
|format=template
 +
|link=none
 +
|headers=hide
 +
|searchlabel=... further results
 +
|sep=,
 +
|template=SubarchList
 +
}}
 +
{{#ask:[[CPU Family::64-bit Processors (PC-Compatible, Generic)]]
 +
|?#
 +
|?Subarch
 +
|?CFLAGS
 +
|?Description
 +
|format=template
 +
|link=none
 +
|headers=hide
 +
|searchlabel=... further results
 +
|sep=,
 +
|template=SubarchList
 +
}}
 
{{TableEnd}}
 
{{TableEnd}}
 +
}}
  
If you want to read more about this, have a look at [[Funtoo_Linux#What_are_the_differences_between_.27stable.27.2C_.27current.27_and_.27experimental.27_.3F|Differences between stable, current and experimental]].
+
{{tab|id=32|body=
 
+
==== What Architecture?  ====
+
 
+
'''If you're not sure, pick <code>x86-64bit</code>, or possibly <code>pure64</code> for server systems.'''
+
 
+
For PC-compatible systems, the following choices are available:
+
 
+
 
{{TableStart}}
 
{{TableStart}}
<tr><th class="info">Architecture</th><th class="info">Description</th></tr>
+
{{#ask:[[CHOST::i686-pc-linux-gnu]]
<tr><td><code>x86-64bit</code></td><td>For modern 64-bit processors. Uses new 64-bit instructions and address space. Maintains 32-bit compatibility with multilib.</td></tr>
+
|?#
<tr><td><code>pure64</code></td><td>For modern 64-bit processors but with no support for 64-bit compatibility.</td></tr>
+
|?Subarch
<tr><td><code>x86-32bit</code></td><td>For older 32-bit systems such as Athlon XP, Pentium 4, or earlier Atom.</td></tr>
+
|?CFLAGS
 +
|?Description
 +
|format=template
 +
|link=none
 +
|headers=hide
 +
|searchlabel=... further results
 +
|sep=,
 +
|template=SubarchList
 +
}}
 
{{TableEnd}}
 
{{TableEnd}}
 +
}}
 +
{{tab|id=arm32|body=
 +
{{TableStart}}
 +
{{#ask:[[CPU Family::32-bit ARM Processors]]
 +
|?#
 +
|?Subarch
 +
|?CFLAGS
 +
|?Description
 +
|format=template
 +
|link=none
 +
|headers=hide
 +
|searchlabel=... further results
 +
|sep=,
 +
|template=SubarchList
 +
}}
 +
{{TableEnd}}
 +
}}
  
==== Your SubArch ====
+
=== How to Identify your CPU ===
  
Inside <code>/funtoo-current/x86-64bit/</code> on one of our mirrors, you'll see a bunch of directories for various ''subarches'' of Funtoo Linux. Subarches are builds of Funtoo Linux that are designed to run on a particular type of CPU, to offer the best possible performance. They also take advantage of the instruction sets available for each CPU.
+
There are a couple of ways to identify the type of CPU you have. One option is to use the {{c|lscpu}} command:
 +
{{console|body=
 +
# ##i##lscpu
 +
}}
  
If you are using an AMD-based CPU, download a stage3 from <code>generic_64</code>, <code>amd64-k8</code>, <code>amd64-k10</code>, <code>amd64-bulldozer</code>, <code>amd64-piledriver</code> or <code>amd64-steamroller</code>.  See [[Subarches]] for help figuring out what AMD subarch is best for you.
+
If the {{c|lscpu}} command is unavailable, you can get similar information via {{f|/proc}}:
 
+
{{console|body=
If you are using an Intel-based CPU, download a stage3 from <code>generic_64</code>, <code>atom_64</code>, <code>core2_64</code> or <code>corei7</code>. Note that <code>corei7</code> is ideal for any modern Intel processor, including Core i3 and Core i5, and many Xeons.
+
# ##i##cat /proc/cpuinfo {{!}} grep "^model name" {{!}} uniq
 
+
model name : Intel(R) Core(TM) i7-2640M CPU @ 2.80GHz
If you are using a 32-bit CPU, download a stage3 from <code>generic_32</code>, <code>i686</code>, <code>core2_32</code>, <code>atom_32</code> or <code>athlon-xp</code>.
+
}}
 
+
==== Setting the Date ====
+
 
+
{{fancyimportant|If your system's date and time are too far off (typically by months or years,) then it may prevent Portage from properly downloading source tarballs. This is because some of our sources are downloaded via HTTPS, which use SSL certificates and are marked with an activation and expiration date. However, if you system time is relatively close to correct, you can probably skip this step for now.}}
+
 
+
Now is a good time to verify the date and time are correctly set to UTC. Use the <code>date</code> command to verify the date and time:
+
  
 +
The {{c|cpuid}} command is another option and can provide other interesting information:
 
<console>
 
<console>
# ##i##date
+
###i## emerge cpuid; cpuid | tail -n 1
Fri Jul 15 19:47:18 UTC 2011
+
 
</console>
 
</console>
  
If the date and/or time need to be corrected, do so using <code>date MMDDhhmmYYYY</code>, keeping in mind <code>hhmm</code> are in 24-hour format. The example below changes the date and time to "July 16th, 2011 @ 8:00PM" UTC:
+
{{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.
<console>
+
# ##i##date 071620002011
+
Fri Jul 16 20:00:00 UTC 2011
+
</console>
+
 
+
==== Download the Stage3 ====
+
Once you are in your Funtoo Linux root filesystem, use <code>wget</code> to download the Stage 3 tarball you have chosen to use as the basis for your new Funtoo Linux system. It should be saved to the <code>/mnt/funtoo</code> directory as follows:
+
 
+
<console># ##i##cd /mnt/funtoo
+
# ##i##wget http://ftp.osuosl.org/pub/funtoo/funtoo-current/x86-64bit/generic_64/stage3-latest.tar.xz
+
</console>
+
 
+
Note that 64-bit systems can run 32-bit or 64-bit stages, but 32-bit systems can only run 32-bit stages. Make sure that you select a Stage 3 build that is appropriate for your CPU. If you are not certain, it is a safe bet to choose the <code>generic_64</code> or <code>generic_32</code> stage. Consult the [[Download]] page for more information.
+
 
+
Once the stage is downloaded, extract the contents with the following command, substituting in the actual name of your stage 3 tarball:
+
<console>
+
# ##i##tar xpf stage3-latest.tar.xz
+
</console>
+
  
{{important|It is very important to use <code>tar's</code> "<code>'''p'''</code>" option when extracting the Stage 3 tarball - it tells <code>tar</code> to ''preserve'' any permissions and ownership that exist within the archive. Without this option, your Funtoo Linux filesystem permissions will be incorrect.}}
+
example:
 +
searching for "amd phenom wiki" returns this [https://en.wikipedia.org/wiki/AMD_Phenom article] & the article says its "Microarchitecture K10"
 +
}}

Revision as of 20:12, April 4, 2015

Download/Browse Funtoo Linux Subarches

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.

atom_64The atom_64 sub-architecture supports 64-bit capable Intel Atom CPUs.-O2 -fomit-frame-pointer -march=atom -pipe
core2_64The 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
corei7The corei7 subarch supports the Nehalem, Westmere, Sandy Bridge, Ivy Bridge, and Haswell microarchitecture-based Intel Pentium/Celeron, Intel Core i3, i5, i7 and Xeon Processors.-march=corei7 -O2 -pipe
intel64-haswellThe 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=core-avx2 -O2 -pipe
intel64-ivybridgeThe 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=core-avx-i -O2 -pipe
intel64-sandybridgeThe 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=corei7-avx -O2 -pipe
generic_64The generic_64 subarch is designed to support 64-bit PC-compatible CPUs, such as the AMD K8-series processors, which were introduced in late 2003.-mtune=generic -O2 -pipe
amd64-bulldozerThe 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-jaguarAMD 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,-march=btver2 -O2 -pipe
amd64-k10The 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
amd64-piledriverThe 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-steamrollerThe 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
generic_64The generic_64 subarch is designed to support 64-bit PC-compatible CPUs, such as the AMD K8-series processors, which were introduced in late 2003.-mtune=generic -O2 -pipe
athlon-xpThis subarch supports 32-bit AMD Athlon XP processors.-O2 -fomit-frame-pointer -march=athlon-xp -pipe
atom_32This subarch supports 32-bit Intel Atom processors.-O2 -fomit-frame-pointer -march=atom -pipe
generic_32This subarch supports generic 32-bit PC-compatible processors.-mtune=generic -O2 -fomit-frame-pointer -pipe
i686This subarch supports P6-class (Intel Pentium Pro instruction set) processors.-O2 -march=i686 -mtune=generic -pipe
pentium4This subarch supports 32-bit Intel Pentium 4 processors.-O2 -fomit-frame-pointer -march=pentium4 -pipe
armv7a_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 -mfloat-abi=hard
armv5teThis subarch supports the ARMv5 architecture with vector extensions, which is compatible with Pogoplug, SheevaPlug, TonidoPlug, Raspberry Pi, BeagleBoard, CuBox, PandaBoard, and TrimSlice.-O2 -pipe -march=armv5te
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_neon_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=neon -mfloat-abi=hard
armv7a_neonvfpv4_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, Cubieboard2 (A20) and Cubietruck (A20).-O2 -pipe -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard
armv7a_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
armv7a_vfpv3d16_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-d16 -mfloat-abi=hard

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:

# lscpu


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

# 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:

# 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"