LINUX.ORG.RU

Сборка ядра linux под конкретное железо

 , , ,


0

3

Доброго времени суток!

Нахватил тут за копейки новенький Intel NUC с 4-х ядерным селероном на борту и решил собрать строго под его начинку ядро. До этого пересобирал ядро пару раз только для включения всяких плюшек, а там ничего сложного: zcat /proc/config.gz > .config и всякие localmodconfig делают всё за меня, но вот серьёзными оптимизациями никогда не занимался.

Что почитать и чем (про мозг понятно) руководствоваться? Половину можно спокойно отключать\включать пользуюсь мануалами которые идут прямо с сорцами или гуглом, а вот с остальным - не понятно. Либо есть описание в двух словах либо его нет вообще. Собираю не для «прироста производительности», а, чтобы убрать ненужно и оставить чистое ядро. Да и чего таить, просто интересно потыкать палочкой как оно там всё устроено. Ядро, которое собрал (10~ минут на сборку) просто чтением мануала - завелось с первого раза, но там ещё осталось всякое неизведанное.

В общем, дайте советов мудрых!



Последнее исправление: Vaseline (всего исправлений: 2)

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

Deleted
()

дайте советов мудрых!

Не иби мозг ни себе ни нам. Лучше на что-нибудь нужное потрать время. Пересобирать ядро ради пересборки — первый признак идиотизма.

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

Я всё это прекрасно понимаю, но сидя на арче увидел как оно в dmesg при загрузке пытается подключать всякое неподдерживаемое моим оборудованием. Вот и захотелось «чистоты», не более.

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

Лучше на что-нибудь нужное потрать время. Пересобирать ядро ради пересборки — первый признак идиотизма.

Ну тебе то явно виднее куда и как мне лучше тратить своё и чужое время. Явный признак идиотизма!

/покормил

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

Что почитать и чем (про мозг понятно) руководствоваться?

Встроенной справкой. Другого актуального источника все равно нет.

Kron4ek ★★★★★
()

Сборка ядра linux под конкретное железо

не имеет смысла(кроме спец процессоров)

ставь Calculate Linux и не парься, в самосборке будет на 0.00001% быстрее чем в калькуляте

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

Неужели за столько лет существования ядра не появилось подробного «мануала»?

генерация конфига ядра и есть мануал(оно автоматически только галочек наставить под твое железо(ошибешься будешь пересобирать)), это проще чем ты думаешь

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

Сам ведь попросил совета. Если хочется заниматься куйнёй, то занимайся, твое дело.

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

Неужели за столько лет существования ядра не появилось подробного «мануала»?

Это просто не имеет смысла. Тем, кто конфигурирует ядро вручную, достаточно встроенного описания опций.

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

на 0.00001% быстрее чем в калькуляте

Что быстрее? Скорее топикстартер будет на 0.00001% счастливее сферического пользователя linux в вакууме. Лучше бы яйца себе полизал и на ютуб запись выложил.

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

Половину можно спокойно отключать\включать пользуюсь мануалами которые идут прямо с сорцами или гуглом, а вот с остальным - не понятно. Либо есть описание в двух словах либо его нет вообще.

Эээ... А на что там ман то? Там ж всё в справке описано как надо...

Хотя, возможно, вы про какую-то другую справку...

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

А что у тебя за ник? Это то, чем попу перед сексом мажут?

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

отключение всяких защит ядра и патчей уязвимостей (а также всего инструментария профилирования, инструментария логирования потребления и много чего еще) может снизить потребляемую мощность. Да, ядро становится куцым и иногда натыкаешься на сферическую жопу из-за него, но + полчаса-час это все-же стоит того. Конечно, речь идет о использовании без DE сидя в соснольке, но и это иногда бывает нужно. Алсо некоторые экспериментальные фичи для энергосбережения по-умолчанию выключены т.к. небезопасны...

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

Ну давай пример, на что там справки нет. Я вот чет сам себе ядрышко в генте собираю и ни разу небыло не понятных опций.

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

отключение всяких защит ядра и патчей уязвимостей

Кстати, а где оно в ядре там спрятано? Нашёл только галочку для подхвата микрокода, но он же вроде как отдельным модулем идёт который собирается сорцами с сайта вендора и должен грузиться через grub\lilo, или я что-то путаю?

сидя в соснольке

