webspace hosting reseller hosting|             | blog| forum| dating| free hosting| openhost| report abuse
Internet Fax To Email - Unlimited

Unlimited Faxes, No Fees, Dedicated Phone Number

Free Website Templates

Compilando parcialmente el kernel de linux

Esta semana he estado maldiciendo un poco mi suerte con los gamepad. Después de la muerte súbita de dos cacharros, he estado haciendo experimentos con la vibración… para darme cuenta de que pocos dispositivos la soportan. Los dispositivos logitech están bastante bien soportados, pero personalmente me parecen blandurrios, y no creo que vuelva a comprar ninguno.

Así que mangoneando un poco en los fuentes del núcleo, vi que hacer la modificación para que mi gamepad estuviera soportado era fácil (al fin y al cabo, hay un fichero que casi los controla… sólo hace falta añadir mis dispositivos). El problema vino después cuando quise compilar mis cambios. Lo que yo quería hacer era:

  • Compilar únicamente los módulos modificados, o la rama correspondiente.
  • Compilar los módulos contra el kernel instalado en mi equipo… un kernel Debian de serie (así mis modificaciones podrían servir para otros equipos sin recompilar).

Los módulos que quería modificar pertenecían a la parte que lleva el HID. El procedimiento que he seguido ha sido el siguiente:

  1. Bajar las fuentes del kernel actual y descomprimirlas
  2. Ir al directorio de las fuentes
  3. Copiar el fichero de configuración del kernel actual (habitualmente en /boot; en mi caso cp /boot/config-2.6.29-2-amd64 .config ).
  4. Copiar la información de símbolos de los módulos ( cp /lib/modules/2.6.29-2/build/Module.symvers . ).
  5. Obtener la versión del núcleo y modificar Makefile para que sea igual a la del instalado.
  6. Preparar la compilación de los módulos (make prepare ;  make prepare_modules)
  7. Compilar los módulos elegidos. Se hace con make M=(modulos)

Hay que tener en cuenta que sólo los pasos 1, 2, 6 y 7 son necesarios si el kernel que se ha compilado es “propio”. Los pasos 3, 4 y 5 son necesarios para asegurarse de que los módulos correrán en el mismo kernel que tiene en ese momento la máquina. Es útil cuando se recompilan módulos en una máquina que no se puede reiniciar, o se compilan módulos para distribuir a otros equipos.

También hay que tener en cuenta que en algún lugar entre el paso 2 y el 3 se deberían haber editado/parcheado los ficheros que queremos modificar. En mi caso, las instrucciones fueron las siguientes (marco a qué paso corresponde cada una):

  • 1) apt-get install linux-source-2.6.30
  • 1) cd /usr/src
  • 1) tar -jxvf  linux-source-2.6.30.tar.bz2
  • 2) cd /usr/src/linux-source-2.6.30
  • 3) cp /boot/config-2.6.30-1-amd64 .
  • 4) cp /lib/modules/2.6.30-1/build/Modules.symvers .
  • 5) uname -r
  • 5) nano Makefile (más acerca de esto abajo)
  • 6) make prepare
  • 6) make prepare_modules
  • 7) make M=drivers/hid

Acerca de la edición del fichero Makefile:

El fichero Makefile debe ser editado para que la versión sea idéntica a la de nuestro kernel (o el módulo no se cargará). Esto es importante porque muchas distribuciones (Debian, RedHat y compañía) suelen añadir “sufijos” a sus versiones propias del kernel. El comando uname -r nos dará la versión completa del kernel. En el caso de mi Debian, uname escupió (atentos al coloreado, que es importante):

2.6.30-1-amd64

En esta versión coloreada, podemos ver los tres números principales de versión del kernel (rojo, verde y fucsia) y, sobre todo, la información extra del kernel (azul). Esta es la que varía de distribución a distribución. Al editar Makefile, veremos que comienza con las siguientes líneas:

VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 30
EXTRAVERSION =
NAME = Man-Eating Seals of Antiquity

Nuestra labor será alterarlas para que la versión coincida completamente. Esto significa dejar el Makefile de esta manera:

VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 30
EXTRAVERSION = -1-amd64
NAME = Man-Eating Seals of Antiquity

Con esto y un poco de suerte, la compilación parcial debería realizarse correctamente. En caso de que los módulos no carguen, dmesg nos dará una razón (probablemente algún problema con la configuración o versión). Si los módulos se compilan y se insertan bien, pero no se comportan como deberían (vamos, que las modificaciones que se les habían hecho no son buenas), para recompilar habría que repetir únicamente el paso 7.

Canon LBP2900 en Debian 32 y 64 (revisado)

Bueno, en general el tutorial que hice en su día para la instalación de esas impresoras (y el resto de impresoras CAPT) ha quedado DESFASADO. Canon se ha portado (hasta cierto punto) y en las nuevas versiones de sus drivers (la 1.80 a día de hoy) ya incluye paquetes debian. La cosa queda así:

  • Para distribuciones Debian y derivadas de 32 bits: seguir las instrucciones que acompañan al driver al pie de la letra.
  • Para distribuciones de 64 bits: seguir las instrucciones. En la instalación de los paquetes, usar dpkg junto con el modificador –force-architecture, para que instale los paquetes a pesar de que son de 32 bits. El resto de pasos son iguales.

Si algo falla: el tutorial puede servir de guía para las cosas a comprobar (permisos, librerías a instalar y demás). A los de 64 bits, lo primero a comprobar es que tengáis instaladas las librerías de compatibilidad de 32 bits. Si sigue sin funcionar, seguid el tutorial para comprobar los derechos.

IMPORTANTE: El script ya no sirve para nada. El que acompaña a los drivers oficiales funciona correctamente.

Una de virtualización

Llevo varios días viendo a los usuarios de cierto website bastante meneados con el tema de la virtualización. Aunque la virtualización es un gran invento de moda en centros de proceso de datos (por sus ventajas en redundancia, facilidad de instalación y potencia), estos usuarios se dedican a utilizar máquinas virtuales para utilizar programas (léase: juegos) viejos. Parece que los sistemas operativos antiguos deberían ser más fáciles de virtualizar (menos recursos y todo eso), pero es todo lo contrario.

Así que aquí empieza una serie de artículos sobre virtualización de sistemas operativos viejos. Pero ¿qué es una máquina virtual? Una máquina virtual es un emulador de un ordenador completo (guest) dentro de otro equipo (host). Es decir, el ordenador tendrá su propio disco duro, su propia tarjeta de video, su propia memoria y lo que pase dentro de él estará contenido dentro de esos elementos (y, al menos en teoría, no debería afectar al resto de cosas que corren en el host).

En centros de datos, tiene una serie de ventajas ya comentadas, en un ordenador de sobremesa puede servir para ejecutar diferentes sistemas operativos (un Windows 95 dentro de un Linux) o, dado que son máquinas contenidas, poder hacer burradas y pruebas en una máquina virtual que no nos atrevemos a hacer en una real (si la cosa va realmente mal, copiamos otra vez los archivos de la máquina virtual y la tenemos como al principio).

