17.4.5.1 Модеми при системи с постоянна скорост
За да подържате фиксирана
скорост, ще трябва да настроите независимо съотношение на
предаване
на данните. За външен USR Sportster 14400 Kbps, следните
команди ще
фиксират отношението на предаване на данни между компютър и
модем:
ATZ
AT&B1W
17.4.5.2 Модеми при системи с променлива скорост
За системи с променлива
скорост, ще трябва да настроите модема да нагажда бързината
си на
предаване към входящата. При външен USR Sportster 14400
Kbps,
следните команди ще фиксират съотношението на модема за
коригирани
данни към това за подаване на команди, но ще позволят
скоростта за
некоригирани данни да бъде променлива:
ATZ
AT&B2&
17.4.5.3 Проверка на настройките на модема
Повечето високоскоростни
модеми осигуряват команди, с които да прегледате текущите
му
настройки в що годе четим вид от хората. При външните USR
Sportster
14400 Kbps, командата ATI5 показва настройките, съхранявани
в
обикновената памет. За да видите истинските настройки на
модема,
използвайте ATZ и после ATI4.
Ако имате различна марка,
проверете наръчника към него как да прегледате и променяте
неговите
настройки.
17.4.6 Отстраняване на проблеми
Ето няколко стъпки, които
можете да последвате за проверка на дайъл-ъп модема към
вашия сървър.
17.4.6.1 Проверка на операционната система
Свържете модема, заредете
FreeBSD и ако вашият модем има лампички, гледайте дали DTR
индикатора
светва, когато се появява логин промпт на конзолата - ако
свети това
означава, че FreeBSD е стартирала getty процес върху
съответните
портове и чака модема да приема обаждания. Ако DTR
индикатора не
свети, влезте във FreeBSD машината чрез конзолата и
въведете ps ax,
за да видите дали FreeBSD се опитва да стартира getty
процес върху
правилния порт. Би трябвало в получения резултат да видите
редове
сходни на тези по долу:
114 ?? I 0:00.10
/usr/libexec/getty V19200 ttyd0
115 ?? I 0:00.10
/usr/libexec/getty V19200 ttyd1
Ако видите нещо различно, подобно на:
114 d0 I 0:00.10
/usr/libexec/getty V19200 ttyd0
и модемът все още не е
приел обаждания, това означава че getty е отворил
комуникационния
порт. Възможно е да има кабелен проблем или неправилно
настроен
модем, понеже getty няма да е в състояние да отвори порта
преди CD
сигнал да е бил подаден от модема.
Ако не виждате getty
процеси да чакат да отворят желаните портове, проверете
много
внимателно какво сте писали в /etc/ttys. Проверете също
/var/log/messages за съобщения от init или getty, засягащи
каквито и
да било проблеми. Ако има такива, проверете още
по-старателно в
/etc/ttys и в /etc/gettytab, както и файловете /dev/ttydN
за грешки,
липсващи редове или липсващи устройства в /dev.
17.4.6.2 Опитайте да влезете
Опитайте да влезете в
системата използвайки модем на отдалечената машина -
задайте му
следните опции - 8 бита, без паритет и 1 бит за прекъсване
(stop
bit). Ако не получите логин промпт веднага, натиснете Enter
веднъж на
всяка секунда. Ако все още не веждате login: след известно
време,
опитайте да изпратите сигнал за прекъсване (BREAK).
Ако използвате
високоскоростни модеми, опитайте да наберете отново след
фиксиране на
скоростта на набиране (чрез AT&B1 на USR Sportster,
примерно).
Ако все още не получавате
login:, проверете /etc/gettytab отново и проверете наново
за следните
неща:
- Първоначалната конфигурация в /etc/ttys съответства на
ред със същите свойства в /etc/gettytab
- Всеки nx= ред съответства на друг такъв със същите
свойства в gettytab
- Всеки tc= ред съотвества на друг от gettytab със
същите свойства
Ако набирате, но модемът на
FreeBSD сървъра не отговаря, проверете дали е настроен да
отговаря
при подаване на DTR. Ако модемът изглежда, че е настроен
правилно,
проверете дали се подава DTR, като наблюдавате светлинния
индикатор
(ако има такъв).
Ако сте минали през всичко
няколко пъти и все още не работи, починете и работете по
въпроса
по-късно. При липса на резултат, може да изпратите
съобщение на
пощенския списък за общи въпроси за FreeBSD:
freebsd-questions@FreeBSD.org,
описвайки модема си и трудностите, които имате и добрите
хора от
списъка ще се опитат да помогнат.
17.5 Изходящо набиране (dial-out)
Следните трикове са за
свързване на вашата с друга машина през модем. Това е
подходящо за
установяване на терминална сесия с отдалечен хост. Полезно
е за
влизане в BBS.
Този тип връзки могат да
бъдат много полезни да източите файл от мрежата, ако имате
проблеми с
PPP. Ако имате нужда да ползвате FTP и PPP е повреден,
използвайте
терминална сесия за тази цел. После използвайте zmodem да
го
прехвърлите на вашата машина.
17.5.1 Mоят Хейс модем не е подържан, какво да
правя?
Всъщност, страницата от
наръчника за тип (tip) е остаряла. Вече съществува подръжка
за Хейс
модеми. Просто използвайте at=hayes във файла си
/etc/remote.
Хейс драйвърът не е много
рафиниран да разпознава някои от новите характеристики на
новите
модеми - съобщения като BUSY, NO DIALTONE или CONNECT
115200 или ще
ги сбърка с друго. Трябва да изключите тези съобщения,
когато
ползвате tip (става с ATX0&W).
Също така, паузата за
набиране е 60 секунди. Вашият модем трябва да ползва
по-малка пауза,
иначе tip ще мисли, че има проблем с комуникациите.
Опитайте с
ATS7=45&W.
Забележка:
Доставяната версия на tip, все още не подържа Хейс
модемите
вапълно. Решението е да се редактира файла tipconf.h в
/usr/src/usr.bin/tip/tip. Очевидно е, че ще се нуждаете от
изходния
код за тази цел.
Променете реда #define
HAYES 0 на #define HAYES 1. После въведете make и make
install на
конзолата. Всичко работи прекрасно след това.
17.5.2 Нима очаквате да въвеждам всичко?
Има и по-хитър начин -
направете ''директен" опис в /etc/remote. Например,
ако вашият
модеме свързан към първия сериен порт - /dev/cuaa0,
въведете следния
ред:
cuaa0:dv=/dev/cuaa0:br#19200:pa=none.
Използвайте най-високата
скорост на вашия модем в низа br . После, напишете tip
cuaa0 и ще се
свържете с модема. Ако няма такова устройство на машината
ви,
направете следното:
# cd /dev
# sh MAKEDEV cuaa0
Или използвайте cu програмата като root:
# cu -lline -sspeed
където line е серийният
порт (например /dev/cuaa0) and и speed е скоростта
(примерно 57600).
След като привършите въвеждането на AT командите, натиснете
~. за да
излезете.
17.5.3 Знакът @ за телефонната функция не работи!
Знакът @ за телефонната
функция указва на tip да погледне в /etc/phones за
телефонен номер.
Също така е и специален знак, използван в конфигурационни
файлове
като /etc/remote. Освободете се от второто значение с
помощта на
обърната наклонена черта:
pn=\@
17.5.4 Как да набирам телефонни номера от команден ред
?
Сложете ''обща"
конфигурация във файла /etc/remote. Ето и пример:
tip115200|Dial
any phone number at 115200 bps:\
:dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
tip57600|Dial
any phone number at 57600 bps:\
:dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:
След това ще можете да
пишете:
# tip
- 115200 5551234
Ако предпочитате cu пред
tip, изполвайте ''общ" cu низ:
cu115200|Use
cu to dial any number at 115200bps:\
:dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:
и въведете:
# cu 5551234 -s 115200
17.5.5 Трябва ли всеки път да въвеждам скоростта?
Сложете ред за tip1200 или
cu1200, но можете да сложите каквато скорост си искате във
низа br.
Тip смята, че 1200 bps е добра скорост по подразбиране. Ето
защо
търси ред tip1200. Хубавото е, че не сте длъжни да
използвате 1200
bps.
17.5.6 Достъп до множество машини през терминален
сървър
Вместо да чакате да бъдете
свързан и да пишете: CONNECT <host> всеки път,
използвайте cm
функцията на tip. Ето примерен опис в /etc/remote:
pain|pain.deep13.com|Forrester's
machine:\
:cm=CONNECT
pain\n:tc=deep13:
muffin|muffin.deep13.com|Frank's
machine:\
:cm=CONNECT
muffin\n:tc=deep13:
deep13:Gizmonics
Institute terminal server:\
:dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:
който ще ви позволи да
пишете tip pain или tip muffin, за да се свържете към
хостовете pain
или muffin и tip deep13 за да влезете в терминалния
сървър.
17.5.7 Може ли tip да набира повече от една линия на
сайта?
Това чест е проблем при
университетите, където няколко хиляди студенти се опитват
да ползват
няколкото налични модема.
Опишете вашият университет
в /etc/remote и изполвайте знака @ за функцията pn:
big-university:\
:pn=\@:tc=dialout
dialout:\
:dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:
После избройте телефонните
номера в /etc/remote:
big-university
5551111
big-university
5551112
big-university
5551113
big-university
5551114
Тip ще опита да набере
всеки номер и ако всички са заети ще прекрати работата си.
Ако искате
да опитвате отново и отново, пуснете tip в цикъл.
17.5.8 Защо трябва да натискам Ctrl+P два пъти, за да
пратя Ctrl+Р веднъж?
Ctrl+P е подрабиращият се
''силов" сигнал, използван за указване на tip, че
следващите
знаци са обикновени данни. Можете да настроите
''силовия" сигнал
на каквото искате с ~s escape, което значи '' настрой
променлива".
Въведете
~sforce=single-char последвано от нов ред. Single-char е
който и да е
знак от клавиатурата. Ако не въведете single-char, тогава
новият
''силов" знак е нула, който може да бъде изведен с
комбинацията
Ctrl+2 или Ctrl+Space. Добра алтернатива е Shift+Ctrl+6,
използван
единствено на някои терминални сървъри.
Можете да зададете стойност
по ваш вкус на ''силовия" знак, като го опишете във
вашия файл
$HOME/.tiprc: force=<single-char>
17.5.9 Изведнъж всичко, което пиша е с ГЛАВНИ
БУКВИ?
Трябва да сте натиснали
комбинацията Ctrl+A, която отговаря за главните букви в
tip,
специално направена за хора с потрошени CAPS lock клавиши.
Използвайте ~s както по-горе и настройте променливата
raisechar на
нещо по ваш вкус. В същност може да я ползвате като
''силов"
знак, ако сте преценили, че няма да ви трябват главни
букви. Ето
примерен .tiprc, идеален за Emacs потребители, които трябва
да пишат
много пъти Ctrl+2 и Ctrl+A:
force=^^
raisechar=^^
Комбинацията ^^ е
Shift+Ctrl+6
17.5.10 Как стават файловите трансфери с tip?
Ако сте се свързали с друга
Unix машина system, можете да пращате и получавате файлове
с
командите ~p (put) и ~t (take). Тези команди, задействат
cat и echo
на отдалечената система за прием и предаване на
файлове.
Синтаксисът е :
~p наш файл [чужд файл]
~t чужд файл [наш файл]
Няма проверки за грешки,
така че би трябвало да използвате друг протокол като
zmodem.
17.5.11 Как да стартирам zmodem с tip?
За да получите файлове,
стартирайте изпращащата програма на отдалечение хост. После
въведете
rz, за да започне получаването им.
За да изпратите файлове,
въведете ~C sz, за да ги изпратите на отдалечената
машина.
17.6 Настройка на серийна конзола
написано от Кazutaka
Yokota. Основано на документ от Bill Paul.
17.6.1 Въведение
FreeBSD има възможността да
зареди на машина само с обикновен терминал, вързан към
сериен порт
като конзола. Подобна система е полезна за две групи хора:
системни
администратори, желаещи да инсталират FreeBSD на машини без
прикачена
клавиатура и монитор; разработчици, желаещи да отстранят
проблеми в
ядрото или драйвърите.
Както е описано в глава 7,
FreeBSD е възприела тристепенна система на зареждане.
Първите два
стадия са в кода на зареждащия блок, намиращ се в началото
на FreeBSD
дяла на зареждащия диск. Тогава зареждащият блок ще се
зареди и
стартира буут лоудъра (/boot/loader) като трети стадий.
За да настроите серийна
конзола, трябва да настроите кода на зареждащия блок,
буутлоудъра и
ядрото.
17.6.2 Настройка на серийна конзола
- Подгответе серийния кабел. Ще се нуждаете от
null-modem кабел или стандартен сериен
такъв. Вижте раздел 17.2.2 по този въпрос.
- Разкачете клавиатурата
си.Повечето PC-та проверяват за нея повреме на Power-On
Self-Test
(POST) теста и ще съобщят за грешка, ако не я открият.
Някои машини
ще врънкат доста звучно за липсата на клавитура и ще
откажат да
зареждат, докато не бъде включена.
Ако компютърът ви се оплаче
за липсата на клавиатура, но продължи да зарежда, тогава не
трябва да
правите нищо. ( Някои машини с Phoenix BIOS бегло ще
промълвят:
''Keyboard failed" и ще продължат нататък.) Ако
компютърът ви
откаже да зареди без прикачена клавиатура, тогава ще трябва
да
настроите BIOS-а да пренебрегва тази грешка (ако може).
Погледнете
наръчника към дънната си платка за подробности как да стане
това.
Съвет: Задаването в BIOS на
клавиатура като ''Not installed", не означава че няма
да можете
да я ползвате. Просто указва на BIOS да не я търси при
включване.
Можете да оставите клавиатурата включена, дори когато тази
опция е
активирана и пак ще можете да я ползвате.
Забележка: Ако вашият
компютър има PS/2 мишка, вероятността да се наложи да я
махнете е
много голяма. Това е така понеже PS/2 мишките споделят
някои
хардуерни ресурси с клавиатурата. Оставянето на мишката
закачена,
може да доведе до подлъгване на BIOS, че клавиатурата е още
на
мястото си. По подобен начин се държи Gateway 2000 с
Pentium 90 MHz
процесор и AMI BIOS. Като цяло, това не е проблем, понеже
само мишка
не е много полезна без клавиатура.
3. Свържете
терминала към COM1 порта (sio0)
Ако нямате терминал, може
да използвате старо PC/XT с терминален софтуер или серийния
порт на
друга Юникс машина. Ако нямате COM1 порт (sio0), купете си.
В
настоящия момент няма начин да изберете друг порт освен
COM1 за
зареждащия блок без да го прекомпилирате. Ако вече
използвате COM1 за
друго устройство, ще трябва временно да го отстраните и
инсталирате
нов зареждащ блок и ядро, веднага щом заредите FreeBSD.
(Предполага
се, че COM1 е на разположение на всички видове сървъри; ако
наистина
COM1 ви трябва за друго (и не можете да сложите другото на
COM2
(sio1)), тогава на първо място въобще не трябва да си
давате зор по
въпроса.)
4. Проверете дали
конфигурационният файл на ядрото има въведени подходящите
опции
зададени на COM1 (sio0):
Въпросните опции са:
0x10
Разрешава подръжката на
конзоли в ядрото. Другите параметри ще бъдат пренебрегнати,
освен ако
този не е зададен. За момента, почти всяка машина може да
има
подръжка на конзола; като за предпочитане е първата от тях
(по реда
на конфигурационния файл) да бъде с тази настройка. Само
тази опция
няма да превърне серийния порт в конзола. Задайте
следващата опция за
тази цел или използвайте -h параметъра,описан по-долу
заедно с този.
0x20
Форсира устройството да
изпълнява ролята на конзола (освен ако няма друга с
по-висок
приоритет), независимо от опцията -h обсъждана по-долу.
Този
параметър заменя литерала COMCONSOLE във
версиите 2.х на FreeBSD. Опцията 0x20 трябва да бъде
използвана
заедно с 0x10.
0x40
Резервира оборудването (в
съответствие с 0x10) и го прави недостъпно за нормален
достъп. Не
трябва да задавате тази опция на порта, на който желаете да
сложите
конзолата. Единственото предназначение на този флаг е да
подготви
машината за отдалечено дебъгване на ядрото. Вижте
''Наръчник на
разработчика" за повече подробности за отдалечено
дебъгване.
Забележка: Във FreeBSD 4.0
и по-нагоре, значението на 0x40 е доста по-различно и има
друг
параметър за отдалечено дебъгване.
Пример:
device sio0 at
isa? port IO_COM1 flags 0x10 irq 4
Вижте man sio за повече
подробности.
Ако параметрите не са
зададени, трябва да стартирате UserConfig (програмата за
пренастройка
на ядрото в реално време) на различна конзола или да
прекомпилирате
ядрото.
5. Създайте файл
boot.config в главната директория на a дяла на зареждащия
диск. Този
файл ще укаже на зареждащия блок как вие искате да зареди
операционната система. За активиране на серийната конзола,
ще ви
трбяват една или повече от следните опции ако искате много
опции,
включете ги всичките на един и същи ред:
-h
Избор между вътрешна и
серийна конзола. Използвайте за превключване на конзолите.
Например,
ако заредите от вътрешната(видео) конзолата, може да
ползвате -h да
насочите буутлоудъра и ядрото да използват серийния порт
като
конзолно устройство. Алтернативно, зареждайки от серийния
порт, с -h
може да насочите буутлоудъра и ядрото да ползват монитора
вместо
серийната конзола.
-D
Дава възможност за избор
между единична и двойна конфигурация. При единичната,
конзолата ще
бъде или вътрешния видео адаптер или COM порта, в
зависимост от
състоянието на -h опцията по-горе. В двойната конфигурация,
и
монитора и COM порта ще бъдат конзоли едновременно,
независимо от
сътоянието на -h. Залбележете обаче, че двойната
конфигурация има
ефект единствено докато зареждащият блок върви. Веднъж щом
буутлоудъра поеме нещата, конзолата определена от -h става
единствената.
-P
Указва на зареждащия блок
да търси за клавиатура. Ако не се намери такава,-D и -h се
запускат
автоматично.
Забележка: Поради
ограничения в мястото на текущата версия на буут
(зареждащия) блок, с
-P опцията могат да се откриват единствено по-нови
поколения
клавиатури. Такива с по-малко от 101 клавиша (и без F11, и
F12
клавиши) могат да не бъдат открити. Някои лаптопи могат да
имат същия
проблем, в следствие на това ограничение. Ако това е така
на вашата
машина, откажете се от употребата на -P (или си купете
клавиатура с
105 и повече клавиша - бел. прев.). За съжаление няма
решение за този
проблем (с по-старите клавиатури, бел. прев.).
Използвайте или -P да
изберете конзолата автоматично, или -h да активирате
серийната
конзола. Също така, може да включите други опции, описани в
boot(8).
Опциите, с изключение на
-P, ще бъдат подадени на буутлоудъра (/boot/loader).
Буутлоудъра ще
определи кой от видео или серийните портове да стане
конзола, като
провери състоянието на -h. Това означава, че ако зададете
-D но не и
-h в /boot.config, може да използвате COM порт като конзола
само
докато действа буут блока. Зареждащата програма обаче ще
използва
монитора за конзола.
6. Включете компютъра. При
стартиране на FreeBSD, буут блока ще изведе за момент
съдържанието
на /boot.config върху конзолата. Пример:
/boot.config:
-P
Keyboard:
no
Вторият ред се появява
единствено, ако сложите -P в /boot.config и обозначава
присъствието/отсъствието на клавиатура. Тези съобщения
отиват или на
серийната или на вътрешната конзола, или и на двете, в
зависимост от
параметрите в /boot.config. Вижте таблицата по-долу за
детайли.
Опции в /boot/config
|
Съобщенията отиват на
|
Никакви
|
вътрешната конзола
|
-h
|
серийната конзола
|
-P, при наличие на
клавитура
|
вътрешната конзола
|
-P, без клавиатура
|
серийната конзола
|
-D
|
двете конзоли
|
-Dh
|
двете конзоли
|
След горните съобщения, ще
има малка пауза преди зареждащият блок да продължи да
зарежда
буутлоудъра и преди да се появят нови съобщения на
конзолата. При
нормални обстоятелства, няма нужда да прекъвате процеса на
зареждане,
но можете да го направите, за да сте сигурни че всичко е
настроено
правилно.
Въведете кой да е клавиш
без Enter на конзолата, за да прекъснете процеса на
зареждане.
Буутблока ще ви попита какво да прави по-нататък. Би
трябвало да
видите нещо подобно на:
FreeBSD/i386
BOOT
Default: 0:wd(0,a)/boot/loader
boot:
Проверете дали горните
съобщения се появяват на обикновената или серийна конзола,
или на
двете, в зависимост от опциите, зададени в /boot.config.
Ако
съобщенията се появят на правилната конзола, насиснете
Enter да
продължите процеса на зареждане.
Ако искате да се появят на
серийната конзола, но не виждате нищо на серийния терминал,
значи
нещо сте объркали с настройките. Междувременно, въведете -h
и
натиснете Enter/Return (ако е възможно), да укажете на
буутблока (а
после на буутлоудъра и ядрото) да изберат серийния порт за
конзолата.
Веднъж заредили, върнете се обратно и проверете какво се е
объркало.
След зареждане на
буутлоудъра, намирайки се в третата фаза на зареждане, все
още можете
да превключвате между вътрешната и серийната конзола като
настроите
съответните променливи в него. Вижте раздел 17.6.5 за
повече
подробности.
17.6.3 Обобщение
Ето обобщение на различните
параметри, обсъдени в този раздел и избрани в
последствие.
17.6.3.1 Сценарий N1: задавате за COM1 параметър
0x10
device sio0 at
isa? port IO_COM1 flags 0x30 irq 4
Опции в /boot.config
|
Конзола по време на
действие на буутблока
|
Конзола по време на
действие на буутлоудъра
|
Конзола след зареждане
на ядрото
|
Без опции
|
вътрешната
|
вътрешната
|
вътрешната
|
-h
|
серийната
|
серийната
|
серийната
|
-D
|
двете
|
вътрешната
|
вътрешната
|
-Dh
|
двете
|
серийната
|
серийната
|
-P, при наличие на
клавиа-тура
|
вътрешната
|
вътрешната
|
вътрешната
|
-P, при липса на
клавиатура
|
серийната
|
вътрешната
|
серийната
|
17.6.3.2 Сценарий N2: задавате за COM1 параметър
0x30
device sio0 at isa? port IO_COM1
flags 0x30 irq 4
Опции в /boot.config
|
Конзола по време на
действие на буутблока
|
Конзола по време на
действие на буутлоудъра
|
Конзола след зареждане
на ядрото
|
Без опции
|
вътрешната
|
вътрешната
|
серийната
|
-h
|
серийната
|
серийната
|
серийната
|
-D
|
двете
|
вътрешната
|
серийната
|
-Dh
|
двете
|
серийната
|
серийната
|
-P, при наличие на
клавиа-тура
|
вътрешната
|
вътрешната
|
серийната
|
-P, при липса на
клавиатура
|
двете
|
серийната
|
серийната
|
17.6.4 Съвети за серийната конзола
17.6.4.1 Задаване на по-бърза скорост на серийния
порт
По подразбиране,
настройките на серийния порт са: скорост 9600, 8 бита, без
паритет и
1 бит за спиране. Ако желаете да промените скоростта,
трябва да
прекомпилирате поне зареждащия блок. Добавете следния ред в
/etc/make.conf и компилирайте нов буутблок:
BOOT_COMCONSOLE_SPEED=19200
Ако серийната конзола е
настроена по някакъв друг начин освен да зарежда с -h или
серийната
конзола използвана от ядрото и различна от тази, която
използва
зареждащият; тогава също трябва да добавите следната опция
към
конфигурационния файл на новото ядро:
options
CONSPEED=19200
17.6.4.2 Използване на порт различен от sio0 за
серийната конзола
Използването на порт
различен от sio0 като конзолa, изисква известно
прекомпилиране. Ако
искате да ползвате друг сериен порт по каквито и да било
причини,
прекомпилирайте буутблока, буутлоудъра и ядрото както
следва.
- Вземете изходния код на
ядрото (виж Глава 22)
- Редактирайте
/etc/make.conf и задайте променливата BOOT_COMCONSOLE_PORT
според адреса на порта, който желаете (0x3F8, 0x2F8, 0x3E8
or
0x2E8). Само портове между sio0 и sio3 ( от COM1 до COM4)
могат да
бъдат използвани; многопортови серийни карти няма да
работят. Не е
нужно да се настройват прекъсванията.
- Създайте собствена
конфигурация за ядрото и добавете съответните параметри за
COM
портовете, които искате да използвате. Примерно, ако
искате sio1
(COM2) за конзола:
device
sio1 at isa? port IO_COM2 flags 0x10 irq 3
device sio1 at isa? port IO_COM2
flags 0x30 irq 3
Параметрите на другите
серийни портове не трябва да бъдат задавани.
4. Прекомпилирайте и
инсталирайте буутблока и буутлоудъра:
# cd /sys/boot
# make
# make install
5. Прекомпилирайте и
инсталирайте новото ядро
6. Запишете буутблока на
зареждащия диск с disklabel(8) и заредете новото ядро.
17.6.4.3 Влизане в DDB дебъгъра през серийната
конзола
Ако желаете да влезете в дебъгъра на ядрото от серийната
конзола (
полезно за отдалечена диагностика, но много опасно ако
случайно през
конзолата натиснете Ctlr+C !), тогава ще
трябва да компилирате ядрото си със следните опции:
options
BREAK_TO_DEBUGGER
options DDB
17.6.4.4 Извеждане на логин промпт на серийната
конзола
Въпреки че не е
задължително, може да изведете логин промпт на през
серийния кабел,
така че да можете да гледате съобщенията при зареждане и да
дебъгвате
ядрото през серийната конзола. Ето как става.
- Отворете файла /etc/ttys с редактор и намерете
редовете:
ttyd0
''/usr/libexec/getty std.9600'' unknown off
secure
ttyd1
''/usr/libexec/getty std.9600'' unknown off
secure
ttyd2
''/usr/libexec/getty std.9600'' unknown off
secure
ttyd3
''/usr/libexec/getty std.9600'' unknown off
secure
ttyd0 до ttyd3 съответсва
на COM1 до COM4. Сменете off на on за желания порт. Ако сте
сменили
скоростта на серийния порт, трябва да смените std.9600 да
съответства
на текущите настройки, примерно std.19200.
Може също да желаете да
смените типа на терминала от неизвестен (unknown) на
действителния
вид на вашия терминал.
2. След редактиране на
файла, тряба да въведете kill -HUP 1, за да влязат в сила
настройките.
17.6.5. Смяна на конзолата от буутлоудъра
Предишните раздели описваха
как да настроите серийната конзола като променяте
зареждащия блок.
Този раздел ще ви покаже, че може да определите конзолата,
въвеждайки
някои команди и променливи в зареждащата програма. Понеже
тя е
извиквана на последния етап от зареждането, след зареждащия
блок , то
настройките й ще се наложат над тези от зареждащия
блок.
17.6.5.1 Настройка на серийната конзола
Можете лесно да определите
буутлоудъра и ядрото за серийната конзола, въвеждайки един
ред в
/boot/loader.rc:
set
console=comconsole
Това ще влезе в сила
независимо от настройки в буутблока, обсъждани в предния
раздел.
По-добре е да поставите горният ред като първи в
/boot/loader.rc,
така че съобщенията при зареждане да се виждат възможно
най-рано.
Аналогично, ожете да
определите вътрешната конзола като:
set
console=vidconsole
Ако не определите
променливите за конзола на буутлоудъра, той и след това
ядрото ще
използват конзолата, отбелязана с -h опцията в зареждащия
блок.
Във версия 3.2 или
по-висока, можете да определите конзолата в
/boot/loader.conf.local
или в /boot/loader.conf, отколкото в /boot/loader.rc. По
този начин,
вашият /boot/loader.rc би изглеждал така:
include
/boot/loader.4th
start
После, създайте /boot/loader.conf.local и сложете следния
ред там:.
console=comconsole
или
console=vidconsole
Вижте loader.conf(5) за повече информация.
Забележка: В момента, буутлоудъра няма опция еквивалентна
на -P опцията от зареждащия блок.
Няма и възможност автоматично да се избира вътрешната или
серийната
конзола според наличието/отсъствието на клавиатура.
17.6.5.2. Използване на сериен порт различен от sio0 за
конзолата
Трябва да прекомпилирате буутлоудъра да използва COM
порт различен от sio0 за серийната конзола. Следвайте
процедурата в
раздел 17.6.4.2.
17.6.6. Недостатъци
Идеята тук е да се помогне
на хората да настроят много сигурни сървъри, които не се
нуждаят от
графични карти и периферия, нито от клавиатура.
За съжаление, повечето
компютри няма да ви позволят да заредите без клавиатура, а
още
по-малко са онези дето ще ви позволят да заредите без
графична карта.
Машините с AMI BIOS могат да бъдат настроени да зареждат
без
инсталирана графична карта, просто като смените опцията
''graphics
adapter" в CMOS на ''Not installed."
Обаче много системи не
подържат тази опция и ще откажат да буутват, ако нямат
графичен
хардуер в тях. Ще трябва да оставите в тях някаква карта,
била тя и
монохромна; въпреки че няма да ви се налага да закачате
монитор към
нея. Може да пробвате да качите AMI BIOS.