Своё ядро в Ubuntu.

Discussion in 'Linux, Freebsd, *nix' started by antiRoot, 27 Apr 2011.

  1. antiRoot

    antiRoot New Member

    Joined:
    29 Dec 2010
    Messages:
    1
    Likes Received:
    1
    Reputations:
    5
    В своем Блоге о Linux, я описывал про свое ядро в Ubuntu:
    Самособранное ядро имеет кучу +, а именно: быстрота работы (ибо собирается од своё железо), поддержка файловых систем, настройки графики, разрешения экрана, сетевого оборудования и тд.
    Отсюда берём ядро.
    Предварительно нужно сделать

    Code:
    sudo apt-get install gcc, libc6-dev, kernel-package, libncurses5-dev, fakeroot и build-essential
    Затем меняем права

    Code:
    sudo chmod 777 /usr/src
    Ядро кидаем в /usr/src и туда же распаковываем.

    Пред тем как приступить к настройке ядра, нужна узнать:
    1) тип процессора,
    2) чипсет материнской платы,
    3) тип видеокарты,
    4) тип сетевой платы,
    5) тип звуковойкарты,
    6) тип hdd,
    7) usb-устройств и тд

    После идём в директорию /boot, и находим там файл примерно config-х.хх-х-generic. Копируем его в каталог с исходниками /usr/src/xxxxx и переименовываем его в .config.
    Открываем файл Makefile, и в строчке “EXTRAVERSION=” пишем имя для ядра, например,

    Code:
    EXTRAVERSION=-desktop
    . Это для удобства опознания.

    Code:
       make menuconfig
    Эта команда запускает консольный интерфейс настройки. Для графического:

    Code:
     make xconfig
    После того, как настроили ядрышко выбираем пункт “Сохранить конфигурацию в новый файл”, там пишем имя файла, отличного от .config, например
    Code:
    .config_desktop.
    Теперь копируем конфигурацию .config_desktop как .config. Т.е. получится три файла конфигурации. При компиляции используется файл .config. Файлы .config_ubuntu и .config_desktop нам понадобятся в будущем для новой компиляции, потому пусть живут. Вдруг криво собрали.

    Перейдём к компиляции, сначала удалим лишнее командой:

    Code:
    make-kpkg clean
    Компилим из под рута

    Code:
      su 
        make-kpkg –initrd –revision=desktop.1 kernel_image kernel_headers
    в этой строчке desktop.1 пишется название ядра. Можно писать любую последовательность символов

    Компилиться примерно пол часа. Если проц сильный — будет быстрее

    По окончанию компиляции появятся два deb-файла с ядром, сконфигурированным конкретно вами.

    Теперь нужно установить ядро в систему:

    Code:
       sudo dpkg -i linux-image-xxxxx.deb
        sudo dpkg -i linux-headers-xxxxx.deb
    (C)Exlit.Ru
     
    1 person likes this.
  2. jnpe

    jnpe Banned

    Joined:
    10 Dec 2010
    Messages:
    157
    Likes Received:
    42
    Reputations:
    19
    понимаешь друг, что бы собрать идеальное ядро нужно знать все опции при его компиляции(я разобрался с около 3000 из 4000, разбирался около полу года). Те опции, которые указанны у тебя, по сути никакого существенного быстродействия не дадут. Вес ядра в идеале под домашний ПК должно составлять ололо 10мб(по моим расчетам).
    P.S. блог кульный, продолжай сиё деяниье
     
    1 person likes this.
  3. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,691
    Likes Received:
    3,145
    Reputations:
    236
    ставиться Божественный LFS.

    все под свои руки и железяки.

    отменно, да!
     
  4. domenz

    domenz New Member

    Joined:
    18 May 2011
    Messages:
    26
    Likes Received:
    0
    Reputations:
    0
    Устанавливаем необходимые пакеты для сборки :
    apt-get install linux-source linux-headers-$(uname -r) build-essential kernel-package fakeroot initrd-tools pkg-config qt3-dev-tools libqt3-mt-dev
    ncurses-dev zlib1g-dev nitrd-tools

    Качаем ядро 2.6.35.4 с kernel.org, копируем архив в. /usr/src/,
    распаковывем tar -jxvf linux-2.6.35.4.tar.bz2
    копируем конфиг текущего ядра cp /boot/config-2.6.26-2 /usr/src/linux-source-2.6.35.4/

    cd linux-source-2.6.35.4
    make menuconfig загружаем конфиг, редактируем параметры ядра и сохраняем конфиг.

    Компилируем ядро:
    fakeroot make-kpkg --append-to-version "-tux" --revision "2.6.26" --us --uc --initrd kernel_image kernel_headers kernel_source
    компилириуем ядро + хедеры ядра, предпочтительно:
    fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers kernel_source


    в каталоге /usr/src появляется файл linux-image-2.6.26..._i386.deb, который мы и устанавливаем:
    устанавливаем dpkg -i linux-image-2.6.18-my
    при установке пакета он пропишется в grub или lilo, поэтому остаётся только ребутнуться.

    удаление ядра :
    dpkg --purge --force-remove-essential linux-image-NNN
    (конечно же, нужно заменить "NNN" номером версии и редакции ядра)
     
  5. qweewq

    qweewq New Member

    Joined:
    11 Jun 2011
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    это делается командой "make oldconfig".
     
  6. qweewq

    qweewq New Member

    Joined:
    11 Jun 2011
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    и если ядро вышло кривым и не загрузилось - громко материм автора статьи за совет собирать и устанавливать пакет с непроверенным ядром.
     
  7. jnpe

    jnpe Banned

    Joined:
    10 Dec 2010
    Messages:
    157
    Likes Received:
    42
    Reputations:
    19
    помоему винда должна была приучить тебя не жахать все подряд наудачу.... нет?
     
  8. qweewq

    qweewq New Member

    Joined:
    11 Jun 2011
    Messages:
    6
    Likes Received:
    1
    Reputations:
    0
    лучшее, чему меня научила винда это не пользоваться ей совсем.
     
    1 person likes this.
  9. TheJon

    TheJon New Member

    Joined:
    19 Jun 2011
    Messages:
    20
    Likes Received:
    1
    Reputations:
    0
    >6) тип hdd,
    Найди мне это в конфиге ядра, и получишь конфетку.