Ядро Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:ядро [2012/06/18 15:19]
wiki:ядро [2017/05/26 15:29] (текущий)
[Сборка]
Строка 5: Строка 5:
 В Ubuntu исппользуется ядро с большим количеством [[патч|патчей]],​ часть из которых добавляет нестабильные и экспериментальные возможности((FIXME ссылку бы)). В Ubuntu исппользуется ядро с большим количеством [[патч|патчей]],​ часть из которых добавляет нестабильные и экспериментальные возможности((FIXME ссылку бы)).
  
 +Каждый релиз Ubuntu имеет собственную версию ядра. LTS-релизы начиная с 10.04 получили возможность обновить ядро до версий,​ входящих в состав более новых релизов.
 +
 +^Версия Ubuntu^Версия ядра^
 +|  4.10  |  2.6.9  |
 +|  5.04  |  2.6.11 ​ |
 +|  5.10  |  2.6.13 ​ |
 +|  6.06 LTS  |  2.6.15 ​ |
 +|  6.10  |  2.6.18 ​ |
 +|  7.04  |  2.6.19 ​ |
 +|  7.10  |  2.6.20 ​ |
 +|  8.04 LTS  |  2.6.24 ​ |
 +|  8.10  |  2.6.27 ​ |
 +|  9.04  |  2.6.28 ​ |
 +|  9.10  |  2.6.31 ​ |
 +|  10.04 LTS  |  2.6.32 ​ |
 +|  10.10  |  2.6.35 ​ |
 +|  11.04  |  2.6.38 ​ |
 +|  11.10  |  3.0.4  |
 +|  12.04 LTS  |  3.2  |
 +|  12.10  |  3.5  |
 +|  13.04  |  3.8  |
 +|  13.10  |  3.11  |
 +|  14.04 LTS  |  3.13  |
 +|  14.10  |  3.16  |
 +|  15.04  |  3.19  |
 ===== Форки ===== ===== Форки =====
   * [[http://​pf.natalenko.name/​|pf-kernel]] -- форк ядра, развиваемый одним из участников русскоязычного сообщества. Цель сего проекта — собрать максимально оптимизированное по скорости и возможностям ядро под себя, заодно предоставив другим возможность пользоваться этими наработками.   * [[http://​pf.natalenko.name/​|pf-kernel]] -- форк ядра, развиваемый одним из участников русскоязычного сообщества. Цель сего проекта — собрать максимально оптимизированное по скорости и возможностям ядро под себя, заодно предоставив другим возможность пользоваться этими наработками.
Строка 11: Строка 36:
 ===== Установка ===== ===== Установка =====
 Ядро является одним из жизненно важных компонентов каждого дистрибутива Linux. В Ubuntu ядро содержится в пакетах ''​linux-image-версия_ядра-тип_ядра''​. Для простоты обновления так же имеется пакет ''​linux-image-тип_ядра'',​ в зависимостях которого указана последняя версия ядра имеющеяся в [[репозиторий|репозитории]]. Ядро является одним из жизненно важных компонентов каждого дистрибутива Linux. В Ubuntu ядро содержится в пакетах ''​linux-image-версия_ядра-тип_ядра''​. Для простоты обновления так же имеется пакет ''​linux-image-тип_ядра'',​ в зависимостях которого указана последняя версия ядра имеющеяся в [[репозиторий|репозитории]].
 +
 +Нумерация версий ядра Ubuntu и на сайте [[http://​kernel.org|kernel.org]] не совпадает,​ так как для обозначения добавленных патчей разработчики из [[Canonical]] добавляют микроверсию. Например,​ версия 3.2.0-23 будет означать,​ что ядро базируется на ветке 3.2, на которую было наложено 23 патча.
  
 В репозитории Ubuntu поддерживаются следующие типы ядер: В репозитории Ubuntu поддерживаются следующие типы ядер:
   * ''​generic''​ -- ядро, подходящее для большей части систем.   * ''​generic''​ -- ядро, подходящее для большей части систем.
-  * ''​generic-pae''​ -- ядро, включающее в себя возможность адресовать больше 4Гб оперативной памяти на 32-битных системах.+  * ''​generic-pae''​((Physical Address Extension)) ​-- ядро, включающее в себя возможность адресовать больше 4Гб оперативной памяти на 32-битных системах
 +    * Начиная с [[Ubuntu]] [[precise|10.04]] при установке с [[MinimalCD]]((FIXME проверить происходит ли это при установке с других версий (desktop, server) )) система автоматически определяет объем оперативной памяти и устанавливает подходящее ядро. 
 +    * Начиная с [[Ubuntu]] [[precise|12.04]] это ядро включено в 32-битную версию дистрибутива по-умолчанию.
   * ''​virtual''​ -- специально оптимизированное ядро для работы в [[виртуальные_машины|виртуальных машинах]].   * ''​virtual''​ -- специально оптимизированное ядро для работы в [[виртуальные_машины|виртуальных машинах]].
-  * ''​server''​ -- серверный вариант ядра (начиная с релиза Ubuntu 12.04 обьеденен с ''​generic''​) +  * ''​server''​ -- серверный вариант ядра (начиная с релиза Ubuntu 12.04 обьеденен с ''​generic''​). 
-FIXME добавить информацию про http://​kernel.ubuntu.com/​~kernel-ppa/​mainline/​+<note tip>''​generic-pae''​ ядро позволяет 32-битной системе использовать до 64ГБ общего объёма оперативной памяти, выделяя под нужды конкретного процесса не более 4ГБ, в то время как простое ядро ''​generic''​ работает не более чем с 4ГБ ОЗУ. ​  
 + 
 +64-битное ядро позволяет адресовать до 1ТБ памяти, потребляемой процессами.</​note>​ 
 +Если требуется обновить ядро на более новую ​мажорную версию((первые две ​цифры в названии ядра означают мажорную версию,​ идущие ​после них -- минорную)) (обычно это связано с тем, что в новых версиях добавляется поддержка нового оборудования,​ устраняются регрессии) можно воспользоватся официально поддерживаемым архивом [[http://​kernel.ubuntu.com/​~kernel-ppa/​mainline/​]].
  
 ===== Компиляция ядра ===== ===== Компиляция ядра =====
 <note important>​Сборка ядра из исходных кодов требует некоторых навыков и знаний о работе ОС.</​note>​ <note important>​Сборка ядра из исходных кодов требует некоторых навыков и знаний о работе ОС.</​note>​
-<​note>​Перед началом сборки ядра необходимо установить следующие ​пакеты ​пакеты:​ +Перед началом сборки ядра необходимо установить следующие пакеты:​ 
-<​code>​build-essential fakeroot ncurses-dev</​code></​note>+<​code>​build-essential fakeroot ncurses-dev libssl-dev</​code>​ 
 +Все дальнейшие действия необходимо выполнять от лица [[суперпользователь_в_ubuntu|суперпользователя]]:​ 
 +<​code=bash>​sudo su</code> 
 + 
 +==== Получение исходного кода ====
 Исходный код ядра, используемого в Ubuntu можно получить установив пакет ''​linux-source'':​ Исходный код ядра, используемого в Ubuntu можно получить установив пакет ''​linux-source'':​
-<​code=bash>​sudo apt-get install linux-source</​code>​+<​code=bash>​apt-get install linux-source</​code>​
 После установки в директории ///​usr/​src//​ появится архив называющийся //​linux-source-верися_ядра.tar.bz2//​. После установки в директории ///​usr/​src//​ появится архив называющийся //​linux-source-верися_ядра.tar.bz2//​.
  
-FIXME+Так же можно скачать архив и с исходным кодом ядра с сайта [[http://​kernel.org|kernel.org]]. 
 +<note important>​Скачивая ядро с сайта kernel.org, вам придётся наложить на него патчи</​note>​ 
 +==== Конфигурирование ==== 
 +Распакуйте полученый архив((Здесь и далее будет подразумеваться,​ что исходный код был получен из репозитория Ubuntu)) и, для удобства,​ создайте символическую ссылку на полученую в результате директорию:​ 
 +<​code=bash>​cd /usr/src 
 +tar xjf ./​linux-source-3.2.0.tar.bz2 
 +ln -s ./​linux-source-3.2.0 ./linux 
 +cd ./​linux</​code>​ 
 +Для упрощения процесса конфигурации ядра можно скопировать настройки текущего:​ 
 +<​code=bash>​cp /​boot/​config-`uname -r` .config</​code>​ 
 +Если вы хотите узнать какие различия появились между новой и текущей версией ядер выполните:​ 
 +<​code=bash>​make oldconfig</​code>​ 
 +Начиная с версии ядра 2.6.32 появилась возможность обновлять конфигурацию только тех модулей,​ которые используются в данной системе:​ 
 +<​code=bash>​make localmodconfig</​code>​ 
 +Существует три основных варианта конфигурирования ядра: 
 +  ** <​code=bash>​make config</​code>​ 
 +  .. Способ для смелых и отважных. Конфигуратор задаст вам около четырехста вопросов на которые нужно будет дать ответ. 
 +  ** <​code=bash>​make menuconfig</​code>​ 
 +  .. Предоставляет псевдографический конфигуратор,​ в котором все настройки разложены по пунктам. 
 +  ** <​code=bash>​make xconfig</​code>​ 
 +  .. Предоставляет графический конфигуратор.
  
 +====Сборка====
 +Сборка ядра производится командой
 +<​code=bash>​fakeroot make-kpkg -j 5 --initrd --append-to-version=-custom kernel_image kernel_headers #-j <​количество ядер процессора>​+1</​code>​
 +Вместо ''​ваша_версия''​ подставьте название для вашей версии ядра.
 +
 +Процесс сборки может занять некоторое время. По его окончанию появятся пакеты содержащие скомпилированное ядро и заголовочные файлы. Их можно будет установить при помощи ''​dpkg''​.
 ===== Модули ядра ===== ===== Модули ядра =====
 Смотрите страницу [[Модули ядра]]. Смотрите страницу [[Модули ядра]].
 +
 +=====Смотрите также=====
 +  * [[сборка_ядра|HOW-TO:​ Сборка ядра Linux]]
  
 ===== Ссылки ===== ===== Ссылки =====
-  * [[https://​help.ubuntu.com/​community/​Kernel/​Compile|Kernel/​Compile|Компиляция ядра]] (англ.)+  * [[https://​help.ubuntu.com/​community/​Kernel/​Compile|Компиляция ядра]] (англ.)
   * [[http://​cateee.net/​lkddb/​web-lkddb/​|Опции сборки Linux]] — вроде бы не является официальной документацией,​ лучше вставить ссылку на доки от разработчиков   * [[http://​cateee.net/​lkddb/​web-lkddb/​|Опции сборки Linux]] — вроде бы не является официальной документацией,​ лучше вставить ссылку на доки от разработчиков
  
-{{tag>​ядро компиляция ​fixme}}+{{tag>​ядро компиляция}}