summaryrefslogtreecommitdiffstats
path: root/client/boot-tools/ogclientImg2Sqfs
diff options
context:
space:
mode:
Diffstat (limited to 'client/boot-tools/ogclientImg2Sqfs')
-rwxr-xr-xclient/boot-tools/ogclientImg2Sqfs55
1 files changed, 55 insertions, 0 deletions
diff --git a/client/boot-tools/ogclientImg2Sqfs b/client/boot-tools/ogclientImg2Sqfs
new file mode 100755
index 00000000..5dfb2b00
--- /dev/null
+++ b/client/boot-tools/ogclientImg2Sqfs
@@ -0,0 +1,55 @@
+#!/bin/bash
+#/**
+#@brief Comprime el fichero ogclient.img en ogclient.sqfs.
+#@param none
+#@exeption 1 No es usuario root
+#@exeption 2 No existe el fichero ogclient.img
+#@date 2013-11.27
+#*/
+PROG="$(basename $0)"
+# Mostrar ayuda: Si se solicita, si faltan parametros o $3 no es SYNC1 o SYNC2.
+if [ "$*" == "help" ]; then
+ echo -e "$PROG: Comprime el fichero ogclient.img en ogclient.sqfs. \n"
+ " Uso: $PROG (sin parametros)"
+ exit 0
+fi
+
+if [ "$USER" != "root" ]; then
+ echo "$PROG: Error: solo ejecutable por root" >&2
+ exit 1
+fi
+
+
+DATE=$(date +%y-%m-%d)
+OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"}
+OGCLIENTBASEDIR=$OPENGNSYS/tftpboot/ogclient/;
+OGCLIENTFILE=${OGCLIENTBASEDIR}ogclient.img;
+OGCLIENTSQFS=${OGCLIENTBASEDIR}ogclient.sqfs
+OGCLIENTMOUNT=${OGCLIENTBASEDIR}ogclientmount;
+OGCLIENTSIZEMB=1900;
+OGCLIENTLABEL=ogClient;
+
+# Comprobamos que existe el cliente .sqfs
+! [ -f $OGCLIENTFILE -a -d $OGCLIENTMOUNT ] && echo "No existe $OGCLIENTFILE o $OGCLIENTMOUNT" && exit 3
+# Montamos ogclient.img.
+echo "Montamos ogclient.img."
+mkdir -p $OGCLIENTMOUNT;
+mount | grep $OGCLIENTMOUNT || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256;
+
+# Si existe ogclient.sqfs hacemos copia de seguridad.
+echo "Si existe ogclient.sqfs hacemos copia de seguridad."
+[ -f ${OGCLIENTSQFS} ] && mv ${OGCLIENTSQFS} ${OGCLIENTSQFS}.$DATE
+
+# Comprimimos el cliente.
+echo "Comprimimos el cliente."
+echo "mksquashfs $OGCLIENTMOUNT ${OGCLIENTSQFS}"
+mksquashfs $OGCLIENTMOUNT ${OGCLIENTSQFS}
+
+# Desmontamos el ogclient.img
+echo "Desmontamos el ogclient.img"
+umount $OGCLIENTMOUNT
+
+# Generamos nuevo archivo de suma de comprobaciĆ³n.
+echo "Generamos nuevo archivo de suma de comprobacion."
+mv ${OGCLIENTSQFS}.sum ${OGCLIENTSQFS}.sum.$DATE
+md5sum ${OGCLIENTSQFS} |awk '{print $1}' >${OGCLIENTSQFS}.sum