<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Desert Zarzamora</title>
	<atom:link href="http://zarzamora.com.mx/feed" rel="self" type="application/rss+xml" />
	<link>http://zarzamora.com.mx</link>
	<description>However, there is no real definition of a desert.</description>
	<lastBuildDate>Mon, 17 Jun 2013 02:59:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Ya nadie lee, pero qué mejor asi, ¿verdad?</title>
		<link>http://zarzamora.com.mx/archivo-historico/1290</link>
		<comments>http://zarzamora.com.mx/archivo-historico/1290#comments</comments>
		<pubDate>Mon, 17 Jun 2013 01:54:45 +0000</pubDate>
		<dc:creator>Desert Zarzamora</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://zarzamora.com.mx/?p=1290</guid>
		<description><![CDATA[Querido lector inexistente.Sé que ya los blogs personales no son la moda, pero qué mejor para mí. Nuevamente creo que fui de los últimos niños en querer ser astronauta, yo quería serlo, me gustaba la idea de volar, más alto que las aves, más alto que los aviones. Eso era antes, ahora los niños quieren [...]]]></description>
				<content:encoded><![CDATA[<p>Querido lector inexistente.Sé que ya los blogs personales no son la moda, pero qué mejor para mí. Nuevamente creo que fui de los últimos niños en querer ser astronauta, yo quería serlo, me gustaba la idea de volar, más alto que las aves, más alto que los aviones. Eso era antes, ahora los niños quieren ser Pitbull, pero ese no es el tema.</p>
<p>Diferente es mejor, y luego de la revolución de hace un mes o dos parece que sí. Aunque algo he aprendido en éstos últimos años, no todo lo que parece realmente lo es. Pero uno nunca sabe y mucho de la vida es tomar riesgos, éste es un riesgo que vale la pena tomar. Hey, quiero saber, la curiosidad mató al gato, y aunque me muera yo quiero saber.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://zarzamora.com.mx/archivo-historico/1290/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ladrón que roba ladrón</title>
		<link>http://zarzamora.com.mx/archivo-historico/1285</link>
		<comments>http://zarzamora.com.mx/archivo-historico/1285#comments</comments>
		<pubDate>Sun, 28 Apr 2013 23:36:56 +0000</pubDate>
		<dc:creator>Desert Zarzamora</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://zarzamora.com.mx/?p=1285</guid>
		<description><![CDATA[Que quién soltó la mano primero no tiene relevancia. Todo en la vida tiene un final latente, es decir, un final visible, pero con una continuación invisible, que se queda en la experiencia. Me robé un pedacito de ella, y ella también se robó un pedazo de mí.]]></description>
				<content:encoded><![CDATA[<p><em></p>
<blockquote><p>Que quién soltó la mano primero no tiene relevancia. Todo en la vida tiene un final latente, es decir, un final visible, pero con una continuación invisible, que se queda en la experiencia. Me robé un pedacito de ella, y ella también se robó un pedazo de mí.</p></blockquote>
<p></em></p>
]]></content:encoded>
			<wfw:commentRss>http://zarzamora.com.mx/archivo-historico/1285/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El futuro de ayer, la sal y la pimienta</title>
		<link>http://zarzamora.com.mx/archivo-historico/1284</link>
		<comments>http://zarzamora.com.mx/archivo-historico/1284#comments</comments>
		<pubDate>Sun, 28 Apr 2013 21:43:31 +0000</pubDate>
		<dc:creator>Desert Zarzamora</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://zarzamora.com.mx/?p=1284</guid>
		<description><![CDATA[Y bien, este es un post que ocurre luego de la tormenta. Era de esperarse entonces que fuese en calma. Y lo es. ¿Y que fue lo que ocurrió? Estaba yo en mi mundo atendiendo a mis asuntos, cuando de repente me puse a trabajar con mas firmeza, guiado por unos nuevos amigos (a los [...]]]></description>
				<content:encoded><![CDATA[<p>Y bien, este es un post que ocurre luego de la tormenta. Era de esperarse entonces que fuese en calma. Y lo es. ¿Y que fue lo que ocurrió?</p>
<p><a href="http://zarzamora.com.mx/wp-content/uploads/2013/04/20130428-044515-p.m..jpg"><img src="http://zarzamora.com.mx/wp-content/uploads/2013/04/20130428-044515-p.m..jpg" alt="20130428-044515 p.m..jpg" class="alignnone size-full" /></a></p>
<p>Estaba yo en mi mundo atendiendo a mis asuntos, cuando de repente me puse a trabajar con mas firmeza, guiado por unos nuevos amigos (a los cuales les han llamado: fábrica de payasos). Pues resulta que en parte debido a la fábrica, en parte al expresidente y a otros que han puesto fe, la cosa avanza. Y como es a lo largo de mis años, todo resulta juntarse en vórtices. Este fue uno de los ingredientes de este vórtice.</p>
<p>Otros ingredientes del vórtice fueron los esfuerzos independientes para lograr el mismo cometido, que finalmente y peligrosamente estan dando unos resultados impresionantes &#8211;al menos desde mi punto de vista&#8211;, se esta armando un equipo de gente capaz, que, aunque les falta crecer, parece que pueden hacerlo a tiempo.</p>
<p>Todo este vórtice estaría genialmente acompañado de sal y pimienta, la sal esta ahí, justo la describí, pero la pimienta que pudo ser, está gravemente ausente. Al grado de que la sal y otras especias han cubierto sus funciones, sin que realmente se vea &#8211;aqui diría &#8220;si regresará&#8221;, pero la realidad es que nunca estuvo ahi&#8211; que será. Y bueno, la conocí y tuve un sueño, tuve fe y a pesar de ser diferente creí que no era como las demás, que podría entender. Parece que era solo eso, un sueño. La esperanza muere al último, pero la de esta esta pimienta esta agonizando, lo más seguro es que no es pimienta. Tal vez si tuviera el tiempo de un niño y no la falta de tiempo de un condenado a muerte las cosas serían diferentes. Esta vez son así, mi prioridad es no morirme.</p>
<p>Ante las emergencias siempre estan ahi, al parecer, los mismos aliados, otra batalla más. Siempre que se alinean las estrellas es porque algo serio ocurre. Esta vez se libró en dos frentes, esperemos que pronto sean más.</p>
<p>Gracias, y ya me voy a dormir.</p>
]]></content:encoded>
			<wfw:commentRss>http://zarzamora.com.mx/archivo-historico/1284/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La historia de las historias</title>
		<link>http://zarzamora.com.mx/archivo-historico/1268</link>
		<comments>http://zarzamora.com.mx/archivo-historico/1268#comments</comments>
		<pubDate>Tue, 19 Mar 2013 07:16:13 +0000</pubDate>
		<dc:creator>Desert Zarzamora</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://zarzamora.com.mx/?p=1268</guid>
		<description><![CDATA[Hace poco me contaron la historia de los cacahuates, pero no es esa la historia que voy a contar hoy. Si alguien aun lee estas tonterias que escribo y pide esa historia antes de que el post se vuelva eterno (1 semana) se las contaré con las debidas frases torcidas, siempre de acuerdo al omnipresente [...]]]></description>
				<content:encoded><![CDATA[<p>Hace poco me contaron la historia de los cacahuates, pero no es esa la historia que voy a contar hoy. Si alguien aun lee estas tonterias que escribo y pide esa historia antes de que el post se vuelva eterno (1 semana) se las contaré con las debidas frases torcidas, siempre de acuerdo al omnipresente teléfono descompuesto.</p>
<p>La historia de hoy trata sobre la extraña forma del mundo presente y de muchas historias pequeñas alrededor de ello. Una muy pequeña pero rápida de contar es que encontré, o me encontraron, personas a quienes les gusta oir mis historias, incluso supe uno que otro pagaría por oirlas. Es raro cuando comienzas a juntar historias así. Entonces, ya que es bien tarde y mañana tengo clases &#8212; impartición, no asistencia &#8212; debo apresurarme. Y como esta historia de historias es gratis, ahi va.</p>
<p>Una de las historias tiene que ver con que mi eterno doctorado sigue en pié y que no sirve de mucho tener a PSY cantando Gangnam Style en tu presentación, igual no pasa. Pero eso llegará a su fin, tarde o temprano. Un dia me preguntaron ¿Por que haces un doctorado? Y en aquel entonces la respuesta fue bastante falsa y tonta: &#8220;Para ayudar al mundo&#8221;, queriendo quedar bien. La realidad es que como ya lo he dicho esas cosas se hacen por egocentrismo, y Szent-Gyorgi me lo confirmó recientemente, si el pudo ganar un premio de tal magnitud ¿por que no hacerle caso?. Así que ahora que a aquellos que me pregunten les diré lo mismo&#8230; la verdad, aunque no se oye bonito para las relaciones públicas, las cuales por cierto ya me toca cuidar cada vez mas. Aunque para las relaciones públicas siempre es bueno una cara bonita, así que necesito una cara mas bonita, pues aunque mi madre y mi padre hicieron lo que pudieron &#8212; yo <strong>sí</strong> estaba bonito de niño &#8211;. Erm, regresando al tema ya casi se acaba, ojala que mas pronto que largo porque ya ni beca de CONACYT ni beca de la Universidad tengo, el trabajo me consume mucho más de lo que mi asesor quisiera, él quisiera tenerme esclavizado haciendo cosas que nunca tendrán aplicación práctica y quedaran olvidadas en la historia o en el viejo baúl de &#8220;tesoros&#8221; que nunca fueron. A mi me gustan mas las cosas reales, &#8230; y difíciles de preferencia.</p>
<p>Continuando, es mejor reconocer que hacer lo que te gusta y vivir de eso es mas difícil de lo que parece, sobretodo cuando es la primera vez que vives en la vida. En el camino un No-Ninja &#8212; les juro que tengo su tarjeta y tiene un Ninja pintado y detrás la aclaración de que no es un Ninja &#8212; me dijo que debía aprender cosas que no creí que fueran mi fuerte o al menos que no creí nunca tener la necesidad o, peor, la obligación de hacer.  -<em>You seem like a very smart guy. ¿</em>Y luego? Me aventó a los tiburones. Como sea, justo en este momento, parece estar avanzando de una manera increiblemente buena, luego de cientos, y cientos de días de diversión feliz y no tanto, miles y miles de horas y prácticamente una enormidad de pequeños y grandes momentos. Momentos buenos y momentos solamente. Y aunque extraño de vez en cuando al Sheriff, creo que lo mejor ha sucedido de la manera en que está. Más momentos ocurren en este momento, tan rápido como escribo y tan rápido que este mes y el próximo serán increíbles. <em>¿Como duermes en la noche?</em>, ahí la respuesta, lleno el día y la noche de vida que no se repite, sino que se escala, y la receta para escalarla es nunca tener miedo a realizar milagros. ¿Ese es nuestro trabajo no?, hacemos cosas imposibles, vendemos cosas que no existen &#8230;todavía. Esa es la genialidad de la tecnología, y sí, ya sé que no somos la panacea, pero vaya que lo intentamos. Y si no lo logramos al menos el viaje será toda una travesía digna de ser contada como una historia, así como esta, solo que durante más y más horas, probablemente durante una noche entera de fuego, carne asada, más fuego y más carne asada. Pero ahora, esta historia está viva, aún no es historia del todo, está en proceso, va bien y pinta para ir mucho mejor.</p>
<p>Las cosas que uno quiere no siempre se dan como uno las quiere, las sueña o las idealiza. Las decisiones que la gente, incluso personas que crees conocer, que crees estar cerca a veces te toman por sorpresa. Las reacciones no siempre son las mejores, ni en mi caso ni en el caso externo. &#8220;<em>Estas cambiado</em>&#8220;, no, &#8220;<em>regresa a ser como eras</em>&#8220;, así fui siempre, &#8220;<em>cambia</em>&#8220;, no. ¿Debí haber recibido una educación diferente? yo personalmente no lo creo pues la educación que recibí me tiene intentando comerme el cielo ya que me enseñaron que &#8220;<em>de grande podría ser y hacer lo que yo quisiera</em>&#8220;, y me gustó el color azul del cielo. Pero hay quien decide que su mundo es mas corto, o mas chico, o mas rápido, o simplemente diferente al que uno piensa y no necesariamente malo. Es difícil entender esas decisiones, casi tan difícil como apagar fuego con fuego. Lo he intentado, ambas cosas. Me hace pensar entonces que no debería intentar ninguna de las dos.</p>
<p>Y como soy un perfecto imperfecto, la mejor de todas no se cuenta. Si se cuenta corre el riesgo de dejar de ser tan pura como el agua. Lo que no me impide decir que hay una hermosa historia viva no contada aún en este lugar.</p>
<p><em>&#8211; Ya se te estan acabando las historias.</em><br />
<em>&#8211; No te preocupes, ya tengo nuevas.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://zarzamora.com.mx/archivo-historico/1268/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>So what, Im still a rockstar.</title>
		<link>http://zarzamora.com.mx/archivo-historico/1261</link>
		<comments>http://zarzamora.com.mx/archivo-historico/1261#comments</comments>
		<pubDate>Mon, 10 Sep 2012 04:21:01 +0000</pubDate>
		<dc:creator>Desert Zarzamora</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[historia]]></category>
		<category><![CDATA[resumen]]></category>
		<category><![CDATA[rockstar]]></category>
		<category><![CDATA[vida]]></category>

		<guid isPermaLink="false">http://zarzamora.com.mx/?p=1261</guid>
		<description><![CDATA[Veo que el post anterior es desde enero, muchas cosas han pasado. El titulo indica lo que debe indicar, tal y como el origen de donde proviene y de la misma manera acaba. Aunque contar lo del rock y la agresividad. Esa historia básica que comenzó el día que tenia marcado el mismo número del [...]]]></description>
				<content:encoded><![CDATA[<p>Veo que el post anterior es desde enero, muchas cosas han pasado. El titulo indica lo que debe indicar, tal y como el origen de donde proviene y de la misma manera acaba. Aunque contar lo del rock y la agresividad. Esa historia básica que comenzó el día que tenia marcado el mismo número del teléfono de mi casa 30612. Tal vez debí haberle hecho caso y llamar a mi casa, o irme a mi casa mejor. Pero no, hice lo que me dictó el diablillo que te susurra al oído, ese que te orilla a actuar de la manera que la vida requiere en ciertas ocasiones. Pero era diablillo, no lo vi, nomas lo oí, y sus decisiones no fueron las adecuadas.</p>
<p>Posiblemente eso sea lo unico que deba escribir, quedará como una rara anécdota, para juntar de entre las historias del pasado. Igual que la de la odisea en la selva de Quintana Roo con la grave la falta de conocimiento del Maya, o como la vendimia de camarones en una conocida población de las costas de Sonora, los 225 Km/h sobre las autopistas de La Toscana o las alucinaciones vívidas debidas al exceso de trabajo. Lo que sí se es que no será tan hermosa como la suave luz roja de las fotos Grenoblesas, o el delicado olor de la tierra húmeda de los rosales de mi papá. Dejará una cantidad de moretones similares a los que la nieve me dejó algún día. Y los moretones se volverán verdes y luego color carne de nuevo, tal y como ya lo hicieron alguna vez.</p>
<p>Y ya que me dieron mas ganas de escribir, a propósito de las historias, hay nuevas, y muy buenas, incluyendo las autopistas Chiapanecas y el Cañon del Sumidero. En los tiempos complicados es cuando se conocen a quien tienes de amigo, y yo he reconocido ya a varios, entre ellos quien fue compañero de aventuras en el mas reciente capítulo en el sureste. ¿Por que nos cerraron el puente los Coatzacoalqueños? tan facil era avisar 50km antes y no hacernos ir por pueblitos de nombres chistosos. Y si uno no era virtual, la otra si, la zamorana siempre me ha dado ánimos, consejos, felicitaciones y porras, gracias.</p>
<p>Y, ¿ahora que? -¿que que?, que ahora resulta que soy un experto en algunos temas o al menos eso dice la gente que me ha comenzado a invitar a dar pláticas, al final me di cuenta que podría haber cobrado incluso. Que chido, la verdad, un honor, pero necesito una fotógrafa, como la del cuate de las historias repetidas, solo que sea una que sí sepa tomar fotos.</p>
<p>Esto no es Facebook, asi que espero que este chisme se quede aquí, a llenarse de polvo como se llenaban los diarios de los años de los abuelos. Siempre me desagradó eso de las redes sociales, y sigo sin estar demasiado conectado a esas cosas del demonio, aunque la facilidad que dan para mantener una lista de contactos es innegable. Al final, siempre me he sentido mas cerca de este lugar, tanto que el otro día que estuve revisándolo veo que refleja un cambio de pensamiento y unos cuantos chispazos de la historia de mi vida. Antes era yo mas temperamental, eso se debió no solo a que era temperamental, sino a que consumía sustancias químicas que me orillaban a serlo aún mas. No drogas, no. Medicamentos para un viejo mal que me aqueja, &#8230; o me aquejaba, pues milagrosamente me curé, seguro mi madre habrá tenido algo que ver, eso de los milagros se le da.</p>
<p>Ahora es distinto, espero no maldecir tanto y,de preferencia, enredar tanto y dar tan pocas pistas de lo que digo, que nadie me entienda, solo los protagonistas, o mejor, solo yo.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://zarzamora.com.mx/archivo-historico/1261/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Aplicaciones Qt en VNC y en pantalla local</title>
		<link>http://zarzamora.com.mx/archivo-historico/1257</link>
		<comments>http://zarzamora.com.mx/archivo-historico/1257#comments</comments>
		<pubDate>Mon, 30 Jan 2012 23:22:36 +0000</pubDate>
		<dc:creator>Desert Zarzamora</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[beagle]]></category>
		<category><![CDATA[vnc]]></category>

		<guid isPermaLink="false">http://zarzamora.com.mx/?p=1257</guid>
		<description><![CDATA[The QVNCServer is not a full VNC server, but is a Qt display driver where the output is made available as a VNC Server on the network interface. The &#8220;VNC server&#8221; is not a separate process, and is simpler than a full VNC server in that it can only handle 1 VNC client at a [...]]]></description>
				<content:encoded><![CDATA[<blockquote><p><em>The QVNCServer is not a full VNC server, but is a Qt display driver where the output is made available as a VNC Server on the network interface. The &#8220;VNC server&#8221; is not a separate process, and is simpler than a full VNC server in that it can only handle 1 VNC client at a time and it only supports VNC clients that connect with a depth of 32bpp. </em></p></blockquote>
<p>Para lanzar una aplicación solo en VNC:</p>
<blockquote>
<pre><code>  appname -qws -display "VNC::"   appname -qws -display "VNC::size=640x480:depth=32:0" </code></pre>
</blockquote>
<p>Para verla en VNC y tambien en el linux frambefuffer (/dev/fbo) en este caso el driver de pantalla es sm501:</p>
<blockquote>
<pre><code>  appname -qws -display "Multi: sm501: VNC::" </code></pre>
</blockquote>
<p>(Deben usarse doble dos-puntos para VNC  si no se da argumento)</p>
<p>Se pueden lanzar varios VNC&#8217;s uno para cada aplicación en diferentes puertos:</p>
<pre> 
appname1 -qws                   --renders to the local display   
appname2 -qws -display VNC::0   --renders to VNC port 5900   
appname3 -qws -display VNC::1   --renders to VNC port 5901   
appname4 -qws -display VNC::2   --renders to VNC port 5902</pre>
]]></content:encoded>
			<wfw:commentRss>http://zarzamora.com.mx/archivo-historico/1257/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Beagleboard bootargs a prueba de tontos</title>
		<link>http://zarzamora.com.mx/archivo-historico/1252</link>
		<comments>http://zarzamora.com.mx/archivo-historico/1252#comments</comments>
		<pubDate>Fri, 27 Jan 2012 23:12:55 +0000</pubDate>
		<dc:creator>Desert Zarzamora</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://zarzamora.com.mx/?p=1252</guid>
		<description><![CDATA[Esto es un volcado de printenv para tener bootargs que arrancan desde mmc o bien desde nand de manera automática. OMAP3 beagleboard.org # printenv bootcmd=if mmc init; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else run nandboot; fi; fi; else run nandboot; fi bootdelay=10 baudrate=115200 loadaddr=0x82000000 console=ttyS2,115200n8 vram=12M [...]]]></description>
				<content:encoded><![CDATA[<p>Esto es un volcado de printenv para tener bootargs que arrancan desde mmc o bien desde nand de manera automática.</p>
<pre>OMAP3 beagleboard.org # printenv
bootcmd=if mmc init; then if run loadbootscript; then run bootscript; else if run loaduimage; then run mmcboot; else run nandboot; fi; fi; else run nandboot; fi
bootdelay=10
baudrate=115200
loadaddr=0x82000000
console=ttyS2,115200n8
vram=12M
<strong>dvimode</strong>=1024x768MR-16@60
defaultdisplay=dvi
mmcroot=/dev/mmcblk0p2 rw
mmcrootfstype=ext3 rootwait
nandroot=/dev/mtdblock4 rw
nandrootfstype=jffs2
mmcargs=setenv bootargs console=${console} vram=${vram} omapfb.mode=dvi:${<strong>dvimode</strong>} omapfb.debug=y omapdss.def_disp=${defaultdisplay} root=${mmcroot} rootfstype=${mmcrootfstype}
nandargs=setenv bootargs console=${console} vram=${vram} omapfb.mode=dvi:${<strong>dvimode</strong>} omapfb.debug=y omapdss.def_disp=${defaultdisplay} root=${nandroot} rootfstype=${nandrootfstype}
loadbootscript=fatload mmc 0 ${loadaddr} boot.scr
bootscript=echo Running bootscript from mmc ...; source ${loadaddr}
loaduimage=fatload mmc 0 ${loadaddr} uImage
mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${loadaddr}
nandboot=echo Booting from nand ...; run nandargs; nand read ${loadaddr} 280000 400000; bootm ${loadaddr}
stdin=serial
stdout=serial
stderr=serial
dieid#=776200040000000004037f660701701e

Environment size: 1160/131068 bytes</pre>
<p>Algunas otras resoluciones de pantalla posibles son (<a href="http://elinux.org/BeagleBoardFAQ#Display_resolutions_.231">sacadas de aqui</a>):</p>
<ul>
<li>omapfb.mode=dvi:1024x768MR-16@60</li>
<li>omapfb.mode=dvi:1280x720MR-16@60 (for 720p HDTV with 1:1 pixel mapping)</li>
<li>omapfb.mode=dvi:1280x1024MR-16@60 (tested on revB7, actual output is 57MHZ and may not work on some devices)</li>
<li>omapfb.mode=dvi:1360x768MR-16@60 (works nice on 720p HDMI TV which crops edges due to overscan)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://zarzamora.com.mx/archivo-historico/1252/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Qt para Beagleboard</title>
		<link>http://zarzamora.com.mx/archivo-historico/1233</link>
		<comments>http://zarzamora.com.mx/archivo-historico/1233#comments</comments>
		<pubDate>Thu, 26 Jan 2012 23:20:12 +0000</pubDate>
		<dc:creator>Desert Zarzamora</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://zarzamora.com.mx/?p=1233</guid>
		<description><![CDATA[Al incio no tenia idea de que cosa era un toolchain o para qué servía. Ahora entiendo que es el conjunto de herramientas para compilar para plataformas que no son la misma en la que estas desarrollando. Obvio nadie va a usar una Beagleboard como su workstation, desarrollar y compilar ahi mismo, eso seria simple, [...]]]></description>
				<content:encoded><![CDATA[<p>Al incio no tenia idea de que cosa era un toolchain o para qué servía. Ahora entiendo que es el conjunto de herramientas para compilar para plataformas que no son la misma en la que estas desarrollando. Obvio nadie va a usar una Beagleboard como su workstation, desarrollar y compilar ahi mismo, eso seria simple, pero tremendamente lento (peor si fuera una Raspberry Pi). Lo mejor es usar tu compu (x86) y compilar usando un <em>toolchain</em> para la Beagle (ARM). Por eso es importante el toolchain.</p>
<p>Lo más facil es crearte <a title="Narcissus Beagleboard" href="http://narcissus.angstrom-distribution.org/" target="_blank">una imágen de Beagle a la medida usando Narcissus</a>. No te fijes en que la página de Angstrom esta fea, ni en que la actualizan 1 vez cada año, el software sirve muy bien y no esta obsoleto ni abandonado pues los paquetes de opkg se actualizan con frecuencia. Baja tu Angstrom, instálalo en tu Beagle y haz que corra, hay tutoriales para eso. Tambien hay tutoriales para hacer red via usb con g_ether.</p>
<h2>Instala el toolchain de Angstrom</h2>
<p>Es fácil, se descomprime y ya. Yo usé la versión <em>angstrom-2011.03-i686-linux-armv5te-linux-gnueabi-toolchain.tar.bz2</em> que no trae Qt, obvio pq yo instalaré una versión más nueva, mide como 40 o 50 megas.</p>
<pre># cd /
# tar -jxvf /tmp/angstrom-2011.03-i686-linux-armv5te-linux-gnueabi-toolchain.tar.bz2</pre>
<p>No temas, no ensuciará el sistema, solo instalará algunas cosas en /usr/local/angstrom y otras en /var/lib/opkg/, puedes usar <em>mc</em> para indagar si es que tienes curiosidad.</p>
<p>Hay que bajar Qt, yo usé la version estable mas nueva (4.8.0) pero las instrucciones sirven para cualquier versión y pronto saldrá Qt 5 y entonces todos querran rehacer este turorial para Raspberry Pi, que es casi igual que para Beagle.</p>
<p>Cuidado, esta compilación <strong>no usará OpenGL ES</strong> 2.0 (porque aun no se como hacerlo bien, jeje).</p>
<h2>Compilando Qt</h2>
<p>Detalles de Qt:</p>
<ul>
<li>No documentación ni ejemplos ni traducciones, etc. Eso lo tienes en tu versión de escritorio.</li>
<li>Quitamos muchas otras cosas inútiles como cups, gtk, y soporte Qt3.</li>
<li>Soporte para ratón incluído pues esta versión ejecutará sin X11/Xorg</li>
<li>QWS y soporte para linux framebuffer</li>
<li>Servidor integrado de pantalla remota VNC para que puedas ver lo que sale en la beagle desde tu PC.
<pre>/opt/miApp/bin/miApp -qws -display VNC:0</pre>
</li>
<li>¡Multimedia!</li>
<li>Scripting ¡y QML!</li>
<li>No WebKit para acelerar la compilación, aunque puedes incluirlo si lo  necesitas.</li>
<li>PNG, JPG, TIFF y MNG directo dentro de Qt</li>
</ul>
<h3>Compilar Qt para ARM</h3>
<p>Se necesita un mkspec especial. Esto es simplemente una receta que le dice al compilador la manera correcta de compilar Qt para ARM. El source (.tar.gz) o tu clon de Qt trae una carpeta llamada mkspecs, ahi estan organizados muchos. Crearemos uno nuevo dentro de la subcarpeta qws.</p>
<h4>Crear un makespec para la Beagle</h4>
<p>Crear el directorio [qt-source]/mkspecs/qws/linux-DM3730-g++  el nombre lo copié de otro tutorial (por eso dice DM3730), es irrelevante así que déjalo tal cual para que puedas hacer copy/paste de todo lo que sigue.</p>
<pre># cd mkspecs/qws
# mkdir linux-DM3730-g++ 
# cd linux-DM3730-g++</pre>
<p>Y ahi crear 2 archivos con el siguiente contenido:</p>
<p>Archivo <strong>mkspecs/qws/linux-DM3730-g++/qmake.conf</strong>, 21 líneas efectivas (contando comentarios e ignorando lineas vacías). Ignora los comentarios de &#8220;modifications to xxx&#8221;, no hay que modificar nada, nomas copia y pega las siguientes líneas en el archivo qmake.conf nuevo:</p>
<pre># -------------- qmake.conf --------------
# qmake configuration for building with arm-linux-g++
#
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)

# modifications to g++.conf
# Angstrom toolchain
QMAKE_CFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
QMAKE_CC = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/gcc
QMAKE_CXX = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
QMAKE_LINK = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
QMAKE_LINK_SHLIB = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++

# modifications to linux.conf
QMAKE_AR = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/ar cqs
QMAKE_OBJCOPY = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/objcopy
QMAKE_STRIP = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/strip

load(qt_config)
# -------------- FIN: qmake-conf --------------</pre>
<p>Nota que las rutas indican /usr/local/angstrom, tal cual debería ocurrir si no modificaste nada de</p>
<p>Archivo <strong>mkspecs/qws/linux-DM3730-g++/qplatformdefs.h</strong>,   solo tendrá una línea:</p>
<pre>#include "../../linux-g++/qplatformdefs.h"</pre>
<p>Ahora configura Qt con los módulos necesarios y sin los módulos irrelevantes:</p>
<pre># ./configure -opensource -confirm-license -prefix /opt/Qt-4.8.0_ARM -no-qt3support -embedded arm -little-endian -xplatform qws/linux-DM3730-g++ -nomake examples -nomake demos -nomake docs -nomake translations -depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-qt3support -no-glib -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -fast -no-javascript-jit -script -scripttools -declarative -declarative-debug -no-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg -no-nis -no-iconv -no-pch -no-opengl -no-openvg -no-sm -no-xshape -no-xvideo -no-xsync -no-xinerama -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-mitshm -no-xinput -no-xkb -no-xmlpatterns -no-webkit -no-sql-sqlite -no-sql-sqlite2 -multimedia -audio-backend -qt-gfx-vnc -qt-gfx-linuxfb</pre>
<p>Ver en las notas finales parte de la salida del ./configure&#8230; Luego compilar e instalar.</p>
<pre># make &amp;&amp; make install</pre>
<p>Eso instalará todo en tu PC en /opt/Qt-4.8.0_ARM. Ahora crea un .tar y mandalo a la Beagle. En la Beagle crea la carpeta /opt si no existe y ahi mismo coloca lo de tu PC que esta en /opt/Qt-4.8.0_ARM.  Tendras lo mismo em ambos lados.</p>
<p>¡Qt está instalado en tu Beagle! Ahora configura algunos detalles necesarios para evitar dolores de cabeza.</p>
<p><strong>Note:</strong> If filesystem was created using the narcissus progam, libstdc++.so.6 will be missing within the &#8220;/lib&#8221; directory of the target filesystem. This *.so file is needed to run Qt:</p>
<pre># opkg update
# opkg install libstdc++6</pre>
<h3>Configurar lo necesario en la Beagle</h3>
<p>Edita en la Beagle: /etc/profile y coloca al final:</p>
<pre># Qt for ARM
export LD_LIBRARY_PATH=/opt/Qt-4.8.0_ARM/lib</pre>
<p>Crea un usuario para tu Beagle, por comodidad yo usé &#8220;beagle&#8221;:</p>
<pre># adduser beagle</pre>
<p>Cambia permisos y grupo de /opt (para deployment via Qt Creator):</p>
<pre># chown root:beagle /opt
# chmod g+rwx /opt</pre>
<p>Para ejecutar aplicaciones sin X/Xorg con el parámetro -<em>qws</em> en el framebuffer con el usuario beagle, se necesita que esté en el grupo &#8216;video&#8217;. Edita directamente /etc/group para que la linea quede:</p>
<pre>video:*:44:beagle</pre>
<p>A lo mejor no es un 44, con cuidado en tu Beagle, ponle el que tenga. Aún así marcará error en la tty (el teclado) y en el audio y en otras cosas, habrá que editar las reglas de udev y poner todo como grupo beagle, eso es mas efectivo.</p>
<p>Una alternativa más fácil es hacer deploy como root, con eso todo funciona bien y no hay problemas de permisos ni grupos.</p>
<h3>Notas</h3>
<p>Pos si hace falta, entre lo que arrojó el ./configure salió:</p>
<pre>Building on: qws/linux-x86-g++
Building for: qws/linux-DM3730-g++
Architecture: arm
Host architecture: i386</pre>
<pre>Build .................. libs
Configuration .......... cross_compile release shared dll embedded stl neon exceptions_off minimal-config small-config medium-config large-config full-config no-pkg-config embedded reduce_exports ipv6 clock-gettime clock-monotonic mremap getaddrinfo ipv6ifname getifaddrs inotify png no-gif freetype zlib multimedia audio-backend svg script scripttools declarative release
Debug .................. no
Qt 3 compatibility ..... no
QtDBus module .......... no
QtConcurrent code ...... yes
QtGui module ........... yes
QtScript module ........ yes
QtScriptTools module ... yes
QtXmlPatterns module ... no
Phonon module .......... no
Multimedia module ...... yes
SVG module ............. yes
WebKit module .......... no
JavaScriptCore JIT ..... no
Declarative module ..... yes
Declarative debugging ...yes
Support for S60 ........ no
Symbian DEF files ...... no
STL support ............ yes
PCH support ............ no
MMX/3DNOW/SSE/SSE2/SSE3. no/no/no/no/no
SSSE3/SSE4.1/SSE4.2..... no/no/no
AVX..................... no
iWMMXt support ......... no
NEON support ........... yes
IPv6 support ........... yes
IPv6 ifname support .... yes
getaddrinfo support .... yes
getifaddrs support ..... yes
Accessibility .......... no
NIS support ............ no
CUPS support ........... no
Iconv support .......... no
Glib support ........... no
GStreamer support ...... no
PulseAudio support ..... no
Large File support ..... no
GIF support ............ no
TIFF support ........... plugin (qt)
JPEG support ........... plugin (qt)
PNG support ............ yes (qt)
MNG support ............ plugin (qt)
zlib support ........... yes
Session management ..... no
Embedded support ....... arm
Freetype2 support ...... auto (yes)
Graphics (qt) .......... linuxfb multiscreen vnc linuxfb
Graphics (plugin) ......
Decorations (qt) ....... styled windows default
Decorations (plugin) ...
Keyboard driver (qt) ... tty
Keyboard driver (plugin) ..
Mouse driver (qt) ...... linuxinput
Mouse driver (plugin) .. linuxtp pc
OpenGL support ......... no
OpenVG support ......... no
OpenSSL support ........ no
Alsa support ........... no
ICD support ............ no
libICU support ......... no</pre>
<pre>Finding project files. Please wait...</pre>
]]></content:encoded>
			<wfw:commentRss>http://zarzamora.com.mx/archivo-historico/1233/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>VNC para Qt Embedded (QWS) con resolución personalizada</title>
		<link>http://zarzamora.com.mx/archivo-historico/1255</link>
		<comments>http://zarzamora.com.mx/archivo-historico/1255#comments</comments>
		<pubDate>Thu, 26 Jan 2012 23:17:20 +0000</pubDate>
		<dc:creator>Desert Zarzamora</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[beagle]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[qt]]></category>

		<guid isPermaLink="false">http://zarzamora.com.mx/?p=1255</guid>
		<description><![CDATA[Ejecuta la aplicacion usando los parámetros: ./miApp  -qws -display VNC:0  -geometry 1024x768+0+0 Si tu aplicación ejecuta en pantalla completa no es  necesario el -geometry. Pero para que realmente funcione debe existir una variable de ambiente QWS_SIZE=1024x768 Por ejemplo, se puede hacer # QWS_SIZE=1024x768 ./miApp  -qws -display VNC:0  -geometry 1024x768+0+0]]></description>
				<content:encoded><![CDATA[<p>Ejecuta la aplicacion usando los parámetros:</p>
<pre>./miApp  -qws -display VNC:0  -geometry 1024x768+0+0</pre>
<p>Si tu aplicación ejecuta en pantalla completa no es  necesario el -geometry. Pero para que realmente funcione debe existir una variable de ambiente</p>
<pre>QWS_SIZE=1024x768</pre>
<p>Por ejemplo, se puede hacer</p>
<pre># QWS_SIZE=1024x768 ./miApp  -qws -display VNC:0  -geometry 1024x768+0+0</pre>
]]></content:encoded>
			<wfw:commentRss>http://zarzamora.com.mx/archivo-historico/1255/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Access to the Beagleworld for my little Beagle</title>
		<link>http://zarzamora.com.mx/archivo-historico/1229</link>
		<comments>http://zarzamora.com.mx/archivo-historico/1229#comments</comments>
		<pubDate>Wed, 25 Jan 2012 18:39:37 +0000</pubDate>
		<dc:creator>Desert Zarzamora</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://zarzamora.com.mx/?p=1229</guid>
		<description><![CDATA[So you have made a wrong choice and bought a Beagleboard without ethernet, looked so cheap, oh no&#8230;damn! Let&#8217;s fix that easily. I assume you already have a booting card with some version of Angstrom and that you know what you are doing, so i won&#8217;t enter into trivial details. You will need: On the [...]]]></description>
				<content:encoded><![CDATA[<p>So you have made a wrong choice and bought a Beagleboard without ethernet, looked so cheap, oh no&#8230;damn!</p>
<p>Let&#8217;s fix that easily. I assume you already have a booting card with some version of Angstrom and that you know what you are doing, so i won&#8217;t enter into trivial details. You will need:</p>
<p>On the Beagleboard:</p>
<ul>
<li>We will use g_ether in auto insertion (next step) but you could
<pre>modprobe -v g_ether</pre>
<p>yourself, the first time just in case</li>
<li>Fix the address for auto setup at /etc/network/interfaces:</li>
</ul>
<pre># Ethernet/RNDIS gadget (g_ether) or LAN9514
 auto usb0
   iface usb0 inet static
   pre-up modprobe g_ether
   address 192.168.3.2
   netmask 255.255.255.0
   gateway 192.168.3.1
   post-down rmmod g_ether</pre>
<ul>
<li>Setup your real nameserver IP&#8221;s at /etc/resolv.conf</li>
</ul>
<p>On your desktop</p>
<ul>
<li>You also  need &#8216;g_ether&#8217;, so
<pre>modprobe g_ether</pre>
<p>And maybe you wan to add &#8216;g_ether&#8217; to /etc/modules for auto-loading on boot.</p>
<p>You will see on the beagle a &#8220;link becomes ready&#8221; message on the dmesg output, look at it via serial.</li>
<li>You can use Network Manager and setup a fixed ip (192.168.3.1) for that interface or use any other tool for that.</li>
</ul>
<p>Now you must be able to ping from both sides.</p>
<p>Internet Access</p>
<p>This needs additional configuration on the desktop. This a useful script:</p>
<pre># Assuming:
#-BEAGLE---+---DESKTOP PC------&gt;
#-usb0-----|---usb0--eth0--&gt;internet
#
echo "Remove any previous NAT setup"</pre>
<pre>iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain

echo "Setup NAT to forward packets from usb0 &lt;---&gt; eth0"
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface usb0 -j ACCEPT

echo "Enable packet forwarding in the kernel"
echo 1 &gt;&gt; /proc/sys/net/ipv4/ip_forward</pre>
<p>Now your beagle will have access to the world.</p>
]]></content:encoded>
			<wfw:commentRss>http://zarzamora.com.mx/archivo-historico/1229/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
