Как скомпилировать ядро ​​2.6.36.2 в Ubuntu с патчем из 200 строк

Многие из вас, похоже, столкнулись с проблемой при установке Ядро предварительно скомпилировано с патчем из 200 строк на ваших машинах этого и следовало ожидать, поэтому всегда лучше иметь ядро компилируется непосредственно на нашей машине, а не на чужой, так что она правильно принимает архитектуру нашей машины и общую конфигурацию оборудования.

По этой причине здесь я учу самых смелых, как скомпилировать собственное ядро ​​(2.6.36.2) в Ubuntu (проверено в Ubuntu 10.10) с включенным в него патчем на 200 строк. Помните, что этот процесс должен выполняться на ваш страх и риск, он требует загрузки большого количества пакетов и довольно длительного времени компиляции.

Для начала первое, что мы должны сделать, это установить необходимые зависимости для компиляции ядра, выполнив следующую строку в терминале:

sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge пакет ядра

Теперь выполним в терминале следующую строку, которая необходима для компиляции ядра (из Бесстрашный)

sudo apt-get build-dep Linux

Завершаем этот первый шаг установкой других пакетов, необходимых для компиляции.

sudo apt-get установить libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev

Чтобы продолжить процесс установки ядра, мы должны загрузить исходники последнего стабильного ядра (2.6.36.2) и патч Майк гэлбрейт и найдите их в нашем личном каталоге.
Создадим каталог для компиляции ядра, заходим в него и скачиваем исходники ядра из kernel.org:

mkdir kernel-2.6.36.2 cd kernel-2.6.36.2 wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.2.tar.gz

Теперь мы создаем новый текстовый файл и скопируем код, который найдем в сообщении Майка Гэлбрейта, или мы можем загрузить его с MediaFire, сохранить и закрыть файл:

gedit ~ / autogroup.patch

Официальная почта Майка Гэлбрейта
Майк Гэлбрейт Патч из MediaFire

Теперь мы собираемся распаковать ядро, которое мы только что скачали с kernel.org:

tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2 patch -p1 <~ / autogroup.patch

На этом этапе все должно пройти нормально и без ошибок, в случае возникновения ошибки необходимо перезапустить процесс.
Затем мы загрузим текущую конфигурацию ядра, чтобы новое ядро ​​получало конфигурацию непосредственно из нашей системы, и у нас не было никаких проблем при ее компиляции. Даже в этом случае, если у вас достаточно знаний, вы можете настроить конфигурацию ядра, чтобы получить систему, более адаптированную к вашим потребностям, вы можете.

Если вы не знаете, что делаете, лучше не изменять конфигурацию ядра вручную.

Мы копируем конфигурацию, выполнив следующую команду в терминале, а затем выполняем

lsmod

чтобы все модули, загруженные в нашу систему, были выполнены, и мы убедились, что все наше оборудование распознается.

cp -vi / boot / config-`uname -r` .config make localmodconfig

На этом этапе процесс компиляции задаст вам несколько вопросов о модулях, продолжайте принимать все вопросы, которые задаются, нажав Enter пока процесс установки не будет завершен.
Мы продолжаем компиляцию ядра, выполнив следующую строку в терминале, чтобы открыть меню конфигурации ядра:

cp / boot / config - $ (uname -r) .config && yes "" | сделать oldconfig сделать menuconfig

Теперь мы можем выбрать патчи, которые хотим включить в нашем ядре, поскольку нас интересует патч из 200 строк.
Для этого мы перемещаемся по появившемуся меню конфигурации ядра, пока

General Setup

и ищем строку с именем

Automatic process group scheduling

, мы включаем его, нажимая клавишу пробела на клавиатуре, мы позиционируем себя на опции

Exit

с помощью клавиш со стрелками на клавиатуре и нажмите клавишу Enter с нашей клавиатуры, чтобы выйти из меню

General Setup

.

Конфигурация ядра Linux - общая настройка

Конфигурация ядра Linux - автоматическое планирование группы процессов

Теперь переходим в меню

Kernel hacking

и входим по нажатию клавиши Enter, ищем вариант

Compile the kernel with debug info

и мы снимаем выделение, нажав пробел на нашей клавиатуре, снова переходим к опции

Exit

и мы нажимаем Enter для выхода из главного меню.

Конфигурация ядра Linux - взлом ядра

Конфигурация ядра Linux - нет Компилировать ядро ​​с отладочной информацией

Мы закончили настройку ядра, поэтому нам нужно только вернуться к

Exit

в главном меню и нажмите Enter чтобы завершить настройку ядра. Мы принимаем, когда он спрашивает нас, хотим ли мы сохранить изменения, внесенные в конфигурацию ядра, нажав Enter в параметре Да.

Теперь да, мы собираемся скомпилировать ядро, выполнив следующую строку в терминале:

