Сборка ядра в Debian в 10 шагов

Discussion in '"Железо"' started by tRanz, 31 Oct 2009.

  1. tRanz

    tRanz Banned

    Joined:
    30 Oct 2009
    Messages:
    13
    Likes Received:
    3
    Reputations:
    0
    Есть уйма способов как собрать новое ядро, или так называемый 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

    в моем случае все прошло гладко..
     
    1 person likes this.
  2. tRanz

    tRanz Banned

    Joined:
    30 Oct 2009
    Messages:
    13
    Likes Received:
    3
    Reputations:
    0
    Модерторы перенесите в нужный раздел,.
    мне кажется не там немного запостил.