[85c477c] | 1 | #!/bin/bash |
---|
[841ce50] | 2 | |
---|
| 3 | #/** |
---|
| 4 | # updateBootCache |
---|
| 5 | #@brief acelerador arranque pxe. incorpora a la cache el initrd y el kernel. |
---|
| 6 | #@param 1 |
---|
| 7 | #@param ejemplo: |
---|
| 8 | #@return |
---|
[82c68fa] | 9 | #@exception OG_ERR_NOTCACHE # 15 si cache no existe 15 |
---|
| 10 | #@exception OG_ERR_NOTFOUND=2 # Fichero o dispositivo no encontrado. |
---|
[841ce50] | 11 | #@note |
---|
| 12 | #@todo: |
---|
| 13 | #@version 1.0.1 - requiere el gestor de arranque grub2dos |
---|
| 14 | #@author Antonio J. Doblas Viso. Universidad de Malaga. |
---|
| 15 | #@date 2010/07/27 |
---|
[bbb8225] | 16 | #@version 1.1.0 - Permite varios ogLive dentro de subdirectorios |
---|
[5e7555d] | 17 | #@author Irina Gómez. ETSII Universidad de Sevilla |
---|
[bbb8225] | 18 | #@date 2017/04/27 |
---|
[5e7555d] | 19 | #@version 1.1.0 - Se permite varios ogLives en la CACHE |
---|
| 20 | #@author Antonio J. Doblas Viso. Universidad de Malaga |
---|
| 21 | #@date 2017/05/31 |
---|
[82c68fa] | 22 | #@version 1.1.0 - Limpieza de codigo, control errores |
---|
| 23 | #@author Antonio J. Doblas Viso. Universidad de Malaga |
---|
| 24 | #@date 2018-01-21 |
---|
[841ce50] | 25 | #*/ ## |
---|
| 26 | |
---|
[297a4da] | 27 | OGLIVEDIR=${oglivedir:-"ogLive"} |
---|
[bbb8225] | 28 | OGBTFTP="/opt/oglive/tftpboot/$OGLIVEDIR" |
---|
[5e7555d] | 29 | OGBCACHE="$OGCAC/boot/$OGLIVEDIR" |
---|
[82c68fa] | 30 | |
---|
| 31 | #control de errores |
---|
| 32 | [ -d "$OGBTFTP" ] || exit $(ogRaiseError $OG_ERR_NOTFOUND "$OGBTFTP"; echo $?) |
---|
| 33 | ogMountCache || exit $(ogRaiseError $OG_ERR_NOTCACHE "CACHE "; echo $?) |
---|
[4e0b7c0] | 34 | |
---|
[5e7555d] | 35 | [ -d $OGBCACHE ] || mkdir -p $OGBCACHE |
---|
[4e0b7c0] | 36 | |
---|
| 37 | # comparamos los del server |
---|
[82c68fa] | 38 | SERVERVMLINUZ=`cat ${OGBTFTP}/ogvmlinuz.sum 2>/dev/null` |
---|
| 39 | SERVERINITRD=`cat ${OGBTFTP}/oginitrd.img.sum 2>/dev/null` |
---|
[4e0b7c0] | 40 | |
---|
| 41 | #comparamos los de la cache |
---|
[82c68fa] | 42 | CACHEVMLINUZ=`cat ${OGBCACHE}/ogvmlinuz.sum 2>/dev/null` |
---|
| 43 | CACHEINITRD=`cat ${OGBCACHE}/oginitrd.img.sum 2>/dev/null` |
---|
[4e0b7c0] | 44 | |
---|
| 45 | echo "MD5 on SERVER: $SERVERVMLINUZ $SERVERINITRD" |
---|
| 46 | echo "MD5 on CACHE: $CACHEVMLINUZ $CACHEINITRD" |
---|
| 47 | |
---|
| 48 | |
---|
| 49 | if [ "$CACHEVMLINUZ" != "$SERVERVMLINUZ" ] |
---|
| 50 | then |
---|
| 51 | echo "ogvmlinuz updating" |
---|
[5e7555d] | 52 | cp "${OGBTFTP}/ogvmlinuz" "${OGBCACHE}/ogvmlinuz" |
---|
| 53 | cp "${OGBTFTP}/ogvmlinuz.sum" "${OGBCACHE}/ogvmlinuz.sum" |
---|
[4e0b7c0] | 54 | DOREBOOT=true |
---|
| 55 | fi |
---|
| 56 | if [ "$CACHEINITRD" != "$SERVERINITRD" ] |
---|
| 57 | then |
---|
| 58 | echo "oginitrd updating" |
---|
[5e7555d] | 59 | cp "${OGBTFTP}/oginitrd.img" "${OGBCACHE}/oginitrd.img" |
---|
| 60 | cp "${OGBTFTP}/oginitrd.img.sum" "${OGBCACHE}/oginitrd.img.sum" |
---|
[4e0b7c0] | 61 | DOREBOOT=true |
---|
| 62 | fi |
---|
| 63 | |
---|
| 64 | echo $DOREBOOT |
---|
| 65 | # [ "$DOREBOOT" == "true" ] && busybox reboot -f |
---|