diff options
Diffstat (limited to 'client/boot-tools/ogclientImg2Sqfs')
-rwxr-xr-x | client/boot-tools/ogclientImg2Sqfs | 55 |
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 |