Как скомпилировать ядро ​​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, мне нужно загрузить другую?… Если предположить, должны ли обе версии быть одинаковыми, верно?… очень хорошее объяснение!

    Спасибо!