Download Formulario estándar para notas informativas y de progreso

Document related concepts
no text concepts found
Transcript
Nota informativa o de progreso
CENTRO ASTRONÓMICO DE YEBES – RADIOTELESCOPIO DE 40M
Tema o título
Instalando FlashBusSpectrim2.3-4 en debian (kernel 2.6.18)
Autores
Laura Barbas
Destinatarios Pablo de Vicente, Rubén Bolaño
Fecha
2007.12.03
Precedentes y
documentos
relacionados
Para instalar el driver de la tarjeta FlashBus Spectrim Lite de integraltech he descargado el
driver “Flashbus Spectrim Linux Setup” (58f0ec_FBusSpectrim-2.3-4.i386.rpm) de la página
www.integraltech.com. He seguido los siguientes pasos:
1. Convertir rpm a paquete debian
># alien 58f0ec_FBusSpectrim­2.3­4.i386.rpm
Warning: Skipping conversion of scripts in package FBusSpectrim: postinst
Warning: Use the ­­scripts parameter to include the scripts.
fbusspectrim_2.3­5_i386.deb generated
2. Instalar paquete debian fbusspectrim_2.3-5_i386.deb
># dpkg ­i fbusspectrim_2.3­5_i386.deb
Seleccionando el paquete fbusspectrim previamente no seleccionado.
(Leyendo la base de datos ...
145671 ficheros y directorios instalados actualmente.)
Desempaquetando fbusspectrim (de fbusspectrim_2.3­5_i386.deb) ...
Configurando fbusspectrim (2.3­5) ...
3. Instalar driver
># cd /usr/local/src/integraltech/fbspectrim/driver
># ls
chk_rh9.sh include kDSPCmd.c kmake.sh kmode_exports.h kVideoCalls.c Makefile makefile­2.4 managers tmmanit
>#./kmake.sh
make: *** /lib/modules/2.6.18­3­686/build: No existe el fichero o el directorio. Alto.
El problema es que faltan las fuentes del kernel, así que hay que instalar los paquetes linuxsource-2.6.18 y linux-headers-2.6.18. Se repite el comando:
>#./kmake.sh
make: se ingresa al directorio `/usr/src/linux­headers­2.6.18­3­686'
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/register.o
/usr/local/src/integraltech/fbspectrim/driver/tmmanit/register.c:29: error: expected ‘)’ before string constant
/usr/local/src/integraltech/fbspectrim/driver/tmmanit/register.c:35: error: expected ‘)’ before string constant
make[1]: *** [/usr/local/src/integraltech/fbspectrim/driver/tmmanit/register.o] Error 1
make: *** [_module_/usr/local/src/integraltech/fbspectrim/driver] Error 2
make: se sale del directorio `/usr/src/linux­headers­2.6.18­3­686'
Para eliminar este error es necesario modificar el fichero register.c del siguiente modo:
#ifndef CONFIG_DEVFS_FS
// major device number
static int tmmanit_major = 0;
char mystr = 'i';
MODULE_PARM(tmmanit_major, mystr);
MODULE_PARM_DESC(tmmanit_major, "Major device number (default 0)");
#endif
// number of boards to register
int tmmanit_num_devs = 1;
MODULE_PARM(tmmanit_num_devs, mystr);
MODULE_PARM_DESC(tmmanit_num_devs, "Number of boards to register (default 1)");
Intento compilar otra vez:
>#./kmake.sh
make: se ingresa al directorio `/usr/src/linux­headers­2.6.18­3­686'
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/register.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/init.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/interrupt.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/tmif.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/tmman.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/kDSPcomm.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/mmap.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/chip.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/process.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/pci.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/kTmmanlib.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/global.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/debug.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/tmhal.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/managers/misc.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/rtal.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/osal.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/managers/namespc.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/managers/memory.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/managers/vintr.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/managers/channel.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/managers/event.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/managers/sgbuffer.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/managers/queue.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/managers/message.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/fileid.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/v4l2.o
/usr/local/src/integraltech/fbspectrim/driver/tmmanit/v4l2.c: In function ‘reportFB’:
/usr/local/src/integraltech/fbspectrim/driver/tmmanit/v4l2.c:39: warning: cast to pointer from integer of different size
/usr/local/src/integraltech/fbspectrim/driver/tmmanit/v4l2.c:39:warning: assignment makes integer from pointer without a cast
/usr/local/src/integraltech/fbspectrim/driver/tmmanit/v4l2.c:40:warning: assignment makes integer from pointer without a cast
/usr/local/src/integraltech/fbspectrim/driver/tmmanit/v4l2.c:In function ‘fbV4l_registerCB’:
/usr/local/src/integraltech/fbspectrim/driver/tmmanit/v4l2.c:48: warning: assignment from incompatible pointer type
CC [M] /usr/local/src/integraltech/fbspectrim/driver/tmmanit/version.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/kDSPCmd.o
CC [M] /usr/local/src/integraltech/fbspectrim/driver/kVideoCalls.o
/usr/local/src/integraltech/fbspectrim/driver/kVideoCalls.c: In function ‘VideoOffscreen’:
/usr/local/src/integraltech/fbspectrim/driver/kVideoCalls.c:28: warning: implicit declaration of function ‘AdjustVideoSurfaceDefinition’
/usr/local/src/integraltech/fbspectrim/driver/kVideoCalls.c: In function ‘FreezeWithPropagate’:
/usr/local/src/integraltech/fbspectrim/driver/kVideoCalls.c:75: warning: implicit declaration of function ‘FreezeUponAlign’
LD [M] /usr/local/src/integraltech/fbspectrim/driver/fbspectrim.o
Building modules, stage 2.
MODPOST
CC /usr/local/src/integraltech/fbspectrim/driver/fbspectrim.mod.o
LD [M] /usr/local/src/integraltech/fbspectrim/driver/fbspectrim.ko
make: se sale del directorio `/usr/src/linux­headers­2.6.18­3­686'
4. Copiar el módulo al directorio adecuado
>#cp fbspectrim.ko /lib/modules/2.6.18­3­686/kernel/drivers/media/video
5. Arrancar el demonio
Primero hay que modificar el demonio y copiarlo en /etc/init.d/:
># cp fbspservice /etc/init.d/
># vi fbspservice
Comentar la línea: /etc/rc.d/init.d/functions, cambiar “action” por “echo” y ejecutar el demonio de
nuevo:
touch /var/lock/subsys/$SERVICE
echo "Inserting the $MODULENAME module: "
$BINDIR/startim $MOD
;;
'stop')
if [ ! -f /usr/local/bin/stopim ]; then
echo "/usr/local/bin/stopim, not found"
exit 0
fi
rm -f /var/lock/subsys/$SERVICE
echo "Removing the $MODULENAME module: "
$BINDIR/stopim $MOD
;;
>#/etc/rc.d/init.d/fbspservice start
Found 1 Trimedia based Board(s) on PCI bus
touch: no se puede efectuar `touch' sobre «/var/lock/subsys/fbspservice»: No existe el fichero o el directorio
Inserting the FlashBusSpectrim module:
Integral hardware module fbspectrim loaded
6. Utilizar offscreen
># cd /usr/local/src/integraltech/fbspectrim/samples/
># ls
memtest offscreen onscreen vgasurface vidout
># cd offscreen
># ls
makefile offscrn.c README
># make
gcc ­c ­I/usr/X11R6/include ­DNDEBUG ­D_LINUX offscrn.c
gcc ­L/usr/X11R6/lib ­o offscreen offscrn.o ­lX11 ­lXext ­lm ­lImlib ­lFBSpectrim
Done
>#./offscreen: error while loading shared libraries: libFBSpectrim.so.1: cannot open shared object file: No such file or directory
Hay que exportar la ruta de la biblioteca:
># export LD_LIBRARY_PATH=/usr/local/lib
>#./offscreen
Related documents