fakeroot make-kpkg --initrd --append-to-version = -20101209 образ ядра заголовки ядра

Обратите внимание, что процесс сборки может отличаться в зависимости от вашего оборудования.

Это сгенерирует два пакета .deb внутри каталога kernel-2.6.36.2, которые мы будем использовать для установки нового ядра в нашем Ubuntu, что позволит отслеживать их с помощью Synaptic и легко снимается.

Мы подошли к заключительной части этого руководства, где мы собираемся установить и протестировать правильное функционирование нового ядра, которое мы только что установили.

Чтобы установить два только что сгенерированных пакета .deb, мы должны выполнить следующую команду в терминале:

cd .. sudo dpkg -i * .deb

Если все прошло хорошо, мы перезапустили нашу машину и в списке надрываться, выбираем новое ядро ​​(2.6.36.2) и нажимаем Enter для запуска системы.
Вернувшись на рабочий стол, мы проверим, правильно ли применен и работает 200-строчный патч, выполнив следующую строку в терминале:

cat /usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i АВТОГРУППА

И он должен вернуть такую ​​строку:

CONFIG_SCHED_AUTOGROUP = y

Если это так, значит, наша система работает с ним. Kernel 2.36.6.2 y el «Автоматическое планирование группы процессов» активирован.
Ubuntu 10.10 Maverick Meerkat с ядром 2.6.36.2 и автоматическим планированием групп процессов

Мы уже можем максимально напрячь Ubuntu ...

Это руководство пришло к вам благодаря усилиям ФРАНКОБЕП.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

10 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Орасио сказал

    Привет, Дэвид

    мой вопрос:

    Я обычно использую ядра ubuntu ppa (https://launchpad.net/~kernel-ppa/+archive/ppa)

    Они больше не идут с включенным патчем на 200 строк?

    Gracias

    1.    Дэвид Гомес сказал

      Видите ли, я все еще проверяю, есть ли в ядре Ubuntu PPA патч, но это легко узнать самому, просто запустите команду cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP, где вы должны изменить текст в скобках для версии последнего ядра на вашем компьютере.

      Если вы получите такое ответное сообщение CONFIG_SCHED_AUTOGROUP=y, значит, у вас установлен патч.

      Примечание: чтобы узнать версии всех ядер, установленных на вашем компьютере, вам просто нужно выполнить команду ls /usr/src/ В терминале.

    2.    Дэвид Гомес сказал

      Horacio, ядро ​​PPA Ubuntu в настоящее время имеет патч V4 Майк Глабрейт по словам самого себя Тим гарднер (Канонический разработчик).

      Начиная с версии 4-2.6.37, у нас есть версия 6.16 патча Майка Гэлбрейта для автоматической группировки, но я ожидаю, что это изменится в пользу восходящей подсказки по мере продвижения к окну слияния 2.6.38.

      расписание: автоматические группы задач за сеанс V4

      RTG

      -
      Тим гарднер

  2.   Канито сказал

    Ну, я его уже скомпилировал и он установлен,…. по крайней мере, система не умерла сейчас, чтобы посмотреть, как она работает

  3.   Ирвинг сказал

    Отличный учебник. Я следовал инструкциям в точности, и все работало отлично. У меня новое ядро.

    Примечание: я внес только одно изменение, которое мне показалось логичным, и оно было здесь:

    cp -vi / boot / config-`uname -r` .config
    сделать localmodconfig

    У меня так получилось:

    cp -vi / boot / config-`uname -r` .config
    лсмод
    сделать localmodconfig

  4.   Канито сказал

    теперь я понимаю, что сделал небольшую ошибку, поэтому я переустановлю его ... и добавлю модификацию irving : Mrgreen:

  5.   Серджио сказал

    Я остаюсь в начале а:
    init: непрочитанный основной процесс (362) завершен со статусом 5
    Ну вроде хорошо работает, что это может быть ??? '

  6.   Бриан сказал

    Хорошо, очень хорошее руководство, они также разместили его на таринге, в данный момент он компилирует ядро, надеюсь, все прошло хорошо, я просто меняю тип процессора в menuconfig, надеюсь, вы сделали правильный выбор, выбрав Intel core / newer xeon, так как у меня процессор Intel Core i3, привет и спасибо за вклад

  7.   Демон007 сказал

    Привет ну команда мне кажется лучше

    cp / boot / config-`uname –kernel-release` ./.config

    поскольку он использует самую последнюю установленную конфигурацию ядра

  8.   Darkwolf22 сказал

    Привет, как дела? У меня только небольшие сомнения ... в файле ядра есть как 32-битная, так и 64-битная версии? или, чтобы получить версию amd64, мне нужно загрузить другую?… Если предположить, должны ли обе версии быть одинаковыми, верно?… очень хорошее объяснение!

    Спасибо!