А как иначе :)

Вообще, читая старые топики по этой теме на лоре все советы сводятся к методу тыка. Наверное это и есть единственный возможный метод решения этого вопроса.

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

Да, ядро становится куцым и иногда натыкаешься на сферическую жопу из-за него

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

Алсо некоторые экспериментальные фичи для энергосбережения по-умолчанию выключены т.к. небезопасны...

Да, а некоторые безопасные работают так, что лучше бы они были по-умолчанию выключены.

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

а некоторые безопасные работают так, что лучше бы они были по-умолчанию выключены.

Это да, есть такое)

Сборка ядра - увлекательнейшее приключение! Иногда может прибавить мозгов (некоторые необучаемые, правда)

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

Вообще, читая старые топики по этой теме на лоре все советы сводятся к методу тыка. Наверное это и есть единственный возможный метод решения этого вопроса.

Заведомо не верный подход. Правильный подход - чтение документации. Ядро же ооочень хорошо документировано.

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

Ядро же ооочень хорошо документировано.

Документировано оно хорошо, но недостаточно. Некоторые вещи новичкам могут оказаться неочевидными, но человеческим языком разжёвано в документации далеко не всё.

ТС, читай хелп в конфигураторе (хоткей:h), если там написано «if doubt, say N» (или «say Y»), следуй рекомендации, если не понял документацию.

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

Знаю. Пусть ТС выберет для себя более подходящий вариант, а знать ему лучше об обоих (и лучше не знать о gconfig и xconfig).

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

Заведомо не верный подход. Правильный подход - чтение документации.

Естественно, никак иначе и не планировал с самого начала треда :) Вот товарищ greenman посоветовал modprobe-db, а я в свою очередь обязательно посмотрю что и как там. Мне главное понять как у знающих людей порядок сборки налажен и чем они пользуются.

Ядро же ооочень хорошо документировано.

Там уже ниже человек отписался и я с ним согласен на все 100%

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

make nconfig

Вкусовщина же, хотя сам всё делаю сидя в menuconfig.

ТС, читай хелп в конфигураторе (хоткей:h),

Им и пользуюсь наперевес с гуглом если непонятно что и зачем.

Документировано оно хорошо, но недостаточно. Некоторые вещи новичкам могут оказаться неочевидными, но человеческим языком разжёвано в документации далеко не всё.

Вот тут как мёдом помазал, с этих «if doubt, say N» или вообще с отсутсвующего описания и возникают вопросы.

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

Задавай конкретные вопросы, которые возникают.

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

Вот тут как мёдом помазал, с этих «if doubt, say N» или вообще с отсутсвующего описания и возникают вопросы.

Читай документацию (./Documentation, поставляется с сорцами), хелп — это только для поверхностного ознакомления и/или освежения памяти.

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

возникают вопросы

Так бы и написал, что ты олух-невежда, который хочет почувствовать себя кулхацкером ядра, нужны основы языком для людей с низким iq.

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

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

kirill_rrr ★★★★★
()

http://www.unix-lab.org/posts/kernel-v3/

https://www.ibm.com/developerworks/ru/library/l-cpufreq-1/index.html

https://yandex.ru/yandsearch?&clid=2186621&text=сборка ядра linux&amp... Здесь можно откыть первые *дцать статей, бегло просмотреть их и выбрать понятные советы которые касаются тебя и твоего железа. Если непонятно, что опция делает, то лучше не трогать.

Пару раз у меня было так, что я долго-долго собирал ядро, по 10-20 волн правок на стандартный конфиг из какого нибудь дистра, а потом внезапно замечал, что оно в чём то заметно хуже стандартного ядра скажем дебиана.

Но как минимум режимы энергопотребления, тип процессора, таймер, видеодрайвера, раздел гибернации я настраиваю. И ещё выкидываю initramfs - без него проще и быстрее.

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

ссылки

Спасибо, будем почитать!

Но как минимум режимы энергопотребления, тип процессора, таймер, видеодрайвера, раздел гибернации я настраиваю.

Да, уже вырезал практически все ненужные драйвера, но тут оказывается, не всегда так просто. Например, драйвер WLAN, внезапно, ещё и важен для полноценной работы драйвера LAN, хотя там две разные железяки по сути.

И ещё выкидываю initramfs - без него проще и быстрее.

