Linux-libre en raspberry pi

15 replies [Last post]
dcapeletti
Offline
Joined: 04/03/2014

Hola,
actualmente estoy realizando un proyecto en el que el ordenador que comanda los componentes físicos es un servidor que funciona con el sistema operativo GNU/Linux. Los clientes operadores serán multiplataforma.

Debido a cuestiones físicas he elegido raspberry pi por su tamaño, pero sin lugar a dudas, esta plagado de Software privativo con repositorios non-free. De esta duda se desprenden las siguientes preguntas:

1- ¿Hay un ordenador "similar" al raspberry pi que funcione solamente con software libre?. He visto banana py, pero tampoco se si requiere software privativo para funcionar.

2- ¿Saben si se ha probado con el kernel linux-libre el raspberry pi? ¿Cuales fueron los resultados?

3- ¿Existe una imagen de la distribución Raspbian que solo contenga Software libre para grabar en el disco de la raspberry py?

Actualmente estoy emulando el sistema raspbian usando Qemu, sumamente útil para hacer pruebas sin usar el hardware de raspberry. Quisiera dejar limpia esta imagen eliminando TODO el software privativo para después quemarla en el disco del raspberry. ¿Será posible?

Sds

vita_cell
Offline
Joined: 07/19/2015

Siento no acordarme, pero lo que si recuerdo es que Richard ya dijo que Raspberry Pi no era buena idea, ya que ni podia llegar a arrancarse con software libre (hablo del boot, no de OS). Creo que recomendaba evitar esta comutadora.

No se si recuerdo mal o bien, decia que algo bueno de Arduino, pero no creo que se pueda llegar a construir una computadora con esto funcional para tus propositos.

No puedes ser completamente libre si usas software de arranque privativo, aunque pudieras ejecutar un OS libre. Tambien tienes que tener en cuenta arquitectura del procesador.

Manten a la comunidad informada, ya que estas haciendo algo interesante.

Xlash
Offline
Joined: 10/02/2012

Banana pi (la version 1) y beaglebone black funcionan con software libre. No funciona la aceleraión 3d por obvias razones pero para servidor funcionan ambas muy bien. Descargáis Debian armhf de su página web y funcionando :D

Espero que os sirva.

P.D. La banana pi cuesta alrededor de 30 euros y la beaglebone black unos 50 euros.

Salud compañeros!

Xlash
Offline
Joined: 10/02/2012

Perdona Dcapeletti, se me olvidó contestarte a las otras preguntas XD.

1- Lo expuesto en el post anterior.
2- El kernel libre no funcionará en la raspberry porque es necesario un componente privativo para hacerlo arrancar, el cual está en el controlador gráfico creo recordar.
3- No, no la hay. Ya que para funcionar en la raspberry hace falta el componente mencionado en el punto 2.
4- Es posible desinstalar los programas privativos pero para el firmware es necesario compilar el kernel libre. Quemarlo será posible pero no arrancará por el mismo motivo que en el punto 2.

Ahora sí, todo respondido :D

Salud!

dcapeletti
Offline
Joined: 04/03/2014

Muchas chicos por los comentarios.
Voy a tratar de conseguir un banana py aquí en Argentina, lo cual es bastante difícil de hacerlo.
Con software libre corriendo en el servidor, es bueno para el comienzo del proyecto. Éste no es necesario que tenga interfaz gráfica en este caso.

¿Han tenido experiencias con banana py o con beaglebone black?
Debo admitir que el raspberry py a pesar de la basura privativa que tiene, es bastante estable. Lo he tenido por casi 16 semanas sin reiniciar, ni siquiera se ha colgado. Responde muy bien para lo que necesito. Igualmente, necesito que cuanto mas se pueda usar Software libre, así sea.

Sds

gustavocharlys
Offline
Joined: 07/27/2015

Hola amigo dcapeletti, aca en arg solo en www.openhacks.com vas a encontrar algo, pero lamentablemente ahora estan sin stock :https://www.openhacks.com/page/productos/id/869/title/BA000001#.VfypvbMy2kA
sino esperar a ver que pasa post elecciones a ver si reabren importaciones.
saludos

