PIC y Linux

3 de Diciembre de 2008

Para trabajar con estos dispositivos bajo linux tenemos varias opciones, desde la edición de código a la simulación de funcionamiento de estos.

Las herramientas que necesitamos como mínimo son gpsim, piklab y gputis.

El Piklab es una aplicación similar al MPLAB Microchip, permite editar código en su IDE y compilarlo con distintos compiladores. Luego una vez generado el HEX podemos simularlo utilizando gpsim o bien podemos enviarlo a un PIC utilizando una programadora de las soportadas.

http://bp0.blogger.com/_VMfuKaweCzE/RzsHtTqO_oI/AAAAAAAAADE/6qIdZ1P6HbI/s320/screen11.png

Las gputils integran un compilador para fuentes en ASM.

Para verlo un poco en acción puedes hacerlo en:

http://chispolinux.blogspot.com/2007/11/piklab-en-accion.html

Si buscamos una programadora básica y con funciones de simulación podemos utilizar la PicLab: http://www.madlab.org/piclab/index.html

icon for podpress  Pantalla del Piklab: Download

Instalar Linux (Ubuntu 8.10 / Intrepid)

24 de Noviembre de 2008

En primer lugar deberemos decidirnos por una distribución y versión determinada. No hay nada fijo y cada cosa puede tener su punto fuerte y cumplir un cometido concreto.

Actualmente, y pensando en el entorno de escritorio, una de las distribuciones más completas y sencillas de instalar es Ubuntu. Derivada de Debian, mantiene su estructura de sistema de paquetes y se olvida un poco de la rigidez de cumplir con los principios de Debian a la hora de tratar con las licencias del software que integra.

Su web es http://www.ubuntu.com y ahí podemos encontrar información adicional sobre su funcionamiento y foros de ayuda.

Para realizar la instalación nos descargaremos de su página una iso de un CD que podemos quemar en nuestro ordenador o bien podemos utilizar el unetbootin para pasar este a un PenDrive y así evitar el gasto innecesario de un CD.

Nuestro equipo deberá arrancar desde CD, sino será necesario activar esta operación en la bios del ordenador.

Los primeros pasos son los siguientes:

Get the Flash Player to see the wordTube Media Player.

Una vez iniciado el sistema, podemos pulsar sobre el icono del escritorio que pone instalar. El resto es seguir los pasos seleccionando las opciones que nos propone.

