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