На википедиях пишут, что это удобно только в том случае если система без «извращений» и всё необходимое (например /usr) не находится на отдельном разделе\зашифровано. В общем, мой случай :)

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

захотелось «чистоты

Нет никакой чистоты. Тебе просто не хватает знаний, чтобы увидеть какое абсолютно всё косое дерьмо. Лечи ОКР.

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

Пересобирать ядро ради пересборки — первый признак идиотизма

я так на работу устроился

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

Нужно его чёткое мнение по этому вопросу. Я думаю одноядерных нуков просто не купить при всём желании.

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

Т.е. это мега оптимизации? Особенно про энергопотребление меня все смешат. А, или предлагаете использовать tickless? Ну батенька, успехов...

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

ну

CONFIG_PREEMPT_NONE и CONFIG_NO_HZ_IDLE первые кандидаты на убер оптимизацию, потом идут игры с RCU. На энергопотребление это всё хорошо так влияет, но энергопотребление _процессора_ и в некоторых случаях памяти. И в зависимости от задач. Так же губернаторы могут экономить хорошо так электроэнергии.

Только у меня была одна проблема: копирование с ext4 хоста в nbd драйвер с qemu-nbd бэкендом с нтфс разделом через юзерспейсный драйвер ntfs3g в кде через kio на нескольких тысячах мелких файлов очень нагружало компьютер, отзывчивость была в пару секунд и всё лагало. Очень помогло выставление ionice приоритета. Это единственный случай когда были проблемы, с preemptive kernel проблемы регулярные.

Ещё можно SUSPEND HIBERNATION HOTPLUG_CPU и прочее отключить, очень помогает, очень. Как помогало 15 лет назад, так помогает и сегодня, лол.

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

потери отзывчивости

это ещё спорно, что ты потеряешь, а что приобретёшь. Серверный конфиг это way to go для десктопа. Исключением будет только наверно если тебе нужна очень высокая отзывчивость (хоть и не гарантированная), типа там работы со звуком. Я не проверял и мне лень, но приложения начали жаловаться alsa: Requested period size 256 was rejected.

anonymous
()
Ответ на: ну от anonymous

CONFIG_PREEMPT_NONE и CONFIG_NO_HZ_IDLE первые кандидаты на убер оптимизацию

Это как бы.. кхм. Не кандидаты. Можно тюнить в зависимости от задач, на обычном сферическом PC трогать почти бессмысленно.

игры с RCU

Именно игры. Дефолт там и так хорош и даже слишком.

SUSPEND HIBERNATION HOTPLUG_CPU и прочее отключить, очень помогает, очень.

И в чем же помогает? Я, может, чего не понимаю, но урезание функционала системы это делает, ага.

Еще раз. Всё вышеперечисленное очень сильно чувствуется в embedded, а не на обычной сферической тачке.

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

помогает

устройства отваливаться перестали, в случайный момент времени они уходили подумать и не возвращались. Скажем, звуковая и видеокарта, раньше ещё были проблемы с сетевыми. Всё-таки драйвера у линукса такое себе. Особенно после гибернации.

урезание функционала

естественно, очень многое, не нужное пользователю, в конечном счёте тащит на себя одеяло или создаёт проблемы.

Прелесть линукса именно в том, что можно отключить вообще всё не нужное. Хочешь юсб-стек без поддержки pci? Пожалуйста, получите и распишитесь! Хочешь ядро собрать с оптимизациями именно под свой процессор? Не вопрос! Хочешь твикать низкоуровневые параметры прерываний? Ну, ясно в общем. Ах, всё-таки у линукса нет альтернатив.

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

устройства отваливаться перестали

частный случай. УМВР.

Прелесть линукса

Но только вот одно но: большинством прелестей можно воспользоваться только имея достаточные знания. Подавляющему большинству пользователей это не нужно.

Deleted
()

Бросай фигню. Прироста не ощутишь.

rumgot ★★★★★
()

Для начала почитай маны от дистрибутива по своему железу (например, Gentoo wiki). Там написано, что включать, что выключать. Во-вторых, по своему же железу погугли готовые конфиги. Ну и встроенная справка (menuconfig) незаменима.

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

Обычно про самое интересное в интернете пара слов в рассылке и всё, и то несколько лет назад когда принимали. Остаётся только надеяться, что описание достаточно доходчивое.

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