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, и
система не в
состоянии расположить их.