4. Установка программного обеспечения AX.25 / NETROM / ROSE.

 

Чтобы успешно установить поддержку протокола AX.25 на вашей Linux системе,

Вы должны сначала сконфигурировать и установить соответствующее ядро и лишь

затем устанавливать утилиты AX.25.

 

4.1. Компилирование ядра.

 

Если Вы уже знакомы с процессом компилирования ядра Linux, тогда можете

пропустить этот раздел, только убедитесь, что ранее правильно выбрали

соответствующие опции при компилировании ядра. Если Вы не знакомы с

процессом компилирования ядра Linux, то внимательно прочтите этот раздел.

 

Обычное место для исходного текста ядра, который будет распакован, это -

/usr/src далее в подкаталог, определяемый OS Linux. Чтобы сделать это, Вы

должны войти в корневой каталог и выполнить серию команд, подобных

нижеследующим:

 

# mv linux linux.old

# сd /usr/src

# tar xvfz linux-2.0.31.tar.gz

# tar xvfz /pub/net/ax25/ax25-module-14e.tar.gz

# patch -p0 </usr/src/ax25-module-14/ax25-2.0.31-2.1.47-2.diff

# сd linux

 

После того, как Вы распаковали исходный текст ядра и выполнили обновление,

Вы должны запустить сценарий конфигурирования, определиться с параметрами

аппаратной конфигурации и задействовать опции, которые Вы желаете включить

в ядро. Сделайте это, используя команду:

 

# make menuconfig

 

Вы могли бы также попробовать:

 

# make config

 

Для полноты вашего восприятия, я собираюсь описывать подробный метод, но

выбор за Вами и Вы можете использовать тот метод, который наиболее удобен

для Вас. В любом случае система Вам предложит список параметров, на которые

Вы должны ответить - "Y" или "N". (Обратите внимание, что также можно

отвечать и "М", если Вы используете модули).

 

Выбор наиболее удобной конфигурации AX.25:

 

Code maturity level options  --->

...

[*] Prompt for development and/or incomplete code/drivers ...

General setup  --->

...

[*] Networking support

...

Networking options  --->

...

[*] TCP/IP networking

[?] IP: forwarding/gatewaying

...

[?] IP: tunneling

...

[?] IP: Allow large windows (not recommended if <16Mb of memory)...

[*] Amateur Radio AX.25 Level 2

[?] Amateur Radio NET/ROM

[?] Amateur Radio X.25 PLP (Rose)

...

Network device support  --->

[*] Network device support

...

[*] Radio network interfaces

[?] BAYCOM ser12 and par96 driver for AX.25

[?] Soundcard modem driver for AX.25

[?] Soundmodem support for Soundblaster and compatible cards

[?] Soundmodem support for WSS and Crystal cards

[?] Soundmodem support for 1200 baud AFSK modulation

[?] Soundmodem support for 4800 baud HAPN-1 modulation

[?] Soundmodem support for 9600 baud FSK G3RUH modulation

[?] Serial port KISS driver for AX.25

[?] BPQ Ethernet driver for AX.25

[?] Gracilis PackeTwin support for AX.25

[?] Ottawa PI and PI/2 support for AX.25

[?] Z8530 SCC KISS emulation driver for AX.25

...

 

На опции  помеченные "*", Вы должны ответить "Y", Ваши ответы на остальные

вопросы зависят от того, какими аппаратными средствами Вы располагаете

и какие другие параметры для Вас желательны. Некоторые из этих параметров

будут описаны ниже более подробно, если Вы не знаете, что выбрать, читайте

дальше, а позже возвратитесь к этому шагу. После того, как Вы закончили

конфигурировать ядро, Вы должны скомпилировать новое ядро:

 

    # make dep

    # make clean

    # make zImage

 

Убедитесь, что Вы переместили Ваш arch/i386/boot/zImage, куда хотели его

поместить и затем отредактируйте /etc/lilo.conf файл и повторно выполните

сценарий lilo, чтобы быть уверенным в том, что Вы загружаетесь с новым ядром.

 

4.1.1. Информация о модульном ядре.

 

Я рекомендую, чтобы Вы не компилировали любой из драйверов как модуль. Много

людей экспериментировавших с модульной работой компонентов имели проблемы не

потому, что программное обеспечение дефектно, а потому что модули более

сложны чем представляется при установке и конфигурировании.

 

Если же Вы все же решили компилировать любой из компонентов как модули, то

должны использовать:

 

# make modules

# make modules_install

 

и далее определиться с соответствующим размещением для этих модулей.

 

Вы также должны добавить некоторые входы в ваш /etc/conf.modules файл,

который будет гарантировать, что программа kerneld знает, как обработать

модули ядра. Вы должны добавить / изменить нижеследующее:

 

  alias net-pf-3      ax25

  alias net-pf-6      netrom

  alias net-pf-11     rose

  alias tty-ldisc-1   slip

  alias tty-ldisc-3   ppp

  alias tty-ldisc-5   mkiss

  alias bc0           baycom

  alias nr0           netrom

  alias pi0a          pi2

  alias pt0a          pt

  alias scc0          optoscc  (или один из других SCC драйверов)

  alias sm0           soundmodem

  alias tunl0         newtunnel

  alias char-major-4  serial

  alias char-major-5  serial

  alias char-major-6  lp

 

