[9f29ba6] | 1 | #!/bin/bash |
---|
| 2 | #/** |
---|
[a247fbd] | 3 | #@file loadenviron.sh |
---|
[89403cd] | 4 | #@brief Script de carga de la API de funciones de OpenGNSys. |
---|
[9f29ba6] | 5 | #@warning License: GNU GPLv3+ |
---|
[a247fbd] | 6 | #@version 0.9 |
---|
[9f57de01] | 7 | #@author Ramon Gomez, ETSII Universidad de Sevilla |
---|
[a247fbd] | 8 | #@date 2009-09-16 |
---|
[9f29ba6] | 9 | #*/ |
---|
[2e15649] | 10 | |
---|
[383fe4b] | 11 | # FIXME Temporal |
---|
[89403cd] | 12 | export LANG="${LANG:-es_ES}" |
---|
[383fe4b] | 13 | |
---|
[89403cd] | 14 | #/// Directorios del projecto OpenGNSys. |
---|
| 15 | export OPENGNSYS="${OPENGNSYS:-/opt/opengnsys}" |
---|
[9f57de01] | 16 | if [ -d $OPENGNSYS ]; then |
---|
[383fe4b] | 17 | export OGBIN=$OPENGNSYS/bin |
---|
| 18 | export OGETC=$OPENGNSYS/etc |
---|
| 19 | export OGLIB=$OPENGNSYS/lib |
---|
[5ceca9c] | 20 | export OGAPI=$OGLIB/engine/bin |
---|
[f8f4dfa] | 21 | export OGSCRIPTS=$OPENGNSYS/scripts |
---|
[383fe4b] | 22 | export OGIMG=$OPENGNSYS/images |
---|
| 23 | export OGCAC=$OPENGNSYS/cache |
---|
| 24 | export OGLOG=$OPENGNSYS/log |
---|
| 25 | |
---|
[f8f4dfa] | 26 | export PATH=$OGBIN:$OGAPI:$OGSCRIPTS:$PATH |
---|
[a247fbd] | 27 | export LD_LIBRARY_PATH=$OGLIB:$LD_LIBRARY_PATH |
---|
| 28 | |
---|
[8d651a7] | 29 | # Para tener /bin/bash y no haya problemas |
---|
[a79dd508] | 30 | ln -fs $OGBIN/bash /bin/bash |
---|
[8d651a7] | 31 | |
---|
[a79dd508] | 32 | # Obtener IP del servidor DHCP/NFS |
---|
| 33 | SERVERIP=$(awk '/dhcp-server-identifier/ {sub(/;/,""); dhcp=$3} |
---|
| 34 | END {print dhcp}' \ |
---|
| 35 | /var/lib/dhcp3/dhclient.leases) |
---|
[383fe4b] | 36 | |
---|
| 37 | export OGLOGFILE=$OGLOG/$OG_IP.log |
---|
| 38 | |
---|
| 39 | # FIXME Pruebas para grupos de ordenadores |
---|
| 40 | export OGGROUP=aula3 |
---|
| 41 | |
---|
| 42 | # Incluimos el modulo del raton |
---|
| 43 | insmod $OGLIB/modules/psmouse.ko |
---|
| 44 | |
---|
[5ceca9c] | 45 | # Crear directorio de bloqueos |
---|
[1d531f9] | 46 | mkdir -p /var/lock |
---|
[5ceca9c] | 47 | |
---|
[383fe4b] | 48 | # Montamos el resto de cosas necesarias |
---|
[f8f4dfa] | 49 | mount -t nfs -o nolock $SERVERIP:/opt/opengnsys/log/clients $OGLOG |
---|
| 50 | mount -t nfs -o nolock $SERVERIP:/opt/opengnsys/images $OGIMG |
---|
[120acca] | 51 | |
---|
[383fe4b] | 52 | |
---|
[1d531f9] | 53 | #/// Cargar API de funciones y fichero de idioma. |
---|
| 54 | for i in $OGAPI/*.lib; do |
---|
[5ceca9c] | 55 | source $i |
---|
| 56 | done |
---|
[d071d9b] | 57 | for i in $(typeset -F | cut -f3 -d" "); do |
---|
| 58 | export -f $i |
---|
| 59 | done |
---|
[1d531f9] | 60 | LANGFILE=$OGETC/lang.$LANG.conf |
---|
[d071d9b] | 61 | if [ -f $LANGFILE ]; then |
---|
| 62 | source $LANGFILE |
---|
| 63 | for i in $(grep "^[a-zA-Z].*=" $LANGFILE | cut -f1 -d=); do |
---|
| 64 | export $i |
---|
| 65 | done |
---|
| 66 | fi |
---|
[383fe4b] | 67 | |
---|
| 68 | # FIXME Necesario temporalmente |
---|
| 69 | mkdir -p /usr/local/Trolltech/QtEmbedded-4.5.1/lib/ |
---|
[3f49cf7] | 70 | ln -fs $OGLIB/fonts /usr/local/Trolltech/QtEmbedded-4.5.1/lib/fonts |
---|
[68149a4] | 71 | |
---|
| 72 | # FIXME Datos de dispositivos PCI en /etc |
---|
[3f49cf7] | 73 | ln -fs $OGLIB/pci.ids /etc |
---|
[3d0750f] | 74 | |
---|
| 75 | # Cargar paquetes udev |
---|
| 76 | for i in $OGLIB/udeb/*.udeb; do |
---|
| 77 | udpkg -i "$i" >/dev/null && echo "$(basename $i) $MSG_INSTALLED" |
---|
| 78 | done |
---|
[9f29ba6] | 79 | fi |
---|
| 80 | |
---|
| 81 | #/// Declaración de códigos de error. |
---|
[f8f4dfa] | 82 | export OG_ERR_FORMAT=1 # Formato de ejecución incorrecto. |
---|
[aae34f6] | 83 | export OG_ERR_NOTFOUND=2 # Fichero o dispositivo no encontrado. |
---|
[f8f4dfa] | 84 | export OG_ERR_PARTITION=3 # Error en partición de disco. |
---|
| 85 | export OG_ERR_LOCKED=4 # Partición o fichero bloqueado. |
---|
[715bedc] | 86 | export OG_ERR_IMAGE=5 # Error al crear o restaurar una imagen. |
---|
| 87 | export OG_ERR_NOTOS=6 # Sin sistema operativo. |
---|
[f8f4dfa] | 88 | export OG_ERR_NOTEXEC=7 # Programa o función no ejecutable. |
---|
[a247fbd] | 89 | |
---|
[1d531f9] | 90 | |
---|