refs #596 remove deprecated sshd config items, add shell code for some unused functions
parent
53310a8e5b
commit
c2fe8f7695
|
@ -156,7 +156,7 @@ def GetOsInfo1 (type_client):
|
||||||
return osdistrib, oscodename, osrelease, osarch, oshttp
|
return osdistrib, oscodename, osrelease, osarch, oshttp
|
||||||
|
|
||||||
def GetOsInfo2 (ogrepo_dir, versionboottools, oscodename, osrelease, osarch):
|
def GetOsInfo2 (ogrepo_dir, versionboottools, oscodename, osrelease, osarch):
|
||||||
gitrelease = subprocess.run (['git', '--git-dir', f'{ogrepo_dir}/.git', 'log', '--date', 'format:r%Y%m%d', '--format=%ad', '-1'], capture_output=True, text=True).stdout.strip()
|
gitrelease, _ = utils.run (['git', '--git-dir', f'{ogrepo_dir}/.git', 'log', '--date', 'format:r%Y%m%d', '--format=%ad', '-1'])
|
||||||
nameisoclient ='-'.join ([versionboottools, oscodename, osrelease, osarch, gitrelease])
|
nameisoclient ='-'.join ([versionboottools, oscodename, osrelease, osarch, gitrelease])
|
||||||
namehostclient = '-'.join ([versionboottools, oscodename, gitrelease])
|
namehostclient = '-'.join ([versionboottools, oscodename, gitrelease])
|
||||||
return gitrelease, nameisoclient, namehostclient
|
return gitrelease, nameisoclient, namehostclient
|
||||||
|
@ -175,18 +175,18 @@ def mkrootfs (btrootfsimg, btrootfsimglabel, btrootfsmnt, btvirtualdisksize, btt
|
||||||
raise Exception (f'Creando directorio "{btrootfsmnt}" : ERROR')
|
raise Exception (f'Creando directorio "{btrootfsmnt}" : ERROR')
|
||||||
|
|
||||||
try: utils.run (['chown', '-R', 'root:opengnsys', bttargetdir])
|
try: utils.run (['chown', '-R', 'root:opengnsys', bttargetdir])
|
||||||
except:
|
except Exception as e:
|
||||||
raise Exception (f'Failed to chown root:opengnsys "{btrootfsmnt}"')
|
raise Exception (f'Failed to chown root:opengnsys "{btrootfsmnt}": {str(e)}')
|
||||||
|
|
||||||
logger.info (f'Creating disk image "{btrootfsimg}"')
|
logger.info (f'Creating disk image "{btrootfsimg}"')
|
||||||
if 'i386' == osarch:
|
if 'i386' == osarch:
|
||||||
try: utils.run (['dd', 'if=/dev/zero', f'of={btrootfsimg}', 'bs=1048576', f'count={btvirtualdisksize}'])
|
try: utils.run (['dd', 'if=/dev/zero', f'of={btrootfsimg}', 'bs=1048576', f'count={btvirtualdisksize}'])
|
||||||
except:
|
except Exception as e:
|
||||||
raise Exception (f'Creando el disco virtual "{btrootfsimg}" con tamaño maxima "{btvirtualdisksize}" MB : ERROR')
|
raise Exception (f'Creando el disco virtual "{btrootfsimg}" con tamaño maxima "{btvirtualdisksize}" MB : ERROR: {str(e)}')
|
||||||
else:
|
else:
|
||||||
try: utils.run (['qemu-img', 'create', btrootfsimg, btvirtualdisksize])
|
try: utils.run (['qemu-img', 'create', btrootfsimg, btvirtualdisksize])
|
||||||
except:
|
except Exception as e:
|
||||||
raise Exception (f'Creando el disco virtual "{btrootfsimg}" con tamaño maxima "{btvirtualdisksize}" MB : ERROR')
|
raise Exception (f'Creando el disco virtual "{btrootfsimg}" con tamaño maxima "{btvirtualdisksize}" MB : ERROR: {str(e)}')
|
||||||
|
|
||||||
logger.debug ('losetup --find')
|
logger.debug ('losetup --find')
|
||||||
diskloop, _ = utils.run (['losetup', '--find'])
|
diskloop, _ = utils.run (['losetup', '--find'])
|
||||||
|
@ -286,8 +286,8 @@ def copy_og_files (builder, og_shared, og_engine, ogclientmount, osdistrib, osco
|
||||||
os.makedirs (f'{ogclientmount}/usr/local/plugins', exist_ok=True)
|
os.makedirs (f'{ogclientmount}/usr/local/plugins', exist_ok=True)
|
||||||
|
|
||||||
subprocess.run (f'rsync -aH {builder}/includes/* {ogclientmount}/' , shell=True)
|
subprocess.run (f'rsync -aH {builder}/includes/* {ogclientmount}/' , shell=True)
|
||||||
subprocess.run (f'rsync -aH {og_shared}/* {ogclientmount}/opt/opengnsys/' , shell=True)
|
subprocess.run (f'rsync -aH {og_shared}/* {ogclientmount}/opt/opengnsys/' , shell=True)
|
||||||
subprocess.run (f'rsync -aH {og_engine}/* {ogclientmount}/opt/opengnsys/lib/engine/bin/', shell=True)
|
subprocess.run (f'rsync -aH {og_engine}/* {ogclientmount}/opt/opengnsys/lib/engine/bin/', shell=True)
|
||||||
|
|
||||||
if not os.path.exists (f'{ogclientmount}/etc/pci.ids'):
|
if not os.path.exists (f'{ogclientmount}/etc/pci.ids'):
|
||||||
shutil.copy (f'{og_shared}/lib/pci.ids', f'{ogclientmount}/etc/')
|
shutil.copy (f'{og_shared}/lib/pci.ids', f'{ogclientmount}/etc/')
|
||||||
|
@ -446,3 +446,34 @@ def mkisofs (pxepkg, isolinux_tpl, bttargetdir, nameisoclient):
|
||||||
# update-alternatives --set default.plymouth /lib/plymouth/themes/opengnsys/opengnsys.plymouth
|
# update-alternatives --set default.plymouth /lib/plymouth/themes/opengnsys/opengnsys.plymouth
|
||||||
# mkdir -p /etc/initramfs-tools/conf.d
|
# mkdir -p /etc/initramfs-tools/conf.d
|
||||||
# echo "FRAMEBUFFER=y" > /etc/initramfs-tools/conf.d/splash
|
# echo "FRAMEBUFFER=y" > /etc/initramfs-tools/conf.d/splash
|
||||||
|
|
||||||
|
|
||||||
|
############### 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
|
||||||
|
#def 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
|
||||||
|
|
||||||
|
#@brief Desmonta el 2nd FS del cliente desde el Servidor Opengnsys
|
||||||
|
#def 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
|
||||||
|
|
|
@ -1,648 +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/"
|
|
||||||
;;
|
|
||||||
focal) # ogLive 1.2.0-rc1 basado en Ubuntu 20.04 y Kernel 5.4.
|
|
||||||
OSDISTRIB="ubuntu"
|
|
||||||
OSCODENAME="focal"
|
|
||||||
OSRELEASE="5.4.0-42-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
|
|
||||||
|
|
||||||
}
|
|
|
@ -10,12 +10,6 @@ Protocol 2
|
||||||
# HostKeys for protocol version 2
|
# HostKeys for protocol version 2
|
||||||
HostKey /etc/ssh/ssh_host_rsa_key
|
HostKey /etc/ssh/ssh_host_rsa_key
|
||||||
HostKey /etc/ssh/ssh_host_dsa_key
|
HostKey /etc/ssh/ssh_host_dsa_key
|
||||||
#Privilege Separation is turned on for security
|
|
||||||
UsePrivilegeSeparation no
|
|
||||||
|
|
||||||
# Lifetime and size of ephemeral version 1 server key
|
|
||||||
KeyRegenerationInterval 3600
|
|
||||||
ServerKeyBits 768
|
|
||||||
|
|
||||||
# Logging
|
# Logging
|
||||||
SyslogFacility AUTH
|
SyslogFacility AUTH
|
||||||
|
@ -26,14 +20,11 @@ LoginGraceTime 120
|
||||||
PermitRootLogin yes
|
PermitRootLogin yes
|
||||||
StrictModes yes
|
StrictModes yes
|
||||||
|
|
||||||
RSAAuthentication yes
|
|
||||||
PubkeyAuthentication yes
|
PubkeyAuthentication yes
|
||||||
#AuthorizedKeysFile %h/.ssh/authorized_keys
|
#AuthorizedKeysFile %h/.ssh/authorized_keys
|
||||||
|
|
||||||
# Don't read the user's ~/.rhosts and ~/.shosts files
|
# Don't read the user's ~/.rhosts and ~/.shosts files
|
||||||
IgnoreRhosts yes
|
IgnoreRhosts yes
|
||||||
# For this to work you will also need host keys in /etc/ssh_known_hosts
|
|
||||||
RhostsRSAAuthentication no
|
|
||||||
# similar for protocol version 2
|
# similar for protocol version 2
|
||||||
HostbasedAuthentication no
|
HostbasedAuthentication no
|
||||||
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
|
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
|
||||||
|
|
|
@ -58,7 +58,6 @@ def _get_pxepkg():
|
||||||
def _mkrootfs():
|
def _mkrootfs():
|
||||||
logger.info ('Stage 3.1 - create, partition and format the rootfs')
|
logger.info ('Stage 3.1 - create, partition and format the rootfs')
|
||||||
rc = subprocess.run (f'file "{btrootfsimg}" |grep -q "partition 1 *: ID=0x83"', shell=True).returncode
|
rc = subprocess.run (f'file "{btrootfsimg}" |grep -q "partition 1 *: ID=0x83"', shell=True).returncode
|
||||||
print (rc)
|
|
||||||
if (rc): ## 'file|grep' failed
|
if (rc): ## 'file|grep' failed
|
||||||
try: btog.mkrootfs (btrootfsimg, btrootfsimglabel, btrootfsmnt, btvirtualdisksize, bttargetdir, osarch)
|
try: btog.mkrootfs (btrootfsimg, btrootfsimglabel, btrootfsmnt, btvirtualdisksize, bttargetdir, osarch)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|
Loading…
Reference in New Issue