diff options
author | irina <irinagomez@us.es> | 2017-02-13 11:02:26 +0000 |
---|---|---|
committer | irina <irinagomez@us.es> | 2017-02-13 11:02:26 +0000 |
commit | 6963f4203933d6ec0303beea1ddb0f9ef0bb5c89 (patch) | |
tree | df7763c98fbdeb8af52cb51f28d18274e45ad2b5 /client | |
parent | b94293057025cc701871809077e749a9fdced7fb (diff) |
#773 Se corrige bootOs para que llame al script bootOsCustom.template. bootOsCustom.template: El código personalizado se muestra comentado y con una descripción de lo que hace.
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5189 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'client')
-rwxr-xr-x | client/shared/scripts/bootOs | 27 | ||||
-rwxr-xr-x | client/shared/scripts/bootOsCustom.template | 52 |
2 files changed, 48 insertions, 31 deletions
diff --git a/client/shared/scripts/bootOs b/client/shared/scripts/bootOs index 103e7302..322f9b9c 100755 --- a/client/shared/scripts/bootOs +++ b/client/shared/scripts/bootOs @@ -1,5 +1,5 @@ #!/bin/bash -# Scirpt de ejemplo para arancar un sistema operativo instalado. +# Script de ejemplo para arancar un sistema operativo instalado. # (puede usarse como base para el programa de arranque usado por OpenGNSys Admin). PROG="$(basename $0)" @@ -10,7 +10,7 @@ fi # Comprobar errores. PART=$(ogDiskToDev "$1" "$2") || exit $? -ogMount $1 $2 || exit $? +ogMount $1 $2 &>/dev/null || exit $? echo "[0] Inicio del proceso de arranque." NAME="$(ogGetHostname)" @@ -24,11 +24,6 @@ if [ "$OSTYPE" == "Windows" ]; then rm -f /mnt/*/ogboot.* fi -echo "[10] Desmontar todos los sistemas de archivos." -sync -for (( i=1; i <= $(ogDiskToDev | wc -w); i++ )); do - ogUnmountAll $i &>/dev/null -done case "$OSTYPE" in Windows) echo "[30] Mostrar y activar particion de Windows $PART." @@ -40,15 +35,25 @@ case "$OSTYPE" in [ -d "$ETC" ] && echo "$NAME" >$ETC/hostname 2>/dev/null if [ -f "$ETC/fstab" ]; then # Sustituir UUID o LABEL por su dispositivo en definición de sistema de archivo raíz. - echo "[50] Actaualizar fstab con particion raiz \"$PART\"." + echo "[50] Actualizar fstab con particion raiz \"$PART\"." awk -v P="$PART " '{ if ($2=="/" && $1!~/^#/) {sub(/^.*$/, P, $1)} print }' $ETC/fstab >/tmp/fstab mv /tmp/fstab $ETC/fstab fi ;; esac -echo "[70] Desmontar cache local." + +if which bootOsCustom &>/dev/null; then + echo "[60] Configuración personalizada del inicio." + bootOsCustom $@ +fi + +echo "[70] Desmontar todos los sistemas de archivos." +sync +for (( i=1; i <= $(ogDiskToDev | wc -w); i++ )); do + ogUnmountAll $i &>/dev/null +done +echo "[80] Desmontar cache local." ogUnmountCache echo "[90] Arrancar sistema operativo." -#ogBoot "$@" - +ogBoot "$@" diff --git a/client/shared/scripts/bootOsCustom.template b/client/shared/scripts/bootOsCustom.template index b60762e7..5fe17221 100755 --- a/client/shared/scripts/bootOsCustom.template +++ b/client/shared/scripts/bootOsCustom.template @@ -5,39 +5,51 @@ #@param $1 nº de disco #@param $2 nº de partición #@warning Renombrar este fichero como "bootOsCustom" para personalizar el script estándar "bootOs". +#@note La partición a inicializar debe estar montada #**/ # CONFIGURAR: Partición de datos de Windows que no queremos ocultar PARTDATA=0 PROG="$(basename $0)" +# Control de errores if [ $# -lt 2 ]; then ogRaiseError $OG_ERR_FORMAT "Formato: $PROG ndisco nparticion" exit $? fi -MNTDIR=$(ogMount $1 $2) -OSTYPE=$(ogGetOsType $1 $2) +# Parámetros obligatorios. +DISK="$1" # Nº de disco. +PART="$2" # Nº de partición. + +# Paso 0: Añadir código para realizar control de errores de los parámetros de entrada (recomendado). + +# Paso 1: Adaptar el código de ejemplo para postconfiguración personalizada. +# Nota: el script "bootOs" llama al script "bootOsCustom" después de realizar la operaciones de inicio estándar y antes de desmontar las particiones e iniciar el sistema operativo. + + +MNTDIR=$(ogMount $DISK $PART) +OSTYPE=$(ogGetOsType $DISK $PART) case "$OSTYPE" in Windows) - # Mostrar las particiones NTFS de sistema y datos y ocultamos las demás. - echo "[65] Activar particion de Windows $PART y ocultar las demás." - for (( i=1; i<=$(ogGetPartitionsNumber $1); i++ )); do - if [ $i == $2 -o $i == $PARTDATA ]; then - [ $(ogGetPartitionType $1 $2) == "HNTFS" ] && ogUnhidePartition $1 $2 - # Activo la particion si no es de datos - [ $i -ne $PARTDATA ] && ogSetPartitionActive $1 $i - else - [ "$(ogGetPartitionType $1 $i)" == NTFS ] && ogHidePartition $1 $i - fi - done + ## Mostrar las particiones NTFS de sistema y datos y ocultamos las demás. + #echo "[65] Activar particion de Windows $PART y ocultar las demás." + #for (( i=1; i<=$(ogGetPartitionsNumber $DISK); i++ )); do + # if [ $i == $PART -o $i == $PARTDATA ]; then + # [ $(ogGetPartitionType $DISK $PART) == "HNTFS" ] && ogUnhidePartition $1 $PART + # # Activo la particion si no es de datos + # [ $i -ne $PARTDATA ] && ogSetPartitionActive $DISK $i + # else + # [ "$(ogGetPartitionType $DISK $i)" == NTFS ] && ogHidePartition $DISK $i + # fi + #done ;; Linux) - # Cambiar claves usuarios, copiando fichero /etc/passwd - # En el servidor el nuevo fichero debe situarse en el directorio del grupo: - # /opt/opengnsys/images/groups/nombre_aula - if [ -r $(ogGetGroupDir)/passwd ]; then - echo "[65] Cambiar claves de usuarios." - cp $(ogGetGroupDir)/passwd $MNTDIR/etc - fi + ## Cambiar claves usuarios, copiando fichero /etc/passwd + ## En el servidor el nuevo fichero debe situarse en el directorio del grupo: + ## /opt/opengnsys/images/groups/nombre_aula + #if [ -r $(ogGetGroupDir)/passwd ]; then + # echo "[65] Cambiar claves de usuarios." + # cp $(ogGetGroupDir)/passwd $MNTDIR/etc + #fi ;; esac |