LINUX.ORG.RU

[netbook][gentoo]Сборка на другой машине

 ,


0

1

Привет ЛОР. Хочу запилить на нетбук генту собранную под Atom. Думаю что то вроде stage4. Тобишь собрать из чрута на большом компе и потом затарить и распаковать на нетбуке. GCC предполагаю 4.5.x Можно ли безпроблемно собрать в chroot или все же лучше создать отдельную систему и собрать все в ней? distcc не предлагать ибо в таком случае всю основную работу все равно проделывает нетбук.

★★★

>Можно ли безпроблемно собрать в chroot

можно

если на хостовой машине проц от интел, вообще проблем не будет

Torquemada
()
Ответ на: комментарий от derlafff

Внезапно спасибо, раньше как то недодумывался. Только распаковка, configure все равно ведь на нетбуке будет производиться. Chroot по моему удобнее.

partyzan ★★★
() автор топика
Ответ на: комментарий от partyzan

будь я исправлен Сильвией, если ошибаюсь, но вроде как атом и коре 2 архитектурно почти идентичны, можно даже CFLAGS не менять

Torquemada
()
Ответ на: комментарий от Torquemada

ну разве что -funrool-loops не юзать и кеши прописать. Поддержка SSSE3 имеется в атоме.

Реквестирую CFLAGS атомных гентушников.

partyzan ★★★
() автор топика
Ответ на: комментарий от partyzan

Но зато все сразу попадает на нетбук, не нужно будет извращаться с копированием.

Представь: поставил ты из chroot,

Если тебе нужно поставить новую программу, опять хард будешь к компу прицеплять?

derlafff ★★★★★
()
Ответ на: комментарий от derlafff

Я не собирался хард прицеплять. Затаренный stage4 скинется на флешку и распакуется с помощью SystemRescueCD. А насчет новых прог я постараюсь все нужное поставить сразу. Да и если что то сильно понадобится поставить - на нем уже установленна UNR 10.04 из которой собственно и пишу.

partyzan ★★★
() автор топика
Ответ на: комментарий от partyzan

Новые программы можно ставить из бинарных пакетов, которые можно собирать в том же chroot

Gary ★★★★★
()
Ответ на: комментарий от Torquemada

>но вроде как атом и коре 2 архитектурно почти идентичны

в каком месте? атом in-order идет, в отличие от приличных cpu.
так что ставить свежий gcc c march=atom

devl547 ★★★★★
()
Ответ на: комментарий от devl547

>так что ставить свежий gcc c march=atom

Уже собираю там gcc-4.5.1-r1 пока с -march=core. Соберется поменяю на -march=atom.

partyzan ★★★
() автор топика
Ответ на: комментарий от devl547

самый неудачный вариант при сборке для другого компа использовать -march=native



я бы ставила

-O2 -march=atom -mssse3 ( -fomit-frame-pointer ) -mfpmath=sse

для GCC 4.5.1+

для более старых:

-O2 -march=core2 -mtune=pentium -mssse3 -mfpmath=sse ( -fomit-frame-pointer )

собрать из чрута на большом компе и потом затарить и распаковать на нетбуке. GCC предполагаю 4.5.x Можно ли безпроблемно собрать в chroot


да, без проблем.

Sylvia ★★★★★
()
Ответ на: комментарий от devl547

там где нет -march=atom
можно использовать -march=core2 -mtune=pentium

именно так :) получится in-order

Sylvia ★★★★★
()

А поставить Calculate на нетбук-это не выход?

le_legioner ★★
()

>istcc не предлагать ибо в таком случае всю основную работу все равно проделывает нетбук.

это не совсем верно, наиболее процессороемкий этап - перевод обработанного препроцессором исходника в asm , это делается на удаленной машине, хотя зависит от того, что собирается.


вообще рекомендации по сборке в чруте для другого компа будут такие

1) выставить флаги для целевой машины, но так, чтобы собранное работало на той машине на которой собираете,

т.е. если бы вы собирали на AMD, то пришлось бы не использовать -mssse3 , а только -msse3 , -mmovbe возможно использовать на Атом и Нехалем или Вестмере, но нельзя на Коре2 Конро или Пенрин

2) если особенностей архитектуры много, то желательно задавать флаг -mtune=цель

для атома можно использовать значения atom или pentium ( первый пентиум имел in-order)


3) ни в коем случае не использовать -march=native , тем не менее очень желательно задать размеры кешей целевой системы, для систем с маленькими кешами часто используют -Os , это не совсем хороший вариант если вам известны кеши на целевой системе, лучше задавать -O2 --param l1-cache-size=РАЗМЕР_В_КБ --param cache-line-size=64 --param l2-cache-size=РАЗМЕР_В_КБ



Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

Я в принципе тоже самое и поставил

CFLAGS="-g0 -march=atom -O2 -mfpmath=sse -mssse3 -ftree-vectorize -pipe"

Сейчас при смене march с core2 на Atom выпало

