Instalación de soporte maemo en clientes Linux

De WikiEtl
Saltar a: navegación, buscar

El soporte para la realización de las prácticas con mamemo-sdk en los clientes Linux de aulas se basa en lanzar una máquina virtual con todo el entorno preconfigurado.

Para lanzar la máquina virtual se utiliza virtualbox 3.1.8:

dit185:~/.VirtualBox/maemo_teleco/Snapshots> dpkg -l virtualbox-3.1
...
ii  virtualbox-3.1                3.1.8-61349~Debian~lenny      Sun VirtualBox


Soporte de Red

Con el fin de comunicar los terminales con las máquinas virtuales y el entorno de desarrollo se utilizará el interfaz Wi-Fi.

El interfaz Wi-Fi se utilizara en modo clientes, en donde se lancen las máquinas virtuales. Se habilitara un puesto sobre el que correra el servicio de dhcp y realice funciones de routing a este puesto se le conectará previamente un punto de acceso wifi (LinkSys) ya preconfigurado. Alternativamente este puesto se pude lanzar en modo punto de acceso máquina.

Desplegar punto de acceso

En la máquina que se escoja para lanzar el servicio de dhcp y realizar el enrutamiento hacia internet se tendrá que enchufar el punto de acceso LinkSys previamente configurado. Este punto de acceso solo dará soporte Wi-Fi y tendrá la dirección IP 192.168.1.2. El punto de acceso se conectara vía cable Ethernet a la tarjeta de prácticas del PC y una vez enchufado no hay que configurar nada más sobre él.

Para habilitar el servicio de dhcp y de enrutamiento se lanzara el script /usr/dist/maemo/dhcp/iwconfig.sh, con la opción ro. Ej.:

-su-3.2$ sudo /usr/dist/maemo/dhcp/iwconfig.sh start ro

El interfaz utilizado para conectar el PC con el punto de acceso Lynsys será el eth1 (interfaz de prácticas) que tendrá dirección 192.168.1.1. El eth0, con la IP pública del PC, seguirá siendo el interfaz de salida a Internet.


lanzar interfaz en modo punto de acceso

Como configuración alternatica, aunque menos fiable se puede habilitar el propio interfaz Wi-Fi del Pc como punto de acceso. Para lo cual se utilizar el script iwconfig con las opcion ap. Ej.:

-su-3.2$ sudo /usr/dist/maemo/dhcp/iwconfig.sh start ap
-su-3.2$ sudo ifconfig 
ath0      Link encap:Ethernet  HWaddr 06:14:6c:89:47:13  
         inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:0 (0.0 B)  TX bytes:3123 (3.0 KiB)
wifi0     Link encap:UNSPEC  HWaddr 00-14-6C-89-47-13-00-00-00-00-00-00-00-00-00-00  
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:58158 errors:0 dropped:0 overruns:0 frame:2229
         TX packets:525 errors:18 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:280 
         RX bytes:9640261 (9.1 MiB)  TX bytes:28907 (28.2 KiB)
         Interrupt:16 
El script leventa el interfaz Wi-Fi en modo punto de acceso, habilita el NAT entre la red privada del interfaz Fi-Wi e
internet y levanta un servidor dhcp con la configuración del fichero /usr/dist/maemo/dhcp/dhcpmaemo.conf.
Por defecto el AP se habilita en el canal 11, pero opcionalmente se puede dar una tercer parámetro indicando un 
canal alternativo. (Ej.: /usr/dist/maemo/dhcp/iwconfig.sh start ap 7).

Lanzar interfaz en modo cliente

Con el fin de tener conectividad Wi-Fi desde la máquina virtual con los terminales se ha de levantar el interfaz Wifi en el sistema anfitrión. La levantar el interfaz se ha habilitado el script /usr/local/bin/iwconfig.sh. Ej.:

 dit185:~> sudo /usr/local/bin/iwconfig.sh start 
 dit185:~> /sbin/ifconfig
 ath0      Link encap:Ethernet  HWaddr 00:14:6c:2c:6b:c8  
           inet6 addr: fe80::214:6cff:fe2c:6bc8/64 Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0 
           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
 ...
 wifi0     Link encap:UNSPEC  HWaddr 00-14-6C-2C-6B-C8-00-00-00-00-00-00-00-00-00-00  
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:228843 errors:0 dropped:0 overruns:0 frame:7841
           TX packets:1337 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:280 
           RX bytes:26024395 (24.8 MiB)  TX bytes:61562 (60.1 KiB)
           Interrupt:20 
 

Al interfaz no se le asigna dirección IP en principio, se generara un puente desde la máquina virtual y dentro de esta, sera donde se le asigne una IP. El como configurar virtualbox y lanzar la maquina virtual se indica acontinuación.

Asignación de IPs por DHCP

La asignación de IPs se realiza mediante un demnio de DHCP.

