Ядро Linux Понятие ядра Ядро обеспечивает инфраструктуру для работы приложений и использования различных аппаратных средств. Это код низкого уровня, который.

Презентация:



Advertisements
Похожие презентации
Основные операционные системы: Персональные компьютеры IBM-совместимые – MS-DOS, Windows (3.1, 9, Me, XP); Персональные компьютеры Apple – Mac OS Рабочие.
Advertisements

Информатика в школе Операционная система Программное обеспечение.
Устройство и принцип работы операционной системы Windows XP.
Автор: Субхангулов И.И. Башкортостан Стерлитамак 2011.
Назначение и состав операционной системы. ОПЕРАЦИОННАЯ СИСТЕМА Операционная система обеспечивает совместное функционирование всех устройств компьютера.
Подготовка компьютера к практической работе на языке Java Первый этап: установка платформы языка Второй этап: установка редактора.
Принтер – одно из самых востребованных внешних устройств, его установка в Windows 7 максимально автоматизирована и не должна вызвать сложностей даже у.
Раздел 3. Программное обеспечение ЭВМ Урок 1. Операционная система Windows. Состав и загрузка.
LOGO Операционная система LOGO Операционная система 1 История операционных систем 2 Состав операционных систем 3 Порядок запуска.
УПРАВЛЕНИЕ РАБОТОЙ ПОДСИСТЕМЫ «ВЕДЕНИЯ». Управление работой подсистемы «Ведения», в основном, сводится к следующему: Основные возможности управление доступом.
Операционная система – это самая главная программа Операционная система – комплекс программ, обеспечивающих взаимодействие всех аппаратных и программных.
Файл Полное имя файла. Данные на дисках хранятся в виде файлов (наборов данных, имеющих имя) Имя файла набор данных, хранящийся во внешней памяти и имеющий.
Материнская (системная плата) – главный элемент компьютерной системы, от ее качества и быстродействия зависит быстродействие всей системы. Это самостоятельный.
Операционная система Подготовил: кадет Карнаухов А.
Многообразие операционных систем. Основные характеристики операционных систем.
Введение Часто можно услышать, что установка Linux – очень сложная операция, требующая больших знаний. Далее будет демонстрироваться установка Kubuntu.
Установка Debian 4 Linux. От новичка к профессионалу © 2008 Денис Колисниченко, БХВ-Петербург.
Операционная система: назначение и состав. Общие сведения На IBM-совместимых персональных компьютерах используются операционные системы корпорации Microsoft.
Создание архивов с помощью программы WinRAR Добро пожаловать в мультимедийный проект который в любое время дня и ночи готов предоставить Вам информацию.
Выполнила ученица 10 «А» класса Попова Анастасия.
Транксрипт:

Ядро Linux

Понятие ядра Ядро обеспечивает инфраструктуру для работы приложений и использования различных аппаратных средств. Это код низкого уровня, который взаимодействует с интерфейсами аппаратных средств, планирует и распределяет память и т.д. Ядро обеспечивает инфраструктуру для работы приложений и использования различных аппаратных средств. Это код низкого уровня, который взаимодействует с интерфейсами аппаратных средств, планирует и распределяет память и т.д. Исторически, ядро Linux выпускается под определенной версией. То есть имеет определенную нумерацию. Нумерация версии ядра Linux на текущий момент содержит четыре числа, следуя недавнему изменению в долго используемой до этого политике схемы версий, основанной на трёх числах. Для иллюстрации допустим, что номер версии составлен таким образом: A.B.C[.D] (например 2.2.1, или ). Исторически, ядро Linux выпускается под определенной версией. То есть имеет определенную нумерацию. Нумерация версии ядра Linux на текущий момент содержит четыре числа, следуя недавнему изменению в долго используемой до этого политике схемы версий, основанной на трёх числах. Для иллюстрации допустим, что номер версии составлен таким образом: A.B.C[.D] (например 2.2.1, или ). Число A обозначает версию ядра. Оно изменяется менее часто и только тогда, когда вносятся значительные изменения в код и концепцию ядра. Оно изменялось дважды в истории ядра: в 1994 (версия 1.0) и в 1996 (версия 2.0). Число A обозначает версию ядра. Оно изменяется менее часто и только тогда, когда вносятся значительные изменения в код и концепцию ядра. Оно изменялось дважды в истории ядра: в 1994 (версия 1.0) и в 1996 (версия 2.0).

