MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

Esta vivo, funciona !!!

Llevo todo el día pensando en las formas de hacer funcionar TCOS sobre wireless y así evaluar el rendimiento.... y por fin he conseguido arrancar un terminal ligero sobre wireless...

Ingredientes:
  • El ubuntu edgy de mi hermano (Pentium IV 3.2 GHz 1Gb RAM y tarjeta wireless con chip atheros ~ madwifi)
  • Kernel 2.6.17-10-generic (el que viene en ubuntu) + linux-restricted-modules (por el driver madwifi que no es libre del todo)
  • Copia del SVN de initramfs-tools-tcos (0.57-1svn200061227)
  • Router de YACOM wireless (3Com OfficeConnect blanco con 2 antenas, modo protegido de wireless: WPA TKIP)
  • Mi portatil con debian SID, servidores: DHCP TFTP y XMDCP activado en el GDM
Instalamos los paquetes de tcos en la ubuntu y configuramos /etc/tcos/tcos.conf cambiando estas variables:

TCOS_KERNEL="2.6.17-10-generic"
TCOS_WIRELESS_MODS="madwifi"
TCOS_WIRELESS_ENC="WPA"

El resto de la configuración se puede dejar como está. Lo que estamos haciendo es cambiar el kernel al que usa ubuntu, decirle qué drivers wireless vamos a usar (madwifi es un alias para cargar ath-pci, ath-hal y otro puñado de módulos) supongo que funcionará también con ipw2200, ipw2100 (tenemos que tener el firmware en /lib/firmware), con ndiswrapper lo voy a tener un pelin más crudo ya que el programa ndiswrapper está escrito en perl y no es mucho plan meter 20 megas de perl y sus módulos en el initramfs...

Una vez tenemos tcos configurado generamos la imagen de arranque:

# gentcos -tftp

Sino tenemos errores (si los tenemos habrá que instalar lo que nos pida) tendremos varios archivos por nuestro sistema, lo que hay que hacer ahora es generar otra entrada al final del menu.lst de grub con este aspecto:

# tcos
title TCOS, kernel 2.6.17-10-generic
root (hd0,0)
kernel /boot/vmlinuz-2.6.17-10-generic ramdisk_size=65536 root=/dev/ram0 quiet boot=tcos wifi=1 essid=MarioDebian server=192.168.0.3
initrd /tftpboot/tcos/initramfs-2.6.17-10-generic
boot


La diferencia entre una entrada de grub normal y esta es que el dispositivo root será /dev/ram0, hay que añadir un tamaño de ramdisk en Kbs (64Mb puede valer) y para que arranque por wireless añadir las siguientes variables:

wifi=1
Le dice al script que configura la red que queremos arrancar por wifi, por lo que se cargaran los módulos que hayamos indicado en TCOS_WIRELESS_MODS y se buscará un interfaz wireless en /sys/class/net/

