Як скомпілювати ядро ​​2.6.36.2 в Ubuntu за допомогою 200-рядкового патча

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

З цієї причини тут я навчаю найсміливіших, як скомпілювати власне ядро ​​(2.6.36.2) в Ubuntu (протестовано в Ubuntu 10.10) із включеним у нього 200-рядковим патчем. Пам’ятайте, що цей процес слід виконувати на власний ризик, він вимагає великої кількості пакетів для завантаження та досить тривалого часу компіляції.

Для початку перше, що ми повинні зробити, це встановити необхідні залежності для компіляції ядра, виконавши в терміналі наступний рядок:

sudo apt-get встановити fakeroot збірка основних збоїв kexec-tools makedumpfile kernel-wedge kernel-package

Тепер виконаємо наступний рядок у терміналі, який необхідний для компіляції ядра (з Безстрашний)

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 патч -p1 <~ / autogroup.patch

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

Якщо ви не знаєте, що робите, краще не змінювати вручну конфігурацію ядра.

Ми копіюємо конфігурацію, виконуючи наступну команду в терміналі, а потім виконуємо

lsmod

так що всі модулі, завантажені в нашій системі, виконуються, і ми переконуємось, що все наше обладнання розпізнане.

cp -vi / boot / config-`uname -r` .config зробити localmodconfig

На цьому етапі процес компіляції задасть вам кілька запитань щодо модулів, продовжуючи приймати всі запитання, задані натисканням Що натомість? Створіть віртуальну версію себе у доки процес налаштування не буде завершено.
Ми продовжуємо компіляцію ядра, виконуючи наступний рядок у терміналі, щоб відкрити меню конфігурації ядра:

cp / boot / config - $ (uname -r) .config && так "" | зробити oldconfig зробити menuconfig

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

General Setup

і ми шукаємо рядок з іменем

Automatic process group scheduling

, ми вмикаємо це, натискаючи пробіл на нашій клавіатурі, і ми позиціонуємо себе за опцією

Exit

за допомогою клавіш зі стрілками на клавіатурі та натисніть клавішу Що натомість? Створіть віртуальну версію себе у з нашої клавіатури, щоб вийти з меню

General Setup

.

Конфігурація ядра Linux - загальне налаштування

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

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

Kernel hacking

і ми входимо натисканням клавіші Що натомість? Створіть віртуальну версію себе у , ми шукаємо варіант

Compile the kernel with debug info

і ми скасовуємо вибір, натискаючи пробіл на нашій клавіатурі, знову переходимо до опції

Exit

і тиснемо Що натомість? Створіть віртуальну версію себе у для виходу з головного меню.

Конфігурація ядра Linux - Злом ядра

Конфігурація ядра Linux - Не компілювати ядро ​​з інформацією про налагодження

Ми закінчили конфігурацію ядра, тому нам залишається лише повернутися до

Exit

в головному меню та натисніть Що натомість? Створіть віртуальну версію себе у щоб закінчити конфігурацію ядра. Ми приймаємо, коли він запитує нас, чи хочемо ми зберегти зміни, внесені до конфігурації ядра, натиснувши клавішу Enter на опції Так.

Тепер ми збираємося скомпілювати ядро, виконавши наступний рядок у терміналі:

fakeroot make-kpkg --initrd --append-to-version = -20101209 kernel-image kernel-headers

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

Це згенерує два пакети .deb всередині каталогу kernel-2.6.36.2, які ми використаємо для встановлення нового ядра в нашому Ubuntu, що дозволить їх відстежувати Синаптик і легко знімається.

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

Щоб встановити два щойно створених пакети .deb, ми повинні виконати таку команду в терміналі:

cd .. sudo dpkg -i * .deb

Якщо все пішло добре, ми перезапустили нашу машину і у списку Груб, ми вибираємо нове ядро ​​(2.6.36.2) і натискаємо Що натомість? Створіть віртуальну версію себе у для запуску системи.
Після того, як ми повернемося на робочий стіл, ми перевіримо, що латка з 200 рядків правильно застосована і працює, виконавши наступний рядок у терміналі:

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

І він повинен повернути такий рядок:

CONFIG_SCHED_AUTOGROUP = y

Якщо так, у нас працює наша система. Kernel 2.36.6.2 у-ель- "Автоматичне планування групи процесів" активовано.
Ubuntu 10.10 Maverick Meerkat з ядром 2.6.36.2 та автоматичним плануванням групи процесів

Ми вже можемо підкреслити Ubuntu до максимуму ...

Цей посібник приходить до вас завдяки зусиллям ФРАНКОБЕП.


Залиште свій коментар

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

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Орасіо - сказав він

    Привіт Девід

    моє запитання:

    Я зазвичай використовую ядра ppa ubuntu (https://launchpad.net/~kernel-ppa/+archive/ppa)

    Вони більше не постачаються з включеним патчем на 200 рядків?

    спасибі

    1.    Девід Гомес - сказав він

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

      Якщо ви отримаєте відповідне повідомлення, подібне до цього CONFIG_SCHED_AUTOGROUP=y, тоді ви встановили патч.

      Примітка: щоб знати версію всіх ядер, встановлених на вашому комп'ютері, вам просто потрібно виконати команду ls /usr/src/ У терміналі.

    2.    Девід Гомес - сказав він

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

      З 4-2.6.37 ми використовуємо V6.16 патча для автогрупування Майка Гелбрейта, але я сподіваюся, що це зміниться на користь підказки вгору за течією, коли ми рухатимемось у вікно злиття 2.6.38.

      sched: автоматизовані групи завдань за сеанс V4

      RTG

      -
      Тім Гарднер

  2.   Каніто - сказав він

    Я його вже скомпілював, і він встановлений…. принаймні система зараз не вмерла, щоб працювати, щоб побачити, як вона працює

  3.   Ірвінг - сказав він

    Відмінний підручник. Я виконував кроки до листа, і все працювало чудово. У мене є нове ядро.

    Примітка: Я зробив лише одну зміну, яка мені звучала логічно, і це було тут:

    cp -vi / boot / config-`uname -r` .config
    зробити localmodconfig

    Я зробив це так:

    cp -vi / boot / config-`uname -r` .config
    lsmod
    зробити localmodconfig

  4.   Каніто - сказав він

    тепер я розумію, що я зробив невелику помилку, тому перевстановлю її ... і додаю модифікацію irving : mrgreen:

  5.   Серхіо - сказав він

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

  6.   Бріан - сказав він

    Ну дуже хороший посібник, вони також розмістили його на taringa, на даний момент воно складає ядро. Сподіваюся, воно пішло добре. Я просто змінив тип процесора в менюconfig. Сподіваюсь, ви вибрали добре, вибравши ядро ​​Intel / новіше xeon, оскільки я маю процесор Intel core i3, вітаю та дякую за введені дані

  7.   Демон007 - сказав він

    Привіт, ну, команда мені здається кращою

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

    оскільки він використовує останню встановлену конфігурацію ядра

  8.   Darkwolf22 - сказав він

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

    Спасибо!