Estructura de particiones (http://www.unexlug.org.ve/instalar.php)

23 de Noviembre de 2008

Instalar Linux - Particionar Disco

Uno de los puntos más importantes para instalar Linux en nuestra PC es tener listo nuestro disco duro.
Aquellos que tengan la posibilidad de adquirir otro disco duro para instalar Linux, pues adelante y se ahorrarán todo lo relativo a particionamiento.

Un disco duro se divide, físicamente, en cilindros y cada uno de estos se divide en sectores, regularmente de 512 bytes y es en este espacio donde la información es grabada. En el momento que indicamos que un disco se divida en varias unidades, realizamos el proceso llamado particionamiento, en el que se le asigna un espacio especifico a cada partición.

Verifiquemos nuestro hardware

Un elemento que regularmente los usuarios novatos pasan por alto es el relativo a verificar la compatibilidad/estado de su hardware, lo que puede traer como consecuencia que el sistema no quede bien instalado, sea inestable o de plano nos mande por un tubo el instalador, por lo que debemos verificar los siguientes puntos:

Revisar que nuestro hardware esté soportado por la distribución que vamos a utilizar.
Revisar que funcionen correctamente las tarjetas (red, sonido, módem).
Revisar que el disco duro no tenga sectores dañados.
Si se manifiestan problemas con Windows (lo que no es raro), como que se congele la máquina o no termine de encender, recomendamos enviarla antes a un servicio técnico para que se le revise la tarjeta madre o el estado del RAM.

Las revisiones de compatibilidad de hardware las pueden buscar en: http://www.linuxcompatible.org

En los casos de hardware desconocido o no compatible (caso clásico son los winmodem y winprinters) o que tengamos dañada alguna tarjeta, lo más recomendable es adquirir uno nuevo. Para el caso concreto de los módem, casi cualquiera externo por hardware funciona.

Linux no soporta ciertos dispositivos y tarjetas debido a que los controladores los hacen los mismos miembros de la comunidad GNU/Linux y esto es posible sólo cuando el fabricante libera las especificaciones de sus componentes, por eso siempre hay un un cierto período entre que un nuevo dispositivo es lanzado y que lo soporte este SO; caso contrario con Windows/Macintosh, ya que los fabricantes mismos son quienes desarrollan y prueban los controladores. El caso de los módem por software (winmodem/softmodem) es especial, ya que diversas funciones que debería manejar el hardware se le relega a que las maneje Windows directamente, lo que es una ventaja para los fabricantes al ser muy baratos de producir, peor que imposibilita su uso fuera del SO de las ventanas.

Una revisión previa es importante, ya que es frecuente que un usuario incauto simplemente no pueda configurar su módem, tarjeta de red o de sonido y le eche la culpa al sistema operativo, o peor aún cuando un hardware dañado truene la instalación, lo que los lleva a decir “Linux no sirve“. El caso es sencillo, son los componentes, no el software. Si aparentemente todo está bien, pues continuamos.

Antes que nada, respaldamos

Siempre cuando se vaya a tocar particiones de un sistema o un PC, debe respaldarse, es una regla.

¿Para que particionamos?

Los motivos para particionar son varios e incluso es aconsejable aún cuando no se vaya a instalar otro sistema operativo, porque:

Especifica partes donde se guarda la información y donde se guardan los programas, de manera que si se corrompe una unidad, no se pierde todo.
Limita el tamaño al que pueden crecer los directorios de diversos usuarios (en ambientes de redes), para evitar que saturen el disco duro y el sistema operativo ya no pueda operar.

¿Cómo divido mi disco duro?

El tamaño de las particiones dependen del tamaño del disco es lógico que mientras más grande es éste, más espacio puedes dejar a Windows por un lado y Linux por el otro, pero…

Cuidado. Un aspecto muy importante es el hecho que muchos BIOS, incluyendo los de algunas computadoras nuevas (contra lo que dicen los fabricantes), no pueden iniciar un sistema operativo que se encuentre después del cilindro 1024 (aproximadamente 7,168 MB), por lo que al determinar el tamaño debemos cuidar donde colocaremos la partición de Linux.

La mayoría de las distribuciones Linux necesitan al menos de 800 MB para una instalación mínima, sin interfaz gráfica, pero se recomienda dejar entre 2 y 3 GB sólo para el sistema operativo, aparte del espacio para usuarios, archivos de bitácora y demás; es cosa de como se acomoden y lo que vayan a cargar para determinar cuanto espacio necesitan.

Otro comentario es que, regularmente, Windows debe ir en la primera partición.

Hace mucho tiempo cuando se utilizaba Lilo como arrancador para GNU/Linux, existía la limitación de tener que instalar éste y la partición que contuviese a /boot antes del cilindro 1024 del disco duro. Siendo que actualmente casi todas las distribuciones de GNU/Linux utilizan Grub, esta limitación ya no la hay.

¿Cómo identifico la unidad donde voy a instalar Linux?

Cuando vemos un disco duro o unidades dentro de Windows, se nos presentan como letras del abecedario (C, D, E, etc.) pero dentro de Linux, es bastante diferente, ya que su estructura semeja un árbol donde cada partición y dispositivo de lectura/escritura se representa como un directorio, los nombres de las unidades de disco duro son:

Discos IDE:

hda: disco duro principal.
hdb: disco duro secundario.
hda1: primera partición del disco duro principal.
hdb2: segunda partición del disco secundario.
etc…

Los Discos SCSI, SATA, USB, etc. se identifican como:

sda
sdb
sda1
sdb2, etc…

Ahora, para ejemplificar todo este proceso, supongamos que tienen un disco duro de 20 GB y generan dos particiones, uno de 5 GB para Windows y el resto para Linux, entonces es hda1 (Windows) y hda2 (Linux), siendo en este último donde crearíamos las particiones del sistema.

¿Qué particiones necesito para GNU/Linux?

NOTA: Estas particiones se crean al momento de instalar, no de dividir el disco duro para varios sistemas operativos, pero es importante que las conozcan de antemano.Linux necesita como mínimo 2 particiones si usas el gestor de arranque Grub. Si usas Lilo es necesario como mínimo 3.

/ o root

Es la partición donde se leen los parámetros para iniciar el sistema y es donde se instalarán los componentes del sistema operativo. Se le asigna punto de montaje.

swap

Espacio físico para la memoria virtual del sistema.
Se acostumbra asignarse el doble del tamaño del RAM físico.
Esta será siempre la última partición del disco duro.
No se asigna punto de montaje.

/usr

Se trata del segundo directorio en cuanto a jerarquía en el sistema. Contiene la mayoría de los binarios (ejecutables), bibliotecas compartidas, manuales, datos de aplicaciones e imágenes que utiliza el sistema, cabeceras de desarrollo, el árbol del kernel y documentación.
Requiere al menos 1.5 GB en instalaciones básicas. Debe considerarse el software a utilizar a futuro. Para uso general, se recomiendan no menos de 5 GB y, de ser posible, considere un tamaño óptimo de hasta 8 GB en instalaciones promedio.

/tmp

En éste se almacenan todos los ficheros temporales que generan los distintos programas.
Requiere al menos 450 MB y puede asignarse hasta 2 GB o más dependiendo de la carga de trabajo y tipo de aplicaciones. Si por ejemplo el sistema cuenta con un grabador de DVD, será necesario asignar a /tmp el espacio suficiente para almacenar una imagen de disco DVD, es decir, al menos 4.2 GB.

/var

Corresponde a la partición de datos de servicios.
Requiere al menos 512 MB en estaciones de trabajo sin servicios.
En servidores regularmente se le asigna al menos 1/4 del disco duro.

/home

Corresponde a la partición de datos de usuarios. Es donde se colocan los directorios para cada usuario con los perfiles de cada cuenta.
En estaciones de trabajo se asigna al menos la mitad del disco duro a esta partición.

Por costumbre se recomienda crear particiones independientes para  / (raíz), /home, /var , /tmp, /usr y swap.

Añadir una aplicación al sistema

23 de Noviembre de 2008

Una forma de empezar a buscar aplicaciones para nuestra distribución es utilizar el synaptic. Para esto pulsamos el botón buscar y escribimos una entrada de lo que nos interesa. Esto nos indicará las aplicaciones que cumplan esta condición.

Una vez localizada una aplicación, haremos doble click sobre esta y en el caso de tener más dependencias, nos las indicará para instalarlas automáticamente.

Una vez decidido lo que queremos instalar pulsaremos el botón aplicar y esperaremos a que descarge las aplicaciones de los repositorios por internet y nos los instale.

Es posible que durante este proceso nos pregunte alguna cosa en caso de ser necesario, por lo que deberemos atender a los menús que nos aparecen en la pantalla.

Desde la consola podemos instalar aplicaciones con el comando apt-get install. Para lo cual si queremos instalar por ejemplo a aplicación rdesktop ejecutaremos:

sudo apt-get install rdesktop

y si queremos eliminarla

sudo apt-get remove rdesktop

Si por un casual nos hemos bajado un fichero .deb y deseamos instalarlo desde la consola, ejecutaremos el comando

sudo dpkg -i <nombre_del_fichero>.deb

Sistema de instalación de aplicaciones debian

23 de Noviembre de 2008

A la hora de distribuir aplicaciones en linux podemos realizarlo de distintos modos. Originariamente se utilizaba el sistema de ficheros tar.gz, en los que una aplicación se empaquetaba utilizando las herramientas tar y gzip y se descargaba, se descomprimía y podía funcionar o no, dependiendo de que nuestro sistema contara con las librerías adecuadas.

Debian inició una vía en la que las aplicaciones se empaquetaban en un fichero, pero este incluía información sobre qué otros paquetes eran necesarios y unos procesos de configuración previos a la instalación y posteriores a esta para que a aplicación quedara correctamente instalada y funcional, y en el caso de no cumplirse las dependencias, de paquetes o ser necesario alguno extra, nos lo indicaba.

En primer lugar necesitamos un sistema de repositorios, sitios en internet de los que podemos descargarnos aplicaciones.

Si entramos en la siguiente dirección:

http://http.us.debian.org/debian/dists/etch/

Veremos el siguiente listado:

Index of /debian/dists/etch/

Name Last Modified Size Type
Parent Directory/ - Directory
contrib/ 2007-Apr-08 04:25:45 - Directory
main/ 2007-Apr-08 04:25:45 - Directory
non-free/ 2007-Apr-08 04:25:45 - Directory
ChangeLog 2008-Oct-23 11:38:55 3.0M application/octet-stream
Contents-alpha.gz 2008-Oct-23 12:34:01 10.2M application/x-gzip
Contents-amd64.gz 2008-Oct-23 12:37:25 10.3M application/x-gzip
Contents-arm.gz 2008-Oct-23 12:40:48 10.0M application/x-gzip
Contents-hppa.gz 2008-Oct-23 12:11:13 10.1M application/x-gzip
Contents-i386.gz 2008-Oct-23 12:13:46 10.7M application/x-gzip
Contents-ia64.gz 2008-Oct-23 12:16:20 10.1M application/x-gzip
Contents-mips.gz 2008-Oct-23 12:18:55 10.1M application/x-gzip
Contents-mipsel.gz 2008-Oct-23 12:21:42 10.1M application/x-gzip
Contents-powerpc.gz 2008-Oct-23 12:24:55 10.4M application/x-gzip
Contents-s390.gz 2008-Oct-23 12:27:39 10.0M application/x-gzip
Contents-sparc.gz 2008-Oct-23 12:30:46 10.2M application/x-gzip
Contents-udeb-nf.gz 2008-Jul-26 06:53:12 0.8K application/x-gzip
Contents-udeb.gz 2008-Oct-23 12:08:42 34.5K application/x-gzip
Release 2008-Oct-23 12:44:11 56.8K application/octet-stream
Release.gpg

Podemos ver 3 directorios: main, non-free y contrib

Si nos fijamos en la URL que hemos escrito podemos dividirla en 3 partes lo que nos queda a la izquierda de “dist”, el primer directorio tras esta palabra y el contenido de este. Lo que tenemos son una URL en la que se encuentran los paquetes, el nombre de una versión de una distribución y una agrupación en categorías de los paquetes. En este caso la versión de la distribución es la etch de debian y la agrupación de los paquetes se hace en 3 categorías, main, non-free y contrib.

El sistema de instalaciones basado en apt se basa en un fichero en el que le indicamos dónde se encuentran los repositorios ubicado en /etc/apt/sources.list.

Para indicar una entrada en el fichero esta sigue la siguiente estructura:

deb URL versión_instalada categoría_de_paquetes

En nuestro ejemplo la línea sería:

deb http://http.us.debian.org/debian/ etch main non-free contrib

Si estamos trabajando en un entorno gráfico basado en gnome, podemos utilizar synaptic para añadir repositorios (también la entrada de Orígenes de Software, ambos en el menú Sistema -> Administración). En el Synaptic, podemos ir al menu Configuración -> Repositorios y ahí podemos añadir una entrada como hemos descrito anteriormente.

Para encontrar repositorios podemos hacerlo o bien en las páginas de las distribuciones o bien en sitios que encontramos por internet. Por ejemplo para utilizar la versión no OpenSource de VirtualBox, podemos ir a su página: http://www.virtualbox.org y en la sección de descargas hace referencia a las líneas para el apt para distintas distribuciones.

Debian-based Linux distributions: Add one of the following lines according to your distribution to your /etc/apt/sources.list:

deb http://download.virtualbox.org/virtualbox/debian intrepid non-free
deb http://download.virtualbox.org/virtualbox/debian hardy non-free
deb http://download.virtualbox.org/virtualbox/debian gutsy non-free
deb http://download.virtualbox.org/virtualbox/debian dapper non-free
deb http://download.virtualbox.org/virtualbox/debian lenny non-free
deb http://download.virtualbox.org/virtualbox/debian etch non-free
deb http://download.virtualbox.org/virtualbox/debian sarge non-free
deb http://download.virtualbox.org/virtualbox/debian xandros4.0-xn non-free

The Sun public key for apt-secure can be downloaded here. You can add this key with

En este caso copiaríamos la línea de nuestra distribución utilizando la herramienta que más nos guste.

Si por ejemplo estamos en un terminal y queremos añadir una línea al sources.list, podemos hacerlo del siguiente modo:

sudo echo “deb http://download.virtualbox.org/virtualbox/debian intrepid non-free” >> /etc/apt/sources.list

Es muy importante el uso de la doble “>”, que indica al sistema que añada al final de un fichero, ya que en caso contrario vamos a sobreescribir el fichero sources.list.

Cada vez que añadimos nuevas líneas al sources.list deberemos actualizar la lista de aplicaciones o bien pulsando el botón Recargar en Synaptic o ejecutando:

sudo apt-get update

Ahora ya podremos instalar nuevas aplicaciones y actualizar el sistema.

Leer más: http://www.debian.org/doc/manuals/apt-howto/ch-basico.es.html

Instalar una aplicación desde un paquete .deb

23 de Noviembre de 2008

En primer lugar deberemos bajarnos un fichero en este formato. Como ejemplo, buscaremos la aplicación UNETBOOTIN en Google. Esto nos llevará a la siguiente página: http://lubi.sourceforge.net/unetbootin.html.

Tras navegar por la página nos da la opción de bajarnos un fichero .deb para nuestra distribución (estamos trabajando con Ubuntu 8.10 / Intrepid para i386):

unetbootin (pulsa para ver el video)

Una vez descargado el fichero .deb, el siguiente paso es proceder a su instalación. Suponiendo que lo hayamos descargado al escritorio, buscaremos este y haremos doble click sobre él, se nos abrirá el gdebi y podremos ver si hay dependencias incumplidas, lo que no nos permitirá instalar el paquete y en caso contrario, podremos pulsar el botón instalar.

Tras pulsar este, nos pedirá que confirmemos nuestra identidad pidiendonos la contraseña de usuario y si todo es correcto iniciará la instalación.

En el caso concreto del unetbootin, podremos localizar este en el menú Aplicaciones-> Herramientas del sistema.

Crear un video con herramientas opensource

21 de Noviembre de 2008

En esta ocasión la idea es crear un fichero de video a partir de fuentes de imagen, ponerles varios efectos y generar una salida con música y en formato para la web.

Las herramientas que vamos a utilizar son imagemagick, gimp (en caso de querer editar algo), cinelerra y avidemux.

En primer lugar necesitamos varias fotos que deseemos utilizar como base del video. Estas las podemos editar utilizando el GIMP o realizando los montajes que deseemos. Una vez finalizada esta parte, el siguiente paso es empezar a preparar las imágenes para nuestro video.

Una vez que tenemos la serie de imágenes, podemos utilizar el comando convert del ImageMagick. Este permite modificar el tamaño de todos los ficheros de imágen que vayamos a utilizar. Una forma sencilla, si tenemos múltiples imágenes es crear un directorio de destino y volcar en este las imágenes retocadas de tamaño. En nuestro caso vamos a hacer el video en dos partes. En primer lugar vamos a generar un video de mayor calidad, para posteriormente convertirlo a algo más manejable en internet y de menor tamaño. El formato PAL soporta tamaños de 720×576. Para eso convertiremos nuestra imágenes a ese tamaño.

convert imagen_original -size 720×576 imagen_redimensionada

Esto lo podemos automatizar de forma sencilla creando un directorio en el que guardar las imágenes y luego copiando en él las images redimensionadas:

cd /directorio_de_imagenes

mkdir redimensionadas

for a in `ls *.jpg`; do convert $a -size 720×576 redimensionadas/$a ; done

El siguiente paso es utilizar cinelerra, con esta aplicación podemos cargar imágenes, y posteriormente trabajar con ella como un clip, incluir efectos, transiciones y generar una salida de video.

Una vez guardado el video, podemos utilizar un formato mpeg, lo siguiente es generar nuestra salida para internet, y para ello utilizaremos avidemux. Con esta aplicación cargamos el video que hemos generado con cinelerra, y podemos incluir una secuencia de audio y generar una salida en mp4 para nuestro dispositivo multimeda o bien un flv para enviar a la red.

ScribeFire

2 de Junio de 2008

Getting started with ScribeFire - ScribeFire: Fire up your blogging

Bluetooth en linux y los teléfonos móviles

3 de Mayo de 2008

Un pequeño repaso a cómo utilizar tu móvil desde linux.

Necesitarás una tarjeta bluetooth en tu equipo, y un móvil con soporte para bluetooth

Para leer más

Bluetooth en Linux

Configuración rápida de mpd e icecast

11 de Abril de 2008

Acabo de preparar un mini tutorial de cómo configurar (en principo está desarrollado con ubuntu) la combinación de los servidores de mpd e icecast para hacer streaming de audio controlado en una red local, si quieres leer más:

http://blog.taxusnet.com/mpd-e-icecast/