Понятие ядра Число B обозначает старшую версию ревизии ядра. Чётные числа обозначают стабильные ревизии, то есть те, которые предназначены для промышленного использования, такие как 1.2, 2.4 или 2.6. Нечётные числа обозначают ревизии для разработчиков, такие как 1.1 или 2.5. Они предназначены для тестирования новых улучшений и драйверов до тех пор, пока они не станут достаточно стабильными для того, чтобы быть включёнными в стабильный выпуск. Число B обозначает старшую версию ревизии ядра. Чётные числа обозначают стабильные ревизии, то есть те, которые предназначены для промышленного использования, такие как 1.2, 2.4 или 2.6. Нечётные числа обозначают ревизии для разработчиков, такие как 1.1 или 2.5. Они предназначены для тестирования новых улучшений и драйверов до тех пор, пока они не станут достаточно стабильными для того, чтобы быть включёнными в стабильный выпуск. Число C обозначает младшую версию ревизии ядра. В старой трёхчисловой схеме нумерации, оно изменялось тогда, когда в ядро включались заплатки связанные с безопасностью, исправления ошибок, новые улучшения или драйверы. С новой политикой нумерации, однако, оно изменяется только тогда, когда вносятся новые драйверы или улучшения; небольшие исправления поддерживаются числом D. Число C обозначает младшую версию ревизии ядра. В старой трёхчисловой схеме нумерации, оно изменялось тогда, когда в ядро включались заплатки связанные с безопасностью, исправления ошибок, новые улучшения или драйверы. С новой политикой нумерации, однако, оно изменяется только тогда, когда вносятся новые драйверы или улучшения; небольшие исправления поддерживаются числом D.

Понятие ядра Число D впервые появилось после случая, когда в коде ядра версии была обнаружена грубая, требующая незамедлительного исправления ошибка, связанная с NFS. Однако, было недостаточно других изменений, для того чтобы это послужило причиной для выпуска новой младшей ревизии (которой должна была стать 2.6.9). Поэтому была выпущена версия с единственным исправлением в виде исправления для этой ошибки. С ядра , эта нумерация была адаптирована в качестве новой официальной политики версий. Исправления ошибок и заплатки безопасности теперь обозначаются с помощью четвёртого числа, тогда как большие изменения выполняются в изменениях младшей версии ревизии ядра (число C). Число D впервые появилось после случая, когда в коде ядра версии была обнаружена грубая, требующая незамедлительного исправления ошибка, связанная с NFS. Однако, было недостаточно других изменений, для того чтобы это послужило причиной для выпуска новой младшей ревизии (которой должна была стать 2.6.9). Поэтому была выпущена версия с единственным исправлением в виде исправления для этой ошибки. С ядра , эта нумерация была адаптирована в качестве новой официальной политики версий. Исправления ошибок и заплатки безопасности теперь обозначаются с помощью четвёртого числа, тогда как большие изменения выполняются в изменениях младшей версии ревизии ядра (число C). Ядро - это код низкого уровня, который взаимодействует с интерфейсами аппаратных средств и управляет системой на низшем уровне. В настоящее время существует громаднейшее количество разновидностей аппаратного обеспечения, файловых систем и остальных компонентов, с которыми взаимодействует ядро системы. Ядро - это код низкого уровня, который взаимодействует с интерфейсами аппаратных средств и управляет системой на низшем уровне. В настоящее время существует громаднейшее количество разновидностей аппаратного обеспечения, файловых систем и остальных компонентов, с которыми взаимодействует ядро системы.

Понятие ядра Для того чтобы ядро не занимало большого количества оперативной памяти и при этом оставалось универсальным, существуют модули ядра. Модули ядра позволяют при необходимости загрузить обеспечивающее поддержку программное обеспечение, такое как драйверы для аппаратных средств или файловые системы. Это позволяет запускать систему с небольшим ядром и затем подгружать модули по мере необходимости. Часто эта подгрузка происходит автоматически, например, при подключении устройств USB. Для того чтобы ядро не занимало большого количества оперативной памяти и при этом оставалось универсальным, существуют модули ядра. Модули ядра позволяют при необходимости загрузить обеспечивающее поддержку программное обеспечение, такое как драйверы для аппаратных средств или файловые системы. Это позволяет запускать систему с небольшим ядром и затем подгружать модули по мере необходимости. Часто эта подгрузка происходит автоматически, например, при подключении устройств USB. Команды для выполнения задач загрузки и удаления модулей ядра требуют полномочий суперпользователя root. Команды, выдающие информацию о модулях, обычно могут быть выполнены обычным пользователем. Однако, в случае, если они расположены в каталоге /sbin, они будут недоступны для обычного пользователя, так как этот каталог не включается в путь поиска PATH. Команды для выполнения задач загрузки и удаления модулей ядра требуют полномочий суперпользователя root. Команды, выдающие информацию о модулях, обычно могут быть выполнены обычным пользователем. Однако, в случае, если они расположены в каталоге /sbin, они будут недоступны для обычного пользователя, так как этот каталог не включается в путь поиска PATH.