configure: error: C compiler cannot create executables
See `config.log' for more details.
 * ERROR: sys-devel/binutils-2.20.1-r1 failed:

К чему бы это?

partyzan ★★★
() автор топика
Ответ на: комментарий от partyzan

GCC 4.4 ?

-ftree-vectorize я бы все же с осторожностью использовала, тем более на атоме, хотя icc например активно использует векторизацию в SSE3 с -xL


-fomit-frame-pointer ? отладка нужна или нет ? если не нужна - то лучше ставить этот флаг, + 1 регистр

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

это не совсем верно, наиболее процессороемкий этап - перевод обработанного препроцессором исходника в asm , это делается на удаленной машине, хотя зависит от того, что собирается.

Не знаю, я как то давно пробовал там на большой комп отправлялись задания, он их за секунд 30 собирал, отправлял результату клиенту и опять простаивал. Наверно как тут сказали уже маленькую машину не надо прописывать как клиент.

partyzan ★★★
() автор топика
Ответ на: комментарий от Sylvia

GCC 4.4 ?

на ББ 4.4.5, на атоме собрал уже 4.5.1-r1 и как писал выше он не хочет собирать под атом

partyzan ★★★
() автор топика
Ответ на: комментарий от Torquemada

-ftree-vectorize

бяка

с этим флагом постоянно какие-то проблемы огребал

Вся система собрана с ним- УМВР. Ах да, ты же KDE юзаешь, наверно там проблемы и огребал..

partyzan ★★★
() автор топика

>Тобишь собрать из чрута на большом компе и потом затарить и распаковать на нетбуке

Всё даже проще и удобнее. Делаешь chroot-копию системы на сабноуте и собираешь там пакеты по emerge -b

Копируешь бинарные пакеты на сабноут и делаешь там emerge -K

Я так ставил Gentoo на Toshiba Libretto 50ct (P75, 32RAM, 850M HDD). На целевой машинке ни GCC не надо, ни distcc :)

KRoN73 ★★★★★
()
Ответ на: комментарий от partyzan

>Ах да, ты же KDE юзаешь, наверно там проблемы и огребал

у тебя опять кратковременное помрачение сознания?

Torquemada
()
Ответ на: комментарий от derlafff

> Если тебе нужно поставить новую программу, опять хард будешь к компу прицеплять?

Новую программу можно емержнуть прямо на ноуте. Не так страшен чёрт, как его малюют ;)

const86 ★★★★★
()
Ответ на: комментарий от partyzan

MAKEOPTS=-jN

N для distcc надо выставлять побольше, чтобы прогружать удаленную машину , для Core2Duo это примерно -j16, ну и возможности сети учитывайте, через вай фай core2 не нагрузить на полную
еще в целях distcc не нужно использовать сам нетбук как компилирующую машину, пусть только работает препроцессор. ассемблер, компоновщик и всякие libtool и прочее.

Sylvia ★★★★★
()
Ответ на: комментарий от const86

например openlibreoffice :) который кстати и с distcc собирать неудобно тоже

Sylvia ★★★★★
()
Ответ на: комментарий от partyzan

про архитектуру надо было сразу

-O2 -march=atom -mssse3 -msahf -mcx16


--param l1-cache-size= ( 24 ?)
--param l1-cache-line-size= (64 ?)
--param l2-cache-size= (512?)

Sylvia ★★★★★
()
Ответ на: комментарий от partyzan

>Вся система собрана с ним- УМВР.

потому что 64, на i?86 баги в GCC не особенно пытаются исправлять (

Sylvia ★★★★★
()
Ответ на: комментарий от partyzan
configure: error: C compiler cannot create executables
See `config.log' for more details.
 * ERROR: sys-devel/binutils-2.20.1-r1 failed:

Я мудак. gcc то не переключил :)

partyzan ★★★
() автор топика

touch /tmp/null.c; gcc -c -march=native -v /tmp/null.c 2>&1 | grep march | egrep --color — '\s-m\S+|--param \S+'

init_6 ★★★★★
()
Ответ на: комментарий от Torquemada

Опять на ЛОРе пахнет жиром,

Повсюду жировые сталагмиты,

Это все предвестники Фрактала,

Самого жырного троля!

partyzan ★★★
() автор топика
Ответ на: комментарий от Sylvia

Вобщем с -march=atom куча глюков при сборке из chroot.

xulrunner не собирается и еще кое что. Ругается на Illegal instruction. Соберу с 4.4.5 под core2.

partyzan ★★★
() автор топика
Ответ на: комментарий от partyzan

-mnomovbe тогда в флаги на хосте сборки
ну или как вариант

-march=core2 -mtune=atom

тогда точно все нормально соберется

Sylvia ★★★★★
()
Ответ на: комментарий от partyzan

Раз такое дело,я предлагаю не заморачиваться с оптимизацией под atom.
Только время потеряете

Wolfkrone
()
Ответ на: комментарий от Sylvia

других нелегальных инструкций на атоме по сравнению с penryn не должно быть

ну и для информации:
(а вот native на пенрине включит sse4.1 , которого на атоме нету :) )

Sylvia ★★★★★
()
Ответ на: комментарий от partyzan

>Реквестирую CFLAGS атомных гентушников.
CFLAGS="-O2 -march=atom -fno-align-functions -fno-align-labels --param l2-cache-size=128 -fomit-frame-pointer -pipe"
можешь смело добавить -mfpmath=sse -mssse3

megabaks ★★★★
()
Ответ на: комментарий от partyzan

ууу - ну часов эдак 10 точно - хотя смотря какие пакеты....

megabaks ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.