Difference between pages "Install/Stage3" and "Additional Kernel Resources"

(Difference between pages)
(What Architecture?)
 
m (Additional Kernel Resources)
 
Line 1: Line 1:
<noinclude>
+
== Additional Kernel Resources ==
{{InstallPart|the process of installing the Stage3 tarball}}
+
</noinclude>
+
=== 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:
+
=== /etc/conf.d/modules ===
 +
With Funtoo, OpenRC loads modules from <code>/etc/conf.d/modules</code> using the line:
  
{{MirrorList}}
+
<pre>
 +
modules_2_6=&quot;list of modules&quot;
 +
</pre>
 +
With Funtoo, define module arguments as follows:
  
Now, let's navigate the directories on the mirrors to find the appropriate build of Funtoo Linux for you.
+
<pre>
 +
module_module-name_args_2_6=&quot;module arg=value&quot;
 +
</pre>
  
==== Which Build? ====
+
=== Other resources of interest related to compiling kernels: ===
  
'''If you're not sure, pick <code>funtoo-current</code>.'''
+
* [[Genkernel Quick Start Tutorial]]
 +
* Build your own [[Kernel]] on funtoo with dracut or better-initramfs
 +
* [http://www.gentoo.org/doc/en/kernel-config.xml The Gentoo Linux Kernel Configuration Guide]
 +
* [http://www.gentoo.org/doc/en/xorg-config.xml#doc_chap2 How to configure Kernel Modesetting aka KMS (The Gentoo X Server Configuration HOWTO)]
 +
* [http://swift.siphos.be/linux_sea/kernelbuilding.html Linux Sea] by Sven Vermeulen has a nice kernel configuration section
 +
* '''Pappy McFae offers kernel seeds to help get you started. Visit his website at [http://kernel-seeds.org/ kernel-seeds.org] for more info.'''
  
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:
+
If you prefer to manually configure and compile a kernel from source code directly, keep these things in mind:
  
{{TableStart}}
+
* You are touching the very low level aspects of a system, it is ''absolutely normal'' to have difficulties in properly setting up a kernel (in fact, configuring a Linux Kernel could be considered a bit of an ''art'')
<tr><th class="info">Build</th><th class="info">Description</th></tr>
+
* Take your time to investigate, it is a great occasion to Google a bit for some unknown notions (e.g. What is an ''I2C bus'' ? Hey, what is ''token ring'' ? What is a ''kernel module?'').  
<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>
+
* When your first kernel configuration is done, you can reuse it as a basis of configuration
<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>
+
* In case of doubt, keep the suggested defaults
<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>
+
* If you want your system to boot, and your are not using an initrd, you'll need to build all boot-related filesystems and drivers ''into'' the kernel directly rather than as modules.
{{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]].
+
[[Category:Kernel]]
 
+
==== 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}}
+
<tr><th class="info">Architecture</th><th class="info">Description</th></tr>
+
<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 32-bit compatibility.</td></tr>
+
<tr><td><code>x86-32bit</code></td><td>For older 32-bit systems such as Athlon XP, Pentium 4, or earlier Atom.</td></tr>
+
{{TableEnd}}
+
 
+
==== Your SubArch ====
+
 
+
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.
+
 
+
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>, <code>amd64-steamroller</code> or <code>amd64-jaguar</code>.  See [[Subarches]] for help figuring out what AMD subarch is best for you.
+
 
+
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.
+
 
+
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:
+
 
+
<console>
+
# ##i##date
+
Fri Jul 15 19:47:18 UTC 2011
+
</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:
+
 
+
<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.}}
+

Latest revision as of 15:24, November 18, 2014

Additional Kernel Resources

/etc/conf.d/modules

With Funtoo, OpenRC loads modules from /etc/conf.d/modules using the line:

modules_2_6="list of modules"

With Funtoo, define module arguments as follows:

module_module-name_args_2_6="module arg=value"

Other resources of interest related to compiling kernels:

If you prefer to manually configure and compile a kernel from source code directly, keep these things in mind:

  • You are touching the very low level aspects of a system, it is absolutely normal to have difficulties in properly setting up a kernel (in fact, configuring a Linux Kernel could be considered a bit of an art)
  • Take your time to investigate, it is a great occasion to Google a bit for some unknown notions (e.g. What is an I2C bus ? Hey, what is token ring ? What is a kernel module?).
  • When your first kernel configuration is done, you can reuse it as a basis of configuration
  • In case of doubt, keep the suggested defaults
  • If you want your system to boot, and your are not using an initrd, you'll need to build all boot-related filesystems and drivers into the kernel directly rather than as modules.