domingo, 23 de enero de 2011

Instalando Debian Squeeze con particiones encriptadas

En mi post anterior, un usuario me pidió que hiciese un tutorial sobre como instalar Debian Squeeze con una o varias particiones encriptadas. Y bueno, he aquí cumplo con el pedido.

Nota: todos los pasos que sigo aquí son cosas que he aprendido en forma ad-hoc, puede que haya cosas que necesiten correcciones. Por supuesto, se agradece que las dejen en los comentarios =)

Voy a cubrir algunos pasos esenciales y luego saltar directamente hacia la parte del particionado de discos. También vale aclarar que voy a usar el instalador en modo texto sencillamente porque lo encuentro mas cómodo, pero su análogo gráfico es igual de sencillo.

El primer paso es bootear el instalador de Debian Squeeze:


Para hacer las cosas mas interesantes, voy a elegir la opción "expert install".


Y como éste post es en español... usemos español para la instalación.



A partir de ahí, hago un gran salto hasta elegir que componentes del instalador deben descargarse. Y debo ser sincero: éste paso estimo que debe hacerse ya que vamos a particionar manualmente, pero la verdad no sé si es necesario. El componente a cargar es cfdisk-udeb.



Seguimos adelante hasta llegar al particionado de discos.


La primera opción que se nos ofrece es hacer un particionado guiado utilizando todo el disco. Noten que también está la posibilidad de hacer un LVM cifrado en forma guiada.


Pero nosotros vamos a hacer las cosas de forma manual :-)


Para éste ejemplo, utilicé una máquina virtual con VirtualBox. Como la máquina tiene el disco vacío, es necesario hacer algunos pasos previos. Si el disco sobre el que van a instalar Debian Squeeze ya tenía algún sistema operativo, éstos pasos seguramente no les va a tocar hacerlos. La idea aquí es elegir en qué disco (y no en que partición) vamos a instalar nuestro SO.


Como les decía, el disco estaba vacío, por lo que es necesario crear una tabla de particiones. Noten que en la imagen está seleccionado "No", pero obviamente van a necesitar elegir "Sí" :-)



Bien, ya tenemos nuestro disco con tabla de particiones listo para ser usado. Nuestro pŕoximo paso va a ser crear una partición /boot no encriptada, para poder permitir que el sistema bootee. Seleccionamos el espacio libre de nuestro disco.


Creamos una nueva partición de 100 MB.



La hacemos una partición primaria (aunque es muy posible que funcione sobre una lógica).


Al principio del espacio libre, sólo por gusto.


Por defecto el instalador queire establecer una partición /, por lo que es necesario cambiarle el punto de montaje.



Finalmente, guardamos los cambios.


Hora de configurar los volúmenes cifrados.


Para proceder, es necesario guardar los cambios a los discos.


Y creamos un volumen cifrado.


Elegimos el espacio libre de nuestro disco para crear tal volumen.


Guardamos los cambios.



Y terminamos la creación del volumen cifrado.


Al crear un volumen cifrado, el sistema ofrece sobreescribir los datos actuales con datos aleatoreos. Éste paso no es estrictamente necesario, pero si altamente recomendable.


La sobreescritura de los datos con datos aleatoreos puede tardar mucho tiempo. Tardé mas de tres horas en éste paso en un disco de 160G. Se puede cancelar en cualquier momento sin problemas aparentes.


Un paso mas que importante: establecer la frase-contraseña para cifrar el disco.


Por supuesto, hay que repetir la misma para validar que se haya escrito correctamente. ¡Y a no olvidársela!


Ahora nos toca configurar el gestor de volúmenes lógicos (LVM).


Otra vez, hay que guardar los cambios.


La idea ahora es crear un grupo de volúmenes y crear dentro de él los volúmenes lógicos que querramos (swap y / en nuestro caso).


Un nombre para el grupo de volúmenes.


Creamos el grupo de volúmenes en nuestra partición encriptada.


Una vez creado el grupo de volúmenes, hay que crear los volúmenes lógicos para la swap y /.






Hay que repetir éstos últimos pasos para crear /. Luego seleccionamos nuestro volúmen lógico para la swap y establecemos una partición de éste tipo en él:





Otra vez, hay que repetir los pasos anteriores para /, normalmente queda como la siguiente figura.


¡Terminamos el particionado! Hora de guardar los cambios.



El resto sigue siendo el mismo proceso de instalación de siempre. Una vez que se reinicia el sistema, podemos ver como se nos pide la frase-contraseña que establecimos antes para poder bootear.



Y eso es todo :-)

sábado, 22 de enero de 2011

jueves, 13 de enero de 2011

Lo que ¿todo? programador debe saber sobre memoria

Estuve leyendo el artículo de Ulrich Drepper "What every programmer should know about memory", de Noviembre de 2007.

