![]() |
Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||
![]() www.lissyara.su
—> статьи
—> FreeBSD
|
|
Я привожу тут под свой комп так что читаем коммменты.
|
Ну вот и все теперь сохраняем и пользуемся.
Но если у вас возникли какие либо проблемы с портами типа одинаковых установленных
(различия только в версиях будут) портов как:
/var/db/pkg:
postfix-2.3.1_1
postfix-2.3.2_4
То вырубаем его.
|
Как обещал некоторые настройки я немного опишу.
Но еще раз оговорюсь за полным собранием в библиотеку ;)
|
|
В конфиге make.conf можно настроить чтобы по команде "make update" в /usr/src
обновлялись порты ;) в конфиг нужно внести нижеследующее
|
Опция - позволяющая указать на свой конфиг кернела и будет собирать при ${MAKE} buildkernel и устанавливатся ${MAKE} installkernel
|
Дополнительно по csup можно посмотреть
http://www.freebsd.org/doc/handbook/cvsup.html
/usr/share/examples/cvsup/README
По опциям make
http://www.freebsd.org/cgi/man.cgi?query=make.conf&sektion=5
/usr/share/examples/etc/make.conf
Продолжение следует... :)
размещено: 2007-03-11,
последнее обновление: 2007-04-14,
автор: Raven2000
Fmod, 2007-03-15 в 14:31:39
Нашел еще некоторую инфу по данному вопросу:
Для фри6.1
# Currently the following CPU types are recognized:
# Intel x86 architecture:
# (AMD CPUs) opteron athlon64 athlon-mp athlon-xp athlon-4
# athlon-tbird athlon k8 k6-3 k6-2 k6 k5
# (Intel CPUs) nocona pentium4[m] prescott pentium3[m] pentium-m
# pentium2 pentiumpro pentium-mmx pentium i486 i386
# Alpha/AXP architecture: ev67 ev6 pca56 ev56 ev5 ev45 ev4
# AMD64 architecture: opteron, athlon64, nocona
# Intel ia64 architecture: itanium2, itanium
т.е. вместо CPUTYPE=p3 нужно CPUTYPE=pentium3
Насчет опции CFLAGS:
1. "-О" Компилятор пытается сократить как размер кода, так и время его выполнения. И при этом не выполняет модификаций, которые могут затруднить отладку программы. Включает опции -fno-optimize-size, -fdefer-pop, -fthread-jumps, -fguess-branch-probability, -cprop-registers и-fdelayed-branch. Флаг -fomit-frame-pointer устанавливается только если применяемый отладчик способен работать без использования регистра указателя кадра стека.
2. "-О0" Действует по умолчанию. Отключает любые оптимизации размера кода и устанавливает флаг -fno-merge-constants.
3. "-О1" То же, что -О
4. "-О2" На этом уровне применяются все виды оптимизации, которые не требуют вычисления оптимального выбора между размером и скоростью кода. Кроме флагов, устанавливаемых при -О, дополнительно задействует следующие опции -foptimize-sibling-calls, -fcse-follow-jumps, -fcse-skip-blocks, -fgcae, -expensive-optimizations, -fstrength-reduce, -frerun-cse-after-loop, -frerun-loop-opt, -fcaller-aaves, -fforce-mem, -fpeephole2, -fshedule-insns, -fshedule-insns-after-reload, -fregmove, -fstrict-aliasing, -fdelete-null-pointer-checks и -freorder-blocka. Этот уровень оптимизации не разворачивает циклы, не выполняет оптимизацию подстановок (inlining) и переназначение регистров.
5. "-О3" В дополнение к опциям, включаемым при -О2, устанавливает также -finline-functions и -frename-registers.
6. "-Os" Оптимизирует размер программы. Устанавливает все опции, действующие при -О3. Устанавливает опции -falign-loops, -falign-jumps, -falign-labels и -falign-functions с параметром =1, что не допускает вставку пустого пространства для применения выравнивания.
Из моего опыта скажу что опцию CFLAGS лучше вообще не трогать, достаточно указать только тип проца,
CFLAGS установится автоматом.
P.S. насколько я понял все эти опции не учитываются при компиляции ядра. Можно конечно принудительно включить ммх и sse но фря скорее всего станет работать нестабильно и даже медленнее.
Ravem2000, 2007-03-15 в 17:29:29
Fmod>
Пасиб за корректировку у меня это конфиг был от 5.4 а теперь подправил до 6.2 :) Но след раз кидай на мыло иль в аську, а то форум какой-то :)
>понял все эти опции не учитываются при компиляции ядра
Учитывает.
>принудительно включить ммх и sse но фря скорее всего
SSE вопреки слухам ни на че невлияют поскоку ядро неиспользует мультимидийные инструкции, а активация оного лишь указывает на необходимость сохранения SSE регистров при переключении контекстов, а это уже тормоза :) но если вырубить то 2 или более мультимедийные приложения низя гробятся :) так что каждому свое. И мое слово лучше SMP он точно РУЛИТ! ;)
Мдя форум точно...
Fmod, 2007-03-17 в 17:37:29
Учту...
Кот, 2007-03-24 в 12:49:26
настройки флагов компиляции ядра делаются через переменную COPTFLAGS
так же дефолтовые ключи компиляции ядра тянутся из файлов /usr/src/sys/conf/kern.* (тама их 3 штуки, один пре, другой само ядро, третий пост)
попробывал насильно скомпилировать ядро с ключами
-mmmx -msse -msse2 -m3dnow
при этом в /usr/src/sys/conf/kern.mk отрубил ключи явно отрубающие данные оптимизации, в итоге ядро стартовало, но сразу же откинуло лапки и запаниковало.
XoMa, 2007-04-05 в 8:17:19
Забавно, но вот этот кусок из man make.conf (FreeBSD 6.2):
The following lists provide a name and short description for each variable you can use during the indicated builds. The values of variables flagged as bool are ignored; the variable being set at all (even to``FALSE'' or ``NO'') causes it to be treated as if it were set.
Говорит о том, что bool значения в make.conf игнорируются и воспринимаются как установленные (читай true) при любом значении.
Или я не так понял ;)
XoMa, 2007-04-05 в 8:21:47
А ведь я понял правильно :)
Следующие строки из статьи:
NO_CPU_CFLAGS=false
NO_CPU_COPTFLAGS=false
на самом деле производят обратный эфект :(, т.е. отключают добавление -march=<cpu> при компиляции. Если их закоментировать, то -march=<cpu> добавляется.
f0b0s, 2007-04-12 в 18:54:16
В статье
# Здесь указываем дополнительные флаги
CFLAGS=-01 -pipe
В комментах
3. "-О1" То же, что -О
(разница — в одном случае 0 (ноль) в другом O (буква О).
вот на ноль ругаеццо (когда сделал копипаст конфига). говорит unrecognized option. На O вроде нет (ну как раз щас смотрю — компилиццо)
погуглил, везде тоже O (буква)
так что наверное в статье опечатка?
Raven2000, 2007-04-12 в 23:37:50
>f0b0s
Спасиб за обн-ю ошибочку опечатался :)
pinc, 2007-05-21 в 4:53:41
XoMa скорей всего прав , т.к в exampels NO_CPU_.... не имеют значения , в коментах написано только про недопущение , про принятие ниче не сказано , из этого делаем вывод что в представленном конфиге везде где значение no или false директива имеет обратное , запланнированому значение - ее нужно закоментировать.
ps по логике вещей все что можно разрешить в мэйке - по дефолту запрещено - и кербосы и но-спу флаги
fvl, 2007-07-02 в 11:07:06
.if ${.CURDIR:M*/ports/*}
CFLAGS= -O2 -pipe -funroll-loops -s -frename-registers -ffast-math -fomit-frame-pointer
CXXFLAGS= -O2 -pipe -funroll-loops -s -frename-registers -felide-constructors -fno-rtti
.endif
.if ${.CURDIR:M*/usr/src/*} || ${.CURDIR:M*/usr/obj/*}
CFLAGS+= -O2 -fno-strict-aliasing -pipe -s
CXXFLAGS+= -O2 -fno-strict-aliasing -pipe -s
COPTFLAGS= -O2 -fno-strict-aliasing -pipe -s
.endif
CC=/usr/local/libexec/ccache/world-cc
CXX=/usr/local/libexec/ccache/world-c++
nd3, 2007-09-01 в 20:04:28
CPUTYPE?=nocona
CFLAGS= -O2 -pipe
Собирал мир, все работает стабильно.
pxel, 2007-11-09 в 2:35:25
COMPATXX=yes
CFLAGS =-O99 -pipe
CXXFLAGS += -fconserve-space
COPTFLAGS += -O99 -pipe
CPUTYPE=pentium4
WITH_LINUX=yes
BATCH=yes
UPGRADE_TOOL=yes
XORG_UPDATE=yes
X11BASE=/usr/local
USE_NONDEFAULT_X11BASE=yes
#### #### #### #### #### #### ####
# # # # # # # # # #
### #### ### ### #### #### # #
# # # # # # # # # #
# # # #### #### #### ##### ####
pxel, 2007-11-09 в 3:09:38
a luche vsego prochitat:
http://gcc.gnu.org/onlinedocs
naprimer:
ochen' xorosho opisani x86, nikogda nikakix problem ne voznikalo (ne govora uge o glukax). A optimizacija - bolshoj "+" dla sistemi v celom, dage zagruzku sistemi mogno sekundomerom sravnivat :)
edinstvennoe:
NO_PROFILE=true
etot parametr luche vcego ispolzovat pri globalnom perehode po jadram, no nikak ne dla sborki portov!
Sultan, 2007-11-11 в 16:56:18
Некоторые рекомендуют поступать следующим образом:
вместо
CPUTYPE?=Ваш_процессор
делать так:
NO_CPU_CFLAGS=true
NO_CPU_COPTFLAGS=true
CFLAGS=-pipe -march=i686 -mtune=Ваш_процессор
COPTFLAGS=-pipe -march=i686 -mtune=Ваш_процессор
В первом случае добавится "-march=Ваш_процессор", что может лишить возможности перенести рабочую систему на другую платформу семейства x86.
Во втором же случае можно будет безболезненно перенести систему, просто переткнув жесткие диски с погибшей железки на pentium4, скажем, на athlon 64.
По поводу ключей оптимизации - лучше следить за тем, что в данный момент для используемой releng считается стабильным, иначе потом можно изрядно попортить себе нервы, отделяя глюки софта от влияния компилятора.
paix, 2008-04-09 в 11:55:58
+1 Sultan
оптимизации лучше не использовать
krilya, 2008-04-22 в 3:18:13
У меня процессор Duron 800, посмотрел aida пишет семейство K7, но в конфигурационном фале такого нет, как указать CPUTYPE ?
Raven2000, 2008-04-22 в 11:31:38
to krilya
посмотрите как определяет проц ваша система
# dmesg -a
то и пишите.
snark, 2008-04-30 в 18:38:22
Всем кому интересна тема CPUTYPE?= - заносите в закладки хорошее описалово. Да, там пингвин, но для make это сути дела не меняет ;)
Borojar, 2008-05-06 в 11:30:56
При CFLAGS=-O1 -pipe собранный из портов nettop выпадает в кору. При CPUFLAGS=-O2 -pipe работает нормально.
FreeBSD 7.0 Release
Borojar, 2008-05-06 в 11:32:03
опечатка, конечно-же CFLAGS=-O2 -pipe :)
iZEN, 2009-05-14 в 12:07:34
Для 7.x это руководство устарело.
Многие опции вредны.
Многие опции перенесены в src.conf.
PhantomD, 2009-06-17 в 1:44:58
Duron
From 600 to 900 MHz. These models have a tbird-alike core model.
product: AMD Duron(tm) Processor version: 6.3.1
CFLAGS="-march=athlon-tbird -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
Ivan_83, 2009-07-06 в 21:50:59
Универсальное переносимое буде так:
native - означает что компилятор сам определит что за проц и соптимизирует под него. Архитектура оставлена универсальная, если тоже натив поставить то переносимость пострадает, по крайней мере на процы других фирм или более старые/менее фичастые.
NO_CPU_CFLAGS=
NO_CPU_COPTFLAGS=
CFLAGS= -march=i686 -mtune=native -O2 -fno-strict-aliasing -pipe
CXXFLAGS= -march=i686 -mtune=native -O2 -fno-strict-aliasing -pipe
COPTFLAGS= -march=i686 -mtune=native -O2 -fno-strict-aliasing -pipe
Ivan_83, 2009-07-17 в 8:43:20
CXXFLAGS=
лучше не трогать, иначе /usr/src/gnu/lib/libstdc++ не соберётся при сборке мира.
Vasya, 2015-06-27 в 0:57:38
АФТАР ЕБЛАН СОСИ ХУЙС
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [25 шт.]