Mostrando entradas con la etiqueta Gentoo. Mostrar todas las entradas
Mostrando entradas con la etiqueta Gentoo. Mostrar todas las entradas

martes, 14 de abril de 2009

Ext4, kernel 2.6.29 y los bloques grandes

La semana pasada fue mi cumpleaños y por fin tengo mi deseado portatil: un Asus eee 901 20G. (En otra entrada comentaré algunas cosas del equipo).

Tras probar Xandros durante más o menos media hora, y ver que todo funcionaba, me dispuse a instalar una distro más completa y no ese juguete. Ya había tomado la decisión y tras leer la documentación detenidamente me lance a por Gentoo. Hay bastante gente que desaconseja el uso de esta distro en este tipo de equipos, pero tras usarla durante unos dias (luego formatee para probar Arch) no puedo estar mas encontra de ese opinión: le viene perfecta. EL unico problema es que lleva muchisimo tiempo compilar en un procesador tan poco potente (esto tiene solución si usas distcc)

El principal problema me surgio cuando tras terminar la instalación (despues de borrar Arch, que desde mi humilde punto de vista va de culete en este equipo) de Gentoo no me montaba dos particiones: /usr y /home que se encuentran bajo lvm en ext4

Con dmesg | tail pude ver el error:

EXT4-fs: dm-0: Filesystem with huge files cannot be mounted read-write without CONFIG_LBD.

¿El problema? Al compilar el kernel en el menu principal en “Enable the block layer” la opción “Support for large block devices and files” no estaba seleccionada. Se selecciona se vuelve a compilar y listo.

Hay que decir que esto me paso en el kernel 2.6.29-r1 que esta enmascarado por arquitectura en portage. Este kernel soporta todo el hardware que tiene mi asus 901 y tengo entendido que el resto de eee :D

Por si a alguien le interesa, cuando me asegure de que todo todo todo funciona con este kernel pondre mi .config

lunes, 23 de marzo de 2009

API LeJos en GNU/Linux con soporte para Eclipse

En esta entrada voy a mostrar como instalar la API LeJos para NXT (la versión 0.7 a día de hoy) en GNU/Linux. El conjunto de pasos es el mismo en cualquier sistema operativo GNU/Linux salvo extrañas excepciones que supongo que no se cumplirán (me refiero a paths extraños en los ficheros de eclipse por ejemplo)

Tras tener la instalación voy también a mostrar como instalar un plugin para el desarrollo de aplicaciones usando esta API en el entorno Eclipse aunque tras la instalación podréis llamar siempre a nxjc *.java, para los que estén más cómodos en vim :)

Al lio.

Lo primero es bajarse la API de la web: http://lejos.sourceforge.net/nxj-downloads.php y elegís la ultima versión, que en el momento de esta entrada es la 0.7.

Ahora movéis ese fichero tar.gz que acabáis de bajar (si es otro tipo sustituir las ordenes de descompresión por las correspondientes xD) a el path donde vamos a instalarlo. Yo por comodidad y por costumbre lo muevo a /usr/local/share/ de manera que cuando descomprima me quedare con un directorio /usr/local/share/lejos_nxj/

#Copiamos el tar.gz a /usr/local/share/
cp /path/del/archivo/targz/nombreDelArchivo.tar.gz /usr/local/share/
#Lo descomprimimos
tar zxvf /usr/local/share/nombreDelArchivo.tar.gz

Lo siguiente es ver que los archivos contenidos dentro de bin/ (dentro de la nueva carpeta que en mi caso es lejos_nxj: /usr/local/share/lejos_nxj/bin ) son ejecutables (el fichero StartUpText.bin no hace falta que sea ejecutable) para comprobarlo dentro del directorio ejecutamos:

ls -l

