blob: 06046526aead0b04250c64d7882f9234ba64e125 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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" -o $(ogGetPartitionType $DISK $PART) == "WIN-RESERV" ] && ogUnhidePartition $1 $PART
# # Activo la particion si no es de datos
# [ $i -ne $PARTDATA ] && ogSetPartitionActive $DISK $i
# else
# [ "$(ogGetPartitionType $DISK $i)" == NTFS -o "$(ogGetPartitionType $DISK $i)" == "WINDOWS" ] && 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
|