Управление ядром Linux ядро Linux обладает минимальными возможностями и поддержкой оборудования, но при необходимости можно расширить возможности ядра с помощью kernel modules (модулей ядра). Для чего может понадобиться сборка или пересборка собственного ядра? Например для включения/отключения каких-либо новых возможностей, или обновление старого ядра на более новое с поддержкой новых возможностей. ядро Linux обладает минимальными возможностями и поддержкой оборудования, но при необходимости можно расширить возможности ядра с помощью kernel modules (модулей ядра). Для чего может понадобиться сборка или пересборка собственного ядра? Например для включения/отключения каких-либо новых возможностей, или обновление старого ядра на более новое с поддержкой новых возможностей. Получение исходников ядра и подготовка к конфигурированию: Получение исходников ядра и подготовка к конфигурированию: Получить оригинальные архивы кода с The Linux Kernel Archives, в виде gzip или bzip2 архивов, с помощью команды: wget linux tar.bz2 Получить оригинальные архивы кода с The Linux Kernel Archives, в виде gzip или bzip2 архивов, с помощью команды: wget linux tar.bz2http:// cp linux tar.bz2 /usr/src/ cp linux tar.bz2 /usr/src/

Управление ядром Linux Получить исходники из репозиториев дистрибутивов (например: Debian, Ubuntu, CentOS i386) в виде бинарного пакета deb или rpm (src.rpm) с патчами от производителя дистрибутива. Получить исходники из репозиториев дистрибутивов (например: Debian, Ubuntu, CentOS i386) в виде бинарного пакета deb или rpm (src.rpm) с патчами от производителя дистрибутива.DebianUbuntuCentOS i386DebianUbuntuCentOS i386 Имя архива с исходниками или пакета, имеет примерно следующий вид: linux-source либо kernel-source Из листинга второго примера, видно что при установке исходников из репозитория, нам предлагают установить и остальные сопутствующие пакеты, без которых ядро собрать не получиться. Имя архива с исходниками или пакета, имеет примерно следующий вид: linux-source либо kernel-source Из листинга второго примера, видно что при установке исходников из репозитория, нам предлагают установить и остальные сопутствующие пакеты, без которых ядро собрать не получиться. После получения исходников одним из вышеуказанных путей мы получаем в каталоге /usr/src/ - архив с именем, аналогичным linux-source tar.bz2. Необходимо распаковать данный архив командой: После получения исходников одним из вышеуказанных путей мы получаем в каталоге /usr/src/ - архив с именем, аналогичным linux-source tar.bz2. Необходимо распаковать данный архив командой: tar -xjf linux.tar.bz2. tar -xjf linux.tar.bz2.

Управление ядром Linux В результате, получаем дерево каталогов исходников ядра, расположенные в каталоге /usr/src/linux /. Так же рекомендуется создать символьную ссылку /usr/src/linux на вышеуказанный каталог: В результате, получаем дерево каталогов исходников ядра, расположенные в каталоге /usr/src/linux /. Так же рекомендуется создать символьную ссылку /usr/src/linux на вышеуказанный каталог: # ln -s linux linux # ln -s linux linux Прежде чем приступать к попытке сборки и конфигурированию, необходимо просмотреть файл Changes, расположенный в каталоге Documentation. Он, среди прочего, содержит список пакетов, необходимых для сборки ядра, с указанием номеров версий. Убедитесь, что эти пакеты установлены (если установка исходников производилась с помощью пакетного менеджера, то скорее всего нужные пакеты уже установлены). Прежде чем приступать к попытке сборки и конфигурированию, необходимо просмотреть файл Changes, расположенный в каталоге Documentation. Он, среди прочего, содержит список пакетов, необходимых для сборки ядра, с указанием номеров версий. Убедитесь, что эти пакеты установлены (если установка исходников производилась с помощью пакетного менеджера, то скорее всего нужные пакеты уже установлены).

