Lo hice y lo entendí

El blog de Vicente Navarro
01 jun

Arrancar Knoppix desde una memoria USB usando SYSLINUX

He conseguido configurar una memoria USB con un GRUB que me permite arrancar (en ordenadores cuya BIOS lo soporta): Knoppix, MS-DOS, alguna utilidad de rescate y un Windows en forma de BartPE. Me gustaría poder contar en sucesivas entregas cómo llegar a esta configuración tan versátil que nos puede sacar de un apuro en cualquier momento. Para ello, lo primero sería hablar sobre cómo hacer botar Knoppix, el LiveCD más popular, desde una memoria USB.

Es importante aclarar que este procedimiento no es como si instaláramos Knoppix en disco con su partición ext2/ext3, con su partición swap, etc. Se trata simplemente de copiar el fichero que contiene el filesystem cloop a la memoria USB y arreglarlo todo un poco lograr que arranque como si se tratara del propio CD/DVD.

En versiones antiguas de Knoppix esto era especialmente difícil porque era necesario obtener el fichero /boot/isolinux/minirt.gz del CD/DVD, descomprimirlo, montarlo (mount -o loop minirt /mnt/puntomontaje) y editar el fichero linuxrc para que se cargaran los módulos de uhci, ohci, ehci y usb_storage y además, revisar el script para asegurarnos de que se recorrían las unidades USB en busca de una que contuviera el famoso directorio KNOPPIX con los ficheros de Knoppix. Tras esto, había que volver a empaquetar el minirt.gz y dejarlo en su sitio. Con distintas variaciones, había muchos tutoriales que le daban vueltas al tema, como el de Knoppix-ES: Arrancar Knoppix desde una memoria USB

Sigue leyendo »

24 may

De cómo un error se pasea impunemente por Internet sin que nadie se dé cuenta

Los que siguen este humilde blog desde el principio del todo (vamos, los de mi casa y algún amigo) se acordarán de la que fue la segunda entrada: Lema del blog. En ella hablaba de la cita de Confucio:

Me lo contaron y lo olvidé, lo vi y lo aprendí, lo hice y lo entendí.

Es una frase que me encanta. En algún sitio la leí o alguien me la dijo y desde entonces la uso muy a menudo cuando algo que me contaron hace relativamente poco se me había olvidado. Seguro que si lo hubiera hecho yo no se me hubiera olvidado nunca.

En inglés he visto dos variantes, una de ellas traducción literal de la anterior y la otra más poética:

I hear and I forget. I see and I remember. I do and I understand.

Tell me, I´ll forget.
Show me, I may remember.
Engage me, I´ll understand

Sigue leyendo »

23 may

¿Realmente Internet nos ayuda a tomar decisiones de compra?

Está decidido, he ahorrado un dinerillo y voy a (elegir una o varias):

  • hacer un viaje
  • comprar una cámara de fotos / reproductor MP3 / DivX de salón / último gadget imprescindible
  • cambiar la lavadora / nevera
  • buscar un hotel para pasar un fin de semana
  • elegir una tarjeta de crédito que tenga los beneficios X e Y
  • comprar un libro / película

Como soy una persona ordenada y quiero aprovechar mi dinero al máximo, es importante que busque bien por Internet cuál es el producto con mejor relación calidad/precio (Best bet for the money dicen a veces los guiris). Es por eso que voy a dedicar unas cuantas horas de mi vida en enterarme bien de qué producto es el que me interesa y qué tal les ha ido a otra gente con ese producto…

¡Y ahí es donde empieza nuestra pesadilla! ¿Por qué? Muy sencillo:

Sigue leyendo »

22 may

Sobre las VIA EPIA (III): Linux en una SP8000E

Como ya comenté en Sobre las VIA EPIA (I): Introducción al formato Mini-ITX y a las placas EPIA, las placas EPIA nos ofrecen lo mejor de sí mismo usando Linux. Las optimizaciones por hardware específicas que tienen en la mayoría de los casos son mejor aprovechadas por el sistema del pingüino. Es el caso de la aceleración MPEG2 y el PadLock.

Una referencia importante a la hora de poner Linux en una VIA EPIA es el EPIA HowTo, que desafortunadamente ha dejado de mantenerse, pero aún es una fuente importante de información sobre el tema.

