summaryrefslogtreecommitdiffstats
path: root/client/shared/scripts/bootOsCustom.template
diff options
context:
space:
mode:
Diffstat (limited to 'client/shared/scripts/bootOsCustom.template')
-rwxr-xr-xclient/shared/scripts/bootOsCustom.template83
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