Сборка ядра
Сборка ядра в debian очень простое занятие.
Шаг1 - подготорка
Для начала нужно установить следующие пакеты:
kernel-package,libncurses5-dev, fakeroot, wget, bzip2, build-essential и сами исходники ядра.
Пакеты устанавливаем так: apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential.
Скачиваем исходники, распковываем в /usr/src. Делаем ссылку linux на исходники.
tar xjf linux-2.6.21.3.tar.bz2
ln -s linux-2.6.21.3 linux
cd /usr/src/linux
Если у нас есть патчи то устанавливаем так:
bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch.bz2 | patch -p1
Первая команда нужна для теста, 2-ая для установки. Никогда не вводите 2-ую если у вас успешно не выполнилась 1-ая.
Далее копируем наш теперешний конфиг в /usr/src/linux и пишем
make clean && make mrproper
cp /boot/config-`uname -r` /usr/src/linux/.config
Далее запускам конфигуратор:
make menuconfig
Шаг 2 - сборка и установка
После конфигурирования ядра - проинсталлируем его:
make-kpkg clean fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
Где вместо -custom поставим нужную нам версию(или префикс). Например, -my-build
После выполнения команды в каталоге с исходниками вы найдете 2 файла с раширением *.deb. Нужно всего лишь установить их, например так:
dpkg -i linux-image-2.6.21.3-custom_2.6.21.3-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.21.3-custom_2.6.21.3-custom-10.00.Custom_i386.deb
А Grub автоматом подхватит все необходимые настройки. Теперь можно перезагрузится с новым ядром, если при конфигурировании вы подключили все что надо ;)
Шаг1 - подготорка
Для начала нужно установить следующие пакеты:
kernel-package,libncurses5-dev, fakeroot, wget, bzip2, build-essential и сами исходники ядра.
Пакеты устанавливаем так: apt-get install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential.
Скачиваем исходники, распковываем в /usr/src. Делаем ссылку linux на исходники.
tar xjf linux-2.6.21.3.tar.bz2
ln -s linux-2.6.21.3 linux
cd /usr/src/linux
Если у нас есть патчи то устанавливаем так:
bzip2 -dc /usr/src/patch.bz2 | patch -p1 --dry-run
bzip2 -dc /usr/src/patch.bz2 | patch -p1
Первая команда нужна для теста, 2-ая для установки. Никогда не вводите 2-ую если у вас успешно не выполнилась 1-ая.
Далее копируем наш теперешний конфиг в /usr/src/linux и пишем
make clean && make mrproper
cp /boot/config-`uname -r` /usr/src/linux/.config
Далее запускам конфигуратор:
make menuconfig
Шаг 2 - сборка и установка
После конфигурирования ядра - проинсталлируем его:
make-kpkg clean fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
Где вместо -custom поставим нужную нам версию(или префикс). Например, -my-build
После выполнения команды в каталоге с исходниками вы найдете 2 файла с раширением *.deb. Нужно всего лишь установить их, например так:
dpkg -i linux-image-2.6.21.3-custom_2.6.21.3-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.21.3-custom_2.6.21.3-custom-10.00.Custom_i386.deb
А Grub автоматом подхватит все необходимые настройки. Теперь можно перезагрузится с новым ядром, если при конфигурировании вы подключили все что надо ;)
Комментарии
debian-dv:/usr/src/linux# cp /boot/config-2.6.18-6-686 /usr/src/linux/.config
debian-dv:/usr/src/linux# make menuconfig
scripts/Makefile.build:17: /usr/src/linux-headers-2.6.18-6-686/scripts/basic/Makefile: No such file or directory
make[1]: *** Нет правила для сборки цели `/usr/src/linux-headers-2.6.18-6-686/scripts/basic/Makefile'. Останов.
make: *** [scripts_basic] Ошибка 2
И нигде!!! Нигде не напишут как поправить!
у меня вопрос , точнее 2
- если мы скопируем текущий конфиг в каталог c новым ядром /usr/src/linux , то каким образом будут учтены новые фичи, которые появились в НОВОМ ядре ? это для ситуации когда мы хотим установить новую версию ядра.
- а как установить пакет /usr/src/linux-kbuild-2.6.27 к примеру ?
у меня вот такая ошибка http://paste.org.ru/?fbdrrk
отсутствующий файл я так понимаю модно найти в /usr/src/linux-kbuild-2.6.27 а его меня нет для моего ядра.
и в репо дебиана этого пакета тоже еще нет
---
поправьте
# make-kpkg clean
# fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
две разные комманды и вводятся отдельно
спасибо! А то у меня не работало, не мог понять почему :)
> 2PAVka
сидишь по root и запускаешь так опрометчиво комманды ? :(
в общем у меня не лучше - initrd не собирается... проблемы с .config
так что всем - будте аккуратнее при настройки
Сделал все по инструкции а на эти строчки пишет какую то ошибку показать не могу иероглифы :)
dpkg -i linux-image-2.6.21.3-custom_2.6.21.3-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.21.3-custom_2.6.21.3-custom-10.00.Custom_i386.deb