-
Notifications
You must be signed in to change notification settings - Fork 3
4. Warnings and limitations
-
The install media will wipe out all data on the Desktop main disc /dev/sda. It leaves no choice of the target disk and runs non-interactively from beginning to end.
Use it with care and only if you want to do a fresh install of your main PC disk. You have been warned. -
Building the platforms comes in with the third of available threads as a default.
If resources are strained, rerun with N cores by addingncpus=N
to commandline.
Thencpus
number of jobs is used to implement the portageCFLAGS
parameter in make.conf, so that the building process is in line with ressources granted to the virtual machine. User should review this parameter later on according to the characteristics of the target platform.
- The ISO output should not be greater than 4096 MB. This limit is unchecked.
- Currently video card support is limited to Intel and Nvidia (Nouveau driver).
- Legacy BIOS bootloaders (command line option
bios
) have not been tested, if possible stick to EFI (default). - Internationalization is untested except for French.
To test support for another language, for example for German, use the command line optionvm_language=de_DE vm_keymap=de
Check the Gentoo localization guide. - Gentoo profiles other than Plasma, Gnome and OpenRC Hardened (experimental) are not supported.
MKG uses Oracle VirtualBox (VB) to run a virtual machine Gentoo distribution builder.
This implementation choice implies a handful of VB-related limitations.
VirtualBox does not support (Oct. 2021) hyperthreading. This means that you should set the value of ncpus
at a maximum of your number of physical cores N (and more safely at N-1). Even if your CPU supports hypertheading, which presents 2 logical cores to the OS, you will not be able to put this feature to good use with MKG as VB will only see N cores, not 2N.
By default, ncpus
is set at $(nproc)/3
. When hyperthreading is supported, this value will almost surely be two thirds of the number of physical cores, and one third of the number of logical cores. When hyperthreading is not supported, it will be one third of physical cores (with an obvious minimum of one core).
At the time of writing (March 2021), VB has known limitations w.r.t the implementation of CPU extensions for
post-Ivy Bridge generations. Concerned CPU features are notably: fma, f16c, bmi, bmi2. However the AVX and AVX2
features are supported.
When specifying cflags=\'[...,-march=generation]\'
with generation
equal or superior to sandybridge
,
build failures may result if configured packages depend on these CPU features. This is notably the case for the Qt5 libraries.
Pending VB upgrades, the following policies should be followed when using the cflags
option with a -march
specification
higher than sandybridge
(or ivybridge
if AVX2 is the only new CPU feature used by builds).
It is therefore advised, until these limitations are fixed by Oracle developers, either not to specify
-march=...
or to stick to:
cflags=\'[...,-march=native]\'
This will not, however, create a build with the full range of host CPU optimizations, unlike what usually happens when -march=native
is used in the make.conf
CFLAGS variable.
If you wish to optimize your installed platform when fully operational, you should later on rebuild it using:
emerge -e @world
The cflags
option -march=...
should therefore be limited to downgrading the CPU model to the following list of values:
‘x86-64’, ‘i386’, ‘i486’, ‘i586’, ‘pentium’, ‘lakemont’, ‘pentium-mmx’, ‘pentiumpro’, ‘i686’, ‘pentium2’, ‘pentium3’, ‘pentium3m’, ‘pentium-m’, ‘pentium4’, ‘pentium4m’, ‘prescott’, ‘nocona’, ‘core2’, ‘nehalem’, ‘westmere’, ‘sandybridge’