| 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: Configurar el FSTAB. En esta versión solo autoconfigura la partición SWAP |
|---|
| 43 | #ogConfigureFstab $1 $2 |
|---|
| 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 | |
|---|