subnet 192.168.1.0 netmask 255.255.255.0 {
       range 192.168.1.10 192.168.1.99;
       range 192.168.1.146 192.168.1.254;
       default-lease-time 3600;
       option subnet-mask 255.255.255.0;
       option broadcast-address 192.168.1.255;
       option routers 192.168.1.1;
       option domain-name-servers 163.117.139.31, 163.117.144.129, 163.117.168.100 ;
       #option domain-name "isc.org";
 }

Los interfaces Wi-Fi de las máquinas anfitrionas no tienen asignada ninguna IP. Las máquinas virtuales timarán valores entre los rangos .10 al .99 y .146 al .254.

La dirección del del interfaz Wi-Fi de la máquina que haga de Punto de Acceso sera la 192.168.1.1 asignada de forma estática.

Las direcciones de los dispositivos maemo (N810) se asignarán de forma fija por MAC. Se tomarán los dos ultimos dígitos del número de inventario del dispositivo (1880xy) y se utilizaran como los dós ultimos dígitos de la direccion IP asignada siendo el prefito el 192.168.1.1xy. Si el número de inventario es 188000 la dirección asignada sera la .100, si es 188001 la dirección sera la .101.

host maemo188000 {
       hardware ethernet 00:1D:6E:9C:07:74;
       fixed-address 192.168.1.100;
 }
host maemo188001 {
       hardware ethernet 00:1D:6E:9C:07:75;
       fixed-address 192.168.1.101;
 }
...
host maemo188045 {
       hardware ethernet 00:1D:6E:9C:07:A1;
       fixed-address 192.168.1.145;
 }

Configurar y ejecutar virtualbox

Las imagenes se exportan por nfs desde ditserv1.lab.it.uc3m.es y se montan en modo solo lectura en /usr/dist/imagenes. La imagen con la instalacion de maemo seria TELECO_ES.vdi:

-bash-3.2$ ls -la /usr/imagenes/TELECO*
-rw-r--r-- 1 root root 8787108352 sep  2 11:19 /usr/dist/imagenes/TELECO_EN.vdi
-rw-r--r-- 1 root root 8624579072 sep  2 12:24 /usr/dist/imagenes/TELECO_ES.vdi

Para lanzar el interfaz de gestión de virtualbox desde GNOME: Aplicaciones->Herramientas del sistema->Sun VirtualBox.

Para lanzar virtualbox desde KDE: Menú K->Sistema->Sun VirtualBox - Virtual Machine.

NOTA: Si al intentar lanzar el interfaz de gestión el sistema se queja de un fallo relacionado con el módulo vboxdrv, comprobar que el moludo esta cargado correctamente:

-bash-3.2$ lsmod | grep vboxdrv
vboxdrv               104264  0 

Si no estubiera cargado probar a cargarlo ejecutando /etc/init.d/vboxdrv start. Si el modulo no existiese o generase algun error de incompatibilidad habria que probar a recompilarlo ejecuntando /etc/init.d/vboxdrv setup.

La primera vez que se ejecute habra que aceptar la licencia de VirtualBox. No es necesario registrarse en la pantalla siguiente, se puede cancelar.

A continuación tiene que aparecer el interfaz grafico de administración:

Virtualbox1.jpg

A continuación seguir los siguientes pasos para crear la máquina virtual:

1- Hacer click sobre el icono etiquetado con Nueva para lanzar el asistente de creacion de máquinas virtuales:

Virtualbox2.jpg

2- Nombre de la máquina virtual (Ej.: maemo), sistema operativo Linux versión Ubuntu:

Virtualbox3.jpg

3- Seleccionar cantidad de memoria base (Ej.: 1024MB):

Virtualbox4.jpg

3- Definir el disco virtual sobre el que se trabajara. Para definirlo, utilizaremos el fichero TELECO_ES.vdi, para ello seleccionar la opción Usar un Disco Duro existente y al no haber medios predefinidos aremos click sobre el icono carpeta de la derecha para iniciar el proceso de un nuevo medio:

Virtualbox5.jpg

4- Dentro de la pantalla Manejador de Medios Virtuales, hacer click sobre el icono agregar y abrir el archivo /usr/dist/imagenes/TELECO_ES.vdi como imagen de disco rigido. Por último seleccionar el disco TELECO_ES.vdi para volver a la pantalla de selección del disco duro virtual:

Virtualbox6.jpg

Hacer click sonbre el boton Siguiente:

Virtualbox7.jpg

5- En la siguiente pantalla con hacer click sobre el boton Terminar, se habra finalizado el proceso de creación de la máquina virtual. Sobre la base de esta imagen vamos sacar una instantanea que se almacenará en la cuenta local del usuario (). Para ello, teniendo seleccionado el perfil de la máquina virtual que acabamos de definir, seleccionamos la pestaña Instantánea. Despues hacemos click sobre el icono que representa una cámara fotográfica y le asignamos un nombre a la instantánea (Ej.: mi_maemo). La instantánea se almacenara en el subdirectorio .VirtualBox/Machines/maemo/Snapshots de la cuenta del usuario y registrara todos los cambios que se realicen respecto a la imagen base con lo que es previsible que crezca:

Virtualbox8.jpg


dit185:~/.VirtualBox/Machines/maemo/Snapshots> ls -la 
total 56
drwxr-xr-x 2 0027381 27381  3864 jul 16 17:02 .
drwxr-xr-x 3 0027381 27381  3864 jul 16 17:02 ..
-rw------- 1 0027381 27381 41472 jul 16 17:02 {31484884-720b-452c-8692-45caf6a7f741}.vdi

6- Antes de lanzar nuestra máquina virtual vamos a configurar el interfaz de red para que enlace con la tarjeta Wi-fi del equipo anfitrión. Para ello hacemos click sobre el icono Configuración (representado por una rueda dentada). Dentro de la pantalla de configuración selecionamos el apartado Red. A la dercha apareceran las opciones de configuración de los adaptadores de red. Para el Adpatador 1 seleccionamos la opción Adaptador Puente (Bridge) del parámetro Attached to: y en Name: seleccionamos el interfaz ath0. Para terminar hacemos click sobre el botón Aceptar:

Virtualbox9.jpg

Acceso a dispositivos USB

7- Como requisito complementario habilitaremos el acceso a dispositivos USB. Antes de todo, el usuario tiene que estar habilitado como miembro del grupo vboxusers, para la cual ejecutaremos el siguiente comando enablevbuser.sh como suduers:

doc021:~> sudo /usr/dist/maemo/enablevbuser.sh 0082417
Añadiendo al usuario `0082417' al grupo `vboxusers' ...
Añadiendo al usuario 0082417 al grupo vboxusers
Hecho.

Despues tendremos que reiniciar el sistema.

Una vez reiniciado el sistema y arrancado el interfaz de configuracion de nuestra máquina virtual, hacemos clic en el menú Máquina > Configuración…. De la lista que nos aparece en la izquierda, hacemos clic en USB. Y nos aseguramos que tenemos activos tanto Habilitar el controlador USB como Enable USB 2.0 (EHCI) Controller.

Vboxusb1.jpg

8- Para agregar un dispositivo, hacemos clic sobre el icono del USB con un circulo azul (está a la derecha). Esto habilitará un filtro para todos los dispositivos USB que conectemos al sistema. En el ejemplo vamos a añadir una memoria USB Kingston DataTraveler. Vemos que se ha añadido un nuevo filtro al listado de filtros de dispositivos USB. Esto implica que la próxima vez que arranquemos esa máquina virtual tendremos acceso a nuestra USB.¡Ojo! La máquina virtual se hace dueña absoluta del USB por lo que mientras se esté ejecutando no podremos acceder desde el sistema real a dicho dispositivo. Para terminar hacemos click sobre el botón Aceptar.

Vboxusb2.jpg

9- Para finalizar. Para habilitar el dispositivo USB desde la máquia virtual acceder a la lista de dispositivos USB accesibles a través del menu Dispositivos->Dispositivos USB. Hacer click sobre el que queramos montar y ya estará accesible desde la máquina virtual. Se puede acceder tambien a la lista haciendo click con el boton derecho sobre el icono usb situado en la barra inferior derecha.

Vboxusb3.jpg

Carpetas compartidas

Los pasos a seguir para la configuración de una carpeta compartida son los siguientes:

Creamos o escogemos un directorio del ordenador que queramos usar como anfitrión para la máquina virtual. En este directorio será donde montaremos la carpeta compartida.

para crear un nuevo directorio haremos lo siguiente:

$ sudo mkdir nombre_del_directorio
$ sudo mkdir /mis_docs/share

A continuación, dentro de la máquina virtual en el [menú dispositivos], entraremos en [carpetas compartidas]. Vamos a configurar nuestra carpeta compartida dentro de la máquina virtual. Se nos habrá abierto una ventana como la siguiente:

hemos nombrado a nuestra carpeta "myfiles"


Pincharemos en el icono de una carpeta con un símbolo'+' en verde para agregar la carpeta que queremos compartir. En la ventana que nos aparecerá tendremos que indicar su ruta en el dispositivo anfitrión << /mis_docs/share >> y el nombre que le daremos "myfiles".

Finalmente para montar la carpeta (dentro de la máquina virtual) desde un terminal ponemos:

$ sudo mount -t vboxsf nombre_carpeta punto_de_montaje_enVBox
$ sudo mount -t vboxsf myfiles /mnt

Nota: Se nos pedirá la contraseña del usuario root de la máquina virtual.


Flashear

flasher-3.0 -F RXxxxx -f -R

Probar eclipse

Ahí va, http://www.it.uc3m.es/labas/DataStructuresPointer/Lab_2/previous_es.html   https://flautin.it.uc3m.es/subcollaboration/as/Group_Reference en la url que te indica, donde pone ??, pon "Reference".

Enlaces Externos

--Goyo 09:00 9 sep 2009 (UTC)