Управление ядром Linux В распакованном дереве подкаталогов содержится файл Makefile. make-файл содержит различные цели сборки для конфигурирования опций ядра, сборки ядра и его модулей, установки модулей и сборки пакетов RPM или deb. Наиболее свежие версии исходников ядра позволяют использовать make help для получения краткой справки для каждой цели. В более старых системах было необходимо обращаться к документации или просматривать make-файл. В распакованном дереве подкаталогов содержится файл Makefile. make-файл содержит различные цели сборки для конфигурирования опций ядра, сборки ядра и его модулей, установки модулей и сборки пакетов RPM или deb. Наиболее свежие версии исходников ядра позволяют использовать make help для получения краткой справки для каждой цели. В более старых системах было необходимо обращаться к документации или просматривать make-файл. Далее, если по каким либо причинам на ядро необходимо наложить патч, то его следует скачать заранее и положить в каталог /usr/src. Если патчить ядро не нужно, можно смело переходить к конфигурированию. Патчится ядро следующим образом: Далее, если по каким либо причинам на ядро необходимо наложить патч, то его следует скачать заранее и положить в каталог /usr/src. Если патчить ядро не нужно, можно смело переходить к конфигурированию. Патчится ядро следующим образом: # gzip -cd../patch-2.6.xx.gz | patch -p1 #или# bzip2 -dc../patch- 2.6.xx.bz2 | patch -p1 # gzip -cd../patch-2.6.xx.gz | patch -p1 #или# bzip2 -dc../patch- 2.6.xx.bz2 | patch -p1

Конфигурирование Текущая конфигурация ядра хранится в файле.config. Данный файл формируется при помощи одной из конфигурационных целей (цель - это, говоря простым языком, команда выполняемая в виде make цель): Текущая конфигурация ядра хранится в файле.config. Данный файл формируется при помощи одной из конфигурационных целей (цель - это, говоря простым языком, команда выполняемая в виде make цель): config config Цель config использует интерфейс командной строки для получения ответов многие на вопросы, касающиеся создания или обновления файла.config. Имхо, по сравнению с целями использующими меню - очень неудобная штука. Цель config использует интерфейс командной строки для получения ответов многие на вопросы, касающиеся создания или обновления файла.config. Имхо, по сравнению с целями использующими меню - очень неудобная штука. cloneconfig cloneconfig Копирование настроек текущего ядра в файл.config. Данная цель устарела и в новых ядрах заменена oldconfig. (удобно для добавления новых функций текущего ядра) Копирование настроек текущего ядра в файл.config. Данная цель устарела и в новых ядрах заменена oldconfig. (удобно для добавления новых функций текущего ядра)

Конфигурирование menuconfig menuconfig Цель menuconfig использует программу с меню-интерфейсом, построенную на базе ncurses, для создания или обновления файла.config. Вы должны только ответить на вопросы для элементов, которые хотите изменить. Этот подход заменил старую цель config. Выполняется в окне терминала удаленно или локально. Цель menuconfig использует программу с меню-интерфейсом, построенную на базе ncurses, для создания или обновления файла.config. Вы должны только ответить на вопросы для элементов, которые хотите изменить. Этот подход заменил старую цель config. Выполняется в окне терминала удаленно или локально. nconfig nconfig Цель nconfig использует программу с меню-интерфейсом, построенную на базе ncurses, для создания или обновления файла.config. Данная версия основана на menuconfig, но имеет более современный внешний вид. Добавлена после релиза Linux-ядра Вы должны только ответить на вопросы для элементов, которые хотите изменить. Выполняется в окне терминала удаленно или локально. Цель nconfig использует программу с меню-интерфейсом, построенную на базе ncurses, для создания или обновления файла.config. Данная версия основана на menuconfig, но имеет более современный внешний вид. Добавлена после релиза Linux-ядра Вы должны только ответить на вопросы для элементов, которые хотите изменить. Выполняется в окне терминала удаленно или локально.

Конфигурирование xconfig xconfig Цель xconfig использует систему графического меню, основанную на QT front-end, используемом в KDE desktop. Цель xconfig использует систему графического меню, основанную на QT front-end, используемом в KDE desktop. gconfig gconfig Цель gconfig использует систему графического меню, основанную на GTK front-end, используемом в GNOME desktop. Цель gconfig использует систему графического меню, основанную на GTK front-end, используемом в GNOME desktop. oldconfig oldconfig Цель oldconfig позволяет создать конфигурацию с использованием существующего файла.config, созданного ранее или взятого из другой системы. Например, вы можете скопировать конфигурационный файл для вашей системы из /lib/modules/$(uname -r)/build/.config в /usr/src/linux. Сделав это, можно использовать одну из целей меню конфигурации, чтобы при необходимости внести изменения. Цель oldconfig позволяет создать конфигурацию с использованием существующего файла.config, созданного ранее или взятого из другой системы. Например, вы можете скопировать конфигурационный файл для вашей системы из /lib/modules/$(uname -r)/build/.config в /usr/src/linux. Сделав это, можно использовать одну из целей меню конфигурации, чтобы при необходимости внести изменения.

