Actualización del u-boot en el sheevaplug

Artículo creado el 24 de Febrero 2010

ÍNDICE

1. Preámbulo

2. Preparaciones previas

2.1 Instalar y configurar minicom
2.2 Descargar U-boot y ponerlo disponible para el sheeva

3. Actualizar U-boot

3.1 Mediante TFTP
3.1 Mediante USB Stick

1. Preámbulo

U-boot es un Bootloader universal para diversas arquitecturas

Este artículo explica como actualizar el U-boot del SheevaPlug mediante ctag (con el cable miniusb) y la aplicación minicom instalable desde los repositorios.

En este ejemplo se instalará la versión U-Boot 3.4.27.

2. Preparaciones previas

2.1 Instalar y Configurar minicom
Lo primero que hay que hacer es instalar minicom para poder conectar al sheeva plug con el cable miniusb

#aptitude install minicom

Una vez instalado, debemos configurarlo para escuchar en el puerto adecuado, puede ser /dev/ttyUSB0 o /dev/ttyUSB1 y conectar con 115200 bps y sin control de flujo ni por software ni por hardware.
En el equipo donde se está haciendo simultaneamente durante la elaboración del artículo el puerto es /dev/ttyUSB0, aunque hay casos en los el puerto puede ser otro, ejecutamos dmesg | tail al conectar el sheeva recien conectado y estándo encendido para averiguar el puerto al que se conecta. y debería salir algo así:

[17555.174365] usb 5-2: SerialNumber: FTSYNMK2
[17555.174580] usb 5-2: configuration #1 chosen from 1 choice
[17555.182339] usb 5-2: Ignoring serial port reserved for JTAG
[17555.187309] ftdi_sio 5-2:1.1: FTDI USB Serial Device converter detected
[17555.187359] usb 5-2: Detected FT2232C
[17555.187364] usb 5-2: Number of endpoints 2
[17555.187369] usb 5-2: Endpoint 1 MaxPacketSize 64
[17555.187374] usb 5-2: Endpoint 2 MaxPacketSize 64
[17555.187379] usb 5-2: Setting MaxPacketSize 64
[17555.188303] usb 5-2: FTDI USB Serial Device converter now attached to ttyUSB0

La última linea nos dice el puerto en el configurar el minicom

Lo ejecutamos como root para poder guardar los cambios en el archivo /etc/minicom/minirc.dfl

#minicom -s

En la sección configuración la puerta serial están las opciones para configurar lo anterior. Grabamos y salimos.

2.2 Descargar U-boot y ponerlo disponible para el sheeva

Descargamos el archivo U-Boot 3.4.27+pingtoo binary y lo guardamos como uboot.bin.
Podemos ponerlo en nuestro servidor TFTP si disponemos de uno o queremos instalarlo para la ocasión, o bien podemos guardarlo en un Pendrive.

Para guardarlo en el Pendrive como lo estamos haciendo durante la redacción del artículo, el Pendrive hay que formatearlo como FAT16, ya que si lo hacemos con FAT32 nos da un error el sheeva al intentar leer el archivo.

3. Actualizar U-boot

Ejecutamos minicom para conectar al sheeva

$minicom

Se iniciará el modem, si el sheeva está completamente iniciado, nos pedirá que inciemos sesión, (Si acabas de recibir el sheeva, el password de root por defecto está en la documentación del cd que hemos recibido con el paquete).
Reiniciamos el sistema con reboot y presionaremos una tecla al cargar el u-boot para ir a la linea de comandos sin dejar iniciar el aparato.
3.1 Mediante TFTP
Si hemos copiado el archivo uboot.bin a nuestro servidor TFTP, escribimos estos comandos para actualizar el uboot:

setenv serverip 192.168.1.2 # <----La ip de tu server
setenv ipaddr 192.168.1.200
bubt uboot.bin

Durante la actualización puede preguntarte si quieres cambiar el entorno, le decimos que no

**Warning**
If U-Boot Endiannes is going to change (LE->BE or BE->LE),
Then Env parameters should be overridden..
Override Env parameters? (y/n) n

y reseteamos para cargar el nuevo u-boot

reset

3.1 Mediante USB Stick
Si tenemos nuestro archivo en un USB con FAT16 (recordad que es importante)

usb start
fatload usb 0:1 0x0800000 uboot.bin
nand erase 0x0 0xa0000
nand write 0x0800000 0x0 0xa0000

y reseteamos para cargar el nuevo u-boot

reset

Si todo ha ido bien, ya se habrá cargado el nuevo u-boot, y podemos comprobarlo en la linea de comandos del uboot con el comando version

U-Boot 1.1.4 (Feb 24 2010 - 18:03:21) Marvell version: 3.4.27 - pingtoo patch.01

Fuentes:
http://minaya.esdebian.org/34560/sheeva-plug-parte-2-notas-sobre-uboot
http://www.cyrius.com/debian/kirkwood/sheevaplug/uboot-upgrade.html