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
в моем случае все прошло гладко..
Моя мини-инструкция для желающих собрать ядро в 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
в моем случае все прошло гладко..