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

Большинство Linux распространяются вместе с загрузочными дискетами, работающими со всеми основными типами аппаратных средств PC. Это означает, что ядро на этих дискетах имеет все виды драйверов, многие из которых вам никогда не пригодятся, но занимают драгоценную память системы, потому что части ядра не свопируются. Поэтому, вы должны собрать ваше собственное ядро, включая только необходимые вам драйвера.

При управлении Linux системой, вы должны быть знакомы со строением ядра. Основы этого объясняются в "Installation and Getting Started" написанной Matt Welsh, который является также частью проекта Linux документации. Потому, в этой секции мы будем обсуждать только те стороны конфигурации Linux, которые относятся к сети.

При запуске make config, сначала вас спрашивают общие вопросы конфигурации, например, хотите ли вы в ядре иметь математический эмулятор или нет, и т.д. Один из этих вопросов - хотите ли вы поддержку TCP/IP сети. Вы должны ответить y, чтобы получить ядро способное работать с сетью.

Опции ядра в Linux 1.0 и выше

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

Последующий список вопросов относится к проблемам поддержки сети. Точный набор опций конфигурации постоянно меняется из-за продолжающейся разработки. Типичный список опций, предлагаемых большинством версий ядра (в основном в 1.0 1.1) напоминает этот:

Network device support

Network device support? (CONFIG ETHERCARDS) [y]

Несмотря на макро название, указанное в скобках, вы должны ответить на этот вопрос y, если вы хотите использовать любой тип сетевых устройств, независимо от того, является ли оно Ethernet, SLIP, или PPP. При ответе y, поддержка для устройств Ethernet-типа разрешается автоматически. Поддержку для других типов сетевых драйверов нужно разрешить отдельно:

SLIP (serial line) support? (CONFIG SLIP) [y]

SLIP compressed headers (SL COMPRESSED) [y]

PPP (point-to-point) support (CONFIG PPP) [y]

PLIP (parallel port) support (CONFIG PLIP) [n]

Эти вопросы касаются различных протоколов связи, поддерживаемых Linux. SLIP позволяет вам транспортировать IP дэйтаграмы через последовательные линии. Опция сжатия заголовков обеспечивает поддержку CSLIP, позволяющий сжимать TCP/IP заголовки всего в три байта. Обратите внимание, что эта опция ядра не включает CSLIP автоматически, она просто обеспечивает необходимые функции для него.

PPP - другой протокол для построения сетей на последовательных линиях. Он еще более гибок, чем SLIP, и не ограничен только IP, но также поддерживает IPX. Так как поддержка PPP была закончена только недавно, эта опция может быть не представлена в вашем ядре.

PLIP обеспечивает пересылку IP дэйтаграм через параллельный порт. Он главным образом используется для того, чтобы связаться с PC под управлением DOS.

Следующие вопросы имеют отношение к Ethernet платам от различных поставщиков. Чем больше становится драйверов, тем больше станет вопросов. Если вы конфигурируете ядро для нескольких различных машин, вы можете установить больше, чем один драйвер.

NE2000/NE1000 support (CONFIG NE2000) [y]

WD80*3 support (CONFIG WD80x3) [n]

SMC Ultra support (CONFIG ULTRA) [n]

3c501 support (CONFIG EL1) [n]

3c503 support (CONFIG EL2) [n]

3c509/3c579 support (CONFIG EL3) [n]

HP PCLAN support (CONFIG HPLAN) [n]

AT1500 and NE2100 (LANCE and PCnet-ISA) support (CONFIG LANCE) [n]

AT1700 support (CONFIG AT1700) [n]

DEPCA support (CONFIG DEPCA) [n]

D-Link DE600 pocket adaptor support (CONFIG DE600) [y]

AT-LAN-TEC/RealTek pocket adaptor support (CONFIG ATP) [n]

CD-ROM drivers

... Наконец, в секции файловой системы, скрипт конфигурации спросит вас, хотите ли вы поддержку NFS. NFS позволяет вам экспортировать файловые системы с других хостов, так что файлы и директории кажутся находящимися на одной машине.

NFS filesystem support (CONFIG NFS FS) [y]

Опции ядра в Linux 1.1.14 и выше

При запуске Linux 1.1.14, в который добавили поддержку IPX, процедура конфигурации слегка изменена. Общая секция опций теперь спросит, хотите ли вы поддержку сети вообще. Что немедленно сопровождается парой вопросов о разных сетях.

Networking options

TCP/IP networking (CONFIG INET) [y]

Чтобы использовать TCP/IP сеть, вы должны ответить на этот вопрос "y".

IP forwarding/gatewaying (CONFIG IP FORWARD) [n]

Вы должны ответить "Y", если ваша система действует как gateway между двумя Ethernet, или между Ethernet и SLIP и т.д. Хотя не причинит вреда установить её по умолчанию, для конфигурации хоста как firewall, вы должны ответить "нет". Firewalls — это хосты, которые связаны с двумя или больше сетями, но не позволяют им общаться. Они обычно используются для обеспечения безопасного доступа пользователей к интернету.

PC/TCP compatibility mode (CONFIG INET PCTCP) [n]

Эта опция связана с несовместимостью с некоторыми версиями PC/TCP, коммерческими TCP/IP реализациями для DOS. Если вы активируете эту опцию, вы все равно сможете общаться с обычной Unix машиной, но это может ухудшить производительность на медленных соединениях.

Reverse ARP (CONFIG INET RARP) [n]

RARP используется бездисковыми клиентами и X-терминалами для определения своего IP-адреса при загрузке. RARP требуется только для работы с этими клиентами.

Assume subnets are local (CONFIG INET SNARL) [y]

При отправке данных по TCP, ядро разбивает поток на пакеты перед их передачей. Большие пакеты используются для локальных сетей, меньшие для удаленных соединений. Если вы активируете SNARL, ядро будет считать все подсети локальными и использовать большие пакеты для всех хостов в вашем локальном сегменте. Для определенных хостов вы можете указать меньший размер пакета с помощью опции маршрутизации mtu.

Disable NAGLE algorithm (CONFIG TCP NAGLE OFF) [n]

Алгоритм Nagle используется для предотвращения отправки множества маленьких IP-пакетов. Отключение этого алгоритма может быть полезно только при проблемах с получением пакетов.

The IPX protocol (CONFIG IPX) [n]

Эта опция активирует поддержку IPX, протокола, используемого в сетях Novell. Он находится в стадии разработки и пока не очень полезен. Единственное его применение — обмен данными с IPX-утилитами DOS и передача данных между вашими Novell сетями через PPP-соединение.

Dummy net driver support (CONFIG DUMMY) [y]

Фиктивный драйвер на самом деле ничего не делает, но может быть полезен на автономных хостах или на хостах с SLIP, но без Ethernet. Он предоставляет интерфейс, который всегда привязан к вашему IP-адресу.