PDA

Просмотр полной версии : Сборка ядра в Debian в 10 шагов


tRanz
31.10.2009, 14:04
Есть уйма способов как собрать новое ядро, или так называемый custom, море доков и прочего..
Моя мини-инструкция для желающих собрать ядро в Debian (возможно пригодится и для Ubuntu).

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

1. загружаем исходники (в моем случае исходники от 10.05.2009 для ветки 2.6.24) в /usr/src (так ближе):
cd /usr/src
wget ftp://mirror.yandex.ru/kernel.org/linux/kernel/v2.6/linux-2.6.24.7.tar.gz

2. распаковываем дерево исходников:
tar xzvf linux-2.6.24.7.tar.gz

3. подготавливаем инструментарий (вполне может быть уже установленным):
apt-get install kernel-package ncurses-dev bzip2 module-init-tools initrd-tools procps

4. конфигурируем ядро:
cd linux-2.6.24.7
make oldconfig (да да, я беру рабочий конфиг системы и допиливаю ее, можно конечно набрать заместо oldconfig - menuconfig - тогда допиливать будем дефолтный конфиг)

5. подготавливаем сборку:
make-kpkg clean

6. собираем ядро:
time make-kpkg kernel_image (о да, я предпочитаю замерять сколько уходить времени на тот или иной процесс чтобы в будущем сравнивать).

в моем случае например получилось так:
real 47m38.043s
user 35m20.461s
sys 3m12.244s
при системе в 1.7GHz (Pentium M), размер ядра 14мб (да, оно у меня очень толстое, потому как я в него включаю море нужных мне опций, в том числе дрова нужны мне железок)

7. устанавливаем ядро:
cd ..
ls -l
смотрим файл именуемый linux-image.версия_сборки_/тип_системы.deb
(в моем случае файл называется linux-image-2.6.24.7_i386.deb)
ставим этот комплект:
dpkg -i linux-image.бла-бла-бла.deb (по названию файла)

8. готовим рамдиск:
cd /boot/
mkinitrd -o /boot/initrd.img-2.6.24.7 2.6.24.7 (по версии собранного ядра, в случае другой версии - указываем mkinitrd -o /boot/initrd.img-версия версия)


Вместо:
# mkinitrd -o /boot/initrd.img-2.6.24.7 2.6.24.7
в дебиане и убунте стоит по дефолту:
# mkinitramfs -o /boot/initrd.img-2.6.24.7 2.6.24.7


9. правим menu.lst для grub'а:
после строки
kernel /boot/vmlinuz-версия root=/dev/бла бла (в моем случае kernel /boot/vmlinuz-2.6.24.7 root=/dev/hda1 ro)
добавляем строку:
initrd /boot/initrd.img-версия (полученный в предыдущем шаге, в моем случае : initrd /boot/initrd.img-2.6.24.7)
сохраняемся

10. ребутаемся, выбираем в загрузке новое ядро и молимся :D

в моем случае все прошло гладко..

tRanz
31.10.2009, 18:35
Модерторы перенесите в нужный раздел,.
мне кажется не там немного запостил.