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

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:ядро [2012/06/30 20:10]
wiki:ядро [2017/05/26 15:29] (текущий)
[Сборка]
Строка 23: Строка 23:
 |  11.04  |  2.6.38 ​ | |  11.04  |  2.6.38 ​ |
 |  11.10  |  3.0.4  | |  11.10  |  3.0.4  |
-|  12.04  |  3.2  | +|  12.04 LTS  ​| ​ 3.2  | 
-|  12.10  |  ​ | +|  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]] -- форк ядра, развиваемый одним из участников русскоязычного сообщества. Цель сего проекта — собрать максимально оптимизированное по скорости и возможностям ядро под себя, заодно предоставив другим возможность пользоваться этими наработками.
Строка 33: Строка 37:
 Ядро является одним из жизненно важных компонентов каждого дистрибутива Linux. В Ubuntu ядро содержится в пакетах ''​linux-image-версия_ядра-тип_ядра''​. Для простоты обновления так же имеется пакет ''​linux-image-тип_ядра'',​ в зависимостях которого указана последняя версия ядра имеющеяся в [[репозиторий|репозитории]]. Ядро является одним из жизненно важных компонентов каждого дистрибутива Linux. В Ubuntu ядро содержится в пакетах ''​linux-image-версия_ядра-тип_ядра''​. Для простоты обновления так же имеется пакет ''​linux-image-тип_ядра'',​ в зависимостях которого указана последняя версия ядра имеющеяся в [[репозиторий|репозитории]].
  
-Нумерация версий ядра Ubuntu и на сайте [[kernel.org]] не совпадает,​ так как для обозначения добавленных патчей разработчики из [[Canonical]] добавляют микроверсию. Например,​ версия 3.2.0-23 будет означать,​ что ядро базируется на ветке 3.2, на которую было наложено 23 патча.+Нумерация версий ядра 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''​)
 +<note tip>''​generic-pae''​ ядро позволяет 32-битной системе использовать до 64ГБ общего объёма оперативной памяти,​ выделяя под нужды конкретного процесса не более 4ГБ, в то время как простое ядро ''​generic''​ работает не более чем с 4ГБ ОЗУ. ​  
 + 
 +64-битное ядро позволяет адресовать до 1ТБ памяти,​ потребляемой процессами.</​note>​
 Если требуется обновить ядро на более новую мажорную версию((первые две цифры в названии ядра означают мажорную версию,​ идущие после них -- минорную)) (обычно это связано с тем, что в новых версиях добавляется поддержка нового оборудования,​ устраняются регрессии) можно воспользоватся официально поддерживаемым архивом [[http://​kernel.ubuntu.com/​~kernel-ppa/​mainline/​]]. Если требуется обновить ядро на более новую мажорную версию((первые две цифры в названии ядра означают мажорную версию,​ идущие после них -- минорную)) (обычно это связано с тем, что в новых версиях добавляется поддержка нового оборудования,​ устраняются регрессии) можно воспользоватся официально поддерживаемым архивом [[http://​kernel.ubuntu.com/​~kernel-ppa/​mainline/​]].
  
 ===== Компиляция ядра ===== ===== Компиляция ядра =====
 <note important>​Сборка ядра из исходных кодов требует некоторых навыков и знаний о работе ОС.</​note>​ <note important>​Сборка ядра из исходных кодов требует некоторых навыков и знаний о работе ОС.</​note>​
-Перед началом сборки ядра необходимо установить следующие ​пакеты ​пакеты:​ +Перед началом сборки ядра необходимо установить следующие пакеты:​ 
-<​code>​build-essential fakeroot ncurses-dev</​code>​+<​code>​build-essential fakeroot ncurses-dev libssl-dev</​code>​
 Все дальнейшие действия необходимо выполнять от лица [[суперпользователь_в_ubuntu|суперпользователя]]:​ Все дальнейшие действия необходимо выполнять от лица [[суперпользователь_в_ubuntu|суперпользователя]]:​
-<​code=bash>​sudo ​-s</​code>​+<​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//​.
  
-Так же можно скачать архив и с исходным кодом ядра с сайта [[kernel.org]]. +Так же можно скачать архив и с исходным кодом ядра с сайта [[http://​kernel.org|kernel.org]]. 
 +<note important>​Скачивая ядро с сайта kernel.org, вам придётся наложить на него патчи</​note>​
 ==== Конфигурирование ==== ==== Конфигурирование ====
 Распакуйте полученый архив((Здесь и далее будет подразумеваться,​ что исходный код был получен из репозитория Ubuntu)) и, для удобства,​ создайте символическую ссылку на полученую в результате директорию:​ Распакуйте полученый архив((Здесь и далее будет подразумеваться,​ что исходный код был получен из репозитория Ubuntu)) и, для удобства,​ создайте символическую ссылку на полученую в результате директорию:​
Строка 66: Строка 75:
 Если вы хотите узнать какие различия появились между новой и текущей версией ядер выполните:​ Если вы хотите узнать какие различия появились между новой и текущей версией ядер выполните:​
 <​code=bash>​make oldconfig</​code>​ <​code=bash>​make oldconfig</​code>​
-Начиная с версии ядра 2.6.32 появилась возможность обновлять конфигурацию только тех модулей,​ которые ​успользуются в данной системе:​+Начиная с версии ядра 2.6.32 появилась возможность обновлять конфигурацию только тех модулей,​ которые ​используются в данной системе:​
 <​code=bash>​make localmodconfig</​code>​ <​code=bash>​make localmodconfig</​code>​
-Существует три варианта конфигурирования ядра:+Существует три ​основных ​варианта конфигурирования ядра:
   ** <​code=bash>​make config</​code>​   ** <​code=bash>​make config</​code>​
   .. Способ для смелых и отважных. Конфигуратор задаст вам около четырехста вопросов на которые нужно будет дать ответ.   .. Способ для смелых и отважных. Конфигуратор задаст вам около четырехста вопросов на которые нужно будет дать ответ.
Строка 78: Строка 87:
 ====Сборка==== ====Сборка====
 Сборка ядра производится командой Сборка ядра производится командой
-<​code=bash>​fakeroot make-kpkg --initrd --append-to-version=-ваша_версия kernel-image kernel-headers</​code>​+<​code=bash>​fakeroot make-kpkg ​-j 5 --initrd --append-to-version=-custom kernel_image kernel_headers #-j <​количество ядер процессора>​+1</​code>​
 Вместо ''​ваша_версия''​ подставьте название для вашей версии ядра. Вместо ''​ваша_версия''​ подставьте название для вашей версии ядра.
  
 Процесс сборки может занять некоторое время. По его окончанию появятся пакеты содержащие скомпилированное ядро и заголовочные файлы. Их можно будет установить при помощи ''​dpkg''​. Процесс сборки может занять некоторое время. По его окончанию появятся пакеты содержащие скомпилированное ядро и заголовочные файлы. Их можно будет установить при помощи ''​dpkg''​.
- 
 ===== Модули ядра ===== ===== Модули ядра =====
 Смотрите страницу [[Модули ядра]]. Смотрите страницу [[Модули ядра]].