Instalación y mantenimiento de Raspbian en una Raspberry Pi

Descripción del contenido de la página

Apuntes sobre la instalación y mantenimiento de Raspbian en una Raspberry Pi (hasta 2013-06) y la compartición de datos de usuario con una Pandora con Debian (hasta 2013-01).

Etiquetas:

Esta página recoge apuntes tomados durante el proceso de instalación, configuración, mantenimiento y uso de Raspbian en una Raspberry Pi. Raspbian es un Debian estándar pero cuyos paquetes han sido compilados a propósito para el procesador de la Raspberry Pi.

Las notas que siguen también tratan sobre la compartición completa de datos de usuario entre esta plataforma y la Pandora con Debian. El objetivo era que ambas máquinas pudieran usar la misma tarjeta SD y compartir el directorio del usuario principal. Para lograrlo, la Raspberry Pi monta la tarjeta de la Pandora (con un adaptador USB) bajo /mnt/ y usa un enlace simbólico bajo /home/ para apuntar al directorio real del usuario en la tarjeta montada.

El posterior seguimiento de los paquetes instalados se hizo para ayudar a mantener los sistemas de ambas máquinas sincronizados en ese aspecto. Tras la avería definitiva de la Pandora en 2013-01, el objeto principal de anotar los paquetes instalados es facilitar la restauración del sistema tras una corrupción de la tarjeta SD.

2012-11-20

La imagen comprimida del soporte de instalación de Raspbian ocupa unos 400 MiB; descomprimida, cerca de 2 GiB. Tras copiarla con el programa dd en una tarjeta SD y arrancar la máquina con ella, se inició la instalación.

Probé la salida de vídeo compuesto, convirtiéndola a VGA con un conversor Atlona AT-AVS-COMP. La calidad de la imagen no era satisfactoria. Después pude disponer de un monitor con entrada HDMI, la salida que provee la Raspberry Pi, con lo que la imagen fue perfecta.

El programa de configuración arranca solo y es muy claro.

El sistema proporciona un usuario predeterminado, pi, y una cuenta inaccesible de administrador (root), con una contraseña aleatoria, para obligar a usar los comandos sudo y su, en el estilo de Ubuntu. Esto lo cambio después para poder usar la cuenta de administración directamente.

El primer programa que instalo es Gforth; el segundo es Vim.

2012-11-21

Instalo Ratpoison, Screen, keynav, most, lftp... Construyo la Caja para Rapsberry Pi.

2012-11-22

Creo un usuario con el mismo identificador, nombre y directorio, que en el Debian de la Pandora; convierto su directorio en un enlace simbólico al lugar adecuado bajo el directorio en que se montará la tarjeta usada en la Pandora. Antes del montaje, el directorio contiene lo mínimo; después del montaje, contiene lo mismo que en la Pandora. Esto permite compartir el directorio del usuario entre ambas máquinas de forma transparente.

Ajusto la configuración de Ratpoison, GNU screen para hacerla compatible con las dos máquinas.

Hago una actualización automática de paquetes en el sistema: más de 46 MiB.

Creo el nuevo fichero /etc/fstab combinando el original de Raspbian y el de Debian en Pandora. Reconstruyo bajo /media/ la jerarquía usada en Pandora.

Nuevos paquetes instalados: vim-gtk, mtools, hibernate, feh, geeqie, getmail4, moc, mplayer, msmtp, mutt, procmail, urlview, w3m, w3m-img, gimp, mtpaint, abiword, gargoyle-free, mcrypt, qcomicbook, htop... Después renameutils, sdlbasic, libsdl1.2-dev (para compilar SimCoupe )...

Primer programa que compilo: SimCoupe. La ejecución falla porque no puede leer la librería de emulación del chip de sonido, a pesar de haber sido compilada e instalada previamente:

simcoupe: error while loading shared libraries: libSAASound-3.2.so.0: cannot open shared object file: No such file or directory

Para compilar Vimprobable instalo libsoup2.4-dev y libgtk-3-dev, pero no acierto con los paquetes requeridos para el resto de las dependencias, que no anoté de la última vez.

Instalo xutils-dev y cmake, necesarios para la compilación de la versión 0.4.1 del emulador de Jupiter ACE, xAce.

