Главная » 2013 » Декабрь » 12 » 18.2. Конфигурирование ядра
02:04
18.2. Конфигурирование ядра

Итак, немного разобравшись в параметрах ядра, приступим к его конфигурированию. Однако перед тем как приступить, убедитесь, что у вас установлены исходники ядра и пакет заголовков:

Затем перейдите в каталог, который содержит исходные тексты ядра. Обычно это /usr/src/linux или /usr/src/linux‑2.2.17. По сути linux – это ссылка на каталог linux‑2.2.17. Все действия нужно выполнять от имени суперпользователя:

Затем введите одну из следующих команд:

В первом случае вам будет задан ряд вопросов, кстати, очень длинный, на который вам предстоит ответить. Я рекомендую команду make menuconfig – это намного удобнее (рис. 18.1). В этом случае вы можете редактировать конфигурацию ядра с помощью меню. Параметр xconfig аналогичен menuconfig, только предназначен для запуска из‑под системы X‑Window (см. рис. 18.2).

Рис. 18.1. Программа Menuconfig

Рис. 18.2. Программа xconfig

Перед внесением изменений в файл конфигурации ядра, сохраните его под другим именем – Save Configuration to an Alternative File. Во время конфигурирования ядра вы можете включать или исключать некоторые функции из состава ядра или же сделать нужную вам функцию модулем, то есть в состав ядра данная функция включена не будет, но она будет использоваться при необходимости. Например, если вы добавите в систему устройство, то будет подключен нужный модуль, при условии, что вы его откомпилировали. Главная задача – повышение производительности системы, этого можно достичь, если точно сконфигурировать ядро и исключить из его состава ненужный код.

18.2.1. Processor type and features

Здесь можно указать тип процессора и его функции, например, поддержка памяти более 1 Гб, MTRR, эмулирование математического сопроцессора.

Рис. 18.3. Processor type and features

Очень важно правильно указать тип процессора: после того, как я правильно указал тип своего процессора, производительность системы повысилась примерно в 1,5 раза, особенно это стало ощутимо при загрузке системы. Данная функция используется для оптимизации работы процессора. Если вы укажете тип процессора, например, 486, 586, Pentium, PPro, ядро не обязательно будет запускаться на более ранней архитектуре. Например, если вы укажете Pentium, ядро будет работать на PPro (хотя и медленнее), но нет никакой гарантии, что оно запустится на 486. В табл. 18.1 приведены типы процессоров, которые рекомендуются для получения наибольшей производительности.

Типы процессоров Таблица 18.1

Тип

Процессоры

386

Процессоры производства AMD/Cyrix/Intel 386DX/DXL/SL/SLC/SX, Cyrix 486DLC/DLC2, UMC 486SX‑S

486/Сх486

AMD/Cyrix/Intel/IBM DX4, 486DX/DX2/SL/SX/SX2 AMD/Cyrix 5x86 NexGen Nx586, UMC USD или U5S

586/К5/5х86/6х86

Обычные (самые первые) процессоры Pentium, AMD K5

Pentium/K6/TSC

Intel Pentium/Pentium MMX, AMD K6,K6‑3D

PPro/6х86МХ

Intel Pentium II/Pro, Cyrix/IBM 6x86MX, MM

В моем случае ядро было оптимизировано под 586/К5. После того, как я установил PPro, Linux заработал быстрее (для справки: я использую Intel Celeron 433А). Объем памяти – установите 1 Гб, если, конечно, у вас менее 1 Гб.

Math emulation

Включите эту опцию, если вы используете один из следующих процессоров: 386SX/DX/SL/SLC без 80387, 486SL/SX/SX2.

SMP (Symmetric multi‑processing support)

