martes, 17 de julio de 2012

Habilitar ssh Raspberry Pi

En mi caso, que aún no dispongo de un cable HDMI, no tengo otra opción que habilitar el ssh sin un monitor. Si después de haber preparado la tarjeta SD observamos, vemos que tiene varios ficheros, el que nos interesa se llama boot_enable_ssh.rc. Y lo único que tendremos que hacer será cambiarle el nombre a boot.rc
mv boot_enable_ssh.rc boot.rc
Retiremos la tarjeta del ordenador, la insertamos en nuestra Raspberry Pi y la enchufamos. Esperamos unos segundos. Lanzamos un nmap, para ver que IP se le a asignado.
nmap 192.168.0.0/24
Por último, sólo nos queda lanzar el comando ssh
ssh pi@192.168.0.32
password: raspberry
Recuerda user: pi password: raspberry

sábado, 14 de julio de 2012

Raspberry Pi - Preparando la tarjeta SD en Debian Squeeze

En 10 pasos vamos a preparar nuestra tarjeta SD de 16GB para que funcione como almacenamiento de nuestra Raspberry Pi. Mi sistema se trata de un Debian Squeeze, pero debería funcionar con cualquier otra distribución Linux. Paso 1. Descargar la imagen que plancharemos en la tarjeta SD. En mi caso fue la siguiente:
wget http://downloads.raspberrypi.org/images/debian/6/debian6-19-04-2012/debian6-19-04-2012.zip
Paso 2. Verificamos si la clave del hash del archivo zip es el mismo que aparece en la página de descargas. Suponiendo que usted pone el archivo zip en el directorio home ~/, en la terminal ejecutar:
sha1sum ~/debian6-19-04-2012.zip
Paso 3. Extraemos la imagen:
unzip ~/debian6-19-04-2012.zip
Paso 4. Ejecutamos
df -h
para ver qué dispositivos están montados.

Paso 5. Aquí llega el momento de conectar nuestra tarjeta SD al ordenador.

Paso 6. Ejecutamos df -h otra vez. Ahora debemos poder ver el dispositivo. La columna de la izquierda nos da el nombre del dispositivo de la tarjeta SD. En mi caso aparece en /dev/sdb1.

Paso 7. Ahora con el nombre de la tarjeta SD vamos a desmontar para que los archivos no puedan ser leídos o escritos en la tarjeta SD mientras se están copiando sobre la imagen SD. Ejecutamos
umount /dev/sdb1

Paso 8. Ahora debemos escribir este comando, ojo no equivocarse de dispositivo.

dd bs=1M if=~/debian6-19-04-2012/debian6-19-04-2012.img of=/dev/sdb
El comando dd no da ninguna información de su progreso, ten un poco de paciencia.

 Paso 9. Ejecutamos el comando sync, esto asegurará que la caché de escritura vacía y ya será seguro desmontar la tarjeta SD. 

Paso 10. Extraemos la tarjeta SD y conectala a tu Raspberry Pi. Listo!

lunes, 9 de julio de 2012

¿Cómo usar getopts?

Presentamos un pequeño script utilizando el comando getopts. Con este comando podemos procesar la entrada que se le pasa a un script. Para usarlo vemos que sólo tenemos que ponerla en un while y diferenciar entre las opciones que necesitan argumentaos y las que no. Esto se indica con dos puntos a la derecha de la opción. Como podemos ver, para cada opción recogemos su variable y la procesamos al terminar de recolectarlas.
#!/bin/bash
 
while getopts ":a:f:v:" opt; do
  case $opt in
    a)
     VARIABLE=$OPTARG
      ;;
    f)
     FICHERO=$OPTARG
      ;;
    v)
     VALUE=$OPTARG
      ;;
    \?)
      echo "Opcion invalida: -$OPTARG" >&2
      exit 1
      ;;
    :)
      echo "La opcion -$OPTARG necesita un argumento." >&2
      exit 1
      ;;
  esac
done

cat $FICHERO | sed s/$VARIABLE=.*/$VARIABLE=$VALUE/ > $FICHERO
Después de recoger los parámetros ejecutamos la útlima línea. Lo único que hace es buscar la variable en el fichero indicado y sustituirla por el valor introducido.