Compilo e instalo libspectrum-1.0.0, necesario para Fuse y disponible en su sede. Instalo byacc, necesario también para la compilación de este emulador. La compilación no tiene éxito.

La ejecución de ldconfig soluciona el problema de la ejecución de SimCoupe. Segundo emulador compilado.

2012-11-23

Intento compilar uQLx. Se produce un error: no encuentra /X11/Intrinsic.h. Instalo libxt-dev, que provee ese fichero. Instalo de paso wajig y apt-file.

Los paquetes que necesita Vimprobable para compilarse son: libsoup2.4-dev, libgtk2.0-dev y libwebkitgtk-dev (desinstalo libgtk-3-dev).

Instalo experimentalmente gstreamer0.10-plugins-good, gstreamer0.10-plugins-bad, gstreamer0.10-plugins-ffmpeg y gstreamer0.10-plugins-fluendo-mp3, para que Vimprobable muestre ciertos contenidos incrustados.

Necesito montar el servidor local con Apache y PHP; paquetes: apache2-mpm-prefork, apache2-doc, libapache2-mod-php5, php5-imagick; y para usar PHP como intérprete, sin servidor: php5-cli. De paso, imagemagick e imagemagick-doc.

Para la compilación de X11-Basic: instalo libncurses5-dev y libreadline-dev.

2012-11-24

Raspbian trae un fichero de intercambio de 100 MiB, lo que es poco para algunas tareas. Creo una partición de 512 MiB en la tarjeta, para usarla de intercambio; pero antes de activarla amplío a esa cantidad el fichero de intercambio existente, con dphys-swapfile, para probar la diferencia de rendimiento.

2012-11-25

Prueba de alimentación con una batería Tekkeon MP3450 R2 y un cable USB -micro USB: La imagen del monitor desaparece intermitentemente durante el arranque, que no termina de completarse.

2012-11-26

Sustituyo el fichero config.txt de la partición de arranque por la versión disponible en eLinux, que incluye todas las opciones posibles, comentadas con todos sus parámetros; recreo en este fichero la configuración original, con algunos cambios.

Siguiendo la indicación sobre cómo solucionar el problema de las pulsaciones erráticas de teclas, añado dwc_otg.speed=1 a cmdline.txt.

Mido el voltaje en la placa (hay dos puntos previstos para ello: TP1 y TP2): con el cargador prestado de un teléfono Samsung y con la batería Tekkeon MP3450 (el primer modelo), es de cinco voltios; pero con la batería Tekkeon MP3450 R2 (el segundo modelo, más moderno) es, sorprendentemente, algo menor. Ese es el motivo de no poder arrancar la computadora con este segundo modelo de batería.

Instalo mmv, que se había despistado.

Aunque no es una solución definitiva, intento evitar los errores de compilación de X11-Basic creando enlaces simbólicos a las librerías requeridas; pero no es posible hacerlo hasta el final porque hay destinos cruzados.

Corrijo en /etc/hosts el nombre de la máquina, que en este fichero seguía siendo raspberrypi a pesar de haberla cambiado.

Instalo dictd y algunos de sus diccionarios: dict-freedict-eng-lat, dict-freedict-eng-spa, dict-freedict-lat-eng, dict-freedict-spa-eng, dict-gcide, dict-jargon, dict-vera.

Instalo rsnapshot, que también se había despistado.

2012-11-27

Instalo catdoc y antiword, igualmente despistados en la primera instalación de utilidades habituales.

Compilo e instalo bwBASIC (la versión disponible en Raspbian es la 2.20; uso las fuentes de la 2.50).

2012-11-28

Instalo Brandy.

Instalo libxcb-image0 y libxcb-image0-dev, por si los necesita uQLx para compilarse.

2012-11-29

Instalo la librería Forth Foundation Library con el fichero DEB, válido para cualquier plataforma.

2012-11-30

Instalo libqt4-dev y libqt4-webkit (casi 70 MiB), para poder compilar y probar CutyCapt.

2012-12-01

Instalo arora para probar. Pero al contrario que para la Pandora, es inutilizable, demasiado pesado para una Raspeberry Pi con 256 MiB de RAM.

