[33f59b9] | 1 | #!/bin/bash |
---|
[a012113] | 2 | #/** |
---|
| 3 | # configureOsCustom |
---|
| 4 | #@brief Plantilla para scirpt de configuracion personalizada de sistema operativo restaurado. |
---|
[d10b323] | 5 | #@param $1 nº de disco |
---|
| 6 | #@param $2 nº de partición |
---|
[a012113] | 7 | #@param $3 Repositorio: CACHE, REPO o dirección IP (opcional) |
---|
| 8 | #@param $4 Nombre canónico de la imagen sin extensión (opcional) |
---|
[3c3abbf] | 9 | #@warning Renombrar este fichero como "configureOsCustom" para sustituir al script estándar "configureOs". |
---|
[a012113] | 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. |
---|
[d10b323] | 11 | #**/ |
---|
[33f59b9] | 12 | |
---|
[3c3abbf] | 13 | |
---|
[33f59b9] | 14 | # Control de parámetros. |
---|
[d10b323] | 15 | [ $# -eq 2 -o $# -eq 4 ] || ogRaiseError $OG_ERR_FORMAT "$MSG_FORMAT: configureOsCustom int_ndisc int_npart [str_repo str_imgname]" || exit $? |
---|
[33f59b9] | 16 | |
---|
[a012113] | 17 | # Parámetros obligatorios. |
---|
[d10b323] | 18 | DISK="$1" # Nº de disco. |
---|
| 19 | PART="$2" # Nº de partición. |
---|
[a012113] | 20 | # Parámetros opcionales. |
---|
[d10b323] | 21 | REPO="${3^^}" # Repositorio (en mayúsculas). |
---|
| 22 | IMGNAME="$4" # Nombre canónico de imagen (sin extensión). |
---|
| 23 | |
---|
[a012113] | 24 | |
---|
[d10b323] | 25 | # Paso 0: Añadir código para realizar control de errores de los parámetros de entrada (recomendado). |
---|
[a012113] | 26 | |
---|
[196e833] | 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. |
---|
[20e5aa9e] | 31 | configureOs "$1" "$2" |
---|
[196e833] | 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. |
---|
[7dc06be9] | 42 | ##OPCIONAL Para UEFI: cambia el UUID de la partición (para tener dos linux en un equipo) |
---|
| 43 | #ogUuidChange $DISK $PART |
---|
[196e833] | 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. |
---|
[4dea2be] | 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. |
---|
[196e833] | 77 | ;; |
---|
| 78 | esac |
---|
| 79 | |
---|
| 80 | # Paso 2: Incluir código genérico de postconfiguración. |
---|
[33f59b9] | 81 | |
---|