Скорее всего, у вас установлен один процессор и эту опцию вам нужно будет отключить – зачем включать лишний код в ядро? Если же вы счастливый обладатель мультипроцессорной машины, включите данную опцию. При включении SMP укажите правильный тип процессора. Вы должны указать хотя бы 586. Ядро не запустится, если у вас выбран тип процессора 486. Также ядро не будет работать, если ваш компьютер оснащен процессором Pentium, а вы установили тип процессора PPro. Если у вас мультипроцессорная машина, вы должны также включить опцию Enhanced Real Time Clock Support. Опция Advanced Power Management у вас будет отключена при использовании SMP.

MTRR

В семействе процессоров Intel P6 (Pentium Pro, Pentium II и выше) используются специальные регистры – Memory Type Range Registers (MTRR). Эти регистры используются для управления доступом процессора к различным диапазонам памяти. Включение этой опции может существенно повысить производительность системы, особенно если вы используете видеокарту PCI или AGP. Данную возможность поддерживают процессоры и посторонних производителей: Cyrix 6x86, 6х86МХ, MII, AMD K6‑2 (stepping 8 и выше), К6‑3, Centaur С6. Некоторые BIOS устанавливают MTRR для первого процессора, но отключают для второго. Активизация данной опции также решает и эту проблему. Если вы не уверены, поддерживает ли ваш процессор MTRR, все равно включите данную опцию. Поддержка MTRR увеличит объем ядра всего лишь на 3 Кб.

18.2.2. Loadable module support

Если вы планируете использовать загружаемые модули, включите все функции. Можно создать компактную версию ядра, которая вообще не использует модули, а поддержка всех необходимых устройств будет включена непосредственно в ядро. В этом случае можно отключить все функции в этой секции.

18.2.3.General setup

BIGMEM

Поддержка памяти более 1GB.

Networking support

Включите эту опцию, даже если вы не планируете работу в сети. Функции печати в Linux требуют сетевой поддержки.

PCI support

Поддержка шины PCI.

PCI quirks

Эту опцию нужно использовать, если у вас неисправна BIOS. Некоторые BIOS содержат ошибки, которые могут привести к сбоям при работе с PCI. Данная опция должна исправить эту ошибку. Если вы неуверенны, включите ее. Позже можно будет поэкспериментировать. Если же BIOS исправна, эту функцию можно спокойно отключить и тем самым внести вклад в повышение производительности системы.

PCI bridge optimization (experimental)

Оптимизация моста PCI – для любителей экспериментов. Система может работать нестабильно. Попробовать можно, но я бы не стал жертвовать надежностью ради производительности.

Backward‑compatible /proc/pci

Старые версии ядра поддерживали файл /proc/pci, который содержит перечень всех PCI‑устройств. Некоторые программы используют этой файл, например, для сбора информации о системе. В новых ядрах используется файл /proc/bus/pci. Для поддержки обратной совместимости рекомендуется включить эту опцию. Если вы ее отключите, то у вас будет только один (новый) интерфейс /proc/bus/pci.

MCA support

Данная опция устанавливает поддержку шины MCA. MCA – шина передачи данных, разработанная IBM, – использовалась в системах PS1/PS2. Шина МСА снята с производства и не используется.

Рис. 18.4. General setup

System V IPC