Reconfiguración de los respaldos de /home realizados con rsnapshots, para poder hacerlos indistintamente desde Pandora y desde Raspberry Pi. No pueden compartirse; hay que hacer dos conjuntos separados.

2012-12-06

Instalo zip.

2012-12-07

Instalo php5-gd, para que funcionen de nuevo las marcas de agua en el servidor local.

Instalo vlc para comprobar si el fallo de pantalla completa de mplayer es del visor o del sistema. Parece de sistema porque ocurre también con el emulador SimCoupe. En todo caso, sorprendentemente, vlc, por lo general muy fiable, no funciona bien y necesita investigación.

Reconfiguración de los respaldos de datos externos realizados con rsnapshots: hay que separarlos en dos para hacerlos desde Pandora y desde Raspberry Pi.

Hay un problema con Midnight Commander: no navega en el contenido de los ficheros comprimidos, no hace nada al intentar entrar en ellos. Pudiera ser una incompatibilidad en el fichero de configuración de extensiones, respecto a la versión instalada en la Pandora.

2012-12-11

Instalo el visor xzgv, como complemento o alternativa a geequie y feh.

2012-12-12

Estos días instalé LibreOffice, que por suerte está disponible en Raspbian; contra pronóstico resulta mínimamente utilizable. Por suerte solo es necesario para casos excepcionales.

Instalo python-imaging-gtk, requerido por un programa para adaptar imágenes al formato de pantalla de la SAM Coupé.

2012-12-13

Instalo xclip.

2012-12-15

Para dejar de usar por fin el fichero de intercambio y usar en su lugar la partición de intercambio ya creada, hay que dar varios pasos, como administrador:

Desactivar el fichero de intercambio con dphys-swapfile swapoff.

Averiguar el identificador UUID de la partición, con blkid, en mi caso blkid /dev/mmcblk0p3, para usarlo en la línea que hay que añadir al inicio del fichero /etc/fstab, en mi caso: UUID=babe9f11-3156-4fde-b2b0-12245acc78e4 none swap sw 0 0. También se podría usar una ruta al dispositivo.

Para evitar que el fichero de intercambio se active en el siguiente arranque hay que desactivar en los directorios /etc/rc2.d, /etc/rc3.d, /etc/rc4.d y /etc/rc5.d los enlaces de arranque correspondientes, llamados S03dphys-swapfile, cambiando su inicial «S» por «K». Otra solución más rápida pero menos ortodoxa sería anular con comentarios el contenido adecuado en /etc/init.d/dphys-swapfile, que es un programa en Bash.

En el siguiente arranque la partición de intercambio será activada, pero se puede activar antes a mano con swapon y su etiqueta o identificador, en mi caso: swapon -L raspesis_swap.

El antiguo fichero de intercambio, /var/swap, puede ser borrado.

2102-12-16

Instalo los siguientes paquetes, que faltan entre los requisitos para que Gforth pueda crear programas en modo gráfico: libsdl-image1.2-dev, libsdl-mixer1.2-dev, libsdl-ttf2.0-dev, libtool y xorg-dev.

2013-01-04

Instalo z80dasm, z80asm y Pasmo, para continuar el proyecto SamForth iniciado en la Pandora. pyz80 ya estaba compilado e instalado.

Instalo tcl8.5-dev y tk8.5-dev, para compilar CanAce.

Instalo php-doc.

Instalo subversion para compilar la última versión de SimCoupe.

2013-01-09

Instalo pm-utils y upower, para probar alternativas a hibernate, que no funciona porque al parecer requiere recompilar Linux.

2013-01-30

La avería de la Pandora me permite hacer algunos cambios:

Junto en usa sola tarjeta SD el sistema Raspbian con el directorio de usuario (que hasta ahora estaba en la tarjeta de arranque de la Pandora). Esto permite por fin usar la Raspberry Pi con una sola tarjeta y prescindir del incómodo adaptador.

Convierto de nuevo los discos externos (usados para almacenar copias de respaldo hechas con rsnapshot) del sistema de ficheros ext2 al ext3. En su día hubo que convertirlos a ext2 porque ext3 inexplicablemente no funcionaba bien con Debian en Pandora. Dejo la migración a ext4, más delicada, para más adelante.

2013-02-02

Instalo poppler-utils, para poder usar pdftotext.

Instalo la hoja de cálculo sc para poder manipular cómodamente unos datos tabulados (la lista de palabras de ForthCoupe), sin necesidad de usar una hoja de cálculo gráfica como gnumeric o la más pesada LibreOffice Calc, y sin tener que escribir programas en awk.

Instalo remind y ccal para probarlos.

Instalo libncurses5w-dev y libfltk1.3-dev, para la compilación de la hoja de cálculo Teapot, alternativa a sc.

2013-02-03

Aún está pendiente la hibernación. hibernate muestra el siguiente mensaje:

hibernate:Warning: Tuxonice binary signature file not found.
hibernate: No suitable suspend methods were found on your machine.
hibernate: You need to install a kernel with support for suspending to
hibernate: disk or RAM and reboot, then try again.

Instalo acpitool.

Pido una Raspberry Pi de 512 KiB; los 256 KiB son muy justos para algunas tareas, sobre todo en una máquina de esta velocidad, a pesar de la austeridad del entorno de trabajo.

2013-02-08

Instalo jpeginfo y exiftags.

2013-02-09

Instalo ppp.

Desempaquetando ppp (de .../ppp_2.4.5-5.1_armhf.deb) ...
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'K01dphys-swapfile' missing LSB tags and overrides
insserv: warning: script 'dphys-swapfile' missing LSB tags and overrides
Procesando disparadores para man-db ...
Configurando ppp (2.4.5-5.1) ...
insserv: warning: script 'K01dphys-swapfile' missing LSB tags and overrides
insserv: warning: script 'dphys-swapfile' missing LSB tags and overrides

2013-02-12

Instalo browser-plugin-gnash, para usarlo en Vimprobable.

2013-02-14

Desde hace tiempo la computadora se bloquea cuando pasa cierto tiempo sin actividad; deja de responder al teclado y desaparece de la red local. No recuerdo cuándo empezó a ocurrir. Pudiera deberse a un problema eléctrico o una configuración predeterminada de uno de los paquetes relacionados con el ahorro de energía. Para probar, desinstalo hibernate, acpitool, pm-utils y upower; pero al rato vuelve a ocurrir el cuelgue.

2013-02-20

Instalo xsane.

2013-02-25

Llegó la Raspberry Pi de 512 KiB. Se nota la diferencia: la memoria ya no se llena y todo funciona con más fluidez.

2013-03-22

La versión de Midnight Commander en Raspbian es más reciente que la de Debian en Pandora, y algo no funcionaba bien desde el principio: no permitía navegar en los archivos empaquetados o comprimidos.

Encontré la solución al problema de navegación de Midnigth Commander en un foro de Gentoo. El problema era que en las últimas versiones había cambiado el formato usado en el fichero de configuración ~/.config/mc/mc.ext para indicar el protocolo que ha de emplearse para navegar virtualmente con cada tipo de estos archivos. Por ejemplo, en lugar de Open=%cd %p#utar hay que escribir Open=%cd %p/utar://; y así con todos los casos.

2013-04-22

Instalo youtube-dl.

2013-04-23

Para usar ocasionalmente una conexión inalámbrica, con un adaptador USB, necesito instalar un gestor de conexiones. No quiero una interfaz gráfica que me obligue a entrar en X Window. En Debian en Pandora usé cnetworkmanager, justo lo que necesitaba: un programa de línea de comandos para gestionar todas las conexiones de red.

Sin embargo cnetworkmanager no está disponible en Raspbian. Es un programa en Python que debería funcionar sin problemas. Lo instalo con el paquete original del autor. Necesito instalar python-dbus, pero no es suficiente; antes de darme cuenta de que network-manager no está instalado, y que quizá sea necesario, instalo una alternativa: wicd, wicd-curses y wicd-cli.

Tras apagar (para no enchufar el adaptador USB en caliente, lo que ya me dio problemas), el adaptador fue detectado durante el arranque:

[    8.800059] r8712u: module is from the staging directory, the quality is unknown, you have been warned.
[    9.148311] r8712u: Staging version
[    9.260713] r8712u: register rtl8712_netdev_ops to netdev_ops
[    9.316496] r8712u: USB_SPEED_LOW with 4 endpoints
[    9.331439] r8712u: Boot from EFUSE: Autoload OK
[   12.339027] r8712u: CustomerID = 0x0000
[   12.348706] r8712u: MAC Address from efuse = 00:e0:4c:01:e8:88
[   12.360175] r8712u: Loading firmware from "rtlwifi/rtl8712u.bin"
[   12.378356] usbcore: registered new interface driver r8712u
[   32.005492] r8712u: 1 RCR=0x153f00e
[   32.008481] r8712u: 2 RCR=0x553f00e

Sin embargo wicd-curses y wicd-cli no detectan las redes inalámbricas disponibles.

2013-04-27

Instalo newsbeuter y gpodder.

2013-04-30

Instalo Surfraw, que había olvidado.

Instalo podracer; lo desinstalo porque no permite elegir qué ficheros descargar, descarga todos los ficheros de todas las fuentes.

2013-05-01

Instalo python-qt4 y python-pip, requisitos de Electrum, un cliente ligero de bitcoin.

2013-05-03

Instalo txt2tags, también olvidado.

2013-05-29

Instalo fbreader y calibre para probarlos.

Instalo markdown como alternativa a txt2tags para cierto tipo de documentos.

2013-05-31

Instalo mb2md.

2013-06-01

Descubro que Fuse está ya disponible como un paquete en Raspbian, lo que me permite instalarlo por fin, pues la compilación de las fuentes sigue dando error.

apt-get install fuse-emulator-gtk spectrum-roms fuse-emulator-utils

Pero la ejecución es imposible. Se produce el siguiente error, como si el formato del fichero de configuración hubiera cambiado a XML:

/home/USER/.fuserc:1: parser error: Start tag expected, \'<\' not found accelerateloader=1 ^ fuse: error: error reading config file fuse: error initialising -- giving up!

Tras renombrar mi antiguo fichero ~/.fuserc pude arrancar el emulador. Bastó guardar la configuración (menú «Options/Save») para que el programa creara un nuevo fichero y confirmar mi sospecha: el formato es XML.

Un nuevo problema: Fuse no encuentra el fichero plusd.rom, que contiene la ROM de la interfaz Plus D. Efectivamente, no está incluido en el paquete spectrum-roms (que guarda los ficheros en el directorio /usr/share/spectrum-roms/. Lo copio de las fuentes de Fuse que ya tenía.

2013-06-10

Instalo e2fslibs-dev, necesario para compilar extundelete.

2013-06-13

Instalo sox y mp3splt.

Instalo los visores mcomix y comix; y los descompresores unrar-free y unace.

2013-06-21

Tras varias corrupciones de ficheros sospechosas, aparco la tarjeta SD principal y empiezo a usar el último duplicado de emergencia, creado en 2013-04. Arranco con el duplicado, actualizo el sistema operativo, y con rsync restauro los datos y los ficheros de configuración con las últimas copias de respaldo en disco duro y con la propia tarjeta defectuosa. Nada se ha perdido porque hago varias copias diarias en dos discos duros externos; y lo poco que no estaba salvado pudo ser recuperado de la tarjeta SD. Después reinstalo todos los paquetes que habían sido instalados desde 2013-04, salvo calibre y markdown.

2013-06-22

Instalo festival y libsox-fmt-mp3 para poder crear audiolibros (la instalación de sox ya provee soporte para el formato libre ogg, pero no para el formato privativo mp3).

Instalo frotz, el intérprete de juegos de texto en formato Z Machine, como alternativa a gargoyle-free para dicho formato de juegos.

Instalo dosbox.

2013-06-23

Compilo e instalo ifm, una herramienta para crear mapas y registros de juego de aventuras conversacionales.

La tarjeta de emergencia empieza a dar problemas también (ficheros con bloques a cero, o directorios que tan pronto aparecen como desaparecen, entre otras cosas). Hago una copia manual de los ficheros importantes modificados desde la última copia de respaldo, así como de directorios y ficheros importantes de fuera de /home/. No queda más remedio que comprar una tarjeta nueva y reinstalar Rasbian desde cero y restaurar los datos.

Páginas relacionadas

Instalación y mantenimiento de Debian 6 en una Pandora
Apuntes sobre la instalación y mantenimiento de Debian 6 en una Pandora y la migración completa desde el mismo sistema operativo en una Asus Eee PC 4G.