LINUX.ORG.RU

Сбор кастомного ядро

 ,


1

2

Хочу научиться собирать ядро на продвинутом уровне что бы лучше изучить внутреннее устройство самого ядра и уметь «затачивать» ядро для определенных задач, что бы выжимать максимум из железа. Есть ноут с которым экспериментирую на железе. На данный этапе обучения поставил себе такие задачи:

  1. Отчистить ядро от неиспользуемых компонентов (например убрать amd-микрокод, если ноут на intel). Возможно, отключить защиту от Spectre и Meltdown
  2. Уменьшить время на загрузку ядра
  3. Получить выигрыш в производительности/энергоэффективности. Да, знаю, что улучшение будет на уровне погрешности, но это больше «для души» чем для решения реальной задачи
  4. Научится кросс-компилировать ядро

Уже многократно собирал ядро с кастомным конфигом и патчами, но изменения там были минимальные. Часто я просто следовал инструкции. Хочется всё же комфортно себя чувствовать при конфигурировании ядра. Посоветуйте литературу/сайты/статьи/материалы/патчи/хитрости/лайфхаки и т.п. на которые стоит обратить внимание


Вот вам идея краудфандинга уровня ЛОР: собираем, скажем, 30-40 тысяч рублей, чтобы какой-нибудь автор или пара авторов запилили нам новую «Ядерную физику для домохозяек»

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

Да, документация там и правда хорошая, однако, она под отдельные модули. И иногда вся информация про модуль это «Если сомневаетесь, выберите ‘Да’». Хочется получить более высокоуровневые знания про ядро и его конфигурацию

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

Выглядит многообещающе, спасибо, посмотрю

brualan
() автор топика

что бы выжимать максимум из железа

Да, знаю, что улучшение будет на уровне погрешности

Ты уже познал «дзен», не трать время )

vvn_black ★★★★★
()

Посоветуйте литературу/сайты/статьи/материалы/патчи/хитрости/лайфхаки и т.п. на которые стоит обратить внимание

Сегодняшние ядро Линукс очень сложная вещь. В нем одновременно сочетается много хорошего, гениального, плохого и вредного.

Ссылки давать не буду. Основа в Kconfig. Что не понятно ищи в поисковиках.

Совет: собери, для начала, монолитное ядро только с необходимым и достаточным железом. И после этого займись ковырянием внутростей.

anonymous
()

Просто запускаешь с menuconfig и перебираешь все пункты, читаешь документацию.

Почему gentoo не упомянул? У них в wiki упоминается, что должно быть включно для звука, видео и т.п. А некоторые установочные скрипты сами проверяют конфиг ядра и предупреждают.

Почему в Desktop?

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

чтобы какой-нибудь автор или пара авторов запилили нам новую «Ядерную физику для домохозяек»

Зайдем в тот же тупик: «понять еще пока не можем, а поверить уже не хотим»

Например опция cgroups!?? Я ее скажу отключить! А у вас всех нах полетит systemd, elogind, … KDE, …

Тоже с namespaces user, groups и так по каждой опции.

Как ты вообще жить сможешь если, по моим рекомендациям, в ядре включишь: PAX_NOEXEC, PAX_PAGEEXEC(PAX_SEGMEXEC), PAX_MPROTECT ?

Второй вопрос кто ее будет поддерживать и отслеживать все изменения?

В интернете уже есть сообщества которые ведут свои списки «черных» и «белых» опций ядра Линукс, следят за ними. Кому надо присоединится.

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

Суть такого талмуда будет как раз в том, чтобы разъяснить, что делает та или иная фича, и к каким последствиям приведёт её включение или отключение. А там читатель пусть сам решает.

Deleted
()

Изучать, это конечно хорошо, но оптимизация, когда вся система загружается секунды, вряд ли будет заметна.

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

Там же написано, что это для души) Меня очень нравиться когда софт работает настолько эффективно насколько это возможно. Вот и хочется оптимизировать, хоть и знаю, что какого-то значительного прироста не будет

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

