blob: efd4c1fcdf1003390dbc149e104a65fa0a9be1de (
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
84
85
86
87
88
89
90
91
92
|
#!/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
#@version 1.1.1 Soporta varios discos
#@date 2019/08/26
#**/
# CONFIGURAR: Partición de datos de Windows que no queremos ocultar (valor por defecto '0' no oculta nada)
DISKDATA=0
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).
DEVICE=$(ogDiskToDev "$DISK" "$PART") || exit $?
# Paso 1: Adaptar el código de ejemplo para arranque personalizado.
# 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) || exit $?
NAME="$(ogGetHostname)"
NAME=${NAME:-"pc"}
OSTYPE=$(ogGetOsType $DISK $PART)
case "$OSTYPE" in
Windows)
## Mostrar las particiones NTFS de sistema (dos opciones)
## Opción 1: SIN ocultar las demás.
#ogEcho log session "[40] Mostrar y activar particion de Windows $PART."
#[ $(ogGetPartitionType $DISK $PART) == "HNTFS" -o $(ogGetPartitionType $DISK $PART) == "WIN-RESERV" ] && ogUnhidePartition $DISK $PART
## Recorremos los distintos discos
#for DEVICE in $(ogDiskToDev); do
# d=$(ogDevToDisk $DEVICE)
# ## Mostrar las particiones NTFS de sistema (dos opciones)
# ## Opción 2: Ocultamos las demás.
# ogEcho log session "[40] Activar particion de Windows $PART y ocultar las demás."
# for (( i=1; i<=$(ogGetPartitionsNumber $d); i++ )); do
# if [ $d == $DISK -a $i == $PART ] || [ $d == $DISKDATA -a $i == $PARTDATA ]; then
# [ $(ogGetPartitionType $d $i) == "HNTFS" -o $(ogGetPartitionType $d $i) == "WIN-RESERV" ] && ogUnhidePartition $d $i
# else
# [ "$(ogGetPartitionType $d $i)" == NTFS -o "$(ogGetPartitionType $d $i)" == "WINDOWS" ] && ogHidePartition $d $i
# fi
# done
# ## Borrar marcas de arrranque de todos los Windows instalados en el disco.
# ogEcho log session "[30] Borrar marcas de arrranque de todos los Windows instalados en el disco."
# for (( i=1; i<=$(ogGetPartitionsNumber $d); i++ )); do
# [ "$(ogGetOsType $d $i)" == "Windows" ] && ogMount $d $i &>/dev/null
# done
# rm -f /mnt/*/ogboot.*
#done
;;
Linux)
## Modificar el nombre del equipo
#ogEcho log session "[30] Asignar nombre Linux \"$NAME\"."
#ETC=$(ogGetPath $DISK $PART /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
# ogEcho log session "[40] Actualizar fstab con particion raíz \"$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
# ogEcho log session "[65] Cambiar claves de usuarios."
# cp $(ogGetGroupDir)/passwd $MNTDIR/etc
#fi
;;
esac
|