refs #596 add some forgotten changes
parent
ec2ab82eb1
commit
2729431ad1
|
@ -16,10 +16,10 @@ logger = logging.getLogger ('boottools')
|
||||||
|
|
||||||
if not os.path.exists ('/tmp/opengnsys_installer/opengnsys/client/engine'):
|
if not os.path.exists ('/tmp/opengnsys_installer/opengnsys/client/engine'):
|
||||||
branch = 'main'
|
branch = 'main'
|
||||||
tmpdir = subprocess.run (['mktemp', '--tmpdir', '--directory', 'oggit.XXXXXX'], capture_output=True).stdout.decode ('utf-8').strip()
|
tmpdir = subprocess.run (['mktemp', '--tmpdir', '--directory', 'oggit.XXXXXX']).stdout.decode ('utf-8').strip()
|
||||||
subprocess.run (['git', 'clone', '-c', 'http.sslVerify=false', '--branch', branch, 'https://ognproject.evlt.uma.es/gitea/opengnsys/opengnsys.git', tmpdir])
|
_run (['git', 'clone', '-c', 'http.sslVerify=false', '--branch', branch, 'https://ognproject.evlt.uma.es/gitea/opengnsys/opengnsys.git', tmpdir])
|
||||||
subprocess.run (['rsync', '-aH', '{}/client/engine'.format(tmpdir), '{}/client/shared'.format(tmpdir), '/tmp/opengnsys_installer/opengnsys/client/'])
|
_run (['rsync', '-aH', '{}/client/engine'.format(tmpdir), '{}/client/shared'.format(tmpdir), '/tmp/opengnsys_installer/opengnsys/client/'])
|
||||||
subprocess.run (['rm', '-rf', tmpdir])
|
_run (['rm', '-rf', tmpdir])
|
||||||
|
|
||||||
type_client = sys.argv[1] if len(sys.argv)>1 else 'host'
|
type_client = sys.argv[1] if len(sys.argv)>1 else 'host'
|
||||||
#WORKDIR = '/tmp/opengnsys_installer'
|
#WORKDIR = '/tmp/opengnsys_installer'
|
||||||
|
@ -49,9 +49,9 @@ logger.info ('OpenGnsys CLIENT installation begins')
|
||||||
##########################################################################
|
##########################################################################
|
||||||
logger.info ('FASE 2 - Instalación de software adicional.')
|
logger.info ('FASE 2 - Instalación de software adicional.')
|
||||||
#grep "http://free.nchc.org.tw/drbl-core" /etc/apt/sources.list || echo "deb http://free.nchc.org.tw/drbl-core drbl stable" >> /etc/apt/sources.list
|
#grep "http://free.nchc.org.tw/drbl-core" /etc/apt/sources.list || echo "deb http://free.nchc.org.tw/drbl-core drbl stable" >> /etc/apt/sources.list
|
||||||
subprocess.run (['apt-get', 'update']) #>>/tmp/fase2.out
|
_run (['apt-get', 'update']) #>>/tmp/fase2.out
|
||||||
acse_gpxe = subprocess.run (['apt-cache', 'search', 'gpxe'], capture_output=True).stdout.decode ('utf-8').strip()
|
acse_gpxe, _ = _run (['apt-cache', 'search', 'gpxe'])
|
||||||
acse_ipxe = subprocess.run (['apt-cache', 'search', 'ipxe'], capture_output=True).stdout.decode ('utf-8').strip()
|
acse_ipxe, _ = _run (['apt-cache', 'search', 'ipxe'])
|
||||||
if acse_ipxe:
|
if acse_ipxe:
|
||||||
pxepkg = 'ipxe'
|
pxepkg = 'ipxe'
|
||||||
elif acse_gpxe:
|
elif acse_gpxe:
|
||||||
|
@ -61,8 +61,7 @@ else:
|
||||||
os._exit (1)
|
os._exit (1)
|
||||||
logger.info ('PXE package is "{}"'.format (pxepkg))
|
logger.info ('PXE package is "{}"'.format (pxepkg))
|
||||||
## TODO qemu no existe, hace falta?
|
## TODO qemu no existe, hace falta?
|
||||||
subprocess.run (['apt-get', '-y', 'update'])
|
_run (['apt-get', '-y', 'install', 'jq', 'syslinux', 'syslinux-efi', 'syslinux-utils', 'debootstrap', 'subversion', 'schroot', 'squashfs-tools', 'syslinux', 'genisoimage', 'qemu-utils', 'lsof', pxepkg]) #>>/tmp/fase2.out
|
||||||
subprocess.run (['apt-get', '-y', 'install', 'jq', 'syslinux', 'syslinux-efi', 'syslinux-utils', 'debootstrap', 'subversion', 'schroot', 'squashfs-tools', 'syslinux', 'genisoimage', 'qemu-utils', 'lsof', pxepkg]) #>>/tmp/fase2.out
|
|
||||||
|
|
||||||
|
|
||||||
###################################################################3
|
###################################################################3
|
||||||
|
@ -100,16 +99,13 @@ if (cp.returncode):
|
||||||
os._exit (3)
|
os._exit (3)
|
||||||
#echo ================= nati after fase 3; ls -la /opt/opengnsys/tftpboot/ogclient/
|
#echo ================= nati after fase 3; ls -la /opt/opengnsys/tftpboot/ogclient/
|
||||||
|
|
||||||
if (_is_mounted (btrootfsmnt)):
|
|
||||||
subprocess.run (['umount', btrootfsmnt])
|
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
logger.info ('FASE 4 - Incorporando ficheros OpenGnsys al sistema raíz rootfs')
|
logger.info ('FASE 4 - Incorporando ficheros OpenGnsys al sistema raíz rootfs')
|
||||||
|
|
||||||
## por qué esta copia???
|
## por qué esta copia???
|
||||||
|
|
||||||
#cp -a ${BTDIR}/includes/usr/bin/* /tmp >>/tmp/fase5.out
|
#cp -a ${BTDIR}/includes/usr/bin/* /tmp >>/tmp/fase5.out
|
||||||
#subprocess.run (['cp', '-a'] + glob.glob ('{}/includes/usr/bin/*'.format (btdir)) + ['/tmp'])
|
#_run (['cp', '-a'] + glob.glob ('{}/includes/usr/bin/*'.format (btdir)) + ['/tmp'])
|
||||||
|
|
||||||
#chmod +x /tmp/boot-tools/*.sh
|
#chmod +x /tmp/boot-tools/*.sh
|
||||||
#for i in glob.glob ('/tmp/boot-tools/*.sh'):
|
#for i in glob.glob ('/tmp/boot-tools/*.sh'):
|
||||||
|
@ -119,24 +115,32 @@ logger.info ('FASE 4 - Incorporando ficheros OpenGnsys al sistema raíz rootfs')
|
||||||
# Incluir revisión.
|
# Incluir revisión.
|
||||||
## FIXME esto la incluye incondicionalmente, y luego terminamos con "OpenGnsys Client 1.2.0-rc1 gitrelease (osrelease) gitrelease (osrelease) gitrelease (osrelease) gitrelease (osrelease) gitrelease (osrelease) gitrelease (osrelease) ..."
|
## FIXME esto la incluye incondicionalmente, y luego terminamos con "OpenGnsys Client 1.2.0-rc1 gitrelease (osrelease) gitrelease (osrelease) gitrelease (osrelease) gitrelease (osrelease) gitrelease (osrelease) gitrelease (osrelease) ..."
|
||||||
#sed -i "1 s/$/ $GITRELEASE ($OSRELEASE)/" ${BTDIR}/includes/etc/initramfs-tools/scripts/VERSION.txt
|
#sed -i "1 s/$/ $GITRELEASE ($OSRELEASE)/" ${BTDIR}/includes/etc/initramfs-tools/scripts/VERSION.txt
|
||||||
subprocess.run (['sed', '-i', '1 s/$/ {} ({})/'.format (gitrelease, osrelease), '{}/includes/etc/initramfs-tools/scripts/VERSION.txt'.format (btdir)])
|
_run (['sed', '-i', '1 s/$/ {} ({})/'.format (gitrelease, osrelease), '{}/includes/etc/initramfs-tools/scripts/VERSION.txt'.format (btdir)])
|
||||||
|
|
||||||
# En Ubuntu 13.04+ es necesario matar proceso de "udev" antes de desmontar.
|
# En Ubuntu 13.04+ es necesario matar proceso de "udev" antes de desmontar.
|
||||||
#umount $BTROOTFSMNT 2>/dev/null || (kill -9 $(lsof -t $BTROOTFSMNT); umount $BTROOTFSMNT) 2>/dev/null
|
#umount $BTROOTFSMNT 2>/dev/null || (kill -9 $(lsof -t $BTROOTFSMNT); umount $BTROOTFSMNT) 2>/dev/null
|
||||||
|
|
||||||
|
if (not _is_mounted (btrootfsmnt)):
|
||||||
|
try: _run (['mount', btrootfsimg, btrootfsmnt, '-o', 'loop,offset=32256'])
|
||||||
|
except:
|
||||||
|
logger.error ('mount failed')
|
||||||
|
os._exit (3)
|
||||||
|
|
||||||
logger.debug ('running \'{}/02-boottoolsFsOpengnsys.py --mntpt "{}" --osdistrib "{}" --oscodename "{}" --osrelease "{}" --osarch "{}" --oshttp "{}"\''.format (curdir, btrootfsmnt, osdistrib, oscodename, osrelease, osarch, oshttp))
|
logger.debug ('running \'{}/02-boottoolsFsOpengnsys.py --mntpt "{}" --osdistrib "{}" --oscodename "{}" --osrelease "{}" --osarch "{}" --oshttp "{}"\''.format (curdir, btrootfsmnt, osdistrib, oscodename, osrelease, osarch, oshttp))
|
||||||
cp = subprocess.run (['{}/02-boottoolsFsOpengnsys.py'.format (curdir), '--mntpt', btrootfsmnt, '--osdistrib', osdistrib, '--oscodename', oscodename, '--osrelease', osrelease, '--osarch', osarch, '--oshttp', oshttp], capture_output=True)
|
stdout, _ = _run (['{}/02-boottoolsFsOpengnsys.py'.format (curdir), '--mntpt', btrootfsmnt, '--osdistrib', osdistrib, '--oscodename', oscodename, '--osrelease', osrelease, '--osarch', osarch, '--oshttp', oshttp])
|
||||||
logger.debug ('02-boottoolsFsOpengnsys stdout follows: {}'.format (cp.stdout.decode ('utf-8')))
|
logger.debug ('02-boottoolsFsOpengnsys stdout follows: {}'.format (stdout))
|
||||||
## /tmp/02.py --osdistrib ubuntu --oscodename focal --osrelease 5.4.0-42-generic --osarch amd64 --oshttp http://es.archive.ubuntu.com/ubuntu/
|
## /tmp/02.py --osdistrib ubuntu --oscodename focal --osrelease 5.4.0-42-generic --osarch amd64 --oshttp http://es.archive.ubuntu.com/ubuntu/
|
||||||
## /tmp/opengnsys_installer/opengnsys/client/./boot-tools/02-boottoolsFsOpengnsys.py --mntpt "/var/lib/tftpboot/ogclient/ogclientmount" --osdistrib "Ubuntu" --oscodename "noble" --osrelease "6.8.0-39-generic" --osarch "amd64" --oshttp "http://es.archive.ubuntu.com/ubuntu/"
|
## /tmp/opengnsys_installer/opengnsys/client/./boot-tools/02-boottoolsFsOpengnsys.py --mntpt "/var/lib/tftpboot/ogclient/ogclientmount" --osdistrib "Ubuntu" --oscodename "noble" --osrelease "6.8.0-39-generic" --osarch "amd64" --oshttp "http://es.archive.ubuntu.com/ubuntu/"
|
||||||
|
|
||||||
|
_run (['umount', btrootfsmnt])
|
||||||
|
|
||||||
|
|
||||||
############################################################################################
|
############################################################################################
|
||||||
logger.info ('FASE 5 - Instalar software')
|
logger.info ('FASE 5 - Instalar software')
|
||||||
logger.info ('Fase 5.1 instalar paquetes deb con apt-get')
|
logger.info ('Fase 5.1 instalar paquetes deb con apt-get')
|
||||||
logger.debug ('running \'schroot --chroot IMGogclient -- {}/03-boottoolsSoftwareInstall.py --osrelease "{}" --osarch "{}"\''.format (curdir, osrelease, osarch))
|
logger.debug ('running \'schroot --chroot IMGogclient -- {}/03-boottoolsSoftwareInstall.py --osrelease "{}" --osarch "{}"\''.format (curdir, osrelease, osarch))
|
||||||
cp = subprocess.run (['schroot', '--chroot', 'IMGogclient', '--', '{}/03-boottoolsSoftwareInstall.py'.format (curdir), '--osrelease', osrelease, '--osarch', osarch])
|
stdout, _ = _run (['schroot', '--chroot', 'IMGogclient', '--', '{}/03-boottoolsSoftwareInstall.py'.format (curdir), '--osrelease', osrelease, '--osarch', osarch])
|
||||||
logger.debug ('03-boottoolsSoftwareInstall stdout follows: {}'.format (cp.stdout.decode ('utf-8')))
|
logger.debug ('03-boottoolsSoftwareInstall stdout follows: {}'.format (stdout))
|
||||||
|
|
||||||
"""
|
"""
|
||||||
schroot --chroot IMGogclient -- /usr/bin/boot-tools/boottoolsSoftwareInstall.sh >>/tmp/fase5.out
|
schroot --chroot IMGogclient -- /usr/bin/boot-tools/boottoolsSoftwareInstall.sh >>/tmp/fase5.out
|
||||||
|
|
Loading…
Reference in New Issue