edito: mira tienen esto: https://www.openhacks.com/page/productos/id/918/title/Element-14-BeagleBone-Black-Rev-C---4GB---Preinstalled-Debian#.Vfy4jrMy2kA

dcapeletti
Offline
Joined: 04/03/2014

Hola,
BeagleBone Black es lo que estoy necesitando.
Estuve leyendo este artículo http://makezine.com/2014/02/25/how-to-choose-the-right-platform-raspberry-pi-or-beaglebone-black/ y por cierto, según lo que entiendo BeagleBone Black es bastante mas rápido que raspberry py y mas libre!!!!. BeagleBone Black además está pensado para manejar mucha mayor cantidades de pines al mismo tiempo y a mayor velocidad, lo que combina toda la potencia en una sola placa.

Tiene una gran cantidad de pines digitales, pero no así en la parte gráfica.
En este caso, para el proyecto que quiero realizar, los gráficos no son necesarios. Solo consola, debian y python.

Los mantendré informado.

Sds

vita_cell
Offline
Joined: 07/19/2015

Que yo sepa, no creo que se pueda usar un OS de arquitecturas x86-x64 sobre una arquitectura ARM.

BeagleBone no se utiliza tambien para flashrom?

dcapeletti
Offline
Joined: 04/03/2014

Hola,
de echo python (Versión 2.7) funciona sobre el Raspberry pi 1 que tengo, que es una arquitectura ARMV6, ya es vieja comparado con beaglebone. Python esta en los repositorios de Raspbian, una distro GNU/Linux para raspberry. Así que las aplicaciones python que escriba en el pi, deberían funcionar perfectamente en BeagleBone, obviamente evitando dependencias fuertes.
Python ha sido portado para ARM, hay proyectos que ya se puede escribir app para Android y Replicant.
Si quieres escribir en pascal, c o c++ necesitas de compiladores mutiplataforma para las distintas arquitecturas, enlazadores y ensambladores. Esto tiene una ventaja, que la aplicación es mucho mas rápida porque trabaja mas cerca del procesador, pero es un trabajo bastante duro lograr portarla a todos los sistemas y que funcionen bien.

Hoy en día escribo aplicaciones de consola en python 2.7 en Trisquel x86-x64 y las porto a una máquina virtual usando Qemu que emula raspberry pi 1 y todo el código funciona completamente. La VM es solo para no usar el hardware real evitando las duras pruebas. Luego si quiero paso el código python al pi real y todo funciona como en la VM.

Raspberry pi ya no es lo que necesito, contiene demasiado software privativo, es mas cerrado y mas lento en comparación al beaglebone. El beaglebone tiene una buena cantidad de entradas y salidas digitales, lo que reduce en una sola tarjeta todo lo que necesito. Beaglebone que quiero conseguir tiene un debian preinstalado pero se puede quemar otro sistema, http://beagleboard.org/project/debian/

Sds

vita_cell
Offline
Joined: 07/19/2015

Un mal que veo en cuanto a multimedia, es ausensia de conexion jack 3,5 en BeagleBone, para conectar altavoces o auriculares directamente. Pero es un mal menor.

Ya que estas con esto, quiero preguntarte, si hago una aplicacion en C y la compilo en un ejecutable, esta sera solo en modo terminal, como crear/portar este codigo a una aplicacion con interfaz de usuario y no consola/terminal??

Utilizo Geany para C, ya que otros programas no funcionan nada bien y tienen un montonazo de dependencias que no se resolver, o no estan en repositorios oficiales.

dcapeletti
Offline
Joined: 04/03/2014

Si quizás en próximas versiones lo incorporen.
Casi todas los programas ls, ping, mkdir, wget, top, cat, etc. son aplicaciones de consola creadas por el proyecto GNU. Luego otras proyectos crearon aplicaciones que implementan la parte gráfica. Así ha evolucionado GNU/Linux.

Para el diseño de Software, hay que estudiar las cosas como "capas", donde cada una haga su trabajo pero lo haga bien y tenga interfaces claras para comunicarse con otras capas o aplicaciones. Esto significa portabilidad, flexibilidad y desacoplamiento que acarrea ventajas enormes.
Esto significa que tu puedes hacer tu propia interfaz gráfica para ls, así como las tiene nautilus de gnome, etc.