Просто включите эту опцию. Более подробно о ней вы можете прочитать на сайте metalab (ftp://metalab. unc. edu/pub/Linux/docs/LDP/programmers‑guide).

BSD Process accounting

При включении этой опции программы пользовательского уровня будут информировать ядро о времени своего создания, владельце, использовании памяти и терминалов. Данную опцию рекомендуется включить.

Sysctl support

Включает поддержку Sysctl. Sysctl позволяет изменять параметры ядра без перекомпилирования во время загрузки. Поддержка sysctl увеличивает размер ядра на 8 Кб. Если ядро, которое вы компилируете, не предназначено для дисков загрузки/восстановления, включите эту опцию.

Kernel support for a. out/ELF/MISC/JAVA binaries

Linux‑программы используют ELF‑формат. Поэтому его нужно включить в состав ядра, а остальные использовать в качестве модулей.

Parallel port support

Поддержка параллельного порта.

PC‑style hardware

Вы должны включить эту опцию (или хотя бы модулизировать ее), если вы используете параллельный порт типа PC. Все компьютеры, совместимые с IBM PC, и некоторые Alpha используют именно этот тип порта.

Support foreign hardware

Включите эту опцию, если вы используете другой (не PC) тип параллельного порта.

Advanced Power Management (АРМ) BIOS support

Поддержка расширенного управления питанием: АТХ, «green»‑устройства (например, VESA‑мониторы). Если вам нужно отключить эту функцию во время загрузки, введите в качестве параметра ядра apm=off. При возникновении проблем проверьте следующее:

1. Наличие достаточного количества свопа (объема файла подкачки), а также убедитесь, что раздел подкачки включен.

2. Передайте ядру инструкцию no‑hlt.

3. Попробуйте отключить поддержку сопроцессора (инструкция по387).

4. Передайте ядру инструкцию floppy‑nodma.

5. Убедитесь, что процессор не «разогнан».

6. Установите новый вентилятор для процессора.

Support Enable PM at boot time

Включает АРМ во время загрузки системы. Если эта опция отключена, BIOS не будет управлять питанием устройств, входить в режимы Standby и Suspend, а также не будет производить никаких действий в ответ на вызовы процессора CPU Idle. Если ваш компьютер зависает во время загрузки, выключите эту опцию. Make CPU Idle calls when idle

Во время цикла простоя ядра разрешает вызовы к АРМ. Включение данной опции может привести к зависанию компьютера во время загрузки! Если компьютер использует несколько процессоров, эта опция игнорируется. Заметьте, сколько процессоров именно Использует компьютер, а не сколько в нем установлено. Если у вас два процессора, а вы используете только один и поддержка SMP у вас отключена, данная опция игнорироваться не будет!

Enable console blanking using АРМ

Включает мерцание консоли при использовании АРМ. Некоторые лэптопы могут использовать эту опцию для того, чтобы отключить подсветку LCD‑экрана, когда активизирован хранитель экрана на одной из виртуальных консолей Linux.

Ignore multiple suspend/resume cycles

Эта опция необходима для ноутбуков Dell Inspiron 3200 и некоторых других для нормальной работы АРМ. Прежде чем активизировать эту опцию, прочитайте документацию по вашему ноутбуку.

RTC stores time in GMT

Если ваш аппаратный таймер сохраняет время в формате GMT, включите эту опцию, иначе она должна быть отключена. Если опция выключена, сохраняется локальное время. Рекомендуется сохранять время в формате GMT. Allow interrupts during АРМ BIOS calls

Обычно прерывания внешних устройств запрещены во время выполнения процедур АРМ. BIOS некоторых ноутбуков разрешает прерывания внешних устройств, например, IBM ThinkPad. По умолчанию данная опция выключена. Если вы не уверены, не включайте ее.

18.2.4. PnP support

В данной секции задается поддержка Plug and Play.

18.2.5. Block devices

Normal PC floppy disk support

Если вы хотите использовать FDD в Linux, включите эту опцию.

Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support

Выключите эту опцию, если ваша система оснащена только SCSI‑устройствами.

Use old disk‑only driver on primary interface

Данная опция устанавливает старый драйвер для управления Primary master интерфейсом IDE. Обычно ее нужно отключить, чтобы был использован новый драйвер для всех четырех дисков (Primary master, Primary slave, Secondary Master, Secondary slave). Ее также нужно отключить, если у вас на компьютере используются только SCSI‑устройства.

Include IDE/ATA‑2 Disk support

Поддержка IDE/ATA‑2 дисков. Опцию можно отключить, только если вы не используете АТА‑диски.

Use multi‑mode by default

При возникновении ошибки вида:

Включите эту опцию.

Include IDE/ATAPI CDROM support

Поддержка привода CDROM. При отсутствии такового отключите ее для уменьшения размера ядра.

Include IDE/ATAPI TAPE support

Поддержка IDE/ATAPI‑стримера.

Include IDE/ATAPI FLOPPY support

Поддержка IDE/ATAPI‑флопии. Если вы используете LS‑120 или lomega‑ZIP, включите эту опцию.

SCSI emulation support

Позволяет использовать драйвер SCSI для устройств с интерфейсом ATAPI, для которых нет родного драйвера. Все остальные опции в данной секции предназначены для поддержки конкретных чипсетов. Рекомендую оставить поддержку только тех устройств, которые имеются в вашей системе.

18.2.6. Networking options

Рис. 18.5. Networking options

Packet Socket

Протокол Packet используется программами, которые обмениваются данными непосредственно с сетевыми устройствами без промежуточных сетевых протоколов, например, tcpdump.

Kernel/User netlink support

Просто включите эту опцию. В данной секции задания сетевых настроек я рекомендую включить опции, указанные в табл. 18.2.

Опции сети Таблица 18.2

Опция

Описание

Routing messages

Сообщения маршрутизатора

Netlink device emulation

Опция обратной совместимости. Скоро будет удалена, но сейчас она нужна

Network firewalls

Поддержка firewall

Socket Filtering

Фильтр сокетов

UNIX domain sockets

Поддержка UNIX‑сокетов. Не отключайте эту опцию

TCP/IP networking

Поддержка TCP/IP обязательно должна быть включена

IP:firewalling (*)

IpChains

IP:firewall packet (*)

IpChains

IP: transparent proxy support (*)

Прозрачный прокси

IP: masquerading (*)

IP‑маскарадинг

IP: ICMP masquerading (*)

ICMP‑маскарадинг

IP: masquerading virtual server support (*)

IP‑маскарадинг для виртуальных серверов

IP: broadcast GRE over IP (*)

Поддержка broadcasting в WAN

IP: aliasing support

Поддержка псевдонимов

IP: TCP syncookie support

Рекомендуется включить из соображений безопасности. Противодействует SYN‑атакам

IP: allow large windows

Позволяет повысить производительность при работе в сети. Не рекомендуется при объеме памяти менее 16 Мб

Опции, отмеченные звездочкой (*), требуются в случае конфигурирования сервера. При создании сервера также потребуется включение ряда дополнительных опций в зависимости от его назначения. Из соображений безопасности включение поддержки firewall и на рабочей станции не будет лишним.

18.2.7. SCSI support

В данной секции можно установить параметры SCSI. При отсутствии в системе SCSI‑устройств можно отключить все.

18.2.8. Network device support

Здесь можно указать поддерживаемые протоколы (например, РРР), а также типы поддерживаемых сетевых адаптеров. Отключите все, что не используете. Например, если у вас установлена PCI‑сетевая плата, то особого смысла включения поддержки других ISA‑сетевых плат я не вижу.

18.2.9.IrDA, USB support

Поддержка соответственно IrDA– и USB‑устройств.

Рис. 18.6. USB support

18.2.10. Filesystems

Здесь принцип такой: все, что нужно – встраивайте в ядро, остальное – или исключайте, или используйте в качестве модуля. При этом я рекомендую включить в ядро следующие файловые системы:

Second ext fs (ext2), ISO 9660, MS Joliet CDROM extension, VFAT, /proc, /dev/pts

В виде модулей следующие: MS DOS FAT, MINIX. Также неплохо было бы включить поддержку квотирования, если вы настраиваете сервер.

18.2.11. Sound

Включите поддержку звука, если у вас есть звуковая плата. Во всем остальном следует поступить так, как и в случае с сетевыми платами – включить в ядро только используемую звуковую плату, а все остальные отключить (даже не использовать в качестве модуля). Точнее включить код драйвера для вашей звуковой платы непосредственно в ядро вам, скорее всего, не удастся, но вы его можете использовать в качестве модуля, а все остальные модули даже не компилировать.

Категория: Компилирование ядра | Просмотров: 401 | Добавил: spb_serge | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: