Archivo

Archivo para mayo, 2013

Compilar Kernel para Raspberry Pi

domingo, 19 de mayo de 2013 4 comentarios

Hace unos días tuve que compilar el kernel para el Raspberry Pi ya que necesitaba agregar un módulo del kernel para una impresora térmica (usblp.ko), ya que no viene incluido en raspbian.

Para que necesitas compilar el kernel?

  • Soporte dispositivos o tecnologías no incluidas en raspbian (mi caso)
  • Actualizar a nueva versión
  • Personalizar el kernel removiendo módulos o características que no son necesarias para el uso que le das al equipo.

Requerimientos

  • SD con Raspbian instalado y ejecutándose (aquí sólo compilamos el kernel, igual necesitarás el resto de la distribución).
  • Una distribución linux para compilar, aquí usé Ubuntu Server (que era la que tenía a mano xD).
  • Lector de tarjetas para modificar los archivos (reitero la necesidad de linux, ya que debes acceder a la partición ext3).
  • Un buen procesador, mientras mejor sea la compilación será más rápida.
  • 2 GB de espacio mínimo aprox (mi carpeta pesa 1819 MB, en 71418 archivos)

Proceso

  • Primero debes descargar el código fuente de Linux, aquí usaré la versión 3.6 que corresponde a la rama estable. Puedes clonar el repositorio git, pero como son muchos archivos conviene más descargar el archivo comprimido.

mkdir rpi
cd rpi
wget https://github.com/raspberrypi/linux/archive/rpi-3.6.y.tar.gz
tar xfv rpi-3.6.y.tar.gz

  • Luego debes descargar el cross-compiler, ya que estarás compilando para ARM desde x86/x64, al igual que Linux también puedes clonar el repositorio o descargar el archivo comprimido

wget https://github.com/raspberrypi/tools/archive/master.tar.gz
tar xfv master.tar.gz
apt-get install gcc-arm-linux-gnueabi make ncurses-dev

  • Ejecuta este comando para limpiar la carpeta del kernel

cd rpi-3.6.y
make rproper

  • Luego debes copiar la configuración de kernel, para eso necesitas obtener el archivo .config de un raspbian en ejecución

scp root@raspberryip:/proc/config.gz config.gz
zcat config.gz > .config

  • Debes exportar esta variable que define el path del compilador y el prefijo de los comandos.

export CCPREFIX=/home/usuario/rpi/tools/arm-bcm2708/arm-bcm2708-linux-gnueabi/bin/arm-bcm2708-linux-gnueabi-

  • Actualizar la configuración

make ARCH=arm CROSS_COMPILE=${CCPREFIX} oldconfig

  • Si deseas agregar o quitar características y módulos al kernel debes entrar al menú de configuración

make ARCH=arm CROSS_COMPILE=${CCPREFIX} menuconfig

  • Compilar el kernel!, esto tardará varios minutos e incluso horas

make ARCH=arm CROSS_COMPILE=${CCPREFIX}
make ARCH=arm CROSS_COMPILE=${CCPREFIX} modules

  • Ahora debes pasar el kernel a la tarjeta SD, si está en ejecución apaga el rPi e inserta la tarjeta en el lector de tu computador (aqui supondré que la SD está en /mnt/sdsys la partición ext3 del sistema y /mnt/sdboot la fat32 de booteo)

mv /mnt/sdboot/kernel.img /mnt/sdboot/kernel-original.img
cp arch/arm/boot/Image /mnt/sdboot/kernel.img

  • Ahora debes copiar los módulos, primero se pondrán todos juntos en una carpeta y luego se copiarán

mkdir /home/usuario/rpi/modules
export MODULES_TEMP=/home/usuario/rpi/modules
make ARCH=arm CROSS_COMPILE=${CCPREFIX} \
INSTALL_MOD_PATH=${MODULES_TEMP} modules_install

mv /mnt/sdsys/lib/modules /mnt/sdsys/lib/modules.old
mv /mnt/sdsys/lib/firmware /mnt/sdsys/lib/firmware.old
cp –rv /home/usuario/rpi/modules/lib/* /mnt/sdsys/lib/

  • Luego se debe actualizar el firmware, se debe descargar y copiar a la SD

cd ..   (para volver a /home/usuario/rpi)
wget https://github.com/raspberrypi/firmware/archive/next.tar.gz
tar xfv next.tar.gz
cd firmware-next
mv /mnt/sdsys/opt/vc /mnt/sdsys/opt/vc.original
cp –rv /opt/vc /mnt/sdsys/opt/
mv /mnt/sdboot/bootcode.bin /mnt/sdboot/bootcode.bin.original
mv /mnt/sdboot/fixup.dat /mnt/sdboot/fixup.dat.original
mv /mnt/sdboot/start.elf /mnt/sdboot/start.elf.original
cp boot/bootcode.bin /mnt/sdboot/
cp boot/fixup.date /mnt/sdboot/
cp boot/startr.elf /mnt/sdboot/

  • Llegó el momento de probar el nuevo kernel. Extrae la SD e insértala en el Raspberry Pi y enciéndelo. Si inicia el SO y llegas al login el kernel se compiló exitosamente.
  • Opcionalmente puedes eliminar todos los archivos que se renombraron para liberar espacio una vez que compruebes que el kernel funcionó correctamente.

Fuente: http://elinux.org/RPi_Kernel_Compilation

Revisa la información del Metro Valparaíso en Android con Metrack

domingo, 19 de mayo de 2013 1 comentario

Si eres pasajero del Metro Valparaiso esta aplicación será muy útil ya que podrás revisar la información del servicio fácilmente.

  • Conocer la tarifa de tu recorrido dada estación origen, destino, tipo día, tipo usuario y hora.
  • Conocer los horarios aproximados de cuándo pasa el tren dada estación origen, destino y hora. También los horarios de apertura y cierre de estaciones.
  • Consultar el saldo de tu tarjeta del Metro Valparaíso.
  • Encontrar la ubicación de las estaciones y tu ubicación actual representada en un mapa.
  • Consultar el plano de la red que comprende el listado de todas las estaciones y el servicio bus+metro (Limache Viejo, Olmue, Quillota y La Calera)

image image image

image image image

Get it on Google Play

Requiere Android 2.1 o superior
Peso 803k

Categories: Android, Software Tags: , ,

CompruebaIP 3.0

domingo, 19 de mayo de 2013 Sin comentarios

Hace un par de semanas está disponible una nueva versión de CompruebaIP para Android, la que contiene muchos cambios en comparación a su predecesora.

– Agregada función de copia al portapapeles, al hacer clic en un item de la lista se copiará al portapapeles. (3.0.1)
– Rediseño UI, ahora con tema Holo.
– Aplicación completamente reescrita desde 0.
– Soporte más dispositivos.
– Información dividida por categorías (general, wifi, 3g, herramientas).
– (General) Agregado hostname del dispositivo.
– (Wifi) Agregada máscara de subred, tiempo lease DHCP, servidor DHCP (aparece sólo si es soportado), nombre wifi.
– (3g) Agregada puerta enlace, proxy, información operador y SIM, estado red.
– (Herramientas) Si no dispones de Busybox pero sí del comando "ip" se usará en su lugar para proveer información. (probado en tablet con Android 3.2)

Screenshots

image image imageimage image image

image image 

  • Requiere Android 2.1 o superior
  • Tamaño 260 KB
  • Movible a la tarjeta SD
  • Disponible en Ingles y Español

Get it on Google Play

Comentarios, sugerencias, bugs (force close/ANR) en la página de la aplicación.