Programas para virtualizar hay bastantes, pero aquí voy a comentar únicamente 4 entornos que son con los que, en principio, trabajaremos.

  • VMWare: Hoy en día es el “rey” de la virtualización. Es un programa maduro, estable y con infinidad de versiones para cubrir las necesidades desde curiosos hasta grandes empresas. Las versiones de mayor interés sería la VMWare Server, que es gratuita y no está limitada para un usuario normal. Funciona en entornos Windows y Linux. Las ventajas son su gran soporte de sistemas y su inconveniente sería que es algo perezosa con sistemas sin drivers de video (por ejemplo, DOS o Linux trabajando en consola).
  • Virtualbox: Aspira a ser el otro gran referente de la virtualización. Viene en dos sabores: Virtualbox “normal” y Virtualbox-OSE (Open Source Edition), que sería una versión totalmente libre. También funciona en Windows y en Linux. Sus ventajas son un mejor manejo de video en guests Windows 2000 y posteriores, y mayor velocidad en sistemas no soportados directamente. Sus inconvenientes son que no tiene herramientas para Windows 9x/Me, y que el soporte de USB es bastante “raro” (una de las diferencias entre la versión normal y la OSE es que OSE no soporta USB).
  • DOSBox: Este programa no es una máquina virtual, sino un simulador muy completo de MS-DOS. Si vas a ejecutar juegos de MS-DOS, es la primera y mejor opción. Funciona en Linux, Windows, Mac, teléfonos móviles… Las ventajas son su especialización que le permite ejecutar las aplicaciones a toda velocidad y una mejor emulación de video y audio; las desventajas son su especialización que no le permitirá ejecutar ningún otro sistema operativo, que no todas las aplicaciones funcionan (prefieren que funcionen los juegos) y que no permite usar la red libremente (aunque emula IPX sobre TCP/IP para que varios DOSBox puedan jugar a juegos en red).
  • Wine: Este ni es una máquina virtual ni un emulador, sino un “wrapper” que se dedica a ejecutar programas Windows en máquinas Linux. Es la primera opción si sólo se quiere ejecutar un programa de Windows, pero si no funciona en Wine, lo mejor es utilizar una máquina virtual real. Tiene una base de datos de compatibilidad muy completa, que da mucha información a la hora de configurar las aplicaciones. Sus ventajas son que es muy rápida y que no hay que esperar a que arranque el sistema emulado completo para ejecutar programas; sus desventajas son que no podrá ejecutar nada que no sea Windows.
  • Otras aplicaciones de virtualización y emulación: hay otras que no menciono, porque son bastante más complejas de instalar (bochs, qemu), tienen menor compatibilidad (dosemu) o directamente no puedo ejecutarlas (Parallel Desktops sólo corre en Mac). De todas formas, en los siguientes artículos se trabajará básicamente con DOSBox o con Virtualbox (son las que utilizo actualmente).

En próximas entregas, iré comentando procedimientos de instalación de sistemas en estas máquinas.

Tiempo de actualizaciones

Sin nada que comentar por el momento (demasiado ocupado para publicar nuevas entradas), he actualizado las opciones del blog y el software propiamente dicho. A partir de ahora, los usuarios que quieran comentar algo, deberán registrarse (odio hacer esto, pero 500 comentarios de spam son demasiados para mí). También he puesto en marcha un filtro antispam, a ver si sirve de algo.

También he añadido a los enlaces el blog de un afamado dibujante navarro ;)

Qué hacer con las memorias USB “obsoletas”

Como decía en otro post, las memorias USB no son un invento nuevo, y creo que todos hemos tenido unas cuantas ya. Algunas las hemos ido “jubilando”, debido a que 256 megas no son gran cosa hoy en día, o eso nos parece. También nos encontramos de vez en cuando con alguien que nos regala una memoria publicitaria, que no suele destacar por su gran capacidad. Como no es cuestión de llevar encima varias memorias USB, el futuro de estas suele ser coger polvo en un cajón olvidado.

Pues la verdad… es que hay cositas muy interesantes que se pueden hacer con estas memorias. Podemos llevar nuestro navegador favorito, usarlas como herramientas de diagnóstico o llevarnos alguna distribución Linux. O convertirla en una asesina de placas madre… todo es posible. Mis recomendaciones:

  • Damn Small Linux: Una de las distribuciones Linux con escritorio más pequeñas que existen. Sus autores proclaman que jamás crecerán más allá de los 50 megas. Tiene herramientas para hacer el trabajo de oficina normal y navegación. Requiere una memoria de 64 megas, recomiendo una de 128 (para tener espacio para datos).
  • Puppy Linux: Otra minidistribución Linux. Personalmente, la veo más completa y fácil de usar que DSL; y es fácilmente ampliable. El mínimo serían 128 megas, pero recomiendo al menos una memoria de 256 megas.
  • GeeXboX: Una distribución Linux especializada. Más bien es un completo mediacenter que cabe en sólo 32 megas.
  • Hiren’s Boot CD: Un completo CD con herramientas para particionado, clonado, diagnóstico, información de hardware, antivirus… casi todo lo que un técnico puede necesitar está aquí. Lo bueno es que se puede instalar en una memoria USB. Lo malo es que los programas no son del todo legales, así que la página no ofrece el link de descarga (pero no es difícil de conseguir). Por ahora necesita 128 megas, pero yo recomendaría 256 por dos razones: así podemos llevar las actualizaciones del antivirus y además, está muy próximo a superar los 128 megas.
  • Ultimate BootCD: La alternativa legal al Hiren’s Boot CD. Algo menos completo, pero debería permitir hacer diagnósticos y clones sin problemas.
  • Aplicaciones portables: A diferencia de los anteriores, este no es un “producto terminado”, ni arranca desde el USB. Son una serie de aplicaciones gratuitas para Windows, que se pueden ejecutar desde una memoria USB sin instalarlas o “dejar huellas” en el sistema. El mínimo serían 256 megas para llevarte un navegador, correo electrónico y alguna otra tontería. A partir de ahí… con una memoria de 1 Gb puedes llevarte programas como para hacer cualquier cosa que necesites.

