Instrucciones para actualizar Raspbian 7 (“wheezy”) a Raspbian 8 (“jessie”) en Raspberry Pi

jessie


NOTA: Para información de actualización de Raspbian Raspbian 8 (“Jessie”) a Raspbian 9 (“Stretch”) revisa este enlace. El proceso de actualización entre versiones es prácticamente el mismo, aunque para evitar confusiones he optado por hacer una página independiente para cada actualización.


A partir de septiembre de 2015 se encuentra disponible la versión 8 de Raspbian (Debian para Raspberry Pi), denominada “Jessie“, siguiendo la tradición de nombres de personajes de la película “Toy Story” que ha caracterizado a lo largo del tiempo a las versiones de Debian. Esta nueva versión trae gran cantidad de cambios, incluyendo mejoras en la parte gráfica (GTK+ v3 y LXDE desktop environment), la nueva GUI de “raspi-config”, la llegada de systemd como remplazo de SysVInit y actualizaciones globales de componentes, entre otros muchos cambios.

Para quienes ya teníamos instalada la versión 7 de Raspbian (“Wheezy”) tenemos dos opciones para migrar al nuevo sistema operativo:

  1. Instalar “Jessie” desde cero (lo que implicaría perder datos y configuraciones ya implementadas)
  2. Realizar una actualización (no soportada) del sistema operativo

En este artículo se describirá el proceso de actualización, que no conlleva muchas tareas pero que debe ser realizado con sumo cuidado para evitar pérdida de datos.

1. Realizar un backup

Al igual que se debe hacer antes de cualquier cambio, es imprescindible realizar un backup antes de proceder con los pasos para la migración. En este artículo se pueden encontrar los detalles para hacerlo.

2. Editar los ficheros de ubicaciones de descargas

Para el proceso de actualizaciones empleando APT, Raspbian (y Debian en general) utiliza los ficheros /etc/apt/sources.list y /etc/apt/sources.list.d/raspi.list, que apuntan a las carpetas pertenecientes a la versión instalada. Debido a que se realizará un cambio de versión, se deben modificar estas ubicaciones para que apunten a la nueva versión. Para ello, se ejecutan los siguientes comandos como root:

# sed -i 's/wheezy/jessie/g' /etc/apt/sources.list
# sed -i 's/wheezy/jessie/g' /etc/apt/sources.list.d/raspi.list

Al finalizar, los ficheros deben tener un contenido similar a este:

root@raspberrypi ~ # more /etc/apt/sources.list
deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib non-free rpi
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspbian.org/raspbian/ jessie main contrib non-free rpi
root@raspberrypi ~ # more /etc/apt/sources.list.d/raspi.list
deb http://archive.raspberrypi.org/debian/ jessie main
# Uncomment line below then 'apt-get update' to enable 'apt-get source'
#deb-src http://archive.raspberrypi.org/debian/ wheezy main

Adicionalmente, se deben eliminar o renombrar los siguientes ficheros que ya no son utilizados en los procesos de actualización de “Jessie”:

/etc/apt/sources.list.d/collabora.list

/etc/apt/sources.list.d/wolfram.list

3. Ejecutar la actualización

Realizados los cambios en los ficheros, lo único que resta es ejecutar los comandos de actualización de componentes:

# apt-get update
# apt-get upgrade
# apt-get dist-upgrade

El proceso de actualización puede demorar varias horas y es interactivo (el sistema operativo preguntará qué hacer en caso de conflictos), por lo que si se quieren evitar estas preguntas simplemente se debe habilitar el flag -y en cada comando.

4. Reiniciar

Cuando la descarga e instalación de componentes haya finalizado, se debe realizar un reinicio del dispositivo empleando el comando “reboot”.

5. Revisar que los cambios de la actualización se han implementado correctamente

Después del reinicio se notarán muchos cambios en el proceso de inicio del sistema operativo debido a que ya no se utiliza el método de cargue basado en initscripts ya que se ha remplazado por systemd. No obstante, el comportamiento del sistema operativo no debería variar mucho.

Para validar que la actualización ha sido satisfactoria, ejecutar el siguiente comando y validar que la salida es similar a esta:

root@raspberrypi ~ # hostnamectl
   Static hostname: raspberrypi
         Icon name: computer
           Chassis: n/a
        Machine ID:  
           Boot ID:  
  Operating System: Raspbian GNU/Linux 8 (jessie)
            Kernel: Linux 4.1.13+
      Architecture: arm

6. Liberar espacio

Si después de la actualización se tiene poco espacio en la tarjeta SD, se pueden ejecutar los siguientes comandos que remueven los paquetes que no son necesarios:

root@raspberrypi ~ # apt-get autoclean
root@raspberrypi ~ # apt-get autoremove

EXTRA: Actualizar el firmware de la Raspberry Pi

Otra tarea que casi nunca se realiza y que puede ayudar en la solución de diferentes problemas (como la detección de nuevo hardware) es la actualización del firmware de la Raspberry Pi. Este procedimiento actualiza tres ficheros importantes: el bootloader, el firmware de la GPU y el kernel. Para ello, se utiliza el comando “rpi-update”, que invoca al paquete “raspberrypi-bootloader“. Para revisar si el comando ha funcionado, primero se valida la versión del kernel instalada:

root@raspberrypi ~ # uname -a
Linux raspberrypi 4.1.13+ #826 PREEMPT Fri Nov 13 20:13:22 GMT 2015 armv6l GNU/Linux

A continuación, se realiza una actualización empleando “rpi-update”:

root@raspberrypi ~ # rpi-update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
 *** Relaunching after update
 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** We're running for the first time
 *** Backing up files (this will take a few minutes)
 *** Remove old firmware backup
 *** Backing up firmware
 *** Remove old modules backup
 *** Backing up modules 4.1.13+
#############################################################
This update bumps to rpi-4.1.y linux tree
Be aware there could be compatibility issues with some drivers
Discussion here:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=113753
##############################################################
 *** Downloading specific firmware revision (this will take a few minutes)
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   168    0   168    0     0    227      0 --:--:-- --:--:-- --:--:--   227
100 47.9M  100 47.9M    0     0   614k      0  0:01:19  0:01:19 --:--:--  644k
 *** Updating firmware
 *** Updating kernel modules
 *** depmod 4.1.15+
 *** depmod 4.1.15-v7+
 *** Updating VideoCore libraries
 *** Using HardFP libraries
 *** Updating SDK
 *** Running ldconfig
 *** Storing current firmware revision
 *** Deleting downloaded files
 *** Syncing changes to disk
 *** If no errors appeared, your firmware was successfully updated to b8f4cb56a12ddeb047172ca9f99c7ea401dd5f50
 *** A reboot is needed to activate the new firmware

Si todo ha salido bien, las versiones han cambiado debido a las actualizaciones:

root@raspberrypi ~ # uname -a
Linux raspberrypi 4.1.15+ #830 Tue Dec 15 16:58:28 GMT 2015 armv6l GNU/Linux

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.