Vale, pues empieza lo duro…
Comenzamos logeándonos como root en nuestra consola de ubuntu
(evidentemente en el host)
$ sudo su
Tecleamos nuestra contraseña de root.
Ahora que estamos logeados hemos de obtener la llave pública de Mario Izquierdo, el desarrollador de la Herramienta.Tecleamos:
# wget http://www.tcosproject.org/mariodebian-pub.key
Añadimos la llave al APT
# apt-key add mariodebian-pub.key
Ahora hemos de añadir el repositorio a nuestro sources.list. Para ello tecleamos:
# nano /etc/apt/sources.list
Vamos hasta la última linea y añadimos esto
# deb http://www.tcosproject.org/ hardy main
(Esto es en el caso de que lo estemos haciendo con un Ubuntu 8.04. Si nuestra distribución es distinta debemos asegurarnos de que existen repositorios para ella. Para esto debemos visitar http://www.tcosproject.org/packages.html)
Cerramos nano y actualizamos nuestra lista de paquetes con
# apt-get update
Instalamos Tcos y su conjunto de herramientas con
# apt-get install tcos
Nos vamos al raiz de nuestro sistema y tecleamos
# ls /
Comprobamos si existe un directorio llamado /tftpboot. Si no existe tecleamos
# mkdir /tftpboot
Ahora reconfiguramos la instalación con
# dpkg-reconfigure initramfs-tools-tcos
* En el caso de que no estemos utilizando Ubuntu ahora habría otro paso mas. Tendríamos que instalar los módulos unionfs y squashfs.
Para hacerlo tecleamos
# apt-get install tcos-extra-modules-versión_del_kernel
A continuación instalamos la herrmienta Tcos Config para poder configurar y crear las imágenes de Kernel que serán compartidas en la red y creadas en los terminales. Para ello tecleamos
# apt-get install tcosconfig
CONFIGURACION DEL ADMINISTRADOR DE VENTANAS CONFIGURACION GDM
En el caso de que nuestro administrador de ventanas vaya a ser GNOME es necesario configurar el Gnome Display Manager, el administrador de login que usa GNOME. Para configurarlo editamos el archivo /etc/gdm/gdm.conf y editamos las siguentes etiquetas
# nano /etc/gdm/gdm.conf
una vez dentro editamos
[daemon]
TimedLoginEnable=true
TimedLogin=/usr/sbin/tcos-gdm-autologin|
TimedLoginDelay=10
[security]
AllowRemoteAutoLogin=true
DisallowTCP=false
[xdmcp]
Enable=true
Ahora reiniciamos el servicio GDM
#/etc/init.d/gdm restart
* Si bien Tcos admite la configuración para KDE3 y KDE4, nosotros aún no hemos podido probarlo. En cuanto lo hagamos lo añadiremos en su apartado correspondiente.
CONFIGURACIÓN DHCP
El servicio DHCP permite que los terminales reciban su configuración de red automáticamente. Así evitamos la configuración manual de cada uno de ellos. Hemos optado por esta opción puesto que nos parece la mas sencilla y resultará óptima para la mayoría de los proyectos en los que se utilice Tcos. Si nuestro host tiene mas de una tarjeta de red hemos de especificar a cual de ellas serán dirigidas las peticiones DHCP de los terminales. Para ello, editamos el archivo dhcp3-server.
#nano /etc/default/dhcp3-server
Una vez dentro especificamos la interfaz de red que va a ser utilizada para nuestros fines en la linea INTERFACES, por ejemplo:
#INTERFACES=”eth0″
o
#INTERFACES=”eth1″
Ahora hemos de configuar el servidor DHCP. Esta configuración puede ser hecha para ofrecer IPs dinámicas o estáticas Como ya comentamos antes, nos hemos decantado por las dinámicas. Para configurarlo tecleamos
# nano /etc/dhcp3/dhcpd.conf
Ahora os mostramos un ejemplo de configuración (podeis copiarlo y pegarlo sustituyendo los valores en negrita por los de vuestra propia red).
allow booting;
allow bootp;
ddns-update-style none;
default-lease-time 21600;
max-lease-time 21600;
# parametros por defecto
option subnet-mask 255.255.255.0;
#mascara de red de nuestra red
option broadcast-address 192.168.0.255;
#direccion de broadcast de nuestra red
option routers 192.168.0.1;
#dirección de nuestra puerta de enlace
option domain-name-servers 192.168.0.1;
#servidor de dominio que tengamos, o dns, ya sea local o publica
option domain-name “tcos-domain.org“;
option option-128 code 128 = string;
option option-129 code 129 = text;
#option root-path “192.168.0.1:/tftpboot“;
get-lease-hostnames true;
#Proporcionar nombres de hosts a los terminales
#next-server 192.168.0.1;
#shared-network THINCLIENTS {
#Esto podemos comentarlo
subnet 192.168.0.0 netmask 255.255.255.0 {
#subred a la que pertenecen los hosts a los que queremos dar ips por dhcp
#rango de ips donde queremos
range dynamic-bootp 192.168.0.2 192.168.0.254;
if substring (option vendor-class-identifier, 0, 9) = “PXEClient” {
#abajo se define la ruta relativa a pxelinux.0 (se obvia tftpboot)
filename “/tcos/pxelinux.0“;
}
else{
#Aquí hemos de poner nuestro Kernel
filename “/tftpboot/tcos/vmlinuz-2.6.24-19-generic“;
}
}
}
Reiniciamos el servicio con
# /etc/init.d/dhcp3-server restart
Un ejemplo de configuración válida es este:
/etc/dhcp3/dhcpd.conf
# dhcpd.conf
# from: http://www.ubuntu-es.org/node/20079
ddns-update-style ad-hoc;
option subnet-mask 255.255.255.0;
option broadcast-address 10.100.10.255;
option routers 10.100.10.1;
option domain-name-servers 208.67.222.222;
#option domain-name “tcos-domain.org“;
option option-128 code 128 = string;
option option-129 code 129 = text;
get-lease-hostnames true;
# REPLACE WITH YOUR SERVER IP (192.168.0.3 is an example)
#next-server 192.168.0.3;
#option root-path “192.168.0.3:/var/lib/tcos”;
shared-network WORKSTATIONS {
subnet 10.100.10.0 netmask 255.255.255.0 {
range dynamic-bootp 10.100.10.200 10.100.10.250;
filename “/tcos/pxelinux.0″;
# All thin clients boot from PXE (floppy or NIC BIOS)
# (we can add static addresses here too)
#host host01 {
# hardware ethernet 00:E0:06:E8:00:84;
# fixed-address 192.168.0.101;
#}
}
}
CONFIGURACIÓN ATFTPD
Ahora comprobamos la configuración tftp con:
# cat /etc/default/atftpd
Nos tiene que salir (si hemos seguido los pasos) EXACTAMENTE esto:
# USE_INETD=true
OPTIONS=”–daemon –port 69 –tftpd-timeout 300 –retry-timeout 5 –mcast-port 1758 –mcast-addr 239.239.239.0-255 –mcast-ttl 1 –maxthread 100 –verbose=5 /tftpboot”
Esto se queda por defecto, para probar el correcto funcionamiento del servidor tftp podemos hacer lo siguiente:
# touch /tftpboot/prueba
# tftp localhost
# get prueba
# quit
# ls -la
si no nos ha dado error de timeout o de que no encuentra el archivo, el servidor tftp esta funcionando correctamente, tambien podemos ver que está ocurriendo en todo momento con el siguiente comando:
# cat /var/log/syslog
Con este comando vemos los eventos del servidor, por ejemplo, si falla es una buena manera de saber por qué.
RESOLUCION DE NOMBRES DE LOS TERMINALES
Los terminales de nuestra Red deben tener las direcciones IPs asociadas a los respectivos nombres. El motivo es sencillo, poder controlarlos posteriormente con el tcos-monitor, que es una herramienta muy potente de control de los terminales, a todos los niveles como luego veremos. Para ello, debemos editar el archivo /etc/hosts:
# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntupxe
10.100.10.250 vmware
10.100.10.245 vmware2
10.100.10.244 vmware3
10.100.10.242 vmware4
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
En este caso hemos añadido 4 maquinas al archivo. Cuando la maquina arranque el servidor dhcp le otorgará una ip y gracias a este archivo le proporcionará un nombre de host. Si no llevamos a cabo este paso, los clientes no arrancarán y únicamente llegaremos a ver una consola (busybox).
Ya hemos configurado completamente el entorno.
Ahora solo nos queda crear la imagen con Tcos.
Ir a Proyecto Tcos 4/5 (creación de imagen del Kernel)–>
<–Ir a Proyecto 2/5 (Preparación del entorno)