Como comentaba en el primer artículo de la serie, las EPIA con procesador VIA C3 Nehemiah y C7 aceptan cualquier distribución optimizada hasta 686, lo que nos permite instalar prácticamente cualquier distribución de 32 bits actual. Cualquiera de ellas puede funcionar sin tocar gran cosa de la configuración por defecto. En esta entrada voy a contar más bien los detalles que hay que tener en cuenta para optimizar al máximo nuestra EPIA centrándome, como no puede ser de otra forma, en lo que tengo a mano, una SP8000E. Todo lo que comente es válido para una SP13000 y probablemente gran parte lo sea para las placas basadas en el chipset CN700.

Sigue leyendo »

21 may

Sobre las VIA EPIA (II): Mi ordenador basado en una SP8000E

Como continuación de la entrada anterior Sobre las VIA EPIA (I): Introducción al formato Mini-ITX y a las placas EPIA, en ésta voy a comentar los componentes que seleccioné para mi sistema basado en este formato.

La placa

Cuando yo estaba planificando mi sistema basado en una VIA EPIA, las placas con chipset CN700 acababan de ser anunciadas por VIA y no se podían comprar ni podrían serlo en unos meses, así que me quedé con la mejor opción fanless y chipset CN400 de aquel momento: con una SP8000E.

Sigue leyendo »

10 may

Sobre las VIA EPIA (I): Introducción al formato Mini-ITX y a las placas EPIA

En los últimos meses se han popularizado los Mini PCs o PCs SFF (Small Form Factor). Podemos verlos ya fuera de medios especializados, como en El Mundo o en El Pais. En medios más especializados, como Tom’s hardware, llevan bastante más tiempo siguiendo el tema.

Además de los PCs SFF, también están los HTPC (Home Theater PC), PCs conectados al televisor, normalmente con sintonizador, mando a distancia y teclado/ratón inalámbricos , y a poder ser integrados, pequeños y que se puedan usar en el aire, como el de la siguiente imagen (el que yo uso):

Teclado con trackball

Tom’s hardware también se ha dedicado mucho en los últimos meses a estudiar los HTPC, y como ejemplo de HTPC de comprar y usar (sin tener que tocar un destornillador para nada), la línea de Scaleo EV de Fujitsu-Siemens. He tenido la oportunidad de verlos en tiendas y me parecen un complemento excelente para una de esas mega pantallas que tanto se llevan últimamente. Eso sí, estamos hablando de 1200€ para arriba.

Hace algo más de un año yo estaba venga a darle vueltas a todos estos temas. Yo quería un PC para el salón con los siguientes requisitos:

  • Que sirva para acceder a Internet (Web y Correo) cómodo desde el sofá
  • Que sirva para tener algunos servidores típicos (p.e. ssh, web)
  • Que decodifique TDT y la grabe
  • Que sea pequeño, con caja horizontal y no superior al tamaño típico de un vídeo VHS
  • Presupuesto del orden de 500€
  • Bajo consumo para tenerlo siempre encendido con algún programilla P2P (para bajar el Knoppix con Bittorrent, ¡malpensados!)
  • Y, sobre todo, sobre todo, que no haga ningún ruido

Sigue leyendo »

04 may

Fork Bombs, ulimit y limits.conf

En los últimos días en la blogosfera se han puesto de moda las Fork Bombs o Bombas Fork a raíz de un post en Kriptópolis seguido por una explicación más seria posterior y hasta un chiste friki de los buenos (ya me preguntaba yo que qué sistema operativo usarían los marcianos de marras, y resulta que es un Linux con bash).

Yo diría que había leído anteriormente sobre el tema, pero no consigo acordarme ni dónde ni cuándo, así que me he preguntado si estaría equivocado y esto llevaría poco tiempo circulando, pero en los históricos del artículo de la Wikipedia en Inglés se puede ver que alguien añadió el ejemplo en el 2004.

Hay Fork Bombs para todas las plataformas, pero la más bonita que he visto es esta para bash:

:(){ :|:& };:

Sigue leyendo »

28 abr

Cómo solucionar incompatibilidades entre una versión de VMWare y un kernel más reciente

Tengo la costumbre de recompilarme un kernel a medida en todos los Linux que instalo para mí. En parte es costumbre de hace muchos años de cuando en cada nueva versión aparecían increíbles novedades y una gran cantidad dispositivos soportados nuevos. Ahora ya no es necesario, y con el kernel que traen por defecto casi todas las ditribuciones te puedes apañar muy bien.

Sin embargo, suele ser necesario tener el kernel recompilado para añadir drivers no oficiales, parches y todas esas aplicaciones que necesitan compilarse un módulo del kernel para trabajar, y estoy pensando, por ejemplo, en el parche del bootsplash, en el driver binario de NVidia, en el kqemu, en los módulos del VMWare, en el driver para mi WebCam o para mi tarjeta WiFi.

