diff options
Diffstat (limited to 'client/shared/scripts/bootOsCustom.template')
-rwxr-xr-x | client/shared/scripts/bootOsCustom.template | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/client/shared/scripts/bootOsCustom.template b/client/shared/scripts/bootOsCustom.template new file mode 100755 index 00000000..b457fde4 --- /dev/null +++ b/client/shared/scripts/bootOsCustom.template @@ -0,0 +1,83 @@ +#!/bin/bash +#/** +# bootOsCustom +#@brief Plantilla para script de configuración personalizada de sistema operativo restaurado. +#@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 + +# 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) +NAME="$(ogGetHostname)" +NAME=${NAME:-"pc"} +OSTYPE=$(ogGetOsType $DISK $PART) + +case "$OSTYPE" in + Windows) + ## Borrar marcas de arrranque de todos los Windows instalados en el disco. + #echo "[30] Borrar marcas de arrranque de todos los Windows instalados en el disco." + #for (( i=1; i<=$(ogGetPartitionsNumber $1); i++ )); do + # [ "$(ogGetOsType $1 $i)" == "Windows" ] && ogMount $1 $i &>/dev/null + #done + #rm -f /mnt/*/ogboot.* + + ## Mostrar las particiones NTFS de sistema (dos opciones) + ## Opción 1: SIN ocultar las demás. + #echo "[40] Mostrar y activar particion de Windows $PART." + #[ $(ogGetPartitionType $1 $2) == "HNTFS" ] && ogUnhidePartition $1 $2 + + ## Opción 2: Ocultamos las demás. + #echo "[40] 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) + ## Modificar el nombre del equipo + #echo "[30] Asignar nombre Linux \"$NAME\"." + #ETC=$(ogGetPath $1 $2 /etc) + #[ -d "$ETC" ] && echo "$NAME" >$ETC/hostname 2>/dev/null + + ## Sustituir UUID o LABEL por su dispositivo en definición de sistema de archivo raíz. + #if [ -f "$ETC/fstab" ]; then + # echo "[40] 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 + + ## 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 |