Берем в руки бубен)))
Все уже слышали про компиляцию ядра Линукс? Вчера решил попробовать. А пока идет компиляция)), решил это все записать.
Для чего это надо? Ядро, поставленное из дистрибутива универсально. оно и ясно - дистрибутивная сборка должна гарантированно работать на любой машине, поэтому туда напихивается все, что можно. Но у меня-то только одна машина, со своими требованиями, железом и задачами. Думаю, процентов 50 из возможностей, предусмотренных разработчиками, мне просто не понадобятся. Так зачем их каждый раз грузить и отдавать машинные ресурсы? Перекомпилирую-ка я ядро под свои нужды! К тому же, все, кто этим занимался, говорят, что это вовсе не трудно!
Но страшно! Ага, страшно! Ну ведь только обжился, привык… Как выяснилось, природа этого страха - чисто психологическая!. Пяток команд выполнить - и все! К тому же гарантировано можно в любой момент загрузить обкатанное ядро! Как тут не поэкспериментировать?
Хочу обратить внимание желающих повторить этот фокус - все, здесь описанное, пробовалось на Ubuntu-8.10. Если повторяете - то все повторяете на свой страх и риск! Я умываю руки!
Итак по порядку..
1. Для компиляции ядра необходимо иметь сорцы - то, из чего его, собственно, и компилируют. Качаем отсюда: http://www.kernel.org/pub/linux/kernel/. На сегодняшний день я выкачивал linux-2.6.27.7.tar.bz2
И еще один дельный совет почерпнул я у кого-то… Создал суперпользователя, чтобы работать, не вводя сотню раз админский пароль. Создать его просто:
sudo passwd root
Затем входим суперюзером:
su
Мелочь, а приятно)
И начнем с установки пакетов, участвующих в сборке ядра:
apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential
Надеюсь, что у Вас достаточно толстый канал и архив с исходниками ядра Вы уже выкачали. Кладем его в папку /usr/src/ и распаковываем… ну, скажем в папочку linux-2.6-custom. И рекомендуется создать символическую ссылку на каталог с исходниками с именем linux. это делается набиранием следующей комбинации в терминале:
ln -s linux-2.6.27.7 linux
Да!! Если есть нужда, ставим патчи.
Переходим к пункту два.
2. Настройка ядра.
Настройка ядра оказалась тоже не такой страшной операцией, как ее Малевич. Для удобства сонфигурирования лентяи-линуксоиды накропали пару-тройку программ, делающих этот процесс простым, наглядным и увлекательным. Но!! прежде, чем бросаться в омут, предлагается использовать для работы файл конфигурации текущего ядра. (Ну, умная улитка не полезет же на Фудзияму!) Это делается так:
$ sudo cp /boot/config-`uname -r` /usr/src/linux/.config
В результате в скрытом файле .config содержатся настройки текущего Вашего ядра системы. просто, чтоб новый не создавать с нуля, мы подправим этот.
А теперь, вооружившись терпением, здравым смыслом и списком существующего оборудования, открыв страничку, где неплохо расписаны многие настройки, набираем одну из команд:
make xconfig - Для пользователей, у которых есть графика - запустится графическая программка для настройки. Или же под Gnome:
make gconfig
make menuconfig Вполне приемлемый консольный вариант. Я использовал его.
make configТоже консольный вариант. Но, говорят, учился у Шахерезады Ивановны, поэтому задает 1000 и 1 вопрос.
По окончании конфигурирования не забудьте сохранить все изменения!!!
3. Для очистки каталога от объектных файлов прошлых компиляци используем команду
make-kpkg clean
Ну а теперь, приступим помолясь:
fakeroot make-kpkg –initrd –append-to-version=-custom-kernel kernel_image kernel_headers
Параметр -append-to-version= позволяет добавить свой суффикс к названию версии ядра. (Пробелы недопустимы!)
Набрали, нажали и энтер и откиньтесь на спинку кресла можно заниматься чем попало. Процесс компиляции ядра - не быстрый. самую маленькую оценку я слышал - полчаса. У меня этот процесс длится уже четыре часа. Но я дождусь)))
Продолжение следует….