Свое ядро в *ubuntu, или Зачем и как компилировать ядро в Linux

Вам также может показаться интересным…

  • Юра

    Спасибо, отличная статья — гораздо качественней всё описано, чем в большинстве аналогов!
    Хотелось бы только продолжения — а конкретней, «другую историю» про nvidia — именно актуально!

  • Андрей

    Спасибо за статью! Но у меня есть вопрос. Пробовал конфигурировать существующее ядро. Ни одна команда не срабатывает : make xconfig и остальные. make: *** Нет правила для сборки цели `xconfig’. Останов. Вот такой ответ выпадает в терминале. Все пакеты описаные Вами установил. В чем у меня ошибка? Сильно не ругайте новичка. Буду благодарен за ответ.

  • make menuconfig — работает?

  • Андрей

    Нет. Ни одна команда не срабатывает. make oldconfig — тоже не работает. Вроде бы и пакеты все установлены.

  • Честно говоря, не знаю. как помочь, по одной простой причине — у меня никогда такого не было… Попробуй спросить у народа на Форуме — forum.ubuntu.ru , там ребята погениальнее, может, чем помогут

  • zvezdochots

    Огромное спасибо!!!!!!! У меня в 8.10 постоянно грелся компьютер из-за перераздутого ядра. Пробовал компилировать по другим инструкциям, та-же шняга. После компиляции по Вашей инструкции всё отлично заработало!!! Огромное Вам спасибо и БОООЛЬШОЙ поклон!!!!!!!

  • Евгений

    Ребята, бесконечное количество документации! Это я не взываю к лени, мол нахрен нам читать талмуды.. там всё относительно сжато и кратко.

    (с) Читайте доки — они рулез

    а по делу:

    > Спасибо за статью! Но у меня есть вопрос. Пробовал конфигурировать существующее ядро. Ни одна команда не срабатывает : make xconfig и остальные. make: *** Нет правила для сборки цели `xconfig’. Останов. Вот такой ответ выпадает в терминале. Все пакеты описаные Вами установил. В чем у меня ошибка? Сильно не ругайте новичка. Буду благодарен за ответ.

    не забудьте поставить исходники в /usr/src/linux, потом:
    cd /usr/src/linux
    make help

    Да и ещё! Ядро собирается от рута, то есть если вы не сделали su, то для вас вышеуказанное будет так:
    sudo cd /usr/src/linux
    sudo make help
    sudo make…. и т.д.

  • Rion

    Спасибо, я таки смог сам собрать свое ядро благодаря вам)))) А про сборку Firefox 3.1b2 не напишите?))) просто толкового мануала на русском не нашел нигде=(

  • Virtual_Jack

    Всё проходит нормально но фаилов .deb в папке не появляется, что может быть?

  • Андрей

    А возможность выбора на этапе загрузки между старым и новым ядром будет?

  • C7M

    Спасибо за статью, собирал по ней и по статье «ядерная физика для домохозяек 2.0»:)
    С 10го раза правда собралось, сначала не монтировалась ФС, потом были жуткие тормоза при загрузке. Теперь как минимум загружается быстрее.

  • Сергей

    Статья то неплохая. Только после таких ручных сборок и установки/удаления пакетов постоянно вылетает ошибка: E: linux-image-2.6.27.18-4gb: подпроцесс post-installation script возвратил код ошибки 2. (включил в ядре поддержку 64 гбайта, чтобы видело все 4 установленные а не 3.2 как было при десктопном ядре по умолчанию). Вот как теперь подправить его чтобы выключить этот post-installation script?

  • ErV

    Точно такие же грабли как и у оратора выше. Умоляю помогите

  • Сергей

    ErV, друг, мне помогло следующее:

    sudo mv /etc/kernel/postinst.d/nvidia-common /tmp/

    Это выяснил путем вчитывания в сообщения и общения на IRC-канале Ubuntu.

    видимо там какие-то траблы с nvidia , но так как у меня видяха интел-интегрированная и ничего от nvidia нету,
    то сунул этот скрипт в /tmp/ пусть лежит до лучших времен.

  • ErV

    Спасибо большое, друг! Помогло!

  • Дмитрий

    Добрый день! Поскольку почти все драйверы по умолчанию вынесены в модули, которые в ядро загружаются только по требованию, то перекомпиляция имеет смысл только для того, чтобы подправить секции «Тип процессора», «Визуализация» и «Kernel Hacking». То есть нам не нужно настраивать ни диски, ни контроллеры, ни периферию…

  • dimas000

    >в этой строчке mykernel.1 обозначает название ядра.
    >Можно писать все что душе угодно.
    не все. конкретно: латиница, цифры, тильда, точка и плюс. и обязательно должна содержаться цифра.
    >Компиляцию ядра стоит делать под суперпользователем.
    >Для чего становимся рутом и запускаем процесс сборки ядра:
    брехня. компиляцию ядра стоит делать через fakeroot. и не надо все подряд делать от рута. во всем процессе sudo понадобится только один раз:
    sudo dkpg -i *.deb
    >sudo chmod 777 /usr/src
    плохой путь. раздача прав на все что ни попадя ни к чему хорошему не приведет.
    ls -lAh /usr/ — какой владелец у src? правильно, root:src! вот и добавляем юзера в группу src, а остальным неча там делать.
    да, в убунте особого прироста не дает. а вот как прет на дебиане — это нечто!

  • ubuntus

    а где в линухе просмотреть все типы своих девайсов то?

  • eXtremal

    lspci напишы

  • Alexander

    > Также предварительно открываем файл Makefile, и в строчке “EXTRAVERSION=” дописываем свое название для ядра, например, EXTRAVERSION=-mykernel. Никакой другой функции эта строчка не несет, кроме, как удобства в опознании собственного ядра.

    У меня сборка началась только тогда, когда я указал «экстраверсию» всю в нижнем регистре. До тех пор, пока у меня там присутствовали заглавные буквы, компиляция не стартовала. Считаю, что это нужно также отметить в статье.

  • Сергей

    Статье конечно уже 2 года, но попробовал следуя ей собрать ядро. Ubuntu 10.04, скачал исходники Linux kernel 2.6.35
    1. Читаем ридми в: Do NOT use the /usr/src/linux area!
    Так и есть, если распаковать в этот каталог, ядро не компилируется.
    2. Скопировал старый конфиг от 2.6.32-24, запустил xconfig, сохранил. Ничего не меняю. Компилирую. Устанавливаю два получившихся DEB пакета. Перезагрузка.
    Kernel panic — VFS: unable to mount root fs on block device (0,0)
    И так несколько раз, с различными конфигурациями ядра.
    В ядре включены SCSI, ATA, все файловые системы. Создавал initrd файл, пробовал на свежей системе с ext3 и reiserfs — ничего не помогает.
    В чем еще может быть проблема?
    Железо — ноутбук Samsung NC20, sata винт.

  • Alexander

    Скорее всего, это совпадение, но после сборки собственного ядра, когда система захотела скачать новый кернел (а я ей не позволил), у меня напрочь умерли иксы.
    Чинить их мне было лень, так что снес и переставил всю систему. Больше пока не рискую играться с ядрами 🙂

  • Petr

    Хотелось бы на тесты производительности взглянуть до и после сборки ядра. Сдается мне прирост процента 3, не более! ((((