Перекомпиляция ядра Линукс

Автор Nikolai, 26 Листопад 2008, 14:02:30

Попередня тема - Наступна тема

Nikolai

Цитата: beep_boop від 26 Листопад 2008, 00:40:16
Перекомпилируй ядро, включив High Memory Support.
Для этого нужно:
1. Это ядро где-то нарыть
2. Найти компилятор и грамотно его настроить (gcc из-под консоли?)
3. Знать параметры компиляции ядра
4. Мануал и орешки
If you do what you have always done, you'll get what you have always got

Edd.Dragon

Это если есть время, желание и мозги этим заниматься. Как бы я не любил железо, а всестронне изучать и многократно перекомпилировать ядро в системе для юзера (т.е. себя) у меня ни разу еще желания не возникало. Мне ненастолько нечем заняться в жизни и за компом, чтобы страдать подобным гемороем без производственной нужды или денежной оплаты (что то же самое).

Другое дело, если система ставится не для юзера, а например под роутер.

βεερ_βooρ

Цитата: Nikolai від 26 Листопад 2008, 14:02:30
Для этого нужно:
1. Это ядро где-то нарыть
Оооочень сложная задача.
Ванильное ядро - www.kernel.org
Для убунтовского:
sudo apt-get build-dep linux-image-$(uname -r)
apt-get source linux-image-$(uname -r)
sudo apt-get build-dep linux-ubuntu-modules-$(uname -r)
apt-get source linux-ubuntu-modules-$(uname -r)

Цитата: Nikolai від 26 Листопад 2008, 14:02:30
2. Найти компилятор и грамотно его настроить (gcc из-под консоли?)
sudo apt-get install linux-kernel-devel fakeroot build-essential makedumpfile
Цитата: Nikolai від 26 Листопад 2008, 14:02:30
3. Знать параметры компиляции ядра
*тихо и по секрету*
у конфигуратора ядра есть интерактивная справка и проверка зависимостей
Цитата: Nikolai від 26 Листопад 2008, 14:02:30
4. Мануал и орешки
Покупаются за свой счет в ближайшем ларьке.
Мануал доступен по себестоймости его скачивания на https://help.ubuntu.com/community/Kernel/Compile
Цитата: edd_k від 26 Листопад 2008, 15:17:14
Это если есть время, желание и мозги этим заниматься. Как бы я не любил железо, а всестронне изучать и многократно перекомпилировать ядро в системе для юзера (т.е. себя) у меня ни разу еще желания не возникало. Мне ненастолько нечем заняться в жизни и за компом, чтобы страдать подобным гемороем без производственной нужды или денежной оплаты (что то же самое).
Не знаю кто где видит какой геморой, но конфигурирование ядра проще правки реестра в винде:
Цитатау конфигуратора ядра есть интерактивная справка и проверка зависимостей
Перекомпиляция ядра супер радикального прироста в скорости не принесет(за исключением ф-ций для шифрования, хеширования и в таком духе), но небольшой прирост будет в ряде случиев. Отключение компиляции ненужных драйверов позволит секономить мегобайт 15 свободного места, значительно повысить скорость загрузки(если udev при инициализации вызывает загрузку нескольких десятков модулей, то компилирования их в ядре позволит секономить секунд 20.) и избежать некоторых других проблем. Для ноутбука можно существенно повысить врея работы от батарей. Ну и для серверов тонкий тюнинг существенно влияет на работу под нагрузкой.
Кроме того есть даже утилиты(эксперементальные) автоматического конфигурирования ядра под твое железо.
Framework for automatic Configuration of a Kernel
AutoKernel
Еще какой-то скрипт помню проскакивал в LKML, но сейчас искать влом.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

Nikolai

Спс за ответ по пунктам. А тему ты почистил, или снова SMF глючит? Разобрался.
If you do what you have always done, you'll get what you have always got

Edd.Dragon

#4
Цитата: beep_boop від 26 Листопад 2008, 16:34:46
Не знаю кто где видит какой геморой, но конфигурирование ядра проще правки реестра в винде:

у конфигуратора ядра есть интерактивная справка и проверка зависимостей
Вот в этом то и дело, что не вижу смысла изучать всю гору имеющихся опций и компилировать каждый раз новую версию ядра под себя. Пустая трата времени. Типа без этого тачка плохо работает? Т.е. если это не производственная нужда, то в моей голове нет места для нескоих сотен параметров.

Вот если бы готовые ядра ну совсем чем-то меня не устраивали - тогда пришлось бы

βεερ_βooρ

Цитата: edd_k від 27 Листопад 2008, 10:04:05
Вот в этом то и дело, что не вижу смысла изучать всю гору имеющихся опций
Бугага. 99% опций имеют названия вроде "Поддержка технологии/девайса ХХХ" и требуют всестороннего изучения под микроскопом. ;D
Цитата: edd_k від 27 Листопад 2008, 10:04:05
и компилировать каждый раз новую версию ядра под себя.
Я компилирую новую версию под себя запуском одного скрипта, который автоматически загружает новую версию, патчи для нее, компилирует проприетарные дрова Нвидиа и т.д. Потом просто после перезагрузки(когда мне это будет удобно) будет загружена новая версия ядра, а сторое останется в бекапе. Никаких неудобств не испытываю. Что я делаю неправльно? :)
Кроме того конфиги можно переносить от версии к версии.
Цитата: edd_k від 27 Листопад 2008, 10:04:05
Пустая трата времени. Типа без этого тачка плохо работает?
А зачем люди занимаются оверклокингом? Процессор что так плохо работает? Кроме того иногда это действительно надо, как в случии Nikolai. Почему изменение 1(одной) опции и последующая перекомпиляция ядра(во время которой можно скажем спокойно фильм посмотреть или в интернете полазить) считается очень сложной и времезатратной процедурой для меня загадка.
- Татко, татко, а перекомпілювати ядро Лінукс важко?
- Ні синку, це фантастика.

Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

Edd.Dragon

Цитата: beep_boop від 27 Листопад 2008, 14:16:16
Бугага. 99% опций имеют названия вроде "Поддержка технологии/девайса ХХХ" и требуют всестороннего изучения под микроскопом.
Это знание у тебя в ДНК было зашито?

ЦитатаЯ компилирую новую версию под себя запуском одного скрипта, который автоматически загружает новую версию, патчи для нее, компилирует проприетарные дрова Нвидиа и т.д. Потом просто после перезагрузки(когда мне это будет удобно) будет загружена новая версия ядра, а сторое останется в бекапе. Никаких неудобств не испытываю.
И это все на голову свалилось или было изучено, обдумано и подготовлено во время просмотра фильмов?

Я ж не спорю, что когда знаешь ЧТО сделать, то это быстро. И когда хочется этим заняться, то трата времени оправдана - я так в начале и написал: "Это если есть время, желание и мозги этим заниматься."

βεερ_βooρ

Цитата: edd_k від 27 Листопад 2008, 14:31:33
Это знание у тебя в ДНК было зашито?
Хорошо, поясняю на конкретном примере.
Опция "ARCnet support". Сети ARC устарели 20 лет назад и я такие видел только на картинке. Отключаем.
"Token Ring driver support" Сети Token Ring приказали долго жить 10 лет назад. Отключаем.
"InfiniBand support" У меня дома не вычеслительный кластер. Отключаем.
JFS filesystem support ,  XFS filesystem support,  GFS2 file system support ,  OCFS2 file system support - я не использую эти ФС и не буду использовать в ближайшем будущем. Отключаем.
Тут собственно и разбираться не в чем. Если видишь непонятный параметр, то можно его банально не трогать или почитать справку(которая доступна в интерактивном конфигураторе при нажатии кнопочки хелп). Вообщем конигурируем руководствуясь здравым смыслом. И при этом меня абсолютно не заботит(хотя это можно и посмотреть) как данный параметр ядра называется в конигурационном файле .config,  каким макаром Kbuild будет собирать ядро с данной конфигурацией и через какое место это делается. Когда выходит новое ядро достаточно выполнить make oldconfig для переноса старых настроек. Я же как пользователь настраиваюядро, а не скажем пишу новый CPU-планировщик.
Цитата: edd_k від 27 Листопад 2008, 14:31:33
И это все на голову свалилось или было изучено, обдумано и подготовлено во время просмотра фильмов?
- Никто не мешает проверять наличие новых версий, загружать и распаковывать ядро вручную, можно сидеть на старом.
- Никто не заставляет накладывать сторонние патчи, ну и фиг с еими дополнительными фичами которые мне нужны
- Никто не заставляет использовать проприетарные дрова Нвидиа, обойдемся без 3D ускорения. Суровые одмины играют только в консольные игры.
- Никто  не заставляет потратить 15мин на написание простенького скрипта. Вместо просмотра фильма это можно сделать вручную.
А сам скрипт фактически просто записаная фиксированая последовательность действий - скачать, распаковать, скомпилировать, сделать бекап, положить куда надо новое ядро, обновить загрузчик.
Тут так же ничего неординарного и требующего "изучения" нет.
Цитата: edd_k від 27 Листопад 2008, 14:31:33
Я ж не спорю, что когда знаешь ЧТО сделать, то это быстро. И когда хочется этим заняться, то трата времени оправдана - я так в начале и написал: "Это если есть время, желание и мозги этим заниматься."
Я просто заявляю что тут все просто и интуитивно понятно, а не "неюзерский геморой"
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