Al margen de estas sugerencias, hay más aplicaciones portables (como Total Commander, no incluída en PortableApps por ser de pago); aplicaciones “reconvertidas” a portables como EasyRecovery Pro y Everest (pero no son muy legales); y más mini distribuciones Linux que podrían instalarse en USB. También se podría instalar una distribución Linux “completa”, pero esto suele necesitar memorias bastante grandes (recomiendo un mínimo de 4 Gb). También hay procedimiento para instalar un Windows XP… si tienes una memoria suficientemente grande.

Por último, una advertencia: huid como de la peste de las memorias U3. En teoría, son memorias en las que “de fábrica” se pueden instalar fácilmente aplicaciones portables. En la práctica, tienen varios inconvenientes: el estándar U3 parece estar muerto, las aplicaciones dejan “huellas” (entradas en el registro), no es fácil quitarse de encima el menú de las apliaciones y encima son bastante más caras.

Una de problemas con las memorias USB…

Las memorias USB son cacharros que nos llevan acompañando unos cuantos años, y no deberían ser algo extraño para nadie. Solo que parece que últimamente están subiendo unos cuantos puntos en mi escala de cacharros problemáticos. Como aclaración, mis memorias USB pasean habitualmente por sistemas bastante diferentes, desde portátiles de última generación a viejos Pentium III slot-1 (vamos, el Pentium para megadrive).

Lo primero que habría que destacar es que no son compatibles con todos los sistemas operativos. Los sistemas pre-windows 98 no tienen soporte USB, o es muy problemático. La cosa estaría así:

  • MS-DOS y Windows 3.x: Hay algún driver por ahí, y de hecho el Hiren’s Boot CD y el disco de arranque de Puppy Linux los usan. Mi experiencia dice que depende mucho del hardware, tanto del PC como de la memoria USB; y no es plug and play.
  • Windows NT: No funcionan en ninguna de sus variantes.
  • Windows 95: En teoría, las versiones OSR2 son capaces de hacer funcionar cosas USB; en la práctica no existen drivers.
  • Windows 98: Son capaces de hacer funcionarlas con soporte plug’n'play, pero depende de que el fabricante haga drivers. Por fortuna, existe un driver genérico que permite usar cualquier memoria en Windows 98.
  • Windows Me, 2000 y posteriores: Funciona cualquier memoria correctamente.
  • Linux: Funciona cualquier memoria correctamente.

Toda esta lista de compatibilidades es aplicable a muchos mp3, a discos duros USB externos e incluso a cámaras de fotos (siempre y cuando soporten el estándar USB mass storage). También depende de los tipos de particiones, ya que NTFS está soportado solo por Windows 2000 y posteriores, y FAT32 no está soportado por MS-DOS.

El siguiente problema empiezan a ser los virus para memorias USB. Yo me he tropezado ya con varios ejemplares, y me jode bastante que cada día tenga que pasar el antivirus a las memorias. Todos los virus se copian aprovechando la característica Autorun de Windows.

