Arrancar su Raspberry Pi 3 desde un USB


Como sin duda sabrá , todas las versiones de  Raspberry Pi, por pura cuestión económica y simplicidad,  instalan el sistema operativo en una tarjeta micro-SD y por lo  tanto ese es  el medio desde el que se inicia cualquier Rasberry Pi .
Desgraciadamente   las tarjetas micro-SD , aunque son económicas  y ocupan muy poco espacio, son  relativamente lentas tanto en operaciones de lectura como de escritura de datos , de modo que  cuando el S.O. tiene que hacerlo de forma intensiva, el sistema queda sin responder y aparentemente atascado a causa  precisamente de la baja tasa de transferencia de E/S en las memorias SD.
Como vamos a  ver, afortunadamente , para aumentar muy notablemente el rendimiento ( y de paso la capacidad de almacenamiento ) de la Raspberry Pi ,podemos instalar la partición del sistema operativo en una memoria USB o disco duro externo, pues  no es muy complicado y el aumento de rendimiento es notable.

A partir de abril de 2017  el soporte de arranque desde un dispositivo USB   se ha contemplado  oficialmente en el kernel    del  SO  y por tanto es totalmente apoyado por Raspbery Pi, por lo que  vamos  a ver es este post rápidamente cómo arrancar una  Raspberry Pi desde un almacenamiento USB, como unidad flash o disco duro USB.

Es importante destacar  que hay dos opciones : que  la Raspberry Pi inicie el sistema desde la tarjeta SD, por lo que aunque instalemos el sistema en un dispositivo USB, seguiremos necesitando la tarjeta SD para que contenga al menos la partición de arranque (boot) o  bien que prescinda definitivamente de esta SD.

Como nota aclaratoria, el dispositivo puede ser una memoria flash pero también  un disco duro de 2,5″,  así que en este segundo caso, al tomar la alimentación de  la propia  Raspberry Pi , asegúrese que alimenta  con corriente suficiente esta.

METODO   QUE PRESCINDE DE LA SD

Veamos  en primer lugar  como prescindir de tarjeta  micro- sd, aunque tenga mucho  cuidado pues el método puede ser irreversible.

Primero , como siempre  tendrá que descargar Rasbian , aunque este método funciona con otros sistemas operativos más recientes como OSMC desde  de abril de 2017  donde se  añadió  oficialmente  el soporte de arranque desde un dispositivo USB   en el kernel    del  SO  y por tanto es totalmente apoyado por Raspbery Pi.

 

Ahora vamos a necesitar el software de etcher,  del que hemos hablado en este blog , para escribir la imagen tanto  en nuestra tarjeta SD, como en el  dispositivo de almacenamiento USB.

 

Con todo el software descargado, ahora debe permitir escribir la imagen descargada tanto en la tarjeta SD como en  el dispositivo de almacenamiento USB.

Si no puede detectar el dispositivo de almacenamiento USB asegúrese de comprobar la opción «inseguro» en los ajustes de etcher.

grabador inseguro

PROGRAMAR USB BOOT MODE

Una vez que ambas imágenes hayan sido escritas (tanto en la miscro-sd como en el dispositivo USN)  , tendremos que insertar una línea en nuestro archivo config.txt ubicado en /boot/config.txt

Ahora agregue  el final del archivo   la siguiente  linea   en ambos dispositivos: en la  sdcard y el medio de almacenamiento USB que vaya a usar:

program_usb_boot_mode=1 

Esto establecerá un bit en la memoria OTP (One Time Programmable) en el Raspberry Pi SoC que habilitará el arranque desde un dispositivo de almacenamiento masivo USB,por lo que una vez que se ha ajustado este bit, la tarjeta SD ya no será necesaria.

Tenga en cuenta que cualquier cambio que realice en la OTP es permanente y no se puede deshacer, pero usted todavía será capaz de arrancar desde la tarjeta SD si se inserta y no cambia las operaciones de su Pi.

Ahora que la parte difícil se ha completado, sólo necesitamos arrancar desde la tarjeta sd primero , y a continuación  reiniciar una vez que esté completamente arrancado para asegurarse de que ha escrito el modo de arranque para el Pi.
Después de reiniciar, ahora puede quitar la tarjeta SD y conectar el dispositivo de almacenamiento USB y ya debería arrancar su Raspberry Pi.

Asegúrese eso si , de quitar el código de modo de arranque program_usb_boot_mode=1  de su tarjeta SD  ubicado en el fichero /boot/config.txt  cuando se completan estos pasos anteriores  pues,  puede si introduce nuevamente la sd por  accidente puede que no arranque provocando mas  problemas.

SOLUCIÓN DE PROBLEMAS

Si su Pi no arranca desde el dispositivo de almacenamiento USB, puede comprobar si el modo de arranque se ha escrito ejecutando este comando en el Pi arrancado desde SD

$ vcgencmd otp_dump | grep 17 : 17 : 3020000a

Asegúrese de que se muestra la salida0x302000a . En caso que no sea ésta ,el modo de arranque no se ha escrito correctamente.

También es posible que su dispositivo de almacenamiento USB no sea compatible, de modo que debería probar con otro dispositivo de almacenamiento si es posible.

 

METODO   CON SD

En este método que vamos a describir, la Raspberry Pi se inicia desde la tarjeta SD por lo que aunque instalemos el sistema en un dispositivo USB seguiremos necesitando la tarjeta SD para que contenga al menos la partición de arranque (boot).

 

Primero , como siempre  tendrá que descargar Rasbian , aunque este método funciona con otros sistemas operativos más recientes como OSMC desde  de abril de 2017  donde se  añadió  oficialmente  el soporte de arranque desde un dispositivo USB   en el kernel    del  SO  y por tanto es totalmente apoyado por Raspbery Pi.

 

Ahora vamos a necesitar el software de etcher  para escribir la imagen en el  dispositivo de almacenamiento USB.

 

Con todo el software descargado, ahora debe permitir escribir la imagen descargada  en  el dispositivo de almacenamiento USB.

Si no puede detectar el dispositivo de almacenamiento USB asegúrese de comprobar la opción «inseguro» en los ajustes de etcher.

Una vez que haya terminado, tendremos el dispositivo  USB con dos particiones una de arranque que se ve desde cualquier sistema operativo y otro que es solo visible desde Linux (Raspbian, Ubuntu, …).

Ahora arrancaremos la Raspberry Pi  ( con la sd ) de forma habitual, introduciremos la unidad  USB  en ésta , y bien desde el terminal  o por ssh ejecutamos el comando

dmesg

Este comando ,como puede imaginar, sirve  para   obtener el nombre del usb que hemos conectado, ( normalmente sera   sda o sda2).

Una vez sepamos el nombre de la  unidad  usb, podemos crear la partición  de una forma muy similar  a como lo haríamos desde linea de comandos desde un entorno windows.

De forma sintética, el proceso seria el siguiente bien desde ssh o desde el terminal:

  • Ejecutaremos fdsik   sobre  sda :    sudo fdisk /dev/sda
  • Presionamos p para ver las particiones
  • Después presionamos d para eliminar una partición, y escribimos 2 a continuación.
  • Para  crear la nueva partición, o presionamos n y crearemos la nueva partición,
  • Presionamos p para que sea primaria , y  escribimos 2.
  • Ahora nos preguntará por el primer sector de la unidad extraible , (por ejemplo en caso de  ser una unidad flash de 16GB seria de  12280 ), pulsamos Enter.
  • Pulsaremos Enter en las siguientes preguntas sin necesidad de escribir nada para que tome el valor por defecto.
  • Por ultimo pulsamos w para que se guarden los cambios.

Con esto, ya tendremos el usb preparado, por lo solo nos falta decirle a la Raspberry Pi  donde se encuentra el sistema, para ello vamos a modificar tanto el fichero cmdline.txt   como el fstab para que apunte a nuestro usb en lugar de la sd.

En la Raspberry Pi ejecutamos los siguientes comandos:

  • sudo nano /boot/cmdline.txt 
  • Sustituimos root=/dev/mmcblk0p2( es decir la sd)  por root=/dev/sda2 (por el usb en nuestro caso)
  • Pulsamos Control + O seguido de enter para guardar los cambios
  • Pulsamos  Control+X para salir del editor.
  • Ahora modificaremos el fichero /etc/fstab con el comandos:
    sudo nano /etc/fstab
  • Sustituimos root=/dev/mmcblk0p2 ( es decir la sd) por root=/dev/sda2 (por el usb en nuestro caso)
  • Pulsamos Control + O seguido de enter para guardar los cambios
  • Pulsamos  Control+X para salir del editor.

 

Hechos los cambio mencionados reiniciamos la Raspberry  Pi bien  desde el propio interfaz de Raspbian  o bien desde consola o por ssh ejecutar el comando:

sudo shutdown -r now

Una vez reiniciada la Raspberry Pi, para poder utilizar todo el espacio de nuestro usb, ejecutaremos:

sudo resize2fs /dev/sda2

Cuando haya finalizado la ejecución del comando, podremos comprobar que está todo correcto mirando el tamaño del disco, y donde se encuentra /dev/root .

Para ver el tamaño del disco ejecutaremos el comando:

df -h

Asimismo ,para ver donde se encuentra /dev/root ejecutaremos: ls -la /dev/root y debería aparecernos una flecha hacia la partición de nuestro usb.

Una vez realizado todos estos pasos, Raspbian se encontrará en nuestro usb, notaremos una mejora de velocidad y dispondremos de mas tamaño de disco del que disponíamos con la SD.

Cambio de SD

En caso de querer cambiar la  microSD por  otra mas pequeña  poner  la nueva microSD que vaya   a usar ( por ejemplo muchas personas hablan que con  una de sd de 16MB puede ser suficiente) y   copiar  todos los archivos de la partición de arranque del USB a la SD.

Ahora solo queda hacer un cambio en el archivo: cmdline.txt   y lo editamos para cambiar este texto: root=/dev/mmcblk0p2       por este otro texto: root=/dev/sda2 

Asimismo  modificaremos el fichero /etc/fstab con el comando sudo nano /etc/fstab   y sustituimos root=/dev/mmcblk0p2 ( es decir la sd) por root=/dev/sda2 (por el usb en nuestro caso)

A partir de este punto con la tarjeta SD insertada en la Raspberry Pi y el dispositivo USB conectado a uno de los puertos se iniciará la Pi desde la partición del sistema del dispositivo USB en vez de la tarjeta SD.

Con la partición del sistema instalada en una memoria o disco duro externo siguiendo algunos de los dos  métodos descritos  deberíamos notar un menor tiempo de arranque  y sobre todo  un  aumento de rendimiento considerable debido  a la mejora  en los tiempos de lectura  o escritura puestos  que es  mayor  tasa de transferencia de los dispositivos USB.

Apps para cargar su coche eléctrico


En efecto la tendencia hacia la movilidad eléctrica no acaba mas que empezar , y desde luego , se quiera o no,  el coche eléctrico ha venido para quedarse, como lo demuestra muchas leyes que están surgiendo en la CE donde sera prohibido en un horizonte de tan solo uno años el acceso a las ciudades con vehículos movidos por motores de combustión interna

Todos tenemos bastante interiorizado pues  que el futuro es eléctrico, básicamente porque los vehículos de combustión esta demostrado que hacen irrespirable el aire en las grandes ciudades  lo cual va en detrimento del medio ambiente y por supuesto de nuestra salud,.

Tristemente  no se venden tanto coches como debería (se los 1.396.015 coches vendidos en 2016 en España, solo 4.746 coches eran eléctricos; casi uno de cada 300, pero   ha aumentado espectaculármente    la venta de coches híbridos  y ha disminuido también la venta de vehículos con motor diesel .)

Lo cierto pues es que el vehículo eléctrico comienza a ser una  opción incluso a pesar de la poca infraestructura que tengamos . Precisamente para salvar el importante  problema de las estaciones de recarga  surgen aplicaciones móviles (apps    tanto para  Android como  para Ios ) que pretenden  ofrecer una solución muy completa   a este gran dilema

Veamos algunas de las apps disponibles:

 

Place to Park

La ansiedad de autonomía es la mayor preocupación entre los conductores de VE y uno de los principales factores (junto con el precio) que la gente tiene en cuenta cuando compra un VE. Ofrecer un mapa de puntos de recarga no es suficiente para mitigar esta sensación de ansiedad ya que en muchos casos los puntos de recarga o bien no funcionan o bien necesitan una tarjeta especial para activarlos. Además, en muchos países la red de puntos de recarga es muy limitada y está concentrada en las grandes ciudades, dejando pequeñas ciudades y pueblos sin puntos de recarga.

Fundado en julio de 2015 y con base en Tarragona, España, Place to Plug es una plataforma para conectar conductores de vehículo eléctrico (VE) y anfitriones (individuos, negocios o instituciones) que ofrezcan un enchufe para recargar el VE.

 

oark1.PNG

La app disponible tanto para Android como para Ios pone en contacto conductores de vehículos eléctricos que quieran viajar lejos de su casa e individuos, negocios o instituciones que tengan un sitio para aparcar con un enchufe donde recargar el coche.

Esta app   pues busca eliminar la ansidendad de la autonomia   para que los conductores de vehículos eléctricos pueden llegar a áreas donde no haya puntos de recarga públicos.

Otro punto fuerte es la reserva con antelación del punto de recarga permitiendo al conductor de vehículo eléctrico, reservar con antelación para bloquear un punto de recarga

A falta de una infraestructura de facto la app  promueve la economía colaborativa pues  empodera individuos e instituciones para compartir puntos de recarga  así como el respecto al medio ambiente  permitiendo reducir las emisiones de gases tóxicos en su zona y promueviendo el uso del vehículo eléctrico.

La app es gratis  y cuenta con dos niveles:    Novato , que permite conducir un EV si Tiene una App o tarjeta para cada operador o institución ,pero tendra que esperar si el punto de recarga está en uso, deberia buscar puntos de recarga antes de salir de casa  y no puede recargar si no hay puntos de recarga, y el  nivel aconsejado Pro, que permite conducir un EV recargando  en miles de puntos de recarga con una única App reservando el punto de recarga    con un mapa disponible  de los puntos de recarga en todo momento incluso permitiendo recargar en todas partes con puntos de otros usuarios  y GRATIS!

 

Place to Plug  pues es una idea estupenda  pues  ofrece una plataforma para busca la la estación de recarga de su VE, poniendo en contacto conductores de VE con anfitriones que ofrezcan un enchufe para poder recargar.

 

 

PlugShare

PlugShare es una de las apps   Android mas destacadas  en el tema de la movilidad electrica ( casi medio millon de usuarios  )  incluyendo una base de datos completa de estaciones de carga públicas en los EE.UU  y Europa haciendo que la planificación del viaje más fácil y más eficaz  gracias qeu presenta  el mapa de  las estaciones de carga más precisa y completa en todo el mundo y siendo la app  oficial  para los conductores del Tesla Model S, el Nissan LEAF, Chevy Volt, y otros vehículos eléctricos.

PlugShare contiene más de 90.000 puntos de recarga públicos, incluidos los de las principales redes de América del Norte (Tesla SuperCharger, ChargePoint, parpadeo, SemaCharge, GE WattStation, Aerovironment, eVgo) y Europa (RWE, Clever, Endesa, Enel).

La mayor comunidad de conductores de vehículos eléctricos en el mundo, los usuarios PlugShare han contribuido más de 400.000 opiniones de las estaciones y 80.000 fotos para hacer la conducción eléctrica más fácil que nunca.

plugshare.PNG

Esta app  es también el localizador oficial cargador EV paracargar (SM) para el Nissan LEAF y la aplicación MyFord Mobile.

No importa qué  teipo de EV   pues se  puede  utilizar PlugShare para  buscar estaciones de carga públicas compatibles con su vehículo eléctrico  conociendo las clasificaciones de las  estación  en tiempo real,  comentarios , sugerencias  ,asi como las  disponibilidad, fotografías y descripciones. También  es interesante el filtro de cargadores compatibles con su vehículo eléctrico.

A diferencia de la  plataforma española Place To Park  es de pago , permitiendo  pagar  cargar cómodamente a través de su teléfono en los locales participantes.

 

 

NEXTCHARGE

Esta app con ya casi 100.000 descargas  es otra app a considerar permitiendo hacer  búsquedas  en su BBDD de  150,000 puntos de recarga en todo el mundo para vehículos eléctricos.
Esta  aplicación es  gratuita  permitiendo en unos segundos,  ver las estaciones de recarga más próximas a usted donde quiera que este, o las más cercanas a una ubicación que haya introducido.

Puede ver la mapa, la distancia, el estado y el tiempo de viaje que le separa de la estación y con un simple clic enviar datos al navegador para llegar a la meta

También  cuenta con  filtro de cargadores compatibles con su vehículo eléctrico.

El grave talón de alquiles de esta app es que su BBDD se nutre de las aportaciones de los usuarios

 

PlugSurfing Charging Stations

Con la nueva aplicación PlugSurfing descargada  por unos 50.000 usuarios  se pueden encontrar puntos de recarga públicos e iniciar una sesión de carga con  un simple toque de la pantalla.

 

Esta disponible  en los siguientes países:  Alemania, Austria, Suiza, Países Bajos, Bélgica, Luxemburgo, Francia, Italia, España, Croacia, Dinamarca, Finlandia   cargando en los siguientes operadores: Aldi Süd, Allego, BELECTRIC Drive, BELECTRIC Drive Ratisbona, Blue Corner, Ebee, ELLA, Enio, Heldele, Hvratski Telekom, Movilidad, puni.hr, Remotorización Suiza, Route220, RWE, Swisscharge, Swisscom Managed, Virta, Wallbe. El usuario sólo necesita un método de pago. Dependiendo del operador de la estación de carga, hay tres modelos de facturación diferentes.

El operador de la estación de carga calcula un cargo por única vez para iniciar una operación de carga contando con  un precio básico para el consumo de un kilovatio-hora  claculado  por el operador segun  el uso y ocupación de una estación de carga sobre la base de una unidad de tiempo, minutos o horas es decir, por (esto también se aplica a aparcamiento después del final del proceso de carga).

plugsurf.PNG

Permite averiguar los costos de carga, la velocidad de carga, si el punto de carga está ocupado o disponible y mucho más.

La  aplicación ayuda a los conductores de coches eléctricos con muchas funciones útiles:

  • Iniciar y detener las sesiones de la carga con la aplicación
  • Cargar en más de 40.000 puntos de recarga de todos los principales operadores en Europa
  •  Información actual y precisa de precios para cada punto de carga
  • Descripción general de los costos de sus sesiones de recarga últimos
  •  facturación mensual y facilidades de pago a través de PayPal o tarjeta de crédito
    Sin
  • Duración del contrato minino: los costes mensuales: usted paga sólo cuando se carga
  • Datos fuera de línea: puntos de recarga se muestra incluso cuando no tiene conexión a Internet
  •  Filtra los resultados de búsqueda por tipo de conector, la carga de la velocidad y la opción de pago (aplicación o clave de cargo).



PlugSurfing está de acuerdo con los contratos de los operadores de carga como RWE, EnBW, Allego, Vattenfall y otros proveedores para el uso de su infraestructura de carga (itinerancia) lo cual  permite ofrecer a los usuarios una de las mayores redes de puntos de recarga en Europa. 

Un aspecto interesante es que la ubicación de las estaciones de carga se transmiten directamente de los respectivos operadores a PlugSurfing  siendo supervisada continuamente la calidad de los datos del sitio.