Będziemy potrzebować 15 min. na przygotowanie systemu do kompilacji paczek, oraz dużo mocy obliczeniowej i czasu (dla wolniejszych maszyn) dla takich paczek jak Open Office, Firefox, Amarok etc.
Zaczniemy od początku. Chcemy się dowiedzieć jakie flagi mamy włączyć dla naszego procesora.
Przykład oprę na swoim procesorze u Was może być inny wynik.
W tym celu otwieramy terminal/konsole i wpisujemy :
user@PC:~> cat /proc/cpuinfo .
Na stronie Wiki Gentoo w dziale dla AMD doczytać możemy :
vendor_id : AuthenticAMD
cpu family : 16
model : 2
model name : AMD Phenom(tm) xxxx Triple/Quad-Core Processor
stepping : 2/3
że dla tego procesora właściwą flagą jest
CFLAGS=”-march=k8 -O2 -pipe”
dla wersji gcc starszej do 4.2 i włącznie, natomiast dla wersji 4.3
CFLAGS=”-march=amdfam10 -O2 -pipe”.
W terminalu logujemy się na roota (by mieć dostęp do edycji plików systemowych) za pomocą komendy su.
user@PC:~> su ## enter
Hasło: ## podaj hasło
PC:/root# mcedit /usr/lib/rpm/rpmrc
Mmcedit, nano, vi to konsolowe edytory, nic nie stoi jednak na przeszkodzie by zamiast mcedit wpisać kate, kwrite, gedit, geany (stosownie od środowiska graficznego lub Waszych preferencji).
Potrzebujemy teraz utworzyć nowe przez nas nazwane architektury dalej zwane profilami. Wybieram tu nazwę phenom i core2.
W otwartym dokumencie wyszukujemy sekcji optflags i dodajemy na końcu
optflags: phenom -O2 -g -m32 -march=amdfam10
optflags: core2 -O2 -g -m32 -march=core2
oraz wyszukujemy sekcji arch_canon i poniżej analogicznie
arch_canon: phenom: phenom 1
arch_canon: core2: core2 1
oraz
buildarchtranslate: phenom: i586
buildarchtranslate: core2: i586
oraz
arch_compat: phenom: athlon
arch_compat: core2: pentium4
i tu ten wpis powinien być powyżej wpisu
arch_compat: athlon: i686
oraz
buildarch_compat: phenom: athlon
buildarch_compat: core2: pentium4
i analogicznie jak przykład wyżej.
Następnie tworzymy foldery o nazwie phenom-linux core2-linux (nie musimy tworzyć wszystkich tylko dla własnej architektury, koniecznie po myślniku musi być nazwa linux)
PC:/root# cd /usr/lib/rpm
PC:/root#mkdir phenom-linux core2-linux
i wewnątrz tworzymy plik o nazwie macros.
Tutaj podam dla architektury phenom treść tego pliku. W pozostałych tworzonych przez Was będzie analogicznie, tylko zmienia się sama flaga CFLAGS, by wiedzieć jaka powinna być na stronie Wiki Gentoo można się dowiedzieć.
# Per-platform rpm configuration file.
#==============================================================================
# —- per-platform macros.
#
%_arch i386
%_vendor suse
%_os linux
%_gnu -gnu
%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
%optflags -O2 -g -m32 -march=amdfam10 -pipe
#==============================================================================
# —- configure macros.
#
%_prefix /usr
%_exec_prefix %{_prefix}
%_bindir %{_exec_prefix}/bin
%_sbindir %{_exec_prefix}/sbin
%_libexecdir %{_libdir}
%_datadir %{_prefix}/share
%_sysconfdir /etc
%_sharedstatedir %{_prefix}/com
%_localstatedir /var
%_lib lib
%_libdir %{_exec_prefix}/%{_lib}
%_includedir %{_prefix}/include
%_oldincludedir /usr/include
%_infodir /usr/share/info
%_mandir /usr/share/man
%_initrddir %{_sysconfdir}/init.d
%_defaultdocdir %{_usr}/share/doc
%_smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \\\
&& RPM_BUILD_NCPUS=”`/usr/bin/getconf _NPROCESSORS_ONLN`”; \\\
[ "$RPM_BUILD_NCPUS" -gt 1 ] && echo „-j$RPM_BUILD_NCPUS”)
#———————————————————————
# Multilibs
%_multilibno 1
%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
#==============================================================================
# —- Build policy macros.
#
#———————————————————————
# Expanded at end of %install scriptlet.
#
%__arch_install_post %{nil}
%__os_install_post \
/usr/lib/rpm/brp-compress \
/usr/lib/rpm/brp-strip \
%{nil}
%__spec_install_post\
%{?__debug_package:%{__debug_install_post}}\
%{__arch_install_post}\
%{__os_install_post}\
%{nil}
#———————————————————————
# Expanded at end of %prep
#
%__id_u %{__id} -u
%__chown_Rhf %{__chown} -Rhf
%__chgrp_Rhf %{__chgrp} -Rhf
%_fixowner [ `%{__id_u}` = '0' ] && %{__chown_Rhf} root
%_fixgroup [ `%{__id_u}` = '0' ] && %{__chgrp_Rhf} root
%_fixperms %{__chmod} -Rf a+rX,u+w,g-w,o-w
#———————————————————————
# Expanded at start of %build
#
%__spec_build_pre %{___build_pre}\
%{?buildroot: %__rm -rf „$RPM_BUILD_ROOT”\
%__mkdir_p `dirname „$RPM_BUILD_ROOT”`\
%__mkdir „$RPM_BUILD_ROOT”\
}
To już wszystko, teraz należy przeładować system uruchamiając ponownie, miałem tu mały problem gdy nie uruchomiłem systemu ponownie.
Done.
PC:/root# halt now
Życzę miłej i bezproblemowej kompilacji.

likeable answers i like it
@CemeFielm
Then it read more
PZDR J.G.