viernes, 28 de mayo de 2010

Compilando el kernel de opensolaris 1a. parte

Al parecer todo va bien hasta ahora para compilar el kernel de opensolaris. Lleva 5 horas en un pentium 4 HT con 1.5 en RAM.

Me gustaría mostrar de manera rápida y resumida los pasos que seguí para poner a compilar el kernel.

1. Instalar opensolaris, pueden descargarlo de http://hub.opensolaris.org/bin/view/Main/downloads
la versión utilizada fue la última estable: http://dlc.sun.com/osol/opensolaris/2009/06/osol-0906-x86.iso

2.Luego de instalarlo se necesitan instalar unos paquetes, que pueden ser desde el repositorio.
* SUNWonbld
* SUNWgcc

Estos los pueden añadir directamente del administrador de paquetes. Necesitan estar conectados a Internet.

3. Mientras se instalan estos paquetes, también pueden poner a descargar el Sun Studio 12.
Para instalarlo pueden seguir las intrucciones de http://hub.opensolaris.org/bin/view/Community+Group+tools/sun_studio_12_tools


4. Preparamos el código fuente necesario, para esto recomiendo crear una carpeta, proyecto, por ejemplo:
mkdir proyecto
cd proyecto

Bajamos y descomprimimos aqui lo siguiente.

Hay que obtener el código fuente de ON, se utiliza la herramienta "mercurial" :

hg clone ssh://anon@hg.opensolaris.org/hg/onnv/onnv-gate

y los binarios que no son open source.
http://dlc.sun.com/osol/on/downloads/current/on-closed-bins-nd.i386.tar.bz2

5. Preparamos el ambiente, copiamos onnv-gate/usr/src/tools/env/opensolaris.sh onnv-gate.
Esta carpeta onnv-gate fue la que se creo cuando bajamos el código fuente de ON en el paso 4.
En la carpeta proyecto tambien descomprimimos on-closed...

Una vez copiado opensolaris.sh que nos servirá para definir todas las variables de ambiente, hay que modificar algunos parametros:

GATE al nombre de la carpeta donde esta el código fuente, por ejemplo onnv-gate
CODEMGR_WS a la ruta donde se encuentra esa carpeta, por ejemplo /export/home/hugo/proyecto
STAFFER a tu nombre de usuario
VERSION. para que aparezca tu nombre en el kernel :)

ejecutamos onbld opensolaris.sh

6. En la carpeta onnv-gate/usr/src/tools/ creamos la carpeta prod y la carpeta opt dentro de ella
luego hacemos una liga suave a la carpeta donde estan las herramientas onbld
ln -s /opt/onbld /export/home/hugo/proyecto/onnv-gate/usr/src/tools/prod/opt/onbld

también añadimos a la variable de ambiente la ruta del sun studio compiler y del onbld
export PATH=/opt/onbld/bin:/opt/onbld/bin/i386:/opt/SUNWpro/bin:$PATH

7. Nos cambiamos al directorio onnv-gate/usr/src/utm
y ejecutamos
dmake all

Si todo sale bien y no da errores en unas cuantas horas tendremos el kernel de opensolaris, luego veremos como instalarlo.

Feliz Compilada !!!!

p.d. pueden consultar http://hub.opensolaris.org/bin/view/Community+Group+on/install_quickstart como referencia.

jueves, 27 de mayo de 2010

El API de bit.ly

Bit.ly es un servicio para acortar direcciones de internet (url), de esta forma puedes poner la dirección en twitter en menos caracteres.

Otra ventaja es que puedes dar seguimiento de cuantas visitas ha tenido tu url acortada, siempre y cuando estes registrado. El registro es gratis.

Bit.ly ofrece un API REST, que mediante una petición y ciertos parámetros te devuelve la url corta, la url extendida, la información de la url ...

Entre el formato en que te da respuestas está el de texto plano, y el json, que en otra ocasión hablaré de él ya que es MUY interesante y muy facil de utilizar (al menos en python).

En esta liga pueden consultar la documentación de la API, en otro post les presentaré mi programa en python para utilizarla

http://code.google.com/p/bitly-api/wiki/ApiDocumentation

Creando kmz desde la info de twitter. (y iii)

Luego de bastante tiempo, seguimos con la entrada.

Solo tenemos que acoplar lo anterior, para meterlo todo a un archivo bash y que genere tu nuevo kmz.

Para generar la info, vamos a utilizar la herramienta awk, para poder utilizar el flujo obtenido en el post (i) y darle formato necesario explicado en el post (ii).

Les dejo el código completo :



#!/bin/bash
# Program to convert info from SismologicoMX to KML to place in google-earth

final='doc.kml'

echo '<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name> Ultimos sismos registrados </name>
<Style id="bajo">
<IconStyle>
<scale> 0.7 </scale>
<Icon>
<href>root://icons/palette-3.png</href>
<x>64</x>
<y>64</y>
<w>32</w>
<h>32</h>
</Icon>
</IconStyle>
<LabelStyle>
<scale>0.7</scale>
</LabelStyle>
</Style>
<Style id="alto">
<IconStyle>
<scale> 0.7 </scale>
<Icon>
<href>root://icons/palette-3.png</href>
<x>64</x>
<y>96</y>
<w>32</w>
<h>32</h>
</Icon>
</IconStyle>
<LabelStyle>
<scale>0.7</scale>
</LabelStyle>
</Style>
<Folder>
<name> Sismos de SismologicoMX via Twitter</name> ' > $final



lynx --source http://twitter.com/SismologicoMX | grep "entry-content" | \
sed 's/<[^>]*>//g' | awk ' {print \
" <Placemark> \
<name> ", $11, " </name> \n \
<description> " $0" </description>\n \
<LookAt> \n \
<longitude>",$8,"</longitude> \n \
<latitude>",$6,"</latitude> \n \
<altitude>-"$10" </altitude> \n \
<range>100</range> \n \
<tilt>0</tilt> \n \
<heading>0</heading> \n \
</LookAt> \n \
<styleUrl>#bajo</styleUrl> \n \
<Point> \n \
<coordinates>",$8","$6",-"$10"</coordinates> \n \
</Point> \n \
</Placemark> \n " \
}' >> $final


echo '
</Folder>
</Document>
</kml>
' >> $final

zip sismos-`date +%Y-%m-%d.%R`.kmz doc.kml

echo "archivo sismos.kmz generado"