Alternativshik

Полностью согласен с Beep Boop`ом - все предельно понятно, даже самом начале своего знакомства с линуксом не испытывал трудностей при конфигурировании ядра и его сборке, 5-10 минут потраченого времени, как по мне - не играет столь большой роли...

mulli

#9
2 edd_k

если бы  стоял вопрос, компилировать для разных компов, я бы тебя понял.
но т.к.
Цитата: edd_k від 27 Листопад 2008, 10:04:05
.... и компилировать каждый раз новую версию ядра под себя.....

:%) почитай

PS. для одной машины достаточно единожды создать config и с ним компилить.
(исключение - добавил\убрал железяку из компа, соотв. переставь галки....)
Т.е., подкинул этот конфиг, ....make bzImage modules modules_install install и отвалил пить кофе или чай. Сахар, молоко - добавлять по вкусу...... ;)

И по поводу зашитых знаний в ДНК ... ;D список железа из которого состоит твой комп, не обязательно туда зашивать
◄ Debian user ►

SanYOk

А не подскажите начиная с какого ядра появилась поддержка PCI dial-up модемов. Поставил 8 Red Hat а он не видит модем, вот хочу перекомпилировать
Intel Pentium Dual-Core E6300@ 3.5GHz | Gigabyte GA-EP41-UD3L | 2x2GB@800(5-5-5-15)GoodRam | Gainward GeForce GTX 460 768Mb | 500Gb WDC WD5000AAKS + 250 Gb SAMSUNG SP2514N | HL-DT-ST DVDRAM GH24NS50

βεερ_βooρ

Цитата: SanYOk від 10 Травень 2009, 09:30:04
А не подскажите начиная с какого ядра появилась поддержка PCI dial-up модемов. Поставил 8 Red Hat а он не видит модем, вот хочу перекомпилировать
Зависит от чипсета. Подробние тут: http://linmodems.org/
Правда ситуация так себе и улучшться не будет - многие драйвер устарели и портироваться под новые версии не будут, так как это абсолютному большинству абсолютно не нужно.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?

FalseMan

Цитата: βεερ_βooρ від 10 Травень 2009, 19:36:43
Зависит от чипсета. Подробние тут: http://linmodems.org/
Правда ситуация так себе и улучшться не будет - многие драйвер устарели и портироваться под новые версии не будут, так как это абсолютному большинству абсолютно не нужно.
Правда, когда-то я заводил свой длинковский винмодем нормально(хоть и нелегально немного :) )

βεερ_βooρ

Цитата: FalseMan від 11 Травень 2009, 17:02:28
Правда, когда-то я заводил свой длинковский винмодем нормально(хоть и нелегально немного :) )
Ну ая нормально завел свой Зуксель. Но то что это все будет рботать сейчас - никто не гарантирует, так эти просто просто никто не занимается - все уже используют широкополосной доступ.
Fear is the path to the dark side. Fear leads to anger. Anger leads to hate. Hate leads to suffering.
All that's here is Fear! Suppression! Betrayal! Despair! Contempt! Regret! Sadness! Anguish! Madness! And Pain, right?