summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xclient/engine/Cache.lib22
-rwxr-xr-xclient/engine/PostConf.lib3
-rwxr-xr-xclient/engine/System.lib4
3 files changed, 17 insertions, 12 deletions
diff --git a/client/engine/Cache.lib b/client/engine/Cache.lib
index d1d2e881..118bc65b 100755
--- a/client/engine/Cache.lib
+++ b/client/engine/Cache.lib
@@ -31,25 +31,26 @@
function ogCreateCache ()
{
# Variables locales.
-local FINDCACHE NDSK PART DISK START END ENDPREVPART SIZE MINSIZE MAXSIZE ID
+local FINDCACHE NDSK PART DISK START END ENDPREVPART SIZE MINSIZE MAXSIZE PTTYPE ID
# Si se solicita, mostrar ayuda.
if [ "$*" == "help" ]; then
ogHelp "$FUNCNAME" "$FUNCNAME int_partsize" "$FUNCNAME 10000000"
return
fi
-# Error si no se recibe 1 parámetro.
+# Error si no se recibe 1 parámetro que sea un número entero.
[ $# == 1 ] || ogRaiseError $OG_ERR_FORMAT || return $?
+[[ $1 =~ ([0-9]*) ]] || ogRaiseError $OG_ERR_FORMAT "$1" || return $?
FINDCACHE="1 4" # Partición de caché (ndisco npart).
NDSK=${FINDCACHE% *}
PART=${FINDCACHE#* }
DISK=$(ogDiskToDev $NDSK) || return $?
-END=$(ogGetLastSector $NDSK) # Sector final del disco.
-SIZE=$(echo $1|awk '{print $0*2}') # En sectores de 512 B.
+END=$[$(ogGetLastSector $NDSK 2>/dev/null)] # Sector final del disco.
+SIZE=$[$1*2] # Tamaño en sectores de 512 B.
START=$[END-SIZE+1]
-ENDPREVPART=$(ogGetLastSector $NDSK $[PART-1])
+ENDPREVPART=$[$(ogGetLastSector $NDSK $[PART-1] 2>/dev/null)]
# Error si tamaño no está entre límites permitidos o si se solapa con la partición anterior.
-MINSIZE=100000 # Error de formateo si tamaño < 50 MB.
+MINSIZE=25000 # Error de formateo si tamaño < 50 MB.
MAXSIZE=$[END/2] # No permitir tamaño > mitad del disco.
if [ $SIZE -lt $MINSIZE -o $SIZE -gt $MAXSIZE -o $START -le $ENDPREVPART ]; then
ogRaiseError $OG_ERR_FORMAT "$1" || return $?
@@ -58,8 +59,13 @@ fi
# Desmontar todos los sistemas de archivos del disco.
ogUnmountAll 1 2>/dev/null
# Definir particiones y notificar al kernel.
-# En el caso de ser disco GPT, de momento se borra la particion y se vuelve a crear por
-# lo que se pierden los datos.
+# En el caso de ser disco GPT, de momento se borra la particion y se vuelve a crear,
+# por lo que se pierden los datos.
+PTTYPE=$(ogGetPartitionTableType $NDSK)
+if [ -z "$PTTYPE" ]; then
+ PTTYPE="MSDOS" # Por defecto para discos vacíos.
+ ogCreatePartitionTable $NDSK $PTTYPE
+fi
case "$(ogGetPartitionTableType $NDSK)" in
GPT)
# Si la tabla de particiones no es valida, volver a generarla.
diff --git a/client/engine/PostConf.lib b/client/engine/PostConf.lib
index e253d04f..62ba5c9b 100755
--- a/client/engine/PostConf.lib
+++ b/client/engine/PostConf.lib
@@ -270,8 +270,7 @@ ogSetRegistryValue "$MNTDIR" SYSTEM "\Setup\CmdLine" "cmd.exe /c $2"
#@param str_adm_user usuario administrador para hacer autologin y ejecutar el runonce
#@param str_adm_password password del usuario administrador
#@param bool_autologin si despues de la postconfiguracion queremos que la maquina haga autologin (0 o 1)
-#@param str_auto_user Usuario con el que queremos que haga
-autologin despues de la postconfiguracion
+#@param str_auto_user Usuario con el que queremos que haga autologin despues de la postconfiguracion
#@param str_auto_password Password del usuario que hara autologin
#@return (nada)
#@exception OG_ERR_FORMAT Formato incorrecto.
diff --git a/client/engine/System.lib b/client/engine/System.lib
index 9f943c5d..ed6f24b6 100755
--- a/client/engine/System.lib
+++ b/client/engine/System.lib
@@ -24,7 +24,7 @@
function ogEcho () {
# Variables locales
-local LOGLEVEL LOGFILE DATETIME
+local LOGLEVEL DATETIME
# Selección del nivel de registro (opcional).
case "$1" in
@@ -37,7 +37,7 @@ esac
DATETIME=$(date +"%F %T")
if [ -n "$LOGLEVEL" ]; then
- logger -s -t "OpenGnSys $LOGLEVEL" -f $LOGFILE "$DATETIME $*"
+ logger -s -t "OpenGnSys $LOGLEVEL" -f $OGLOGFILE "$DATETIME $*"
logger -t "OpenGnSys $LOGLEVEL" -f $OGLOGCOMMAND "$DATETIME $*"
logger -t "OpenGnSys $LOGLEVEL" -f $OGLOGSESSION "$DATETIME $*"
else