Багато з вас, здається, мали проблеми з встановленням Ядро, попередньо скомпільоване з виправленням 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
На цьому етапі процес компіляції задасть вам кілька запитань щодо модулів, продовжуючи приймати всі запитання, задані натисканням Enter доки процес налаштування не буде завершено.
Ми продовжуємо компіляцію ядра, виконуючи наступний рядок у терміналі, щоб відкрити меню конфігурації ядра:
cp / boot / config - $ (uname -r) .config && так "" | зробити oldconfig зробити menuconfig
Тепер ми можемо вибрати виправлення, які ми хочемо увімкнути в нашому ядрі, оскільки ми зацікавлені в 200-рядковому виправленні.
Для цього ми переходимо через меню конфігурації ядра, яке з’явиться, до
General Setup
і ми шукаємо рядок з іменем
Automatic process group scheduling
, ми вмикаємо це, натискаючи пробіл на нашій клавіатурі, і ми позиціонуємо себе за опцією
Exit
за допомогою клавіш зі стрілками на клавіатурі та натисніть клавішу Enter з нашої клавіатури, щоб вийти з меню
General Setup
.
Тепер ми переходимо до меню
Kernel hacking
і ми входимо натисканням клавіші Enter, ми шукаємо варіант
Compile the kernel with debug info
і ми скасовуємо вибір, натискаючи пробіл на нашій клавіатурі, знову переходимо до опції
Exit
і тиснемо Enter для виходу з головного меню.
Ми закінчили конфігурацію ядра, тому нам залишається лише повернутися до
Exit
в головному меню та натисніть Enter щоб закінчити конфігурацію ядра. Ми приймаємо, коли він запитує нас, чи хочемо ми зберегти зміни, внесені до конфігурації ядра, натиснувши клавішу 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) і натискаємо Enter для запуску системи.
Після того, як ми повернемося на робочий стіл, ми перевіримо, що латка з 200 рядків правильно застосована і працює, виконавши наступний рядок у терміналі:
cat /usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i АВТОГРУПА
І він повинен повернути такий рядок:
CONFIG_SCHED_AUTOGROUP = y
Якщо так, у нас працює наша система. Kernel 2.36.6.2 у-ель- "Автоматичне планування групи процесів" активовано.
Ми вже можемо підкреслити Ubuntu до максимуму ...
Цей посібник приходить до вас завдяки зусиллям ФРАНКОБЕП.
Привіт Девід
моє запитання:
Я зазвичай використовую ядра ppa ubuntu (https://launchpad.net/~kernel-ppa/+archive/ppa)
Вони більше не постачаються з включеним патчем на 200 рядків?
спасибі
Дивіться, я все ще перевіряю, чи містить ядро Ubuntu PPA патч, але це легко з’ясувати самостійно, просто запустіть команду
cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP
, де ви б змінили текст у дужках для версії останнього ядра на вашому комп'ютері.Якщо ви отримаєте відповідне повідомлення, подібне до цього
CONFIG_SCHED_AUTOGROUP=y
, тоді ви встановили патч.Примітка: щоб знати версію всіх ядер, встановлених на вашому комп'ютері, вам просто потрібно виконати команду
ls /usr/src/
У терміналі.Гораціо, ядро PPA Ubuntu наразі має патч V4 Майк Глабрейт словами його самого Тім Гарднер (Канонічний розробник).
Я його вже скомпілював, і він встановлений…. принаймні система зараз не вмерла, щоб працювати, щоб побачити, як вона працює
Відмінний підручник. Я виконував кроки до листа, і все працювало чудово. У мене є нове ядро.
Примітка: Я зробив лише одну зміну, яка мені звучала логічно, і це було тут:
cp -vi / boot / config-`uname -r` .config
зробити localmodconfig
Я зробив це так:
cp -vi / boot / config-`uname -r` .config
lsmod
зробити localmodconfig
тепер я розумію, що я зробив невелику помилку, тому перевстановлю її ... і додаю модифікацію irving
Я залишаюся на початку:
init: непрочитаний основний процес (362) завершено зі статусом 5
Ну, здається, це працює добре, що це може бути ??? '
Ну дуже хороший посібник, вони також розмістили його на taringa, на даний момент воно складає ядро. Сподіваюся, воно пішло добре. Я просто змінив тип процесора в менюconfig. Сподіваюсь, ви вибрали добре, вибравши ядро Intel / новіше xeon, оскільки я маю процесор Intel core i3, вітаю та дякую за введені дані
Привіт, ну, команда мені здається кращою
cp / boot / config-`uname –kernel-release` ./.config
оскільки він використовує останню встановлену конфігурацію ядра
Привіт, як справи? У мене є лише невеликі сумніви ... у файлі ядра є як 32-розрядна, так і 64-розрядна версії? або, щоб отримати версію amd64, чи потрібно мені завантажувати іншу? ... За вирахуванням, обидві версії повинні бути однаково правильними? ... дуже гарне пояснення!
Спасибо!