Конфигурирование Список всех команд можно увидеть, введя make help. Список всех команд можно увидеть, введя make help. Одна из возможных ошибок при выполнении команды – отсутствие пакета ncurses. Лезем в репозиторий: Одна из возможных ошибок при выполнении команды – отсутствие пакета ncurses. Лезем в репозиторий: /usr/src/linux # yum list *ncurses* /usr/src/linux # yum list *ncurses* Строка: ncurses-devel - developer's libraries and docs for ncurses оказалась нужной. Давайте установим: Строка: ncurses-devel - developer's libraries and docs for ncurses оказалась нужной. Давайте установим: /usr/src/linux # yum install ncurses-devel /usr/src/linux # yum install ncurses-devel Готово, пробуем make menuconfig: Готово, пробуем make menuconfig:

Конфигурирование

Конфигурирование Мы видим заветное меню конфигурирования ядра. Ниже показаны различные опции, позволяющие включать компоненты в ядро или создавать модули. Когда опция подсвечена, при помощи клавиши пробела можно перемещаться между возможными вариантами для данного компонента. Чтобы активировать опцию, нажмите y, чтобы отключить -- n, чтобы создать, если это возможно, модуль, нажмите m. Выход из меню: Esc Esc. Мы видим заветное меню конфигурирования ядра. Ниже показаны различные опции, позволяющие включать компоненты в ядро или создавать модули. Когда опция подсвечена, при помощи клавиши пробела можно перемещаться между возможными вариантами для данного компонента. Чтобы активировать опцию, нажмите y, чтобы отключить -- n, чтобы создать, если это возможно, модуль, нажмите m. Выход из меню: Esc Esc. [*] Компонент будет включен в ядро. [*] Компонент будет включен в ядро. [ ] Компонент не будет включен в ядро. [ ] Компонент не будет включен в ядро. [M] Компонент будет оформлен в виде модуля. [M] Компонент будет оформлен в виде модуля. Компонент не будет включен в ядро, но может быть оформлен в виде модуля. Компонент не будет включен в ядро, но может быть оформлен в виде модуля. Перед внесением изменений в файл конфигурации ядра, сохраните его под другим именем - Save Configuration to an Alternative File Перед внесением изменений в файл конфигурации ядра, сохраните его под другим именем - Save Configuration to an Alternative File

Конфигурирование Во время конфигурирования ядра вы можете включать или исключать некоторые функции из состава ядра или же сделать нужную вам функцию модулем, т.е. в состав ядра данная функция включена не будет, но она будет использоваться при необходимости, например, если вы добавите в систему устройство, то будет подключен нужный модуль (при условии, что вы его откомпилировали) Во время конфигурирования ядра вы можете включать или исключать некоторые функции из состава ядра или же сделать нужную вам функцию модулем, т.е. в состав ядра данная функция включена не будет, но она будет использоваться при необходимости, например, если вы добавите в систему устройство, то будет подключен нужный модуль (при условии, что вы его откомпилировали) Наша задача - повышение производительности системы, этого можно достичь, если точно сконфигурировать ядро и исключить из его состава ненужный код. Наша задача - повышение производительности системы, этого можно достичь, если точно сконфигурировать ядро и исключить из его состава ненужный код. Ниже приведем описание основных разделов конфигурирования меню. Ниже приведем описание основных разделов конфигурирования меню. General setup Этот раздел позволяет добавить идентификационную строку к вашему ядру, а также ряд атрибутов, напимер, BIGMEM - для поддержки памяти более 1GB. General setup Этот раздел позволяет добавить идентификационную строку к вашему ядру, а также ряд атрибутов, напимер, BIGMEM - для поддержки памяти более 1GB.

Конфигурирование Enable loadable module support. Этот раздел содержит опции, определяющие, будет ли ваше ядро поддерживать модули и будут ли они подгружаться и выгружаться автоматически. Опцию "Enable loadable module support" следует включить. Enable loadable module support. Этот раздел содержит опции, определяющие, будет ли ваше ядро поддерживать модули и будут ли они подгружаться и выгружаться автоматически. Опцию "Enable loadable module support" следует включить. Processor type and features. Этот раздел содержит специфичные для данного типа процессора конфигурационные опции. Здесь вы можете выбрать процессор и семейство процессора, которые будут поддерживаться вашим ядром. Вы можете включать или отключать поддержку ядром различных возможностей, предоставляемых данным процессором. Включите поддержку многопроцессорных систем (symmetric multi-processing support), если имеется более одного процессора или процессор поддерживает технологию hyperthreading. Для получения большей производительности графической подсистемы в системах с AGP или PCI видеокартами следует включить поддержку MTRR. Processor type and features. Этот раздел содержит специфичные для данного типа процессора конфигурационные опции. Здесь вы можете выбрать процессор и семейство процессора, которые будут поддерживаться вашим ядром. Вы можете включать или отключать поддержку ядром различных возможностей, предоставляемых данным процессором. Включите поддержку многопроцессорных систем (symmetric multi-processing support), если имеется более одного процессора или процессор поддерживает технологию hyperthreading. Для получения большей производительности графической подсистемы в системах с AGP или PCI видеокартами следует включить поддержку MTRR.