Y veríamos algo parecido a esto:
-rwxr-xr-x 1 root root 48096 nov 11 16:37 lejos_nxt_rom.bin
-rwxr-xr-x 1 root root 1000 nov 11 16:37 nxj
-rwxr-xr-x 1 root root 862 nov 11 16:37 nxjbrowse
-rwxr-xr-x 1 root root 319 nov 11 16:37 nxjc
-rwxr-xr-x 1 root root 784 nov 11 16:37 nxjconsole
-rwxr-xr-x 1 root root 784 nov 11 16:37 nxjconsoleviewer
-rwxr-xr-x 1 root root 799 nov 11 16:37 nxjdataviewer
-rwxr-xr-x 1 root root 627 nov 11 16:37 nxjflash
-rwxr-xr-x 1 root root 460 nov 11 16:37 nxjflashg
-rwxr-xr-x 1 root root 737 nov 11 16:37 nxjlink
-rwxr-xr-x 1 root root 793 nov 11 16:37 nxjmonitor
-rwxr-xr-x 1 root root 729 nov 11 16:37 nxjpccomm
-rwxr-xr-x 1 root root 795 nov 11 16:37 nxjsocketproxy
-rwxr-xr-x 1 root root 917 nov 11 16:37 nxjupload
-rw-r--r-- 1 root root 32527 nov 11 16:37 StartUpText.bin
Las x es que son ejecutables, como veis en el StartUpText.bin no hay x. Si no las hubiera (que lo normal es que no las haya podéis hacer un:

chmod a+x -R *
dentro de la carpeta, y después un
chmod a-x -R StartUpText.bin

para quitar los permisos de ejecución globales a StartUpText.bin

Ahora vamos a /usr/local/share/lejos_nxj/build y ejecutamos:

ant
Y listo, ya solo queda añadir los PATH. En el fichero /etc/profiles debéis añadir el nuevo PATH. Todo esto puede variar, pensar las cosas antes.
Veréis una cosa tal que así:

if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}"
else
PATH="/usr/local/bin:/usr/bin:/bin:${PATH}"

añadís
añadís las siguientes lineas:

PATH="/usr/local/share/lejos_nxj/bin"
NXJ_HOME="/usr/local/share/lejos_nxj"
LD_LIBRARY_PATH="/usr/local/share/lejos_nxj/bin"


quedando así:

if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}:/usr/local/share/lejos_nxj/bin"
else
PATH="/usr/local/bin:/usr/bin:/bin:${PATH}:/usr/local/share/lejos_nxj/bin"
NXJ_HOME="/usr/local/share/lejos_nxj"
LD_LIBRARY_PATH="/usr/local/share/lejos_nxj/bin"
fi

Y ya tenéis todo listo, para comprobar que funciona como un usuario normal deberías poder ver el comando nxjc.

Ahora vamos a añadir a Eclipse un plugin para poder usar esta nueva API.

La web de descarga es esta: http://lejos.sourceforge.net/tools/eclipse/ldt/

En mi caso tengo dos Eclipse instalados, ya que Gentoo permite tener instaladas una misma aplicación pero de diferentes versiones. (Tengo la 3.2 y la 3.4, ya que el editor Visual Editor solo funciona hasta la 3.2 y me gusta también estar a la ultima) Este plugin funciona en ambas versiones así que sea cual sea la tuya debería funcionar.

Copiamos el .zip a /usr/lib/eclipse-3.2 (el path puede variar)
Y lo descomprimimos con unzip. Y ya debería el situar las carpetas en su sitio.

Para comprobar que funciona abrir el eclipse y veréis una nueva pestaña que pone LeJos.

Espero que os sea útil :)

EDITO: Para los que les sirva hay un plugin para netbeans, aquí hay una manera de instalarlo: http://homepages.feis.herts.ac.uk/~comqdhb/lego/netbeans.php

lunes, 23 de febrero de 2009

Gentoo y Eclipe

Llevo un par de dias con Gentoo y estoy encantado, mucho me temo que Debian no volverá a este equipo, pero en otros si :D

No he tenido muchos problemas con Gentoo salvo con mi querido Eclipse.

Cuando iniciaba Eclipse 3.2 me aparecia una aviso:

JVM terminated. Exit code=127
/usr/bin/java
-jar /usr/lib/eclipse-3.2/startup.jar
-os linux
-ws gtk
-arch x86
-launcher /usr/lib/eclipse-3.2/eclipse
-name Eclipse
-showsplash 600
-exitdata ff002d
-vm /usr/bin/java
-vmargs
-jar /usr/lib/eclipse-3.2/startup.jar

Y tras esto se quedaba colgado y había que matarlo.

Lo primero que pensé fue: Xulrunner fijo.

Y si, es Xulrunner. Tras mucho buscar encontre dos soluciones en este blog: http://blog.ich-wars-nicht.ch

La primera que fue la que hice, consiste en remover xulrunner y y recompilar firefox sin este. La otra opcion es la de instalar un Eclipse mas moderno pero es de la rama inestable y no estoy yo muy acostumbrado a Gentoo todavia xD

En ese link viene ampliamente detallado lo que hay que hacer. Espero que le sea util a alguien, a mi me ha salvado.