Вот и хочется оптимизировать

Оптимизация, она тоже разная. Вот, с дебиановским конфигом ядро условно компилится 30 мин, а с моим 3 минуты. Зато первое запустится практически везде и будет работать большинство периферии, а второе… (я лучше промолчу, но на паре десктопов точно).

Под дерево первого надо 12 Гб на диске и ещё сотни мегабайт под модули в самой системе, а под второе хватит всего 1.5 Гб под дерево и совсем ничего под модули.

И какое из них оптимальнее? )

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от anonymous

Ну тут, что называется «копейка рубль бережёт». Каждые сэкономленные миллисекунды и ВТы электричества очень быстро складываются. Пример из жизни: есть скрипт script.sh, который вызывается напрямую или как часть другого скрипта 100 раз в день. Если сократить время его исполнения на 50мс (что вообще мелочь), то только за 1 день это даст выигрыш в 5 секунд процессорного времени. А за год сэкономится 30 минут. И это улучшение 1 скрипта на 50мс. Если например Firefox будет запускаться не 3 секунды, а 2.9 секунд, это может и не много, но в масштабах года (и тем более десятилетий) и масштабах его польовательской базы – это очень быстро превратиться в десятки тысяч часов и кВТ энергии

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

Спасибо за базис, но этот этап уже пройден)

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

Тут как и в любом вопросе не бывает однозначного «хорошо» и однозначного «плохо». Под задачи отдельно взятого энтузиаста больше подходит второй вариант. Но когда к этому же энтузиасту подойдёт его товарищ и спросит как начать пользоваться линуксом – он направит его пользоваться первым вариантом

Всё зависит от ситуации

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

все элементарно просто и уже написано чуть выше.
make menuconfig
и далее дзенствуешь над описанием опций, гуглением «а на… оно нужно» и чтением различного рода статеек.
есть куча прямых статей как скомпилить свое ядро, но они обычно в рамках интересов автора, которые с твоими не сильно совпадают.
красивой, чтокой и конкретной статьи не найдешь ибо ядро растет и меняется постоянно.
через пару месяцев и нескольких попытках разной степени удачи получишь ядро допиленное под себя. не забудь хорошо протестировать в пределах своих програмулин.

иной путь - платишь комунить умному деньгу и он делает ядро под тебя. дерзай.

pfg ★★★★★
()

А в чем конкретно проблемы/проблема ?

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

Kconfig решает эту задачу очень толерантно.

В инете уже есть кучу проектов, разной тематики, именно по настройкам ядра. Кому надо тот по своим интересам найдет нужный проект.

Кроме LFS и Gentoo кто еще ядра компилит?

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

Ну если сомневаешься, то лучше «Да» и выбирай. :)

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

Kconfig хватает. Собирайте по нему.

Что не ясно вбивай полное название опции в поисковик. Первая или вторая ссылка.

anonymous
()

Сбор кастомного ядро

Сам знаешь, что делал с её рука.

Научится кросс-компилировать ядро

А писать грамотно научиться не хочешь?

rebforce
()
Последнее исправление: rebforce (всего исправлений: 2)
Ответ на: комментарий от anonymous

случаи то они разные бывають (с) анекдот.
в убунту 19.10 перестали делать 32 битное ядро. понадобилось поставить 19.10 на 32 битный компутер - сейчас вспоминаю менюконфих.

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от rebforce

Научится кросс-компилировать ядро

Прочитал как «кросс-компилять в ядро» и подумал о какой-то матёрой пошлятине.

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

перекрёстный допрос с пристрастием?

BMX ★★☆
()

Это полнейшая фигня, профита от которой ты не заметишь. Лучше настраивай загрузку с минимиумом фоновых процессов и замени DE на менеджер окон, на слабом железе заметен хоть будет профит в потреблении озу. Но на более менее норм железе и от этого толку не будет.

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