Cuando se inserta un disco en windows, se escanea buscando un fichero llamado autorun.inf. Este fichero puede contener varias cosas, entre ellas el icono y descripción que se mostrarán en Explorer y, lo más problemático, un ejecutable que se abrirá cuando se inserte el disco. Esto vale para CDs, DVDs y memorias USB.

Todos los virus-USB funcionan igual: se ejecutan cuando se inserta la memoria, se copian al sistema y se quedan esperando. Cuando se inserta una memoria no infectada, se copian a ella y crean otro autorun.inf para seguir infectándose.

Hay varias formas de impedir que se autoejecuten los virus-USB:

  • Algunas utilidades, como el TweakUI de Windows XP, o el Xteq X-Setup Pro permiten cambiar cómodamente las claves de registro responsables de la autoejecución.
  • Si tienes Windows 2000 o posterior, puedes ejecutar gpedit.msc, y en Configuración del equipo > Plantillas Administrativas > Sistema marcar Desactivar reproducción automática.

Esto hace que tu sistema sea menos propenso a agarrar el virus, pero no evita que tus memorias acaben llevando el virus de un lado para otro. Por ello, empecé a buscar una memoria USB que tuviera una protección de escritura al estilo de los disquetes. Si conectas una memoria de este estilo a un ordenador infectado, podrás usar los datos pero el ordenador será incapaz de escribir el virus a tu memoria.

Anteriormente había unas cuantas memorias que lo hacían, pero los fabricantes parecen haberlas hecho desaparecer del mercado. La historia acaba con que, actualmente, sólo parece haber tres alternativas para obtener una memoria de este estilo:

  • Trekstor fabrica un modelo (las Trekstor CS) que dispone de un pequeño interruptor.
  • También hay un modelo de Imation (las Imation Swivel), pero cuidado: las Imation Swivel Pro no parecen tener protección.

Bastantes mp3 baratos, de los que se pinchan directamente al PC, tienen un interruptor “HOLD”. Este interruptor tiene dos funciones: por un lado, evita que cuando estés escuchando música pulses un botón por accidente y saltes de canción; por el otro es el interruptor que controla si se puede escribir a la memoria.

También encontré algunas memorias con sistemas de protección más exóticos (habitualmente huellas digitales), pero no evitan que entre el virus (si autorizas la memoria, autorizas cualquier operación sobre la memoria) y además lo de la huella sólo funciona sobre Windows (y yo uso también Linux). Son interesantes para alguna otra aplicación, pero no para lo que yo quería.

DownloadHelper para Firefox… ¿campaña anti Microsoft?

No puedo resistir a escribir sobre esto… me ha hecho bastante gracia tropezar con ello en mi Firefox.

DownloadHelper es una extensión para Firefox que permite descargar los vídeos incrustados en la web. Permite descargar vídeos de un montón de sitios, normales y calentitos, aunque falla en algunos otros (por ejemplo, MTV Music, donde está el archivo de vídeos de la MTV). Se actualiza con bastante frecuencia, añadiendo nuevos sitios y métodos de detección para descargar más y mejor.

Con esta extensión, también podremos obtener links para descargar vídeos con otros gestores de descargas (pero cuidado, los links sólo suelen funcionar el mismo día). El único problema es que descarga los vídeos como ficheros FLV. Este problema no es tan grave si tenemos en cuenta que hay programas como FLV Player o el VLC media player que permiten ver estos vídeos sin problemas.

La solución “oficial”, sin embargo, es utilizar la propia extensión para convertir estos vídeos en AVI, mpeg o cualquier otra cosa más “utilizable”. ¿Cómo se hace? Muy fácil, en Firefox, vamos al menú Herramientas > DownloadHelper > Preferencias y en la pestaña Conversión, marcamos “Conversión habilitada”.

Si tenemos Windows, necesitaremos descargar ConvertHelper, una utilidad que permitirá convertir los vídeos. Si tenemos MacOS X o Linux, deberemos instalar los paquetes ffmpeg o mencoder.

