Компиляция ядра linux


Дата: 31 марта 2010





Зачем вообще самому компилировать ядро?
Пожалуй, главный вопрос, который задают по поводу компиляции ядра: "А зачем мне это делать?".
Многие считают это бессмысленной тратой времени для того, чтобы показать себя умным и продвинутым "линуксоидом". На самом деле компиляция ядра - это очень важное дело. Допустим, вы купили новый ноутбук, в котором у вас не работает веб-камера. Ваши действия? Вы заглядываете в поисковик и ищите решение проблемы по этому вопросу. Довольно часто может оказаться, что ваша веб-камера работает на ядре более новой версии, чем у вас. Если вы не знаете, какая у вас версия - введите в терминале uname -r, в результате вы получите версию ядра (например, linux-2.6.31-10). Также компиляция ядра широко применяется для увеличения производительности: дело в том, что по умолчанию в дистрибутивах ядра компилируются "для всех", из-за этого в нем включено огромное количество драйверов, которые вам могут не понадобиться. Так что если вы хорошо знаете используемое оборудование, то можете отключить ненужные драйвера на этапе конфигурирования. Также есть возможность включить поддержку более 4х Гигабайт оперативной памяти, не меняя разрядность системы. Итак, если вам всё же необходимо иметь своё ядро, приступим к компиляции!

Получение исходного кода ядра.
Первое, что необходимо сделать - получить исходный код нужной версии ядра. Обычно необходимо получить самую новую стабильную версию. Все официальные версии ядра доступны на kernel.org. Если у вас уже установлен X сервер (домашний компьютер), то вы можете перейти на сайт в вашем любимом браузере и скачать нужную версию в архиве tar.gz (сжатый gzip). Если же вы работаете в консоли (например ещё не устанавливали X сервер или конфигурируете сервер), можете воспользоваться текстовым браузером (например elinks). Также можно воспользоваться стандартным менеджером загрузок wget :
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.33.1.tar.gz
Но учтите, что вы должны знать точный номер нужной версии.

Распаковка архива исходного кода.
После того как вы получили архив с исходным кодом, вам необходимо распаковать архив в папку. Это можно сделать из графических файловых менеджеров (dolphin,nautilus и т.п) или через mc. Либо воспользуйтесь традиционной командой tar:
tar -zxvf путь_до_архива
Теперь у вас есть папка и исходным кодом, перейдите в неё, используя команду cd каталог_исходного_кода_ядра (чтобы просмотреть список каталогов в папке, используйте команду ls).

Конфигурация ядра.
После того как вы перешли в каталог с исходным кодом ядра, необходимо выполнить "20 минутную" конфигурацию ядра. Цель её - оставить только нужные драйвера и функции. Все команды уже нужно исполнять от имени суперпользователя.

make config - консольный режим конфигуратора.



make menuconfig - консольный режим в виде списка.



make xconfig - графический режим.



После внесения нужных изменений, сохраните настройки и выйдите из конфигуратора.

Компиляция.
Пришло время завершающего этапа сборки - компиляция. Это делается двумя командами:
make && make install
Первая команда скомпилирует в машинный код все файлы, а вторая установит новое ядро в вашу систему.
Ждем от 20 минут до нескольких часов (в зависимости от мощности компьютера). Ядро установлено. Чтобы оно появилось в списке grub(2), введите (от суперпользователя)
update-grub
Теперь после перезагрузки нажмите "Escape", и вы увидите новое ядро в списке. Если же ядро не включается, то просто загрузитесь со старым ядром и конфигурируйте более аккуратно.

KernelCheck - компиляция ядра не заходя в консоль.
KernelCheck позволяет собрать ядро в полностью графическом режиме для Debian и основанных на нём дистрибутивов. После запуска, KernelCheck предложит свежие версии ядра и патчи, и после вашего согласия, скачает исходных код, запустит графический конфигуратор. Программа соберет ядро в .deb пакеты и установит их. Вам останется лишь перезагрузиться.

Комментарии:
Автор: Ололошник,   дата: 31 марта 2010   17:19:02
Всё так и делайте если не получится снова делайте пока не отключат электричество
Автор: Subsanek,   дата: 31 марта 2010   17:41:34
Компилят в основном ночью, а электричество ночью дешевле....
Автор: Soft,   дата: 31 марта 2010   20:46:09
Если блог для новичков, то сразу бы с кернелчек программы начать надо, а потом уже для тех кому не страшно самому))))

+ не плохо былобы скриншоты каждого этапа)))
Автор: Subsanek,   дата: 01 апреля 2010   07:56:14
Ну блог не только для новичков + KernelCheck далеко не на всех дистрибутивах будет работать по этому и в конце.
Автор: Master_Yoda,   дата: 28 апреля 2011   18:47:14
Товарищи новички: НИКОГДА НЕ ВЫБИРАЙТЕ make config. потратить весь день отвечая на вопросы это пол беды, а вот обязательно кто нибудь скопирует непонятное пояснение по нажатию ? командой ctrl+c и заного на всё отвечать -_-
Автор: Subsanek,   дата: 28 апреля 2011   20:17:02
Master_Yoda, согласен с вами, удобнее всего пока что menuconfig даже и не для новичков. Копировать конечно в терминал нужно незабывая зажать и "Shift".
Автор: Юрий,   дата: 28 октября 2011   14:16:27
Если я правильно понял, это фактически инструкция по обновлению версии линукса. Ну а если требуется скомпилировать все в образ (например, который нужно будет потом залить на загрузочную флэшку)?
Автор: Subsanek,   дата: 28 октября 2011   14:25:15
Юрий, здесь идёт речь о компиляции ядра, а не дистрибутива.
Автор: Seringan,   дата: 19 марта 2013   17:16:40
А с помощью KernelCheck кто-нибудь копилировал???
Автор: Subsanek,   дата: 05 октября 2013   15:12:30
Seringan, я лично не использовал, но идея мне понравилась. Должно облегчить процесс.
Автор: FUGUS,   дата: 08 января 2016   19:08:24
Чувак со скриншотами каждого этапа - ты наркоман!
Автор: Жорик,   дата: 01 марта 2016   03:36:54
Приветствую. "то просто загрузитесь со старым ядром" - как это сделать?
Автор: Subsanek,   дата: 27 марта 2016   11:53:09
Жорик, в загрузчике (меню, которое отображается до загрузки ОС) есть возможность выбора разных версий ядер, старое ядро должно быть в списке — с ним можно загрузиться.




 
Добавить комментарий:
Имя: *
e-mail:
Комментарий: *
Введите число 45: *


Архив статей:
Май 2017
Март 2017
Апрель 2016
Март 2016
Октябрь 2013
Сентябрь 2013
Май 2013
Март 2013
Ноябрь 2012
Июль 2012
Июнь 2012
Апрель 2012
Март 2012
Февраль 2012
Апрель 2011
Март 2011
Февраль 2011
Январь 2011
Декабрь 2010
Ноябрь 2010
Октябрь 2010
Сентябрь 2010
Август 2010
Июль 2010
Июнь 2010
Май 2010
Апрель 2010
Март 2010

Случайные:
BOINC: вычисления для науки

Монтирование iso, nrg, mdf, bin, img образов в Linux

Книги о Linux - Часть 5 "Разное" (14 книг)

Переносные репозитории linux'а

AWN - Avant Window Navigator

lenovo s10-3t и linux





Коллеги:    все
 Linux для всех

Наши баннеры:
linuxnow.ru
linuxnow.ru
Установить баннер