Difference between pages "Make.conf" and "User:Tczaude"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
 
(Created page with "HI My name is Tom and I am active user some Open Source Scripts and Os. More info on my private website [https://esalamandra.com.pl esalamandra]")
 
Line 1: Line 1:
== What is the make.conf file? ==
HI
Make.conf is portage's and Funtoo's main configuration file. It contains many variables that define how a package will installed in a Funtoo system. You can customize portage internal variables, such as, portage tree location, sources tarball location, overlays, to name a few. You can customize hardware specs, such as TMPFS, disk limits, GCC compilation flags to achieve best performance, etc. A great deal of this customization is done through the make.conf file. This page will attempt to explain the uses of the make.conf file, different variables that can be added to it, and their uses.  
My name is Tom and I am active user some Open Source Scripts and Os.
More info on my private website


== Where is make.conf located? ==
{{f|make.conf}} can be found in two different places:
# As a text file at {{f|/etc/portage/make.conf}}
# As a symbolic link to the above text file, located at {{f|/etc/make.conf}} (this is now deprecated).


No special tool is required to edit {{f|/etc/portage/make.conf}}, besides your favorite text editor, of course:
[https://esalamandra.com.pl esalamandra]
{{console|body=
###i## nano /etc/portage/make.conf
}}
== Variables ==
Portage is very cutomizable. Because of this, many variables are available to configure {{f|/etc/portage/make.conf}}. Below is an example {{f|make.conf}} file showing some of the variables that can be used to customize portage. The format of a line of this file is usually <code>VARIABLENAME="variable arguments"</code>.
{{file|name=/etc/portage/make.conf|lang=|desc=example make.conf variables|body=
CFLAGS="-march=amdfam10 -O2 -pipe"
CXXFLAGS="-march=amdfam10 -O2 -pipe"
INPUT_DEVICES="evdev"
VIDEO_CARDS="vesa nouveau"
MAKEOPTS="-j2"
USE="mmx sse"
PYTHON_ABIS="2.7 3.3"
PYTHON_TARGETS="2.7 3.3"
RUBY_TARGETS="ruby21"
ACCEPT_LICENSE="*"
}}
 
Below is a list of variables that can be used in {{f|make.conf}}, along with a description of what they do. For more information on these and other variables, read {{c|man make.conf}}.
 
=== Accept All Licenses ===
{{file|name=/etc/portage/make.conf|lang=|desc=accept all licenses|body=
ACCEPT_LICENSE="*"
}}
 
=== Relocate Source Compile Directory ===
 
By default portage unpacks and compiles sources in {{f|/var/tmp/}}  it appends {{f|portage/pkg-cat/pkg}} to compile a package elsewhere. For example, if portage compiles a package in {{f|/tmp}}, it will be built at: {{f|/tmp/portage/pkg-cat/pkg}}. If you have Funtoo installed on an SSD, it may be a wise decision to mount {{f|/tmp}} in RAM or on a HDD so that you can minimize the number of writes to your SSD and extend its lifetime. After {{f|/tmp}} has been mounted off of your SSD, you can tell portage to compile future packages in {{f|/tmp}}, instead of in {{f|/var/tmp}}. To do this, add the following line to your {{f|/etc/portage/make.conf}}:
 
{{file|name=/etc/portage/make.conf|lang=|desc= |body=
PORTAGE_TMPDIR="/tmp"
}}
 
=== Video_Cards ===
 
The {{c|VIDEO_CARDS}} variable tells portage which video drivers you wish to use on your system. To see the different options that exist for this variable, see [[Video]].
 
=== Makeopts ===
MAKEOPTS can be used to define how many parallel compilations should occur when you compile a package, which can speed up compilation ''significantly''. A rule of thumb is the number of CPUs (or CPU threads) in your system plus one. If for example you have a dual core processor without [[wikipedia:Hyper-threading|hyper-threading]], then you would set MAKEOPTS to 3:
 
{{file|name=/etc/portage/make.conf|lang=|desc=set portage to use 3 threads|body=
MAKEOPTS="-j3"
}}
 
If you are unsure about how many processors/threads you have then use /proc/cpuinfo to help you.
{{console|body=
(chroot) # ##i##grep "processor" /proc/cpuinfo | wc -l
16
}}
 
Set MAKEOPTS to this number plus one:
 
{{file|name=/etc/portage/make.conf|lang=|desc=set portage to use 17 threads|body=
MAKEOPTS="-j17"
}}
 
 
{{important|Use processors +1 if you use [https://en.wikipedia.org/wiki/CFQ Completely Fair Queuing] I/O scheduler. If you use [http://ck.kolivas.org/patches/bfs/bfs-faq.txt BFQ] use only as many jobs as you have CPUs. However chances are that you use CFQ.}}
 
 
=== USE flags ===
 
USE flags define what functionality is enabled when packages are built. It is not recommended to add a lot of them during installation; you should wait until you have a working, bootable system before changing your USE flags. A USE flag prefixed with a minus (" - ") sign tells Portage not to use the flag when compiling.  Through use flags we generate more secure stripped down binaries with reduced attack surface & (slightly) better performance.  A Funtoo guide to USE flags will be available in the future. For now, you can find out more information about USE flags in the [https://wiki.gentoo.org/wiki/Handbook:AMD64/Working/USE Gentoo Handbook].
 
Some hardware options should be turned on if they're not already.  To see what your hardware supports:
 
{{console|body=
###i## cat /proc/cpuinfo
}}
 
{{file|name=/etc/portage/make.conf|lang=|desc=Example of Turning On Hardware Optimizations|body=
USE="mmx, sse, sse2, sse3, 3dnow, 3dnowext"}}
 
=== Input ===
some devices need defined such as {{package|x11-drivers/xf86-input-synaptics}} for touch pads.
 
{{file|name=/etc/portage/make.conf|lang=|desc=synaptics example|body=
INPUT_DEVICES="synaptics evdev"
}}
 
=== Linguas ===
LINGUAS tells Portage which local language to compile the system and applications in (those who use LINGUAS variable like OpenOffice). It is not usually necessary to set this if you use English. If you want another language such as French (fr) or German (de), set LINGUAS appropriately:
 
{{file|name=/etc/portage/make.conf|lang=|desc=set system language to french|body=
LINGUAS="fr"
}}
 
{{PageNeedsUpdates}}
[[Category:System]]

Latest revision as of 22:15, February 24, 2015

HI My name is Tom and I am active user some Open Source Scripts and Os. More info on my private website


esalamandra