Los vídeos producidos por ConvertHelper llevan un logotipo en una de las esquinas. Si queremos que no salga, hay que pagar 18€ por registrarse. Lo gracioso es que los usuarios de Linux y MacOS X no usan ConvertHelper, y no les sale el logotipo. De hecho, si se miran las instrucciones de conversión desde un ordenador con Linux, sale un aviso recalcando que los usuarios de Linux no deben registrarse, ya que ellos no tienen ninguna restricción.

Conclusión: Si tienes Windows pasas por caja, si tienes Linux o MacOS X es gratis.

Que no estaban muertos, que estaban de parranda…

El anterior post debería haber sido publicado el 23 de Octubre, pero se lo comió una entidad adimensional. Lo he publicado hoy… porque todavía estaba guardado en el blog.

Resulta que forodivx.net murió, pero el psiquiátrico ha resucitado, gracias a uno de sus miembros.

Por ahora, el psiquiátrico pasa a los links rápidos

Homenaje a forodivx

Escribo esta entrada como homenaje a forodivx.net (antes indicedivx), que esta misma semana ha muerto. Creo que no es un homenaje a una página, sino a la gente de los foros.

Indicedivx nació como una página acerca de la codificación de video. En una época en la que las grabadoras de DVD eran artículos de lujo, ellos fueron (y han seguido siendo) la referencia acerca de estos videos. Desde aquellos programas que eran pura artesanía (flashmpeg, nandub y el codec divx 3) a los todo-en-uno más potentes (Gordian Knot y compañía), el salto a los reproductores de salón, y la codificación en móviles… cualquier cosa que fuera referida a video, tenía su cabida ahí.

En algún momento, en los foros, nació un lugar que se llenó de magia: El psiquiátrico. En él, se podía hablar de cualquier cosa que no estuviera relacionada con divx. Por algún extraño motivo, no fue como el off-topic de cualquier otro foro. Nunca hubo ningún troll, pocos comentarios fuera de tono. Cualquier tema se discutía con la visión (relativamente) madura y (bastante) alocada del foro. Las salidas de tangente estaban a la orden del día, pero nadie ofendía a nadie. Llegó a haber discusiones políticas entre miembros conservadores, anarquistas y comunistas… que murieron de aburrimiento, pero no hubo insultos.

2004: IndiceDivX se muere. Un anuncio en la página principal nos recuerda que, aunque hayamos hecho de estos foros nuestro hogar, no es nuestro dominio. Tras varios días de discusiones entre miembros del foro, y por clamor popular FeKuLa nos hace un regalo: forodivx. ForoDivX son sólo los foros de IndiceDivX, sin el resto del portal. Una comunidad que crece y se automantiene.

Estamos en Octubre de 2008. Parece ser que la página ha muerto definitivamente. Ningún aviso, ninguna despedida. Un montón de gente a la que echaré de menos. Esta es mi despedida… aunque quizás nos volvamos a ver…

- A FeKuLa y Kulky: Gracias por aguantarnos durante tanto tiempo, gracias por indicedivx y forodivx. Espero que os vaya bien en vuestros nuevos proyectos.

- A cfs2… nunca estaremos de acuerdo en la mayoría de las cosas, pero ha sido un honor poder mantener esas discusiones contigo. No cambies y procura que las chicas de Motril no te coman.

- A Amoreena, Arisemar, y tantas otras… mujeres extrañas y grandes compañeras de viaje. Seguid así, el mundo necesita más personas como vosotras.

- A cholk, seth, y tantos nombres que ya los he olvidado… espero encontraros en otra parte, y seguir echándonos unas risas.

A todos ellos: gracias.

Esta consola busca hogar…

Esta consola está buscando nuevo dueño… si alguien la quiere comprar, que me deje un mensajito.

Go to ImageShack® to Create your own SlideshowNOTA: El DVD portátil y los cables de conexión NO están en venta…

Además, he actualizado varias entradas por aquí y por allí…

  • 56k deberían ser suficientes. He añadido varios juegos que he probado últimamente.
  • Extensiones útiles en Firefox. Retoques por aquí y por allá…
  • Actualizada la lista de actualizaciones de Archlord.