En mi caso particular, educado como ingeniero electrónico, leer este trabajo fué sin duda una gran idea. Lo que no implica que lo pude "desglosar" totalmente, o dicho de otra manera, hay partes del texto que me siguen resultando "oscuras", pero nada que con un poco de esfuerzo no se logre comprender. Sencillamente estoy usando un algoritmo de lectura/comprensión bastante perezoso ;-)

El hecho de no tener mucha formación "formal" de software no influyó mucho sobre la comprensión del texto. Dicho de otro modo, no es excusa para no leerlo :-)

Lo único que me gustaría notar como crítica muy leve es el hecho de que no todo el texto es para todo programador. Los primeros capítulos son fundantes, aunque quizás mi óptica de hardware adquirida a través de los años me nuble la visión un poco :-) Pero sin duda ayudan a comprender muchísimo lo que pasa por dentro de una computadora. La parte que creo que no todo programador pueda llegar a aprovechar es en donde se explica como mejorar el código para casos particulares de hardware. Muchas veces lo que queremos es que nuestro software corra razonablemente bien en toda plataforma, y no que se destaque en una en particular. También es posible aplicar algo de ésta lógica a un mantenedor de paquetes de una distribución binaria, como es mi caso con Debian.

Sin embargo, vuelvo a hacer énfasis de que es una muy buena lectura.

domingo, 9 de enero de 2011

Publicado QAntenna 0.2.3

Ésta nueva versión de QAntenna trae un par de bugfixes y features nuevos:

  • Agrega soporte drag and drop, gracias a Graham Seale.
  • Muestra los alambres radiales cuando se especifican en la tarjeta GN (tierra o ground).
  • Acepta los comentarios en la tarjeta CE.
  • Arregla el parseo de la tarjeta GD.
  • Las salidas input.necin son ahora creadas con nomenclatura exponencial.
Como siempre, la pueden descargar desde SourceForge. Por otro lado, el paquete para Debian va a estar disponible en breve en Sid. Y va a ser mi primer paquete con la bandera DM-Upload-Allowed: yes =)

sábado, 8 de enero de 2011

El orden natural de las cosas

Gracias a Fede Heinz, la próxima versión de Choqok va a tener un feature nuevo: mostrar los dents en orden natural. ¿Cómo es ésto? Sencillo: cada nuevo dent va a aparecer abajo del dent anterior, y no encima. Nada mejor que una imagen para ilustrar:

Para los que usamos Debian Sid, y gracias a Noah, ya podemos disfrutar de éste feature a través de un paquete release candidate.
Si todavía piensan que ésto no es una buena idea, consideren el caso de una conversación. No mas ir leyendo de abajo para arriba para poder entenderla (o, en términos mas geeks, ir leyéndolas de arriba hacia abajo y cargando un buffer de ideas para poder entenderla).

viernes, 7 de enero de 2011

Reviviendo una pedalera Zoom G9.2tt

Hace un par de semanas un amigo, S, intentó actualizar el firmware de una pedalera Zoom G9.2tt. El resultado: una pedalera en estado catatónico.

El proceso se realiza utilizando únicamente Windows (ya empezamos mal), con un software propietario (típico...) bastante viejo y a través de ¡los puertos MIDI! Y eso a pesar de que la pedalera cuenta con un conector USB.

Revisando un poco su instalación, mi primer sospechoso fué el cable MIDI, que no es otra cosa que un conversor USB ←→ MIDI. Teniendo en cuenta mi experiencia con conversores de éste tipo utilizados para una funcionalidad alternativa (tienden a no andar), le sugerí a S que se consiga una máquina con Windows y que se venga a casa, en donde tengo una placa con hardware MIDI real.

En el primer intento llegamos a un punto del proceso de reflasheado mucho mas avanzado que con el cable MIDI por USB. Pero el mismo seguía fallando dando un simple mensaje de error. Muy informativo :-(

S había leído en algún foro que mucha gente probó muchas veces hasta que finalmente anduvo. Y éso fué lo que hicimos, hasta que, en un momento, logramos terminar el proceso.

Sin embargo no todo quedó bien: la pedalera acusa que los pedales no están calibrados. Y ésto, hasta el momento, no tenemos ni idea como solucionarlo. ¿Alguien con alguna idea?

Algunos corolarios de la situación:

  • Cuando se va a utilizar algún medio para un uso atípico, tratar de evitar los conversores. Por ejemplo, usar un puerto paralelo mediante conversor USB puede andar para una impresora, pero es mucho mas difícil que lo haga utilizándolo para transferencias JTAG. O un cable MIDI←→USB ;-) Mejor conseguirse un cable específico o una máquina con el puerto correcto.
  • No sé que estaba pensando la gente de Zoom al usar los puertos MIDI para flashear una pedalera. En Windows. Uugh.