Многие из вас, похоже, столкнулись с проблемой при установке Ядро предварительно скомпилировано с патчем из 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
.
Теперь переходим в меню
Kernel hacking
и входим по нажатию клавиши Enter, ищем вариант
Compile the kernel with debug info
и мы снимаем выделение, нажав пробел на нашей клавиатуре, снова переходим к опции
Exit
и мы нажимаем Enter для выхода из главного меню.
Мы закончили настройку ядра, поэтому нам нужно только вернуться к
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 ...
Это руководство пришло к вам благодаря усилиям ФРАНКОБЕП.
Привет, Дэвид
мой вопрос:
Я обычно использую ядра ubuntu ppa (https://launchpad.net/~kernel-ppa/+archive/ppa)
Они больше не идут с включенным патчем на 200 строк?
Gracias
Видите ли, я все еще проверяю, есть ли в ядре Ubuntu PPA патч, но это легко узнать самому, просто запустите команду
cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUP
, где вы должны изменить текст в скобках для версии последнего ядра на вашем компьютере.Если вы получите такое ответное сообщение
CONFIG_SCHED_AUTOGROUP=y
, значит, у вас установлен патч.Примечание: чтобы узнать версии всех ядер, установленных на вашем компьютере, вам просто нужно выполнить команду
ls /usr/src/
В терминале.Horacio, ядро PPA Ubuntu в настоящее время имеет патч V4 Майк Глабрейт по словам самого себя Тим гарднер (Канонический разработчик).
Ну, я его уже скомпилировал и он установлен,…. по крайней мере, система не умерла сейчас, чтобы посмотреть, как она работает
Отличный учебник. Я следовал инструкциям в точности, и все работало отлично. У меня новое ядро.
Примечание: я внес только одно изменение, которое мне показалось логичным, и оно было здесь:
cp -vi / boot / config-`uname -r` .config
сделать localmodconfig
У меня так получилось:
cp -vi / boot / config-`uname -r` .config
лсмод
сделать localmodconfig
теперь я понимаю, что сделал небольшую ошибку, поэтому я переустановлю его ... и добавлю модификацию irving
Я остаюсь в начале а:
init: непрочитанный основной процесс (362) завершен со статусом 5
Ну вроде хорошо работает, что это может быть ??? '
Хорошо, очень хорошее руководство, они также разместили его на таринге, в данный момент он компилирует ядро, надеюсь, все прошло хорошо, я просто меняю тип процессора в menuconfig, надеюсь, вы сделали правильный выбор, выбрав Intel core / newer xeon, так как у меня процессор Intel Core i3, привет и спасибо за вклад
Привет ну команда мне кажется лучше
cp / boot / config-`uname –kernel-release` ./.config
поскольку он использует самую последнюю установленную конфигурацию ядра
Привет, как дела? У меня только небольшие сомнения ... в файле ядра есть как 32-битная, так и 64-битная версии? или, чтобы получить версию amd64, мне нужно загрузить другую?… Если предположить, должны ли обе версии быть одинаковыми, верно?… очень хорошее объяснение!
Спасибо!