только добавил aufs. Т.е. остальное как у автора pfНаверно уже больше 2 часов компилилось? Все же нормально, это когда 10-15 мин, :) но так долго... На лицо не целевое использование домашнего компа. )
СОВЕЕЕЕТ!!!!
при компилировании я всегда использую следующий прием
вместо make "команда"
я использую
make -j"количество ядер помноженное на 2 и + 1" "команда"
Ускоряет компиляцию ядра linux В РАЗЫ,
$(nproc) + 1В моем PKGBUILD так и сделано
Ускоряет компиляцию ядра linux В РАЗЫА куда торопиться-то. Если еще работаете на этом пк - наоборот лучше занизить к-во потоков
В моем PKGBUILD так и сделано
% grep MAKEFLAGS /etc/makepkg.conf
MAKEFLAGS="-j5"
При полной пересборке ядра командой "make -j96 vmlinux" на тестовой систем применение патчей показало сокращение времени сборки ветки v5.16-rc7 с 231.34 до 129.97 секунд (с 15.5 до 27.7 сборок в час), а также повысило эффективность использования ядер CPU во время сборки. При инкрементальной сборке эффект от оптимизации ещё более заметен - время повторной пересборки ядра после внесения изменений в заголовочные файлы сократилось в разы (от 112% до 173% в зависимости от изменяемого заголовочного файла). Оптимизации пока доступны только для архитектур ARM64, MIPS, Sparc и x86 (32- и 64-бит).
Полезно будет доустановить пакет ccache (https://archlinux.org/packages/community/x86_64/ccache/) и включить (https://wiki.archlinux.org/title/Ccache#Enable_ccache_for_makepkg) его в makepkg.conf. Сократится время повторной сборки, например, когда сборка прерывается и правятся ошибки или, как в данном случае, компилится одно ядро, но с разным конфигом.
Часто считают достаточным выставлять make -j $(( $(nproc) + 1 )), но некоторые идут дальше.Я ускорения не заметил.
ccache - тоже
Как я понял частично используются ранее скомпиленные *.oНу так, потому что включен ccache. Разве нет?
потому что включен ccache. Разве нет?Без него
частично используются ранее скомпиленные *.oТам где я его использовал дополнительно к этой методе - улучшения не заметил.
Без негоБез него, каждая повторная компиляция будет с нуля, не зависимо что там уже собрано. Или с каких-то пор теперь по-другому в линукс?
Использование ссache может значительно ускорить сборку некоторых пакетов или проектов, которые компилируются несколько раз, так как заново компилироваться будут только файлы, которые изменились с последней компиляции.
При компилировании какого-либо файла вычисляется его хеш и, если такой файл уже присутствует в реестре скомпилированных файлов, то он не будет компилироваться заново, а будет использоваться старый бинарный файл. Это может ускорить сборку некоторых пакетов в 5—10 раз.https://ru.wikipedia.org/wiki/Ccache
При этом учитываются разные версии компилятора и опции сборки. Это означает, что, если вы однажды собрали проект с оптимизацией -О2, использовав при этом ссache, то при сборке с оптимизацией -О3 файл будет компилироваться заново, при этом в реестре ссache старый файл сохранится, но добавится и новый.
Создает здоровый кэш в хомяке (который у меня в tmpfs). Как минимум неудобноМестоположение можно изменять, ссылка (https://wiki.archlinux.org/title/Ccache#Change_the_cache_directory). А так же, ограничить размер, ссылка (https://wiki.archlinux.org/title/Ccache#Set_maximum_cache_size).
https://ru.wikipedia.org/wiki/CcacheПо теории красиво. Как на практике - я написал. Перепроверьте - был сосредоточен не на Ccache. Мог что-то упустить
Может при разных конфигах некоторые о не использубтся