Pues bien, hace poco tuve que pasar del kernel 2.6.19 al 2.6.20.6 tras una amable sugerencia de mi querido NTFS-3G al que yo no osé contradecir:

Why do I get “WARNING: Deficient FUSE kernel module detected”?

The FUSE technology used by ntfs-3g consists of two major parts: a library and a Linux kernel driver. The message means that you either have the faulty FUSE 2.6.2 release, or the library (FUSE package) is safe but the kernel driver is not. When you install or upgrade the FUSE package then it installs only the library, not the kernel driver. In other words, ntfs-3g and FUSE is safe but not your kernel.

Solution: Please ask your distribution developers to fix the Linux kernel problem. The Linux kernel must be upgraded either to at least version 2.6.20, or the FUSE kernel driver must be upgraded to a safe version which is also included in the FUSE package for Linux kernel version 2.6.9 and later.

Sigue leyendo »

25 abr

¿Qué distribución/escritorio prefieren 10 protagonistas del Software Libre?

Linux is about choice: Linux va de poder elegir libremente entre múltiples alternativas para hacer lo mismo… Necesitas un servidor de correo y tienes el sendmail, el qmail, el exim,…, necesitas un editor de textos y tienes el vi, el emacs, el joe, el nano,…, necesitas un escritorio y tienes GNOME, KDE, Xfce,…, necesitas una distribución de Linux y tienes Fedora, Suse, Debian, Ubuntu, Gentoo…. Aunque tanta posibilidad de elección es lo maravilloso del software libre para muchos, para otros muchos, es lo malo, ya que la diversidad genera dispersión de usuarios y que se reduzca el know-how de determinadas aplicaciones.

No es fácil decir si de la diversidad nacen los flames (como Red Hat vs Suse, Debian vs Ubuntu vs Gentoo, KDE vs GNOME, vi vs emacs, Linux vs ***BSD) porque los usuarios de un producto realmente quieren que los usuarios del contrario se pasen a usar el suyo o para demostrar su superioridad ante los que usan el otro o por qué, pero ciertamente, aparecer, aparecen… Y realmente, parece que está demostrado que no es posible convencer a nadie en este tipo de discusiones.

Dicho esto, yo tenía curiosidad por saber qué distribuciones y escritorios usaban los famosos de este mundillo… no por generar nuevas discusiones, sino pura curiosadad por saberlo y por ver si podía encontrarlo buceando por Internet. Ha sido muy difícil en la mayoría de los casos y los resultados no son siempre ni lo satisfactorios, ni lo recientes, ni lo exactos que desearía, pero en cualquier caso, aquí están, con las fuentes de la información incluidas en los enlaces…

Sigue leyendo »

19 abr

Sobre la señal SIGHUP: nohup, disown, trap

El nohup es un comando de los históricos de UNIX. Cuando en un terminal físico (terminal serie), virtual (xterm, konsole, putty, telnet, ssh, etc.), o en la consola cerramos la sesión (cerrando la ventana si estamos en un entorno gráfico, con el comando exit, o pulsando Control+D en la shell), el proceso que gestiona dicho terminal (getty, mgetty, sshd, telnetd, etc.) manda una señal SIGHUP a los procesos que cuelgan bajo ellos, normalmente, la shell, y en Linux, típicamente bash. Tal y como podemos leer en la página de man de bash, la shell, a su vez, manda dicha señal a todos los procesos que cuelgan bajo ella y, de hecho, incluso los despierta si están parados:

The shell exits by default upon receipt of a SIGHUP. Before exiting, an interactive shell
resends the SIGHUP to all jobs, running or stopped. Stopped jobs are sent SIGCONT to
ensure that they receive the SIGHUP. To prevent the shell from sending the signal to a
particular job, it should be removed from the jobs table with the disown builtin (see
SHELL BUILTIN COMMANDS below) or marked to not receive SIGHUP using disown -h.

Ante la señal SIGHUP normalmente todos los procesos reaccionan simplemente saliendo, lo cual es un problema si queremos que nuestro programa siga ejecutándose en el sistema una vez que hayamos dejado la shell. Para evitar que esto ocurra, tradicionalmente se ha usado el comando nohup. Adicionalmente, el bash, desde la versión 2.0, también tiene el comando interno disown como podemos leer en el párrafo anterior.

Sigue leyendo »

Tema LHYLE09, creado por Vicente Navarro