4.1.2. Что является новым в ядрах 2.0. * + ModuleXX или 2.1.*.

 

Ядро 2.1.* расширило возможности почти всех версий драйверов и протоколов.

 

Наиболее существенное из обновления возможностей:

 

Модульное построение протоколов и драйверов теперь таково, что Вы можете

загружать (insmod) и выгружать (rmmod) их всякий раз, когда Вам это

необходимо. Это уменьшает требования ядра к памяти при отключении редко

используемых модулей и делает поиск ошибок более простым.

Однако, всё вышесказанное немного усложняет конфигурацию.

 

Все драйвера - теперь сетевые драйвера. Сетевые устройства типа Baycom,

SCC, PI, Packettwin и т. д. теперь имеют вид обычного сетевого интерфейса,

они теперь напоминают драйвер локальной сети на основе протокола CSMA-CD

и больше не похожи на TNC'S KISS. С помощью новой утилиты, которая

называется net2kiss Вы можете сформировать KISS интерфейс любого устройства

по вашему желанию. Имеются многие исправления дефектов, добавлены новые

характеристики к драйверам и протоколам. Протокол Rose является одним из

важных дополнений.

 

4.2. Инструментальные средства сетевого конфигурирования.

 

Теперь, когда Вы скомпилировали ядро, нужно скомпилировать новые сетевые

инструментальные средства конфигурации. Эти инструментальные средства

позволят Вам изменять конфигурацию сетевых устройств и прибавлять маршруты

к таблице маршрутизации. Новый (опытный) выпуск стандартного пакета с

сетевыми инструментальными средствами включает поддержку для NETROM и

AX.25. Я проверил их, и мне кажется, работает нормально.

 

4.2.1. Комплект корректоров, которые добавляют поддержку ROSE и устраняют

некоторые ошибки.

 

Стандартный пакет сетевых инструментальных средств - 1.33.tar.gz имеет

некоторые ошибки, которые затрагивают поддержку NETROM и AX.25. Я сделал

небольшой комплект корректоров, который исправляет их и добавляет поддержку

ROSE и инструментальным средствам.

 

Вы можете получить корректоры на: zone.pspt.fi

<ftp://zone.pspt.fi/pub/linux/HAM/ax25/nettools-1.33.Rose.tjd.diff.gz>.

 

4.2.2. Формирование стандартного выпуска сетевых инструментальных средств.

 

Не забывайте читать информационный файл и следовать за любыми его командами.

Мои обычные действия при компилировании инструментальных средств, следующие:

 

# cd /usr/src

# tar xvfz net-tools-1.33.tar.gz

# zcat net-tools-1.33.rose.tjd.diff.gz | patch -p0

# cd net-tools-1.33

# make config

 

На этом этапе Вам будет задан ряд вопросов по предполагаемому

конфигурированию, подобных вопросам при конфигурировании ядра. Убедитесь,

что вы включили поддержку для всех протоколов и сетевых типов устройств,

которые Вы предполагаете использовать. Если Вы не знаете, как ответить, на

специфический вопрос, тогда отвечайте "Y".

 

После завершения трансляции, Вы должны дать команду:

 

# make install

 

Эта команда для того, чтобы установить программы в их надлежащее место.

 

Если Вы собираетесь использовать средства IP firewall, то Вам будет

необходим обновленный firewall инструмент администрирования - ipfwadm.

Этот инструмент заменяет старый ipfw инструмент, который не будет

работать с новыми ядрами.

 

Я компилировал утилиту ipfwadm со следующими командами:

 

# Cd /usr/src

# tar xvfz ipfwadm-2. 0beta2. tar.gz

# cd ipfwadm-2. 0beta2

# make install

# cp ipfwadm.8 /usr/man/man8

# cp ipfw.4 /usr/man/man4

 

4.3. Использование AX.25 и сервисные программы.

 

После того, как Вы успешно компилировали и загрузили новое ядро,

Вы должны скомпилировать пользовательские программы. Чтобы компилировать

и установить пользовательские программы, Вы должны использовать ряд

команд, подобных нижеследующим:

 

# cd |usr|src

# tax xvfz ax25-utils-2/1/42a/tar/gz

# cd ax25-utils-2/1/42a

# make config

# make

# make install

 

Файлы будут установлены в каталоге /usr, по умолчанию в подкаталогах:

bin, sbin, etc, main.

 

Если эта инсталляция выполняется впервые, и вы никогда раньше не

устанавливали никаких AX25 утилит на Вашей машине, то Вы должны выполнить:

 

# make installconf

 

Эта команда выполняется для того, чтобы установить некоторые типовые

конфигурационные файлы в каталог /etc/ax25/.

 

Если Вы получаете сообщения что-то вроде:

 

gcc -Wall -Wstrict-prototypes -O2 -I../lib -c call.c call.c:

In function `statline':

call.c:268: warning: implicit declaration of function `attron'

call.c:268: `A_REVERSE' undeclared (first use this function)

call.c:268: (Each undeclared identifier is reported only once

call.c:268:  for each function it appears in/)

 

Тогда Вы должны ещё раз проверить, что Вы имеете в вашей системе,

должным образом установленный пакет ncurses. Конфигурационный сценарий

пытается расположить ваши ncurses пакеты в обычных размещениях, но

некоторые инсталляции имели плохо установленный пакет ncurses, и

система не в состоянии расположить их.