1 | #!/bin/bash |
---|
2 | #/** |
---|
3 | # configureOsCustom |
---|
4 | #@brief Plantilla para scirpt de configuracion personalizada de sistema operativo restaurado. |
---|
5 | #@param $1 nº de disco |
---|
6 | #@param $2 nº de partición |
---|
7 | #@param $3 Repositorio: CACHE, REPO o dirección IP (opcional) |
---|
8 | #@param $4 Nombre canónico de la imagen sin extensión (opcional) |
---|
9 | #@warning Renombrar este fichero como "configureOsCustom" para sustituir al script estándar "configureOs". |
---|
10 | #@note Los parámetros disco y partición son obligatorios y opcionalmente puede recibir también el repositorio y la imagen usada para en el despliegue. |
---|
11 | #**/ |
---|
12 | |
---|
13 | |
---|
14 | # Control de parámetros. |
---|
15 | [ $# -eq 2 -o $# -eq 4 ] || ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: configureOsCustom int_ndisc int_npart [str_repo str_imgname]" || exit $? |
---|
16 | |
---|
17 | # Parámetros obligatorios. |
---|
18 | DISK="$1" # Nº de disco. |
---|
19 | PART="$2" # Nº de partición. |
---|
20 | # Parámetros opcionales. |
---|
21 | REPO="${3^^}" # Repositorio (en mayúsculas). |
---|
22 | IMGNAME="$4" # Nombre canónico de imagen (sin extensión). |
---|
23 | |
---|
24 | |
---|
25 | # Paso 0: Añadir código para realizar control de errores de los parámetros de entrada (recomendado). |
---|
26 | |
---|
27 | # Paso 1: Adaptar el código de ejemplo para postconfiguración personalizada. |
---|
28 | # Nota: incluye llamada al script "configureOs" para realizar previamente una configuración estándar. |
---|
29 | |
---|
30 | # Configurarción típica. |
---|
31 | configureOs "$1" "$2" |
---|
32 | # Postconfiguración personalizada para cada tipo de sistema operativo. |
---|
33 | OSTYPE="$(ogGetOsType $1 $2)" |
---|
34 | case "$OSTYPE" in |
---|
35 | Windows) # Postconfiguración de Windows. |
---|
36 | # Descomentar la siguiente línea para cambiar usuario de inicio. |
---|
37 | #ogSetWinlogonUser $1 $2 " " |
---|
38 | # OPCIONAL: desactivar el chkdisk de windows tras la restauracion. Requiere configuracion previa en el engine.cfg |
---|
39 | #ogLoadHiveWindows $1 $2; ogSetWindowsChkdisk $OGWINCHKDISK; ogUpdateHiveWindows |
---|
40 | ;; |
---|
41 | Linux) # Postconfiguración de GNU/Linux. |
---|
42 | ##OPCIONAL Para UEFI: cambia el UUID de la partición (para tener dos linux en un equipo) |
---|
43 | #ogUuidChange $DISK $PART |
---|
44 | ##OPCIONAL Limpiar dispositivos reconocidos previamente |
---|
45 | #ogCleanLinuxDevices $1 $2 |
---|
46 | ## Instala (no configura) el codigo de arranque del Grub en la partición (no lo configura, se mantiene el original de la imagen) |
---|
47 | #ogGrubInstallPartition $1 $2 |
---|
48 | ## OPCIONAL: instala y configura el codigo de arranque del Grub en el MBR (no lo configura, se mantiene el original de la imagen) |
---|
49 | #ogGrubInstallMbr $1 $2 |
---|
50 | ## OPCIONAL: Instala y configura el Grub en el MBR y lo autoconfigura, entradas para los sitemas operativos, ademas al linux restaurado le añade los parmetros indicados. |
---|
51 | #ogGrubInstallMbr $1 $2 TRUE "irqpoll pci=noacpi noresume quiet splash" |
---|
52 | ;; |
---|
53 | MacOS) # Postconfiguración de Mac OS X. |
---|
54 | # Programa de inicio que será ejecutado en el arranque de Mac OS X. |
---|
55 | # NOTA: no modificar la línea siguiente. |
---|
56 | cat << EOT | sed -n -e '/rm -f /r /dev/stdin' -e 1x -e '2,${x;p}' -e '${x;p}' $MNTDIR/var/root/postconfd.sh |
---|
57 | |
---|
58 | ### NOTA: descomentar las opciones deseadas. |
---|
59 | # Activar Journaling en HFS+ (no usar si el cliente continua en OpenGnsys). |
---|
60 | #diskutil enableJournal disk$[$1-1]s$2 |
---|
61 | # Pedir usuario y clave en pantalla de conexión. |
---|
62 | #defaults write /Library/Preferences/com.apple.loginwindow SHOWFULLNAME -bool yes |
---|
63 | # No mostrar botón de cambio rápido de usuario. |
---|
64 | #defaults write /Library/Preferences/.GlobalPreferences MultipleSessionEnabled -bool NO |
---|
65 | # Bloquear escritorio, fondo, dock, etc del usuario "usuario". |
---|
66 | #chflags uchange /Users/usuario/Library/Preferences/com.apple.desktop.plist |
---|
67 | #chflags uchange /Users/usuario/Library/Preferences/com.apple.dock.plist |
---|
68 | #chflags uchange /Users/usuario/Desktop |
---|
69 | # Añadir usuario "usuario" a la lista de desarrolladores de Xcode. |
---|
70 | #DevToolsSecurity --enable |
---|
71 | #dscl . -append /Groups/_developer GroupMembership usuario |
---|
72 | # Bajar volumen (valor entre 0 y 7). |
---|
73 | #osascript -e 'set volume 1' |
---|
74 | |
---|
75 | EOT |
---|
76 | # NOTA: no modificar la línea anterior. |
---|
77 | ;; |
---|
78 | esac |
---|
79 | |
---|
80 | # Paso 2: Incluir código genérico de postconfiguración. |
---|
81 | |
---|