Конфигурирование Power management options. В этом разделе помещены опции, касающиеся управления питанием. Особенно они важны для ноутбуков. Кроме контроля состояния питания, вы сможете найти там средства для контроля и мониторинга таких параметров как температура или состояние охлаждающего вентилятора. Power management options. В этом разделе помещены опции, касающиеся управления питанием. Особенно они важны для ноутбуков. Кроме контроля состояния питания, вы сможете найти там средства для контроля и мониторинга таких параметров как температура или состояние охлаждающего вентилятора. Bus options (PCI etc.) Этот раздел содержит опции для компьютерных шин, поддерживаемых вашей системой, таких как PCI, PCI Express и PC Card. Здесь вы можете включить поддержку файловой системы /proc/pci, которой можно пользоваться вместе с обычно используемой командой lspci. Bus options (PCI etc.) Этот раздел содержит опции для компьютерных шин, поддерживаемых вашей системой, таких как PCI, PCI Express и PC Card. Здесь вы можете включить поддержку файловой системы /proc/pci, которой можно пользоваться вместе с обычно используемой командой lspci. Executable file formats / Emulations Этот раздел содержит опции, касающиеся поддержки различных форматов бинарных файлов. Следует включить поддержку "ELF binary". Кроме того, можно включить поддержку DOS binaries для запуска их под DOSEMU. Наконец, для 64-битных систем, поддерживающих 32-битную эмуляцию, вы, возможно, захотите включить поддержку 32-битных приложений. Executable file formats / Emulations Этот раздел содержит опции, касающиеся поддержки различных форматов бинарных файлов. Следует включить поддержку "ELF binary". Кроме того, можно включить поддержку DOS binaries для запуска их под DOSEMU. Наконец, для 64-битных систем, поддерживающих 32-битную эмуляцию, вы, возможно, захотите включить поддержку 32-битных приложений.

Конфигурирование Networking. Здесь вы можете включить базовую поддержку сокетов, сетей TCP/IP, фильтрацию, маршрутизацию и bridging сетевых пакетов, а также поддержку различных протоколов, таких как IPV6, IPX, Appletalk и X.25. Кроме того, вы можете включить поддержку wireless, infrared и amateur radio. Networking. Здесь вы можете включить базовую поддержку сокетов, сетей TCP/IP, фильтрацию, маршрутизацию и bridging сетевых пакетов, а также поддержку различных протоколов, таких как IPV6, IPX, Appletalk и X.25. Кроме того, вы можете включить поддержку wireless, infrared и amateur radio. Device drivers Здесь вы можете включить поддержку большого числа аппаратных устройств, включая IDE/ATAPI или SCSI диски, или flash-диски. Включите DMA для ваших IDE устройств; иначе они будут работать в более медленной PIO-моде. Если вы хотите иметь поддержку multiple devices, таких как RAID или LVM, соответствующие опции также надо включить. Здесь вы также можете включить поддержку параллельного порта для работы с принтером через этот интерфейс. Здесь происходит конфигурирование широкого набора поддерживаемых сетевых устройств для различных сетевых протоколов, которые мы конфигурировали ранее. Device drivers Здесь вы можете включить поддержку большого числа аппаратных устройств, включая IDE/ATAPI или SCSI диски, или flash-диски. Включите DMA для ваших IDE устройств; иначе они будут работать в более медленной PIO-моде. Если вы хотите иметь поддержку multiple devices, таких как RAID или LVM, соответствующие опции также надо включить. Здесь вы также можете включить поддержку параллельного порта для работы с принтером через этот интерфейс. Здесь происходит конфигурирование широкого набора поддерживаемых сетевых устройств для различных сетевых протоколов, которые мы конфигурировали ранее.