essid=MarioDebian
Este es el nombre de la red wireless a la que nos conectaremos. En el servidor deberiamos tener un archivo en /etc/wpa_supplicant/*.conf con la clave de la red ya que vamos a usar una red protegida con WPA, si no encuentra ese archivo preguntará por la clave y lo generará cuando arranque.

server=192.168.0.3
Como el router wireless va a hacer de servidor DHCP tenemos que indicarle que nuestro servidor de verdad (el que tiene tftp y gdm) es otra máquina.

Con esto ya tenemos todo listo para hacer la prueba. Reiniciamos y seleccionamos la entrada de TCOS en grub. Si no hay problemas con la clave WPA en más o menos 1 minuto deberiamos estar en frente al gestor de entrada GDM.

Para dar soporte a wireless, simplemente he creado un nuevo hook-addon (extensión) llamada wireless , he tenido algun pequeño problema con las librerías a las que está enlazado wpa_supplicant pero lo he solucionado metiendolas en /lib en vez de /usr/lib (/usr se descarga más tarde y no es accesible cuando se necesita). También he tenido que modificar el script de arranque que configura la red ( 05network ) para poder configurar red por cable o wireless desde la línea de comando.

He hecho unas fotos con el móvil (no tienen mucha calidad pero se pueden leer los mensajes)






En esta se puede ver TcosMonitor funcionando con una sesión SSH al terminal donde vemos el interfaz ath0 (he emborronado la key y las MAC por si tengo algún vecino listo) de paso he probado el sonido (PulseAudio) y parece que funciona muy bien en ubuntu.



Si alguien quiere las imágenes para poder probar TCOS por wireless que me lo diga y las subo junto con un pequeño texto explicando como cambiar la clave WPA.

Articulos relacionados:

Comentarios

  1. Lluís Gras Perfecto !!!
    27/12/2006 | 20:25

    Acabo de probarlo con la revisión 125 del svn y va de lujo. Inicialmente no funcionaba porque no me habia dado cuenta del wifi=1 en la linea de comandos.

    De hecho acabo de encontrar un Conceptronic C54i que me parece que lleva un chipset Atheros y ya estoy buscando el destornillador para probarla.

    Felicidades !!!

  2. Marquitos Y ahora???
    27/12/2006 | 20:33

    Qué le vas a hacer ahora al TCOS??? Estás poniendo el nivel muy alto, como sigas así dentro de nada vas a engrosar la, ya extensa, lista de fuga de talentos de la UVA.

    Ahora la duda del ignorante; para que esto rule el terminal ligero tiene que tener instalado Ubuntu o puedes hacerlo sólo con el kernel y algún módulo????

    Ciao

  3. mariodebian Re: y ahora???
    27/12/2006 | 20:45

    Para que funcione basta una partición y/o disco duro de unos pocos megas (20Mb) con grub/syslinux instalado y dos archivos vmlinuz y el initramfs, ya si le metes una pequeña swap (100Mb) perfecto.

    El ubuntu me ha servido para crear la imagen y por si un día el pc de mi hermano no va, que no me quite la silla del portátil.

    Para mañana dejamos lo del clonado de equipos.

  4. 27/12/2006 | 20:51

    Da gusto contigo, eres super efectivo.

    Te he añadido en meneame que sé que te hace ilusión, aunque no esperes una portada tan rápido como con el manual de gimp.

  5. Lluis Gras Va a ser que si ;-)
    27/12/2006 | 21:57

    Pues con la C54i también funciona.

    Nucleo Debian 2.6.18-3-686 y con los módulos del madwifi generados con el module-assistant.

    El mismo initramfs funciona con ipw2200, madwifi y me falta por probar una aironet pcmcia, airo_cs que tambien entra en el pack.

    Felicidades Mario !!!

  6. miguelaoj problema con gentcos
    27/12/2006 | 22:31

    Hola, no viene al tema de este hilo pero estoy intentando instalar un servidor tcos para arrancar las terminales por nfs y me dá un error el gentcos:

    /usr/sbin/gentcos: 231: Syntax error: "(" unexpected

    ¿puedes pasarme una copia que funcione bien?, gracias

  7. mariodebian Re: Problema con gentcos
    27/12/2006 | 22:42

    Ese error ocurre en Ubuntu y es debido a que han reemplazado bash por el interprete más ligero (pero bastante menos potente) dash, para conseguir un arranque de "17 segundos".

    Tienes dos opciones:

    sudo dpkg-reconfigure -plow dash
    (y le dices que no)

    o editas /usr/sbin/gentcos y en la primera línea cambias:

    #!/bin/sh
    por
    #!/bin/bash

    En el SVN ya lo he solucionado, en la próxima versión de los paquetes ya no hará falta.

  8. maria y sheila dos tontos muy tontos
    23/01/2007 | 08:57

    somos 2xicas mu traviesas nos gustan muxos los hombres fuertes y valientes y bien mayorcitos.q no sean mu mayores tampoco¡¡¡jajajaja

Comentarios cerrados