Changes between Version 3 and Version 4 of EACBootAgentPXE


Ignore:
Timestamp:
Jul 1, 2009, 1:09:42 PM (15 years ago)
Author:
irina
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • EACBootAgentPXE

    v3 v4  
    4141
    4242= Como configurar el cliente para EAC =
    43 fstab
    44 rc.local
     43
     44== fstab ==
     45
     46La raíz del sistema de ficheros es un dispositivo nfs que montamos con permiso de sólo lectura. El sistema operativo necesita poder escribir en determinados directorios para funcionar.
     47
     48Montamos una serie de dipositivos ramdisk en los directorios que necesitemos escribir. Lo que escribamos en ellos se situará en la memoria, perdiéndose al apagar el sistema.
     49
     50{{{
     51# /etc/fstab: static file system information.
     52#
     53# <file system> <mount point>   <type>  <options>       <dump>  <pass>
     54proc            /proc           proc    defaults        0       0
     55/dev/nfs        /               nfs     defaults        1       1       
     56none            /root           tmpfs   defaults        0       0
     57none            /mnt            tmpfs   defaults        0       0
     58none            /tmp            tmpfs   defaults        0       0
     59none            /dev/shm        tmpfs   defaults        0       0
     60none            /var/run        tmpfs   defaults        0       0
     61none            /var/lock       tmpfs   defaults        0       0
     62none            /var/tmp        tmpfs   defaults        0       0
     63none            /var/log        tmpfs   defaults        0       0
     64none            /var/state      tmpfs   defaults        0       0
     65none            /var/lib/nfs    tmpfs   defaults        0       0
     66none            /var/lib/xkb    tmpfs   defaults        0       0
     67none            /var/EAC        tmpfs   defaults        0       0
     68}}}
     69
     70
     71== rc.local ==
     72
     73Copiamos el rc.local que trae la distribución de EAC.
     74
     75Explicamos un par de cosas:
     76
     77 * /etc/mtab -> como no tenemos permiso de lectura en /etc lo situamos en /var/tmp y hacemos enlace simbólico.
     78 * Montamos los directorios de las librerías, las imágenes y la información de los hosts por nfs (antes hemos creado los puntos de monjate)
     79 * Cargamos las librerías para tener disponible sus funciones: source ...
     80
     81{{{
     82#!/bin/bash
     83#
     84# rc.local
     85#
     86# This script is executed at the end of each multiuser runlevel.
     87# Make sure that the script will "exit 0" on success or any other
     88# value on error.
     89#
     90# In order to enable or disable this script just change the execution
     91# bits.
     92#
     93# By default this script does nothing.
     94
     95###exit 0
     96### personalizando el entorno etc
     97
     98export PATH=$PATH:/sbin/:/bin/:/opt/drbl/sbin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/var/EAC/admin/procedimientos
     99
     100ntpdate hora.alumnos.uma.es
     101
     102touch /var/tmp/mtab
     103if [ `find /etc/ -type l -name mtab | grep mtab` ]
     104then
     105        echo "personalizando mtab"
     106else
     107        rm /etc/mtab
     108        ln -s /var/tmp/mtab /etc/mtab
     109fi
     110cp /proc/mounts /var/tmp/mtab
     111
     112
     113touch /var/tmp/export
     114echo "##### export ####" > /var/tmp/exports
     115if [ `find /etc/ -type l -name exports | grep exports` ]
     116then
     117        echo "personalizando fichero exports"
     118else
     119        rm /etc/exports
     120        ln -s /var/tmp/export /etc/exports
     121fi
     122#iniciando el lighttpd ###############
     123mkdir -p /var/log/lighttpd
     124chmod -R 777 /var/log/
     125/etc/init.d/lighttpd start
     126
     127echo "personalizando la estructura EAC"
     128mkdir -p /var/EAC/admin 1>/dev/null 2>&1
     129mkdir -p /var/EAC/hdimages 1>/dev/null 2>&1
     130mkdir -p /var/EAC/hosts 1>/dev/null 2>&1
     131################################## CLIENTE PXE #######################
     132if `cat /proc/cmdline | grep nfs > /dev/null`
     133then
     134        IPservidor=$(cat /proc/cmdline | awk ' BEGIN { FS="nfsroot=" } ; {print $2}' | awk -F: '{print $1}')
     135        echo "iniciando EAC Boot Agent pxe-nfs"
     136        mount -t nfs ${IPservidor}:/var/EAC/hdimages /var/EAC/hdimages
     137        mount -t nfs ${IPservidor}:/var/EAC/admin /var/EAC/admin
     138        mount -t nfs ${IPservidor}:/var/EAC/hosts /var/EAC/hosts
     139else
     140        echo "iniciando EAC Boot Agent desde USB/CDROM/DVD"
     141        dhclient -1 || ifconfig eth0 192.168.1.1 netmask 255.255.255.0
     142fi
     143
     144echo "cargando las librerias especificas de EAC"       
     145        source /var/EAC/admin/librerias/Settings.lib
     146        source /var/EAC/admin/librerias/ATA.lib
     147        source /var/EAC/admin/librerias/FileSystem.lib
     148        source /var/EAC/admin/librerias/Deploy.lib
     149        source /var/EAC/admin/librerias/Boot.lib
     150        source /var/EAC/admin/librerias/PostConf.lib
     151        #
     152InfoHardware
     153
     154touch /var/tmp/hostname
     155if  [ `find /etc/ -type l -name hostname` ]
     156then
     157        echo "personalizando fichero hostname"
     158else
     159        rm /etc/hostname
     160        ln -s /var/tmp/hostname /etc/hostname
     161fi
     162
     163NameCompany > /var/tmp/namecompany
     164
     165
     166echo "buscando el equipo en el servidor EAC"
     167source /var/EAC/admin/librerias/Settings.lib
     168
     169 #cat /etc/hostname | wc -l
     170
     171#while `hostname`
     172#do
     173        /var/EAC/admin/procedimientos/EACclient IsHostRegistry
     174#done
     175
     176echo "`hostname`" >> /var/tmp/hostname
     177
     178
     179#hostname adi${IPcuatro}-xp
     180
     181touch /var/tmp/hosts
     182if  [ `find /etc/ -type l -name hosts | grep hosts` ]
     183then
     184        echo "personalizando hosts"
     185else
     186        rm /etc/hosts
     187        ln -s /var/tmp/hosts /etc/hosts
     188fi
     189echo "127.0.0.1 localhost" > /var/tmp/hosts
     190echo "127.0.0.1 `hostname`" >> /var/tmp/hosts
     191echo "`echo $IP` `hostname`" >> /var/tmp/hosts
     192
     193touch /var/EAC/hosts/${IP}-InfoHardware && chmod 777 /var/EAC/hosts/${IP}-InfoHardware
     194touch /var/EAC/hosts/${IP}-Log && chmod 777 /var/EAC/hosts/${IP}-Log
     195touch /var/EAC/hosts/${IP}-InfoCache && chmod 777 /var/EAC/hosts/${IP}-InfoCache
     196
     197SetDefaultBoot 11 $IP
     198
     199# Activamos modo Wake On Lan
     200ethtool -s eth0 wol g
     201
     202#cat /proc/cmdline | grep nfs > /dev/null &&
     203/var/EAC/admin/procedimientos/EACclient RunStartPage
     204
     205startpage=$(find /var/tmp/ -name *.sh) && echo $startpage && $startpage && rm $startpage
     206}}}
     207
     208== etc/network/interfaces ==
     209
     210Al iniciarse el equipo obtenemos una ip del dhcp, luego por pxe monto el sistema de ficheros nfs. Al arrancar el sistema operativo con la configuración normal va a volver a pedir la ip al dhcp, desconectandonos de la red y del servicio nfs, De forma que nos deja sin sistema de ficheros raíz. Para que funcione bien hemos de modificar el archivo de configuración de las tarjetas de red del cliente, quedando de la siguiente forma:
     211
     212{{{
     213# This file describes the network interfaces available on your system
     214# and how to activate them. For more information, see interfaces(5).
     215
     216# The loopback network interface
     217auto lo
     218iface lo inet loopback
     219
     220# The primary network interface
     221iface eth0 inet manual
     222}}}
     223
     224Nota: En el script de creación de cliente BuildEACOSBase se borra el fichero etc/udev/rules.d/70-persistent-net.rules. Hemos probado a dejarlo un no ha dado problema. Este fichero se encarga de que los nombres de las tarjetas de red sean persistentes al reiniciar el sistema
     225
     226