La evaluación de estos aspectos suele ser compleja o no, dependiendo de lo que quieres implementar. La portabilidad del código fuente esta relacionada con el nivel de desacoplamiento del Software. Puedes hacer una aplicación de consola y una aplicación gráfica que se comunique mediante sockets unix o puedes migrar todo el código de la aplicación de consola a una aplicación gráfica. Si haces esto último debes preguntarte ¿Podré algún día separar la parte de consola de la gráfica?

¿Has usado gambas 3 para crear aplicaciones en GNU/Linux?. Gambas es genial para los que están aprendiendo y quieran hacer aplicaciones rápidas para GNU/Linux.

¿Una aplicación de que tipo? ¿y porque en C? ¿Necesitas que seas multiplataforma?
Si necesitas que seas multiplataforma lo mejor es hacer la aplicación con el lenguaje C++ usando el framework de QT, pues aprovechas la orientación a objetos y del amplio soporte de QT versión GPL. Hay miles de aplicaciones en GitHub o en otros repositorios y cantidad de ejemplos en la red. Puedes usar Qt Creator para iniciarte.

Sds

vita_cell
Offline
Joined: 07/19/2015

Estoy estudiando Visual Basic, me es impuesto. Y tengo anteriormente experiencia con version 2008 en hacer aplicaciones graficas con Windows Forms.

Tambien estoy estudiando C, pero no he tenido experiencia mas alla de terminal/consola. Y seria genial intentar hacer algun programa sencillo con una interfaz grafica sencilla en C. No, no soy un programador, solo estudiante.

Tenia entendido que anteriormente Qt era privativo, y sus desarrolladores poco colaborativos con software libre. Pero veo que hay una GPL.

Gracias.

dcapeletti
Offline
Joined: 04/03/2014

Visual Basic, que mala inversión del tiempo y en educación!!!
Empieza a estudiar otras cosas por tu cuenta, porque visual basic es privativo y no es portable, es algo que no recomendaría. Todo lo que proviene de Windows es monolítico, funciona en Windows y no sales de ahí.

Lee este artículo, habla un poco acerca de la historia de Qt y de la lucha por la libertad en otras librerías: https://www.gnu.org/gnu/thegnuproject.es.html
Si eres alumno tienes tiempo para aprender C/C++ con el framework de Qt GPL. Es una gran inversión a largo plazo, con QT se puede hacer de todo, casi no tendrás límites, soporta una gran cantidad de plataformas ver https://www.wikivs.com/wiki/GTK_vs_Qt y https://es.wikipedia.org/wiki/Qt_%28biblioteca%29

Según mi experiencia Qt GPL no te va a defraudar, vas a tener tus frutos. Qt Creator ya crea formularios, controles todo usando Qt con c++, te ayudará muchísimo.
Si no quieres Qt, tienes python que es multiplataforma, Java aunque no son compilados.

Sds

vita_cell
Offline
Joined: 07/19/2015

Es horrible Visual Basic, el programa no da mas que problemas, interfaz confusa, cuelgues, lo mas tipico de Microsoft. Y desde mi punto de vista, un lenguaje de pocas posibilidades de salida.

Con Visual Basic ni siquiera puedes abrir dos proyectos a la vez, tienes que volver a abrir este mal programa para abrir otro proyecto.

Visual Basic llamarlo bloatware creo que seria lo mas adecuado.

Me encantan programas con los que puedes programar con una interfaz clara, como Geany.

dcapeletti
Offline
Joined: 04/03/2014

Perfectamente puedes usar Geany, codeblocks, etc para programar en C/C++ usando el framework de Qt GPL. Eclipse e Emacs son mis preferidos.

Sds

dcapeletti
Offline
Joined: 04/03/2014

Hola,
he encontrado este artículo de la FSF que les puede servir para aquellos que quieran realizar proyectos usando únicamente Software libre en ordenadores Single-board: https://www.fsf.org/resources/hw/single-board-computers

Sds