OFFTOPIC: Yamaha PnP OPL3 hangkartya FreeBSD-n
Zelenak.Gabor at ans.lri.hu
Zelenak.Gabor at ans.lri.hu
2001. Ápr. 9., H, 12:45:51 CEST
udv mindenkinek!
a hetvegen - nemi segito otlettel (ZGabor) - sikerult a FreeBSD-hez
egy jo kis PnP-s Yamaha OPL3 hangkartyat beilleszteni.
az itt kovetkezo sorok - meglehet ismerosek lehetnek sokatok
szamara - azoknak lehet hasznos, akik esetleg majd csak az archivumbol
fogjak megtudni, hogy hogyan kell a telepitest csinalni. nos, nekik szol
a kovetkezo nehany sor....
HOW TO:
tetelezzuk fel, hogy az OS mar a helyen van - default telepites...
beloggolunk "root"-kent
csekkeljuk le a /var/log/messages file-ban (ha mashol nem is... lasd
kesobb***)
azt, hogy milyen device-ok vannak a kernelben, ezek kozul melyik
az aktiv... (<device_name> not found. -> ez a device nem letezik,
v.
rossz a konfiguracioja...)
PnP eszkozrol leven szo, keressunk egy "pcmX" kezdetu sort is, ahol
az X egy szam [0..n]. ha nem talaltunk ilyet, akkor mar biztosak
lehetunk
abban, hogy hamarosan kernelt kell forditanunk.
ellatogatunk a /sys/i386/conf konyvtarba ott rogvest keszitunk egy
masolatot a GENERIC nevu filerol. majd megnyitva ezt a file-t vi(1)
editorral, megkeressuk
"cp -p GENERIC CWP01"
"vi CWP01"
a kovetkezo bejegyzest
"controller pnp0"
(ha nincs, akkor "man 4 pnp" - a tovabbi infok miatt)
a kovetkezo lepes a Luigi "Akarki" altal (elnezest, ha nem tudom a
pontos nevet
az illetonek...) keszitett "pcm" device bevitele lesz a file-ba -
valami ehhez hasonlo
modon...
"device pcm0 at isa? port tty ? irq 5 drq 1 flags 0x10"
(lasd: man 4 pcm, ill. ugyan ebben a konyvtarban "/sys/i386/conf", a
LINT nevu file tartalmat...)
ha ezzel megvagyunk, hozza lehet kezdeni a kernel forditasahoz...
1. /usr/sbin/config CWP01
2. cd ../../compile/CWP01
3. make depend
(ha nincs hiba, akkor...)
4. make
(ha nincs hiba, akkor...)
5. make install
ezutan lehet reboot-olni. a boot alatt - amikor a loader azt irja
ki, hogy
"press Enter to..." szoval, ha Enter-t ut le a felhasznalo, akkor
kihagyja
konfiguralas lehetoseget, ha egy masikat, akkor kap egy prompt-ot,
ahova
a "boot -c" parancsot uti be. ekkor egy "config> " szeru prompt-ot
kap.
itt "ls" paranccsal kiiratja maganak a konfiguralando ill. kezelendo
device-ok
listajat. valahol a lista vegen kellene szerepelnie a PnP-s
device-oknak. (elsore
nem biztos, hogy ott lesznek!)
viszont a listaban (ha a forditaskor minden rendben ment...) fel
kell, hogy
tunjon a "pcm0" nevu device.
***a listazas utan a kovetkezo parancso(ka)t kell kiadnunk a PnP
konfiguracio miatt:
pnp 1 0 enable
pnp 1 0 os
pnp 1 0 port0 0x220
pnp 1 0 port1 0x530
pnp 1 0 port2 0x388
pnp 1 0 irq0 5
pnp 1 0 drq0 1
pnp 1 0 drq1 3
ezek utan "ls", es a lista vegen, meglatjuk az uj PnP-s device-t.
(ha mar itt vagyunk - es korabban a kernel konfiguracio alkalmaval
nem
toroltuk ki a listabol az "apm0" device-t, akkor kozvetlenul a PnP-s
dev.
elott egy-ket sorral megtalalhatjuk az APM (adv. power management)
device-t,
melyet egy jol iranyzott "enable apm0" paranccsal aktivalhatunk.)
ha mindezzel megvolnank, akkor a "quit" paranccsal folytathatjuk a
rendszer
inicializalasat...
megint beloggolunk "root"-kent. keszitunk egy masolatot a
"/boot/kernel.conf"
nevu file-rol pl. /boot/kernel.old_conf neven.
majd a kovetkezo parancsot adjuk ki:
"kget /boot/kernel.conf"
a tartalmat akar meg is vi(1)zsgalhatjuk, annal is inkabb mert az
iment meg a
"config>" prompt-nal bevitt sorunkat - a "pnp 1 0 ...." kezdetut -
egy szocskaval
ki kell egeszitenunk, ez pedig az "enable" kell, hogy legyen.
valahogy igy...
"pnp 1 0 os enable ..." a tobbi valtozatlan marad
ha ezzel megvolnank, akkor elmentjuk a valtoztatast, majd megnyitjuk
a kovetkezo
file-t, amit "/boot/loader.rc"-nek neveznek. (lasd: man loader)
ebben valahol az "include" sor utan, es az "autoboot" sor elott -
ahol normalis
esetben egy "start" szocska van beirva - nos, ez ele - vagy e
helyett -, a kovetkezo
ket sort erdemes meg beirni:
"load kernel"
"load -t userconfig_script /boot/kernel.conf"
ezt a file-t is elmentve lehet ujra huzatni a rendszert...
hat ennyi, igy nagyon pongyolan fogalmazva. akit teljes reszletesseggel
erdekel a dolog,
annak szivesen elkuldom alkalomadtan a teljes checklist-at, szabatosabb
magyarazattal.
tisztelettel:
/****************************************
* Zelenak Gabor *
* system programmer *
*--------------------------------------------- *
* MATIAS Air Traffic Control Center Hungary *
* (36)1-296-9106{FAX} *
* (36)1 296-9107 *
*--------------------------------------------- *
* mailto:zelenak.gabor at ans.lri.hu *
*****************************************/
int
main(){
printf("Hello World!");
exit(0);
}
További információk a(z) BSD levelezőlistáról