Конфигурирование Здесь вы найдете опции поддержки устройств аудио- и видео- захвата, устройств USB и IEEE 1384 (Firewire), а также различного рода устройств аппаратного мониторинга. В разделе управления символьными устройствами (Character Devices) можно включить поддержку печати через параллельный порт и поддержку direct rendering. Здесь вы найдете опции поддержки устройств аудио- и видео- захвата, устройств USB и IEEE 1384 (Firewire), а также различного рода устройств аппаратного мониторинга. В разделе управления символьными устройствами (Character Devices) можно включить поддержку печати через параллельный порт и поддержку direct rendering. Firmware drivers Этот раздел содержит несколько опций, относящихся к установке и обновлению BIOS, таких как использование функций Dell System Management на некоторых системах производства компании Dell. Firmware drivers Этот раздел содержит несколько опций, относящихся к установке и обновлению BIOS, таких как использование функций Dell System Management на некоторых системах производства компании Dell. File systems Этот раздел предназначен для конфигурирования файловых систем, поддержку которых вы хотите иметь в вашем ядре, скомпилированных в виде модулей или нет. Также вы сможете найти здесь файловые системы для съемных дисковых устройств (дискеты, CD и DVD устройства), а также сетевых файловых систем, таких как NFS, SMB или CIFS. File systems Этот раздел предназначен для конфигурирования файловых систем, поддержку которых вы хотите иметь в вашем ядре, скомпилированных в виде модулей или нет. Также вы сможете найти здесь файловые системы для съемных дисковых устройств (дискеты, CD и DVD устройства), а также сетевых файловых систем, таких как NFS, SMB или CIFS.

Конфигурирование Поддержка различных типов разделов и национальных кодировок Native Language Support также располагаются в этом разделе. Поддержка различных типов разделов и национальных кодировок Native Language Support также располагаются в этом разделе. Также неплохо было бы включить поддержку квотирования (в случае с сервером). Также неплохо было бы включить поддержку квотирования (в случае с сервером). Помните, что так как initrd не используется, то драйвер файловой системы корневого раздела должен быть вкомпилен в ядро ((*), а не (M)). Помните, что так как initrd не используется, то драйвер файловой системы корневого раздела должен быть вкомпилен в ядро ((*), а не (M)). Kernel hacking Этот раздел позволяет включать режим отладки ядра и выбирать, какие дополнительные функции будут включены. Kernel hacking Этот раздел позволяет включать режим отладки ядра и выбирать, какие дополнительные функции будут включены. Security options Этот раздел предназначен для конфигурирования опций защиты, а также включения и конфигурирования SELinux (Security Enhanced Linux). Security options Этот раздел предназначен для конфигурирования опций защиты, а также включения и конфигурирования SELinux (Security Enhanced Linux).

Конфигурирование Cryptographic options В это разделе можно сконфигурировать поддержку различных алгоритмов шифрования, таких как MD4, DES и SHA256.Library routines Здесь вы можете указать ряд алгоритмов вычисления контрольных сумм (CRC), которые будут включены в ядро или собраны как модули. Cryptographic options В это разделе можно сконфигурировать поддержку различных алгоритмов шифрования, таких как MD4, DES и SHA256.Library routines Здесь вы можете указать ряд алгоритмов вычисления контрольных сумм (CRC), которые будут включены в ядро или собраны как модули. Осталось лишь слегка облегчить ядро, перейдя в раздел "Kernel hacking" и отключив "Kernel debugging", "Compile the kernel with frame pointers" и "Remote debugging over FireWire early on boot«. Осталось лишь слегка облегчить ядро, перейдя в раздел "Kernel hacking" и отключив "Kernel debugging", "Compile the kernel with frame pointers" и "Remote debugging over FireWire early on boot«.

Сборка Ядра Теперь, когда мы сконфигурировали ядро, мы готовы к его сборке. Если вы не знаете, каково состояние дерева для сборки, прежде чем приступать к конфигурированию нового ядра выполните make clean. Для более полной очистки выполните make mrproper (при этом - make mrproper - будет удален файл.config, а также некоторые другие файлы, используемые в процессе сборки). Теперь, когда мы сконфигурировали ядро, мы готовы к его сборке. Если вы не знаете, каково состояние дерева для сборки, прежде чем приступать к конфигурированию нового ядра выполните make clean. Для более полной очистки выполните make mrproper (при этом - make mrproper - будет удален файл.config, а также некоторые другие файлы, используемые в процессе сборки). В ходе пробы конфигурирования, желательно дать новому ядру специальное название, которое позволит вам легко его идентифицировать. Чтобы сделать это, необходимо установить значение Local version и активировать опцию Automatically append version information to the version string в соответствующей строке раздела General setup. В ходе пробы конфигурирования, желательно дать новому ядру специальное название, которое позволит вам легко его идентифицировать. Чтобы сделать это, необходимо установить значение Local version и активировать опцию Automatically append version information to the version string в соответствующей строке раздела General setup. В принципе, для сборки ядра не требуются полномочия root, несмотря на то, что для установки нового ядра эти полномочия необходимы. В принципе, для сборки ядра не требуются полномочия root, несмотря на то, что для установки нового ядра эти полномочия необходимы. Чтобы начать сборку ядра 2.6, необходимо выполнить make. Чтобы начать сборку ядра 2.6, необходимо выполнить make.

