Spiga

Kernel 3.2.23 ARMHF para Raspberry Pi

 
Buenas de nuevo a todos :)

Estos días hemos estado trabajando en configurar y poner a punto nuestra Raspberry. Lo que hoy os traigo es un pequeño "Kit Kat" a los tutoriales que hemos visto hasta ahora. Se trata de un nuevo kernel, compilado con soporte para coma flotante, que agiliza bastante muchos procesos. Si lo comparamos con el 3.1.9 que trae por defecto Raspbian podremos ver que, además de una mayor rapidez en determinadas funciones, como mejoras tiene:

- Mayor cantidad de firmwares/drivers soportados
- Mayor estabilidad de la máquina

Por el momento he comprobado que soluciona los problemas de kernel panic que sufría de vez en cuando mi Raspberry cuando hacía trabajar en exceso a la CPU o en altas cargas de uso de red (esto va a servirnos para cuando veamos cómo convertirla en un cliente torrent). Aquí os dejo una captura de mi pequeña corriéndolo sin problemas:


 He intentado hacerlo algo más liviano compilándolo yo mismo, quitándole soporte para cosas que no uso, pero llevo varios días peleándome para que me funcione la imagen generada (he hecho una consulta para ver si me solucionan el problema, así que si recibo respuesta os lo cuento) 

Os dejo de momento con uno compilado, de jorisvergeer, a partir de la rama de bootc. Instalarlo es muy sencillo, así que paso a daros las instrucciones:

- Primero extrae la SD de tu Raspberry y renombra de la partición FAT el fichero "kernel.img" a "kernel.img.old" (por ejemplo)

- De la partición ext4 localiza /lib y las carpetas "modules" y "firmware". Renómbralas también añadiéndoles un ".old" al nombre (modules.old y firmware.old)

- Copia, del fichero descargado, el "kernel.img" a la partición FAT y las carpetas "modules" y "firmware" dentro de /lib en la partición ext4.

Hemos renombrado todas las carpetas y ficheros por si en algún momento queremos volver hacia atrás o no nos acaba de convencer el nuevo kernel. Para ello simplemente bastará con revertir el proceso que acabáis de hacer.

Os dejo con el enlace de descarga: Bootc Kernel 3.2.23 ARMHF

Nos vemos muy pronto con el siguiente tutorial que, como ya dije, montaremos un servidor de streaming DLNA.

Actualizar firmware, IP estática, acceso SSH + SFTP en Raspberry Pi


Como ya sabéis ésta es la segunda entrega de una serie de tutoriales que vamos a dedicar a la Raspberry Pi. Si has llegado directamente aquí, te recomiendo leer antes mi anterior tutorial: Raspberry Pi para novatos.

Para los que nos quedamos tras la primera configuración y ejecución del sistema base Raspbian os habréis dado cuenta que, tras varios inicios de vuestra máquina, la IP ha ido variando. Esto se debe a que, por defecto, Raspbian utiliza DHCP para asignar una IP a nuestra Raspberry, hecho nada recomendable si lo que pretendemos es montar algún tipo de servidor en ella, ya que dificultaría la localización de la misma en la red cada vez que se nos asignase una nueva IP. Existen dos posibles soluciones al problema:

  1. Seguir con DHCP, despreocupándonos de la configuración manual de los parámetros de red y configurar en nuestro router una asignación estática de IP, mediante DHCP, gracias a la dirección MAC de la ethernet de la Raspberry (supongo que a más de uno le habrá sonado a Chino).
  2. Editar los ficheros de configuración de red de Raspbian para que se le asigne la IP que nos interese a nosotros. No cabe decir que éste es el método que yo voy a utilizar y el que recomiendo.
Tal y como he dicho no voy a entrar en configuraciones de routers, ya que para cada modelo, fabricante, etc. es un proceso totalmente diferente y nos perderíamos. Siguiendo por lo tanto la segunda opción vamos a configurar nuestra IP para que sea estática, por lo tanto enciende tu Raspberry, haz login y prepárate.

Para empezar vamos a necesitar algunos valores, como la IP deseada, máscara de red, puerta de enlace y servidores DNS. De no conocer dichos valores escribiremos:

ifconfig

Una vez que tengamos todos los valores anotados editaremos el fichero de configuración con:
sudo nano /etc/network/interfaces

Allí deberíamos encontrarnos con el siguiente texto:


iface eth0 inet dhcp

Que básicamente lo que hace es asignarme a la interfaz eth0 una IP a través de DHCP. De tener más de una NIC irían sumando números, como por ejemplo eth1, eth2, etc. Para conseguir nuestro propósito lo que haremos será cambiar la línea por:

iface eth0 inet static
address 192.168.1.123
netmask 255.255.255.0
gateway 192.168.1.1

Debes tener en cuenta que en address vamos a poner la IP deseada para nuestra Raspberry, en mi caso 192.168.1.123 (fácil de recordar), en netmask la máscara de red y en gateway la puerta de enlace.

Ahora pasaremos a configurar los servidores DNS, para ello escribiremos:


sudo nano /etc/resolv.conf

Y borraremos lo que haya para agregar lo siguiente:

nameserver 192.168.1.1
nameserver 8.8.8.8

Con ambas líneas agregamos a la puerta de enlace como DNS primario, ya que muchos routers actúan como tal si están correctamente configurados, y con la segunda hemos agregado el servidor DNS de Google. Ambos valores pueden ser cambiados por los servidores DNS que más os gusten, ya sean los de vuestra compañía o cualquier otro (no hay problema en usar DNS que no son de nuestro propio ISP)

Ahora que ya tenemos una IP fija lista es momento de reiniciar para tomar nuevos valores. Para ello escribiremos el siguiente comando:

sudo reboot

Pasados unos segundos tendremos nuestra pequeña con su IP estática, lo que nos va a permitir tenerla bien localizada en la red en todo momento. El siguiente paso va a ser probar una conexión remota desde la propia red. Para ello encenderemos otra máquina que tengamos y accederemos mediante un cliente SSH. Tenemos dos soluciones:

Solución de acceso remoto con Windows:
Empezaremos descargando un cliente SSH, como por ejemplo PuTTy que es totalmente gratuito. Como pros son su reducido tamaño y portabilidad, puesto que no necesita instalarse y actúa como un portable. Una vez lo tengamos descargado, lo ejecutamos y le damos los valores necesarios:

PuTTy es un cliente SSH gratuito y completo para Windows

Le pinchamos a "Open" y si todo es correcto nos encontraremos con una pantalla que nos pide nuestro login y, de forma posterior, nuestra contraseña. Una vez identificado correctamente estarás dentro de la máquina pudiendo hacer lo mismo que si estuvieras delante. Para Linux es aún más sencillo, teniendo simplemente que escribir en una terminal lo siguiente:

ssh pi@192.168.1.123

O si queremos que nos importe la sesión gráfica (no os lo recomiendo, ya que si os acordáis redujimos a 32 MiB la capacidad de la GPU):


ssh -X pi@192.168.1.123

Y ahora ya podemos controlar totalmente nuestra máquina, sin necesidad de tenerla conectada a una salida de vídeo, dando servicio 24h/365 días al año, por un consumo de unos 6€ aproximados de luz. Genial, ¿verdad? Pues sigamos dándole más funcionalidades.
Ahora vamos a pasar a realizar una conexión por SFTP. Esto nos va a permitir transferir ficheros de un host determinado a nuestro "Raspberry Server". Siguiendo en la línea del software gratuito usaremos FileZilla. En Windows podéis descargarlo de aquí y para los usuarios de Linux bastará con instalarlo desde repositorios mediante:
sudo apt-get install filezilla

Arrancamos el programa y lo configuramos de la siguiente manera:

SFTP es un protocolo que transfiere ficheros en conexiones fiables

Es importante que cambiéis el puerto al 22, porque de lo contrario va a intentar conectar al puerto FTP, mientras que nosotros estamos sirviendo SFTP. Al conectar deberemos ver el contenido de la Rasp a la derecha y, al lado izquierdo, nuestro host.

FileZilla es un cliente FTP y SFTP con licencia GNU/GPL. Es multiplataforma.

Llegados a este punto ya podemos controlar remotamente, pasar ficheros y lo único que nos queda es poner al día nuestro firmware. Para ello vamos a utilizar la herramienta rpi-update de Hexxeh. Para poder utilizar vamos a necesitar hacer un par de cosas antes, así que empezaremos instalando la utilidad git, que nos permitirá utilizar el updater. Para ello escribiremos en nuestra raspberry los siguientes comandos:

sudo apt-get install git
sudo apt-get install ca-certificates
sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update
sudo chmod +x /usr/bin/rpi-update

Momento de actualizar nuestros firmwares, con la pequeña diferencia que aquí no hay riesgo alguno de quedarnos con un ladrillo, ya que todo es mediante software. Para ello escribiremos en la Raspberry:

sudo rpi-update 224

Consiguiendo así actualizar en apenas unos minutos y haciendo, a su vez, la repartición de memoria en 224 MB para CPU y 32 para GPU como ya habíamos hecho antes.

Tras actualizar el firmware deberemos reiniciar para que surja efecto

Al finalizar se nos mostrará un mensaje advirtiéndonos que es necesario reiniciar para activar el nuevo firmware, así que procederemos a ello con la instrucción que vimos tras guardar los ficheros de configuración de IP estática.

Y con esto hemos acabado con el segundo tutorial de configuración básica para novatos. En el próximo personalizaremos los mensajes de bienvenida de nuestra Raspberry e instalaremos un cliente DLNA (streaming UPnP) para que sirva todo el contenido multimedia de nuestros discos o SD al resto de dispositivos compatibles en la red. Si hasta entonces quieres seguirme con mayor regularidad puedes hacerlo en mi Twitter (@drkbcn) en el que publico, entre otras cosas, noticias y proyectos interesantes relacionados con la Raspberry Pi.

¡Hasta entonces! 

PD: Gracias a la gente de Farnell España / element14 por difundir, a través de su Twitter, mis tutoriales.


Raspberry Pi para novatos

Hemos migrado (y actualizado) el contenido de esta página a:
https://www.servicio365.com/raspberry-pi-para-novatos/
¡Disculpen las molestias!