Как правильно обновлять ядро? Чем отличаются разные способы сборки ядра?

Помогите разобраться…
Перерыл пол-интернета, нормальной свежей документации не нашёл.
Задача - обновить ядро (с тем же конфигом - минимум), или попутно оптимизировав под свою архитектуру (ноут на Е-450 готовых конфигов не нашёл) - (конечная цель). А то emerge по умолчанию регулярно приносит в систему новые версии исходников (и хедеры, кстати, тоже), а ядро не меняется. Т.е. если не предпринимать специальных действий после обновления хедеры и фактическое ядро разъезжаются, что уже совсем не правильно. Я что-то не то делаю, или так и задумано?
И как мне лучше собирать ядро? Можно ручками через make, можно использовать genkernel (про который пишут, что он глючит плюс включает в ядро всё подряд, что вернее всего давно не соответствует действительности). В кальке есть ещё пакет calckernel, про который вообще ничего вразумительного не нашёл, кроме общих слов (модифицированный genkernel? как именно? или что-то своё? тогда что? чем отличается?), и есть cl-kernel - тоже вещь в себе. Есть на этом сайте статья, но уж больно лаконичная. Не могу выбрать, что мне больше подходит, т.к. не нашёл внятного описания, чем эти способы отличаются по факту. Сказать три раза make совсем не сложно, перекинуть результаты в /boot тоже - уверен, все остальные средства делают что-то ещё осмысленное, кроме превращения трёх команд в одну. Так что? Мои ожидания, что просто сказав cl-kernel на соответствующем профиле, я получу обновлённую версию ядра с конфигурацией, идентичной существующей, не оправдались:( Подскажите, где почитать?

Определитесь с опциями и соберите оптимизированный конфиг.

Поиск по опциям здесь: http://cateee.net/lkddb/web-lkddb

Шаблоны конфигов лежат в: /var/lib/layman/calculate/profiles/kernel/

Разумеется, править конфиг там - идея плохая, т.к. после обновлений оверлея они перезаписываются, так что положите его например в /boot/ или в /root/ или куда угодно.

Для сборки ядра определенным конфигом, а не дефолтным (который обновляется и перезаписывается) в cl-kernel есть опция: cl-kernel --kernel-config /путь/к/конфигу

Таким образом, при обновлении ядра вы можете использовать нужный вам оптимизированный конфиг.

Спасибо, с этим я более-менее уже разобрался (осталось доразобраться с опциями:))), но оттолкнуться вполне можно от существующего рабочего конфига). В любом случае, про опции ядра разговор особый.

Мой вопрос был немного о другом - попробую переформулировать:
какие преимущества (недостатки) имеет использование genkernel (calckernel, cl-kernel) перед ручной сборкой (т.е. make)?
Определяется ли автоматом (и в каком случае) фактическое оборудование (я не собираюсь переносить это ядро, поэтому вполне могу собрать его под конкретное железо - или как минимум, выкинуть поддержку заведомо ненужных вещей), или вставляется модульно всё подряд, или не модульно, и т.п. В моём случае, например, initrd явно лишний. Можно ли автоматом определить железную конфигурацию, оставив остальные опции нетронутыми, и если да, то как. Повлияет ли на это выбор способа сборки? Другими словами, что произойдёт при использовании того или иного инструмента и какие у них есть ограничения. Вот по этой части я нашёл в инете лишь кучу противоречащих друг другу мнений и практически нуль актуальной документации… что меня скорее запутало, чем дало понимание.

Коллеги, отзовитесь! Неужели никто не в курсе, чем отличаются эти инструменты?

Единственное, что могу сказать - прелесть genkernel в автоматизации процесса, почти все нужные опции сборки (menuconfig и пр.) загоняются в /etc/genkernel.conf. Подробности в хендбуке, документации на gentoo.org и гентушной же вики, откуда я это и взял. Явных недостатков по сравнению с ручной сборкой не нашёл (для десктопа). А есть ли плюшки calckernel/cl-kernel по сравнению с genkernel - это для меня такая же загадка, как и для вас.
В Кальке пользуюсь им исключительно по принципу, что раз уж сделали инструмент специально под дистр, то, вероятно, плюшки всё же есть ;-)))

С легендой об автоопределении железа уже сталкивался и губу даже раскатал, но нету в реале :( Хотя, казалось бы, засунуть в скрипт рукоблудное курение lspci, cat /proc/cpuinfo и что там ещё делается, и на основе этого создавать первичный конфиг ядра дело вполне возможное. Для человека с квалификацией повыше, чем у меня, к сожалению.

Плюсы cl-kernel в том, что он автоматизирует прописывание в граб и т.д.
calckernel - модифицированный genkernel с патчами для builder

Хотя, казалось бы, засунуть в скрипт рукоблудное курение lspci, cat /proc/cpuinfo и что там ещё делается, и на основе этого создавать первичный конфиг ядра - дело вполне возможное.

Можно, только для этого понадобится довольно много времени + постоянные дописки логики. Ядро же ооочень большое, а размениваться на мелкие правки точно не захочется. Этим нужно заниматься. Кто готов? :wink: