He configurado Raspberry Pi para ejecutar XBMC, y quiero que se inicie para reproducir siempre una lista de reproducción y archivos en la tarjeta SD. He desactivado la actualización automática de Raspbmc. Todavía funciona bien cuando cambio la tarjeta SD a la posición de "bloqueo". Ahora mis dudas son:
¿El sistema de tarjeta SD de "solo lectura" funciona todo el tiempo en mi aplicación?
Dado que la tarjeta SD siempre está en modo de solo lectura, si no uso el comando de apagado y apago el interruptor de encendido, ¿dañará mi sistema?
Incluso si esto funciona de manera confiable, siempre aparecerá el mensaje "Raaspbmc no se cerró correctamente". ¿Hay alguna forma de deshabilitar este mensaje cuando se enciende el Pi?
Respuestas:
Tuve un uso similar. Estoy usando el Pi para la difusión de páginas web en la entrada de un edificio. Encendido de la Pi a través del puerto USB del televisor.
Montaje / solo lectura.
Para que sea a prueba de pérdida de potencia, monté / solo lectura cambiando una línea en
/etc/fstab
Bastante simple. Pero algunos procesos en una máquina funcional necesitan escribir.
Mount / tmp en la memoria.
Muchas cosas escriben,
/tmp
así que lo monté en la memoria agregando una línea a/etc/fstab
Tenía un Pi de 512 MB disponible, así que hice / tmp 30M de gran tamaño.
Deshabilitar servicios No necesito que escriba.
Lo deshabilité
rsyslog
para evitar que inicie sesión ydphys-swapfile
ya que no tiene un lugar real para escribir. Ejecutar sin intercambio generará problemas si realiza trabajo pesado que requiere mucha memoria. En mi caso, ejecutar un solo proceso midori durante un día, no lo es.cat /etc/rc2.d/README
en tu Pi sobre cómo hacer eso. (Raspbian comienza en el nivel de ejecución 2 por defecto, raspbmc puede diferir)Dejar que los servicios que no necesito de imitación de escritura.
Puede proporcionar acceso de escritura a un sistema de archivos en la memoria como lo hace un live-cd; Con una unión de montaje . Pero no me gustó la posibilidad de compilar mi propio kernel para unionfs o los aufs posteriores . Por suerte
unionfs-fuse
está preconstruido disponible. No se puede montar en unión/
, pero ¿realmente necesito eso?Ejecutando midori necesito X para trabajar. X quiere escribir
/home/pi
mientras inicio sesión automáticamente como pi y en un par de lugares en/var
decidí montarlos en lugares usando unionfs.y añadió 2 líneas a
/etc/fstab
Esto es bastante desagradable, ya que escribe en / var, / home y / tmp todos terminan en / tmp. Pero solo necesito que mi máquina funcione durante 8 a 10 horas, y luego se corta la energía. Entonces esto servirá.
Montaje de lectura y escritura al ajustar cosas
Cuando cambié de red, el
/etc/resolv.conf
que escribió dhclient ya no funcionaba.No olvide apagar limpiamente o volver a montar ro después de volver a montar rw.
PD
Si puedes leer alemán, hay una forma más limpia (de archive.org). Deutsche Gründlichkeit ...
fuente
El pin de posición de bloqueo de la tarjeta SD no está conectado en absoluto en la PCB, por lo que su bloqueo es virtual a menos que la tarjeta tenga un mecanismo de bloqueo interno. Intente escribir cualquier cosa en la tarjeta SD mientras está bloqueada y compruébelo usted mismo.
fuente
El interruptor de solo lectura de SD es, en el mejor de los casos, una opción de software. Casi todos los dispositivos que tengo lo ignorarán, y si el comentario de avra es correcto, es posible que Raspberry Pi no tenga forma de saber si está encendido o apagado. Entonces, a sus preguntas:
fuente
No he usado XBMC, pero esta no es una buena idea WRT para un sistema operativo normal a menos que haga todo lo posible para configurarlo para ese propósito. Por implicación, si XBMC no está configurado explícitamente, entonces tampoco es una buena idea.
Si la tarjeta realmente es de solo lectura , en realidad NO dañará su sistema, sin embargo, si realmente fuera de solo lectura, es poco probable que llegue al punto en el que podría ejecutar el 'apagado'. Si lo hizo (es decir, de nuevo, ¡está seguro de que toda la tarjeta realmente es de solo lectura!), No se moleste en ejecutar el apagado. Solo tire del enchufe. Como nada en la tarjeta puede cambiar, no importa lo que haga.
Claro, puede encontrar los archivos init responsables y editarlos (obviamente, el sistema de archivos tendrá que poder escribirse para hacerlo).
Siendo realistas, si montas el sistema de archivos raíz de solo lectura (que puede ser más difícil que simplemente usar la palanca de bloqueo), probablemente no obtendrás un arranque exitoso, porque el sistema operativo necesita escribir en el disco. SIN EMBARGO, si lo hace, entonces siéntase libre de hacer lo que quiera (y puede salirse con la suya). Si la tarjeta es de solo lectura, no se puede cambiar, por lo que no puede hacer ningún daño.
fuente
Si solo haces
1)
2)
3)
entonces no debería haber ningún problema en absoluto. La buena pregunta es si realmente no habrá daños en la tarjeta SD si solo RO y la alimentación del complemento / salida todo el tiempo ...
Finalmente, una hermosa pantalla de bienvenida y listo, tiene un dispositivo independiente barato y personalizado. :) Y me encanta la idea de alimentar el PI a través del puerto USB desde la TV. ¿Pero eso no se limita a 500 mA? ¿No está seguro, pero PI necesita aproximadamente 1 A o no?
fuente
Un vistazo rápido a este en línea sugiere que nadie ha publicado ninguna solución para esto para la última versión de XBMC.
El problema principal como Goldilocks señaló es que XBMC no fue diseñado con la intención de hacerlo de solo lectura. Este punto se amplía si le echas un vistazo a este hilo en el foro de OpenELEC Media Center. El consenso general es que no es posible hacer que Kodi solo lea.
El motivo según el usuario klojum fue:
Puede haber una forma de evitar esto, ya que la gente ha encontrado soluciones para versiones anteriores, pero en general no creo que sea necesario.
Puedo entender como alguien que ha usado Kodi durante un par de años la molestia de que una tarjeta SD se corrompa. Pero hay otras formas más simples de mitigar el problema que no incluyen ajustes de código de bajo nivel.
La razón número uno por la que una tarjeta SD se corrompe es si hay un apagón repentino. Hay un par de razones por las cuales esto puede suceder. Cualquiera de los dos desconecta la alimentación del Pi a mitad de camino a través de una escritura en la tarjeta SD. O el sistema se congela y hay que desconectar la alimentación. Aunque, creo que la segunda razón es menos probable que cause corrupción. O sugiere que hay otra falla en juego.
En los primeros días del Pi, el circuito de suministro de energía en el tablero ciertamente dejaba algo que desear. Puedo recordar los días en que se produjo un bloqueo del sistema simplemente conectando una llave USB al Pi mientras estaba encendido. Si no me cree, vea problemas al ejecutar XBMC en 2011 Raspberry Pi . El otro problema es que el software en los primeros días no estaba completamente maduro. El Pi fue una versión diferente de lo que podría ser una computadora de escritorio y resolver problemas de software lleva tiempo. Por lo tanto, muchas versiones más nuevas de Kodi tienen menos probabilidades de sufrir congelamientos aleatorios del sistema.
Para resolver el problema de pérdida repentina de energía, alimente su Pi a través de algún tipo de fuente de alimentación ininterrumpida (UPS). Un UPS normal funcionaría, pero en realidad hay UPS diseñados específicamente para Pi. Como esta fuente de alimentación ininterrumpida para Raspberry Pi . Si ocurre un congelamiento del sistema, debe ser algo para lo que esté preparado. Esto significa configurar el sistema operativo con todas las configuraciones y aplicaciones y preferencias a su gusto y luego crear una imagen de la tarjeta SD. Entonces, si algo sale mal, puede volver a crear una imagen de la tarjeta SD.
La otra razón por la que una tarjeta SD fallará es porque se está desgastando. Sin embargo, este no es un problema que yo haya experimentado. Si utiliza una tarjeta SD de alta calidad de una marca reconocida, creo que probablemente esté a medio camino para resolver ese problema. Minimizar el desgaste de la tarjeta SD significa garantizar que la tarjeta SD esté haciendo el mínimo absoluto. No debe usarse como espacio de almacenamiento para su gran colección de películas, etc.
Una opción que funcionará con OpenELEC es ejecutarlo desde una unidad USB. Por supuesto, todos los archivos de arranque deberán permanecer en la tarjeta SD. Hay una serie de tutoriales sobre cómo hacer esto. Hay uno que parece bastante fácil de seguir aquí , pero para completarlo, le daré una descripción general:
El primer paso es configurar la tarjeta SD y la unidad USB. Usando un programa como MiniTool Partition Wizard, formatee la tarjeta SD como FAT32 con una partición activa primaria de 150 MB o más, de hecho, toda la tarjeta SD podría formatearse como FAT32. Solo asegúrese de que la partición esté configurada como activa primaria. También podría ser útil etiquetar la tarjeta SD como algo así como SYSTEM para que recuerde para qué sirve en el futuro. Luego formatee toda la unidad USB como una partición activa primaria con el tipo de sistema de archivos como EXT4, nuevamente vale la pena etiquetarlo como algo así como ALMACENAMIENTO.
Una vez que haya descargado y extraído OpenELEC, vaya a la carpeta raíz. Y seleccione estos archivos:
Y cópielos a la raíz de la tarjeta SD.
A continuación de la
target
carpeta, copie los archivos:Y nuevamente péguelos en el directorio raíz de la tarjeta SD.
Luego, desde la
3rdparty/bootloader
carpeta, copie los archivos:Y péguelos en el directorio raíz de la tarjeta SD.
El último paso es cambiar el nombre de archivo del archivo
KERNEL
en la tarjeta SD akernel.img
.Para crear los archivos de inicio, en el directorio raíz de la tarjeta SD cree un archivo llamado
cmdline.txt
y agregue la siguiente línea:Asegúrese de cerrar el archivo guardándolo. Y a partir de ahí eres bueno para ir. La fuente de la información sugiere que ejecutar XBMC desde una unidad USB aumenta la capacidad de respuesta. No estoy tan seguro sobre esta afirmación, pero no verá ninguna degradación del rendimiento como resultado del uso de este método.
En cuanto a su colección de medios, sugiero almacenar eso en una segunda unidad, ya sea USB o una ubicación de red.
fuente