Сборка Ядра Если исходники ядра и компилятор установлены корректно, то примерно минут через 20 (это зависит от версии ядра и от быстродействия вашей системы), вы получите откомпилированное ядро. Если исходники ядра и компилятор установлены корректно, то примерно минут через 20 (это зависит от версии ядра и от быстродействия вашей системы), вы получите откомпилированное ядро. Обычно оно помещается в каталог /usr/src/linux/arch/i386/boot Обычно оно помещается в каталог /usr/src/linux/arch/i386/boot

Установка нового ядра Все, что осталось сделать - скопировать ядро в каталог /boot и внести изменения в конфигурационный файл загрузчика GRUB. Все, что осталось сделать - скопировать ядро в каталог /boot и внести изменения в конфигурационный файл загрузчика GRUB. # cp arch/x86/boot/bzImage /boot/kernel # cp arch/x86/boot/bzImage /boot/kernel После окончания сборки ядра, его необходимо установить. Перед установкой, необходимо выполнить make modules_install для установки модулей ядра в новый подкаталог /lib/modules. После установки модулей, необходимо выполнить make install для установки нового ядра и стартового RAM-диска (initial RAM disk) в каталог /boot и обновления конфигурации загрузчика. После окончания сборки ядра, его необходимо установить. Перед установкой, необходимо выполнить make modules_install для установки модулей ядра в новый подкаталог /lib/modules. После установки модулей, необходимо выполнить make install для установки нового ядра и стартового RAM-диска (initial RAM disk) в каталог /boot и обновления конфигурации загрузчика. Вот простейший конфиг GRUB: Вот простейший конфиг GRUB: default 0 default 0 timeout 15 timeout 15 title My Linux title My Linux kernel /boot/kernel root=/dev/sda2 kernel /boot/kernel root=/dev/sda2

Установка нового ядра В процессе сборки автоматически создается необходимый стартовый RAM-диск (initial RAM disk или initrd). Если у вас возникнет необходимость создать его вручную, это можно сделать при помощи команды mkinitrd. В процессе сборки автоматически создается необходимый стартовый RAM-диск (initial RAM disk или initrd). Если у вас возникнет необходимость создать его вручную, это можно сделать при помощи команды mkinitrd. После выполнения make install должен обновиться конфигурационный файл загрузчика. Но если не обновился, то выполните команду update-grub. После выполнения make install должен обновиться конфигурационный файл загрузчика. Но если не обновился, то выполните команду update-grub.

Возможные проблемы Если вы не укажите драйвер на жесткий диск или не правильно укажите "root=", ядро не сможет примонтировать корневой раздел и возле сообщения Kernel panic вы сможете найти нечто подобное: Если вы не укажите драйвер на жесткий диск или не правильно укажите "root=", ядро не сможет примонтировать корневой раздел и возле сообщения Kernel panic вы сможете найти нечто подобное: Please append a correct "root=" boot option: here are the availablepartitions: После этой строки будет перечислен список обнаруженных накопителей. Если вашего жесткого диска среди них нет, то вам надо пересобрать ядро, включив недостающие драйвера на жесткий диск. Если же ваш жесткий диск в этом списке есть, значит вы не правильно указали значение "root=". Please append a correct "root=" boot option: here are the availablepartitions: После этой строки будет перечислен список обнаруженных накопителей. Если вашего жесткого диска среди них нет, то вам надо пересобрать ядро, включив недостающие драйвера на жесткий диск. Если же ваш жесткий диск в этом списке есть, значит вы не правильно указали значение "root=". Так же часто люди забывают включить поддержку файловой системы корневого раздела в ядро и это так же является причиной неработоспособности ядра. Так же часто люди забывают включить поддержку файловой системы корневого раздела в ядро и это так же является причиной неработоспособности ядра.

Возможные проблемы Что еще почитать? Что еще почитать? 1. Ставим ядро 2.6, или Ядерная физика для домохозяйки. Версия 2.0: html 2. The Linux Kernel Module Programming Guide (Программирование ядра Linux): 3. Linux From Scratch: BOOK-5.0-HTML/ 1. Ставим ядро 2.6, или Ядерная физика для домохозяйки. Версия 2.0: html 2. The Linux Kernel Module Programming Guide (Программирование ядра Linux): 3. Linux From Scratch: BOOK-5.0-HTML/