summaryrefslogtreecommitdiffstats
path: root/client/boot-tools/boottoolsfunctions.lib
diff options
context:
space:
mode:
Diffstat (limited to 'client/boot-tools/boottoolsfunctions.lib')
-rwxr-xr-xclient/boot-tools/boottoolsfunctions.lib641
1 files changed, 0 insertions, 641 deletions
diff --git a/client/boot-tools/boottoolsfunctions.lib b/client/boot-tools/boottoolsfunctions.lib
deleted file mode 100755
index 972f0fe2..00000000
--- a/client/boot-tools/boottoolsfunctions.lib
+++ /dev/null
@@ -1,641 +0,0 @@
-#!/bin/bash
-#/**
-#@file boottoolsfunctions.lib
-#@brief Librería o clase Boot-Tools
-#@class Boot-Tools
-#@brief Funciones para generar un sistema operativo cliente para opengnsys
-#@version 1.1.1
-#@warning License: GNU GPLv3+
-#*/
-
-
-# btGetVariables: define las constantes a utilizar
-# Autor: Antonio J. Doblas Viso. Universidad de Málaga.
-function btogGetVar()
-{
-export BTDIR=/tmp/opengnsys_installer/opengnsys/client/boot-tools
-export BTTARGETDIR=/var/lib/tftpboot/ogclient/
-export BTROOTFSIMG=${BTTARGETDIR}ogclient.img
-export BTROOTFSMNT=${BTTARGETDIR}ogclientmount
-if [ "$OSARCH" = "i386" ]; then
- # tamaño maximo limitado por schroot 2GB para 32 bits
- export BTVIRTUALDISKSIZE=2000
-else
- export BTVIRTUALDISKSIZE="3G"
-fi
-export BTROOTFSIMGLABEL=ogClient
-
-export LOG_FILE=/tmp/boot-tools_installation.log
-
-export VERSIONBOOTTOOLS="ogLive"
-}
-
-
-# btGetOsInfo: detecta la version del host, para tenerla de referencia en el boot-tools a generar.
-#@version 0.9 - Prototipo de sistema operativo multiarranque de opengnsys.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2010/05/24
-#@version 1.0 - Compatibilidad OpengGnsys X.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2011/08/03
-#@version 1.0.5 - Fichero general de configuración, Kernel 3.7 para Ubuntu 12.10.
-#@author Ramón Gómez, ETSII Univ. Sevilla
-#@date 2013/02/06
-function btogGetOsInfo ()
-{
-OGCLIENTCFG=/tmp/ogclient.cfg
-case "${1,,}" in
- precise) # ogLive 1.0.4-rc2 basado en Ubuntu 12.04 LTS.
- OSDISTRIB="ubuntu"
- OSCODENAME="precise"
- OSRELEASE="3.2.0-23-generic"
- #OSRELEASE="3.11.0-26-generic"
- OSARCH="i386"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- wheezy) # ogLive basado en Debian 7.3.
- OSDISTRIB="debian"
- OSCODENAME="wheezy"
- OSRELEASE="3.2.0-4-i386"
- OSARCH="i386"
- OSHTTP="http://ftp.es.debian.org/debian/"
- ;;
- quantal) # ogLive 1.0.5-rc2 basado en Ubuntu 12.10 con Kernel descargado.
- OSDISTRIB="ubuntu"
- OSCODENAME="quantal"
- OSRELEASE="3.7.6-030706-generic"
- OSARCH="i386"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- raring) # ogLive 1.0.5-rc3 basado en Ubuntu 13.04.
- OSDISTRIB="ubuntu"
- OSCODENAME="raring"
- OSRELEASE="3.8.0-22-generic"
- OSARCH="i386"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- trusty) # ogLive 1.0.5-rc4 basado en Ubuntu 14.04.
- OSDISTRIB="ubuntu"
- OSCODENAME="trusty"
- OSRELEASE="3.13.0-24-generic"
- OSARCH="i386"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- vivid) # ogLive 1.1.0-rc2 basado en Ubuntu 15.04.
- OSDISTRIB="ubuntu"
- OSCODENAME="vivid"
- OSRELEASE="3.19.0-49-generic"
- OSARCH="i386"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- wily) # ogLive 1.1.0-rc1 basado en Ubuntu 15.10.
- OSDISTRIB="ubuntu"
- OSCODENAME="wily"
- OSRELEASE="4.2.0-35-generic"
- OSARCH="i386"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- xenial|xenial-4.4) # ogLive 1.1.0-rc4 basado en Ubuntu 16.04 y Kernel 4.4.
- OSDISTRIB="ubuntu"
- OSCODENAME="xenial"
- OSRELEASE="4.4.0-34-generic"
- OSARCH="i386"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- xenial-4.8) # ogLive 1.1.0-rc5 basado en Ubuntu 16.04 y Kernel 4.8.
- OSDISTRIB="ubuntu"
- OSCODENAME="xenial"
- OSRELEASE="4.8.0-39-generic"
- OSARCH="amd64"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- xenial-4.13) # ogLive 1.1.0-rc6 basado en Ubuntu 16.04 y Kernel 4.13.
- OSDISTRIB="ubuntu"
- OSCODENAME="xenial"
- OSRELEASE="4.13.0-17-generic"
- OSARCH="amd64"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- bionic|bionic-4.15) # ogLive 1.1.1-rc1 basado en Ubuntu 18.04 y Kernel 4.15.
- OSDISTRIB="ubuntu"
- OSCODENAME="bionic"
- OSRELEASE="4.15.0-32-generic"
- OSARCH="amd64"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- bionic-4.18) # ogLive 1.1.1-rc3 basado en Ubuntu 18.04 y Kernel 4.18.
- OSDISTRIB="ubuntu"
- OSCODENAME="bionic"
- OSRELEASE="4.18.0-20-generic"
- OSARCH="amd64"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- bionic-5.0) # ogLive 1.1.1-rc5 basado en Ubuntu 18.04 y Kernel 5.0.
- OSDISTRIB="ubuntu"
- OSCODENAME="bionic"
- OSRELEASE="5.0.0-27-generic"
- OSARCH="amd64"
- OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- host) # ogLive basado en la distribución del servidor.
- OSDISTRIB=$(lsb_release -is)
- OSCODENAME=$(lsb_release -cs)
- OSRELEASE=$(uname -r)
- OSARCH=$(dpkg --print-architecture)
- export OSHTTP="http://es.archive.ubuntu.com/ubuntu/"
- ;;
- *) # Parámetro desconocido
- echo "Parámetro no válido."
- exit 1
- ;;
-esac
-BRANCH="master"
-GITURL="https://api.github.com/repos/opengnsys/OpenGnsys/commits?sha=$BRANCH&path=/client"
-GITRELEASE=$(curl -s "$GITURL" | jq -r '"r" + (.[0].commit.committer.date | split("-") | join("")[:8]) + "." + (.[0].sha[:7])')
-NAMEISOCLIENT="$VERSIONBOOTTOOLS-$OSCODENAME-$OSRELEASE-$OSARCH-$GITRELEASE"
-NAMEHOSTCLIENT="$VERSIONBOOTTOOLS-$OSCODENAME-$GITRELEASE"
-export OSDISTRIB OSCODENAME OSRELEASE OSARCH OSHTTP
-export TYPECLIENT GITRELEASE NAMEISOCLIENT NAMEHOSTCLIENT
-### El fichero de configuración debe sustituir a estos 3 ficheros (borrar las 3 líneas siguientes).
-echo "$NAMEISOCLIENT" > /tmp/opengnsys_info_rootfs
-echo "$NAMEHOSTCLIENT" > /tmp/opengnsys_chroot
-# Generar fichero de configuración.
-cat << EOT > $OGCLIENTCFG
-TYPECLIENT="$1"
-OSDISTRIB="$OSDISTRIB"
-OSCODENAME="$OSCODENAME"
-OSRELEASE="$OSRELEASE"
-OSARCH="$OSARCH"
-OSHTTP="$OSHTTP"
-GITRELEASE="$GITRELEASE"
-NAMEISOCLIENT="$NAMEISOCLIENT"
-NAMEHOSTCLIENT="$NAMEHOSTCLIENT"
-EOT
-}
-
-# btogSetFsVirtual: Crea y formatea el fichero - disco duro virtual
-#@version 0.9 - Prototipo de sistema operativo multiarranque de opengnsys.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2010/05/24
-#@version 1.0 - Compatibilidad OpengGnsys X.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2011/08/03
-# error code return 2
-function btogSetFsVirtual ()
-{
-
-local RERROR DISKLOOP PARTLOOP #return code error
-
-#Dependencias.
-[ -z "$BTROOTFSIMG" ] && btogGetVar
-
-echoAndLog "$FUNCNAME(): Creación y formateo del disco virtual $BTVIRTUALDISKSIZE MB "
-
-#Desmontamos el dispositivo virtual
-mount | grep $BTROOTFSMNT && umount $BTROOTFSMNT
-mount | grep $BTROOTFSMNT && umount $BTROOTFSMNT
-
-#echo "$FUNCNAME(): Creando el directorio donde se montará el disco virtual $BTROOTFSMNT"
-mkdir -p $BTROOTFSMNT
-
-if [ $? -ne 0 ]
-then
- errorAndLog "$FUNCNAME(): Creando directorio $BTROOTFSMNT : ERROR"
- return 1
-fi
-
-# Permisos para el usuario opengnsys.
-chown -R root:opengnsys $BTTARGETDIR
-
-#echo "$FUNCNAME(): Creando el disco virtual con tamaño máximo de $BTVIRTUALDISKSIZE MB"
-if [ "$OSARCH" = "i386" ]; then
- dd if=/dev/zero of=$BTROOTFSIMG bs=1048576 count=$BTVIRTUALDISKSIZE
- #dd if=/dev/zero of=$BTROOTFSIMG bs=1k count=$OGCLIENTSIZEKB # necesita 500MB
-else
- qemu-img create $BTROOTFSIMG $BTVIRTUALDISKSIZE
-fi
-if [ $? -ne 0 ]
-then
- errorAndLog "$FUNCNAME(): Creando el disco virtual con tamaño maxima $BTVIRTUALDISKSIZE MB : ERROR"
- return 2
-fi
-
-# Particionamos el disco virtual con una sola particion primaria.
-DISKLOOP=$(losetup -f)
-#TODO: si no DISKLOOP error
-losetup $DISKLOOP $BTROOTFSIMG
-#echo "$FUNCNAME(): particiondo el disco virtual - $DISKLOOP - con una particion primaria"
-echo -e "n\np\n1\n\n\nt\n83\nw" | fdisk $DISKLOOP
-
-
-#echoAndLog "$FUNCNAME(): Liberamos Desmontando $DISKLOOP despues del particionado "
-sleep 10
-losetup -d $DISKLOOP
-if [ $? -ne 0 ]
-then
- errorAndLog "$FUNCNAME(): Liberando disco virtual despues del particionado: ERROR"
- return 2
-fi
-
-
-PARTLOOP=$(losetup -f)
-#echo "$FUNCNAME(): Formateando la particion principal $PARTLOOP"
-losetup -o 32256 $PARTLOOP $BTROOTFSIMG && mkfs.ext4 -b 4096 -L $BTROOTFSIMGLABEL $PARTLOOP
-if [ $? -ne 0 ]
-then
- errorAndLog "$FUNCNAME(): Formateando la particion principal del disco virtual: ERROR"
- return 2
-fi
-#echoAndLog "$FUNCNAME(): Desmontando $PARTLOOP despues del formateo "
-sleep 10
-losetup -d $PARTLOOP
-if [ $? -ne 0 ]
-then
- errorAndLog "$FUNCNAME(): Liberando la particion virtual despues del formateo: ERROR"
- return 2
-else
- echoAndLog "$FUNCNAME(): $BTROOTFSIMG $BTVIRTUALDISKSIZE MB : OK"
-fi
-}
-
-
-# btogSetfsBase: Genera el sistema root base con debootstrap
-#@version 0.9 - Prototipo de sistema operativo multiarranque de opengnsys.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2010/05/24
-#@version 1.0 - Compatibilidad OpengGnsys X.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2011/08/03
-# error code return 3
-function btogSetFsBase ()
-{
-
-# Dependencias
-[ -z "$OSCODENAME" ] && btogGetOsInfo $TYPECLIENT
-
-echoAndLog "$FUNCNAME: Iniciando la generación del sistema de archivos "
-
-#Montamos el dispositivo virtual en su punto de montaje.
-mount | grep $BTROOTFSMNT || mount $BTROOTFSIMG $BTROOTFSMNT -o loop,offset=32256
-mount | grep $BTROOTFSMNT && echoAndLog "$FUNCNAME: mount $BTROOTFSIMG $BTROOTFSMNT -o loop,offset=32256 OK " || errorAndLog "$FUNCNAME: mount $BTROOTFSIMG $BTROOTFSMNT -o loop,offset=32256 : FAILURE "
-
-debootstrap --arch=$OSARCH --components=main,universe ${OSCODENAME} ${BTROOTFSMNT} ${OSHTTP}
-#debootstrap --arch=$OSARCH ${OSCODENAME} ${BTROOTFSMNT} http://archive.ubuntu.com/ubuntu/
-
-
-if [ $? -ne 0 ]; then
- errorAndLog "$FUNCNAME: debootstrap --arch=$OSARCH --components=main,universe $OSCODENAME $BTROOTFSMNT $OSHTTP : ha fallado!"
- mount | grep $BTROOTFSMNT && umount $BTROOTFSMNT
- return 3
-else
- echoAndLog "$FUNCNAME: debootstrap --include=linux-image-${OSRELEASE},linux-headers-${OSRELEASE} --arch=$OSARCH --components=main,universe $OSCODENAME $BTROOTFSMNT $OSHTTP : ok"
- mount | grep $BTROOTFSMNT && umount $BTROOTFSMNT
- return 0
-fi
- sleep 5
-
-##preubas revisar OSRELEASE
-#debootstrap --include=linux-image-${OSRELEASE},linux-headers-${OSRELEASE} --arch=$OSARCH --components=main,universe ${OSCODENAME} ${OGCLIENTMOUNT} ${OSHTTP}
-#debootstrap --include=linux-image-${OSRELEASE} --arch=i386 --variant=minbase $OSVERSION $OGCLIENTMOUNT http://es.archive.ubuntu.com/ubuntu/
-#debootstrap --variant=minbase --include=linux-image-${OGRELEASE} --arch=i386 $OGVERSION $OGCLIENTMOUNT http://es.archive.ubuntu.com/ubuntu/
-#echo debootstrap --include=linux-image-${OGRELEASE},dbus --arch=i386 --components=main,universe $OGVERSION $OGCLIENTMOUNT http://es.archive.ubuntu.com/ubuntu/
-}
-
-#btogSetFsAcces: habilita el acceso al sistema root del cliente con schroot
-#@version 0.9 - Prototipo de sistema operativo multiarranque de opengnsys.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2010/05/24
-#@version 1.0 - Compatibilidad OpengGnsys X.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2011/08/03
-function btogSetFsAccess()
-{
-echoAndLog "$FUNCNAME: Iniciando la configuración del schroot "
-cp /etc/schroot/schroot.conf /etc/schroot/schroot.conf.`getDateTime`
-cat << EOF > /etc/schroot/schroot.conf
-[IMGogclient]
-type=loopback
-file=/var/lib/tftpboot/ogclient/ogclient.img
-description=ogclient Ubuntu image
-#priority=1
-users=root
-groups=root
-root-groups=root
-mount-options=-o offset=32256
-root-users=root
-EOF
-
-cp /etc/schroot/mount-defaults /etc/schroot/mount-defaults.`getDateTime`
-cat << EOF > /etc/schroot/mount-defaults
-# mount.defaults: static file system information for chroots.
-# Note that the mount point will be prefixed by the chroot path
-# (CHROOT_PATH)
-#
-# <file system> <mount point> <type> <options> <dump> <pass>
-proc /proc proc defaults 0 0
-#procbususb /proc/bus/usb usbfs defaults 0 0
-#/dev /dev none rw,bind 0 0
-/dev/pts /dev/pts none rw,bind 0 0
-/dev/shm /dev/shm none rw,bind 0 0
-#/home /home none rw,bind 0 0
-/tmp /tmp none rw,bind 0 0
-EOF
-
-rm /etc/schroot/setup.d/*chrootname
-
-echoAndLog "$FUNCNAME: Finalizado: OK "
-return 0
-}
-
-
-
-#btogFsInitr genera un initrd.
-#@version 0.9 - Prototipo de sistema operativo multiarranque de opengnsys.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2010/05/24
-#@version 1.0 - Compatibilidad OpengGnsys X.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2011/08/03
-function btogFsInitrd ()
-{
-#DEPENDENCIAS
-[ -z "$BTROOTFSIMG" ] && btogGetVar
-[ -z "$OSCODENAME" ] && btogGetOsInfo $TYPECLIENT
-
-cd /
-schroot -c IMGogclient -- /usr/bin/boot-tools/boottoolsInitrdGenerate.sh
-echo "cp /tmp/*-${OSRELEASE} ${BTTARGETDIR}"
-cp /tmp/*-${OSRELEASE} ${BTTARGETDIR}
-#Creando copias de las version oginitr y ogvmlinux previas
-TIMEMOD=`date +%Y%m%d-%H%M%S`
-[ -f $BTTARGETDIR/oginitrd.img ] && mv $BTTARGETDIR/oginitrd.img $BTTARGETDIR/oginitrd.img.$TIMEMOD; mv $BTTARGETDIR/oginitrd.img.sum $BTTARGETDIR/oginitrd.img.sum.$TIMEMOD
-[ -f $BTTARGETDIR/ogvmlinuz ] && mv $BTTARGETDIR/ogvmlinuz $BTTARGETDIR/ogvmlinuz.$TIMEMOD; mv $BTTARGETDIR/ogvmlinuz.sum $BTTARGETDIR/ogvmlinuz.sum.$TIMEMOD
-
-#copiando
-cp /tmp/initrd.img-${OSRELEASE} ${BTTARGETDIR}/oginitrd.img
-cp /tmp/vmlinuz-${OSRELEASE} ${BTTARGETDIR}/ogvmlinuz
-#generamos md5 del kernel y del initrd.
-DATASUM=`md5sum "${BTTARGETDIR}/oginitrd.img" | cut -f1 -d" "`
-echo $DATASUM > ${BTTARGETDIR}/oginitrd.img.sum
-DATASUM=`md5sum "${BTTARGETDIR}/ogvmlinuz" | cut -f1 -d" "`
-echo $DATASUM > ${BTTARGETDIR}/ogvmlinuz.sum
-#Damos permisos
-cd -
-chmod -R 755 $BTTARGETDIR
-}
-
-#btogFsSqfs convierte el sistema root en sqfs
-#@version 0.9 - Prototipo de sistema operativo multiarranque de opengnsys.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2010/05/24
-#@version 1.0 - Compatibilidad OpengGnsys X.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2011/08/03
-function btogFsSqfs ()
-{
-#Dependencias.
-[ -z "$BTROOTFSIMG" ] && btogGetVar
-[ -z "$OSCODENAME" ] && btogGetOsInfo $TYPECLIENT
-
-echoAndLog "$FUNCNAME: Iniciando la creación del sistema de archivos en sqfs "
-# si ya existe un sqfs lo renombramos
-[ -f $BTTARGETDIR/ogclient.sqfs ] && mv $BTTARGETDIR/ogclient.sqfs $BTTARGETDIR/ogclient.sqfs.`date +%Y%m%d-%H%M%S`
-mount | grep $BTROOTFSMNT || mount $BTROOTFSIMG $BTROOTFSMNT -o loop,offset=32256
-mksquashfs $BTROOTFSMNT $BTTARGETDIR/ogclient.sqfs
-mount | grep $BTROOTFSMNT && umount $BTROOTFSMNT
-chmod 744 $BTTARGETDIR/ogclient.sqfs
-DATASUM=`md5sum "${BTTARGETDIR}/ogclient.sqfs" | cut -f1 -d" "`
-echo $DATASUM > ${BTTARGETDIR}/ogclient.sqfs.sum
-}
-
-
-
-
-
-# btogIsoGenerator genera la iso del cliente
-#@version 0.9 - Prototipo de sistema operativo multiarranque de opengnsys.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2010/05/24
-#@version 1.0 - Compatibilidad OpengGnsys X.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2011/08/03
-function btogIsoGenerator {
-#Dependencias.
-#[ -z "$BTROOTFSIMG" ] && btogGetVar
-btogGetVar
-#Preparamos los gestores de arranque
-mkdir -p /tmp/iso/isolinux
-cp -av /usr/lib/syslinux/* /tmp/iso/isolinux/
-if [ -d /usr/share/gpxe ]; then
- cp -av /usr/share/gpxe/* /tmp/iso/isolinux
- PXE=gpxe
-elif [ -d /usr/lib/ipxe ]; then
- cp -av /usr/lib/ipxe/* /tmp/iso/isolinux
- PXE=ipxe
-fi
-
-# Si existe el fichero ISO, montarlo para extraer isolinux.bin.
-if [ -f /tmp/iso/isolinux/$PXE.iso ]; then
- mkdir -p /tmp/iso/isolinux/mount
- mount -o loop /tmp/iso/isolinux/$PXE.iso /tmp/iso/isolinux/mount
- cp -va /tmp/iso/isolinux/mount/* /tmp/iso/isolinux
- umount /tmp/iso/isolinux/mount
- rmdir /tmp/iso/isolinux/mount
- rm -f /tmp/iso/isolinux/$PXE.iso
-fi
-
-cat << FIN > /tmp/iso/isolinux/isolinux.cfg
-DEFAULT menu.c32
-PROMPT 0
-ALLOWOPTIONS 1
-
-MENU TITLE OpenGnsys ${NAMEISOCLIENT}
-
-
-LABEL 0
-MENU LABEL ogLive vga irqpool acpi ogdebug ip:none
-KERNEL /ogclient/linuxISO
-APPEND initrd=/ogclient/oginitrd.img ro vga=788 irqpoll acpi=on boot=oginit og2nd=sqfs ogprotocol=local ogactiveadmin=true ogdebug=true ip=none
-
-LABEL 1
-MENU LABEL ogLive irqpoll acpi ip:none
-KERNEL /ogclient/linuxISO
-APPEND initrd=/ogclient/oginitrd.img ro irqpoll acpi=on boot=oginit og2nd=sqfs ogprotocol=local ogactiveadmin=true ogdebug=false ip=none
-
-LABEL 2
-MENU LABEL ogLive acpi debug ip=dhcp
-KERNEL /ogclient/linuxISO
-APPEND initrd=/ogclient/oginitrd.img ro acpi=on boot=oginit og2nd=sqfs ogprotocol=local ogactiveadmin=true ogdebug=true ip=dhcp
-
-LABEL 3
-MENU LABEL ogLive ip=dhcp
-KERNEL /ogclient/linuxISO
-APPEND initrd=/ogclient/oginitrd.img ro acpi=off boot=oginit og2nd=sqfs ogprotocol=local ogactiveadmin=true ogdebug=false ip=dhcp
-
-LABEL 4
-MENU LABEL local
-localboot 0x80
-append -
-
-label 5
-MENU LABEL Network boot via gPXE lkrn
-KERNEL $PXE.lkrn
-
-label 6
-MENU LABEL Network boot via gPXE usb
-KERNEL $PXE.usb
-
-label 7
-MENU LABEL Network boot via gPXE pxe
-KERNEL $PXE.pxe
-
-label 8
-MENU LABEL Network boot via gPXE iso
-KERNEL $PXE.iso
-
-label 9
-MENU LABEL pxe
-KERNEL /clonezilla/live/vmlinuz1
-APPEND initrd=/clonezilla/live/initrd1.img boot=live union=aufs noswap vga=788 ip=frommedia
-FIN
-
-
-
-
-# preparamos el directorio boot-tools.
-mkdir -p /tmp/iso/ogclient
-cp ${BTTARGETDIR}/ogclient.sqfs /tmp/iso/ogclient/
-cp ${BTTARGETDIR}/ogclient.sqfs.sum /tmp/iso/ogclient/
-cp ${BTTARGETDIR}/ogvmlinuz /tmp/iso/ogclient/
-cp ${BTTARGETDIR}/ogvmlinuz.sum /tmp/iso/ogclient/
-cp ${BTTARGETDIR}/ogvmlinuz /tmp/iso/ogclient/linuxISO
-cp ${BTTARGETDIR}/ogvmlinuz.sum /tmp/iso/ogclient/linuxISO.sum
-cp ${BTTARGETDIR}/oginitrd.img /tmp/iso/ogclient/
-cp ${BTTARGETDIR}/oginitrd.img.sum /tmp/iso/ogclient/
-#el ogclienteToISO debe tener una copia del ogvmlinuz como linuxISO
-#cp -prv /var/lib/tftpboot/ogclientToIso/* /tmp/iso/ogclient
-
-cd /tmp
-#TIMEMOD=`date +%Y%m%d-%H%M%S`
-####Generamos la iso
-echo "mkisofs -V ogClient -o ${NAMEISOCLIENT}.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -J -no-emul-boot -boot-load-size 4 -boot-info-table /tmp/iso"
-mkisofs -V ogClient -o ${NAMEISOCLIENT}.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -J -no-emul-boot -boot-load-size 4 -boot-info-table /tmp/iso
-##Generamos el md5
-DATASUM=`md5sum ${NAMEISOCLIENT}.iso | cut -f1 -d" "`
-echo $DATASUM > ${NAMEISOCLIENT}.iso.sum
-
-mv /tmp/${NAMEISOCLIENT}.iso /var/lib/tftpboot/ogclient/
-mv /tmp/${NAMEISOCLIENT}.iso.sum /var/lib/tftpboot/ogclient/
-
-
-### vi /etc/grub.d/40_custom
-##
-#menuentry "og cache " {
-#set root=(hd0,4)
-#linux /ogvmlinuz ro vga=788 irqpoll acpi=on boot=oginit og2nd=sqfs ogprotocol=local ogactiveadmin=true ogdebug=true ip=none
-#initrd /oginitrd.img
-#}
-
-}
-
-
-#@version 0.9 - Prototipo de sistema operativo multiarranque de opengnsys.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2010/05/24
-#@version 1.0 - Compatibilidad OpengGnsys X.
-#@author Antonio J. Doblas Viso. Universidad de Malaga.
-#@date 2011/08/03
-function btogIsoTest {
-#/tmp/iso
-qemu -m 256 -boot d -cdrom ogClient.iso
-}
-
-
-
-
-function getDateTime()
-{
- echo `date +%Y%m%d-%H%M%S`
-}
-
-# Escribe a fichero y muestra por pantalla
-function echoAndLog()
-{
- echo $1
- FECHAHORA=`getDateTime`
- echo "$FECHAHORA;$SSH_CLIENT;$1" >> $LOG_FILE
-}
-
-function errorAndLog()
-{
- echo "ERROR: $1"
- FECHAHORA=`getDateTime`
- echo "$FECHAHORA;$SSH_CLIENT;ERROR: $1" >> $LOG_FILE
-}
-
-
-
-
-
-
-
-
-
-
-############### No usados en el instalador, solo en actualizaciones.
-#/**
-# ogClientMount [str_program]
-#@brief Acceso al 2nd FS del cliente desde el Servidor Opengnsys
-#@param 1 Opciona: scripts o programa a ejecutar para automatizaciones
-#@return Si no hay parametros: login de acceso.
-#@return con un parametro: La salida del programa ejecutado
-#@exception
-#@note
-#@todo
-#@version 0.9 - Primera versión para OpenGnSys
-#@author Antonio J. Doblas Viso, Universidad de Málaga
-#@date 2010/02/15
-#*/ ##
-function ogClientMount ()
-{
- #TODO comprobar que OGFILE y OGFILEMOUNT existe.
- mount | grep $OGCLIENTFILE > /dev/null || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256
- mount | grep $OGCLIENTMOUNT/proc > /dev/null || mount --bind /proc $OGCLIENTMOUNT/proc
- mount | grep $OGCLIENTMOUNT/sys > /dev/null || mount --bind /sys $OGCLIENTMOUNT/sys
- mount | grep $OGCLIENTMOUNT/tmp > /dev/null || mount --bind /tmp $OGCLIENTMOUNT/tmp
- mount | grep $OGCLIENTMOUNT/dev > /dev/null || mount --bind /dev $OGCLIENTMOUNT/dev
- mount | grep $OGCLIENTMOUNT/dev/pts > /dev/null || mount --bind /dev/pts $OGCLIENTMOUNT/dev/pts
-
-
- [ $# = 0 ] && $(chroot $OGCLIENTMOUNT /sbin/getty 38400 `tty`)
- [ $# = 1 ] && chroot $OGCLIENTMOUNT $1
-
-}
-
-#/**
-# ogClientUnmount
-#@brief Desmonta el 2nd FS del cliente desde el Servidor Opengnsys
-#@param
-#@return
-#@exception
-#@note
-#@todo
-#@version 0.9 - Primera versión para OpenGnSys
-#@author Antonio J. Doblas Viso, Universidad de Málaga
-#@date 2010/02/15
-#*/ ##
-
-function ogClientUnmount ()
-{
- cd /tmp
- echo "desmontando cliente espere"
- sleep 5
- mount | grep $OGCLIENTMOUNT/dev > /dev/null && umount $OGCLIENTMOUNT/dev || ogClientUnmount
- mount | grep $OGCLIENTMOUNT/dev/pts > /dev/null && umount $OGCLIENTMOUNT/dev/pts || ogClientUnmount
- mount | grep $OGCLIENTMOUNT/proc > /dev/null && umount $OGCLIENTMOUNT/proc || ogClientUnmount
- mount | grep $OGCLIENTMOUNT/sys > /dev/null && umount $OGCLIENTMOUNT/sys || ogClientUnmount
- mount | grep $OGCLIENTMOUNT/tmp > /dev/null && umount $OGCLIENTMOUNT/tmp || ogClientUnmount
- mount | grep $OGCLIENTMOUNT > /dev/null && umount $OGCLIENTMOUNT || ogClientUnmount
- #-d -f -l
-
-}