refs #596 move 02-boottoolsFsOpengnsys to a function, rename functions, reorganise code and config

pull/1/head
Natalia Serrano 2024-08-14 14:57:25 +02:00
parent e6aa11e5b3
commit bd56977510
5 changed files with 142 additions and 194 deletions

View File

@ -1,61 +0,0 @@
#!/usr/bin/python3
import os
import logging
import subprocess
import shutil
import argparse
svnclientdir = '/tmp/opengnsys/oglive_builder'
svnclientstructure = '/tmp/opengnsys/shared'
svnclientengine = '/tmp/opengnsys/engine'
def boottoolsFsOpengnsys (ogclientmount, osdistrib, oscodename, osrelease, osarch, oshttp):
print (':'.join ([osdistrib, oscodename, osrelease, osarch, oshttp]))
print ('Iniciando la personalización con datos del repositorio')
sources_list_in = f'{svnclientdir}/includes/etc/apt/sources.list.{osdistrib.lower()}'
sources_list_out = f'{svnclientdir}/includes/etc/apt/sources.list'
fdin = open (sources_list_in, 'r')
fdout = open (sources_list_out, 'w')
while True:
l = fdin.readline()
if not l: break
fdout.write (l.replace ('OSCODENAME', oscodename))
fdin.close()
fdout.close()
subprocess.run (f'chmod -R 775 {svnclientdir}/includes/usr/bin/*', shell=True)
os.makedirs (f'{ogclientmount}/opt/opengnsys/lib/engine/bin/', exist_ok=True)
os.makedirs (f'{ogclientmount}/usr/local/etc', exist_ok=True)
os.makedirs (f'{ogclientmount}/usr/local/lib', exist_ok=True)
os.makedirs (f'{ogclientmount}/usr/local/plugins', exist_ok=True)
subprocess.run (f'rsync -aH {svnclientdir}/includes/* {ogclientmount}/' , shell=True)
subprocess.run (f'rsync -aH {svnclientstructure}/* {ogclientmount}/opt/opengnsys/' , shell=True)
subprocess.run (f'rsync -aH {svnclientengine}/* {ogclientmount}/opt/opengnsys/lib/engine/bin/', shell=True)
if not os.path.exists (f'{ogclientmount}/etc/pci.ids'):
shutil.copy (f'{svnclientstructure}/lib/pci.ids', f'{ogclientmount}/etc/')
# Dependencias Qt para el Browser.
subprocess.run (f'rsync -aH {svnclientstructure}/etc/*.qmap {ogclientmount}/usr/local/etc', shell=True)
subprocess.run (f'rsync -aH {svnclientstructure}/lib/qtlib/* {ogclientmount}/usr/local/lib', shell=True)
subprocess.run (f'rsync -aH {svnclientstructure}/lib/fonts {ogclientmount}/usr/local/lib', shell=True)
subprocess.run (f'rsync -aH {svnclientstructure}/lib/qtplugins/* {ogclientmount}/usr/local/plugins', shell=True)
# Browser y ogAdmClient.
if os.path.exists (f'{svnclientstructure}/bin/browser'): shutil.copy (f'{svnclientstructure}/bin/browser', f'{ogclientmount}/bin/')
if os.path.exists (f'{svnclientstructure}/bin/ogAdmClient'): shutil.copy (f'{svnclientstructure}/bin/ogAdmClient', f'{ogclientmount}/bin/')
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument ('--mntpt', help='rootfs mount point', action='store', required=True)
parser.add_argument ('--osdistrib', help='OS distribution', action='store', required=True)
parser.add_argument ('--oscodename', help='OS codename', action='store', required=True)
parser.add_argument ('--osrelease', help='OS release', action='store', required=True)
parser.add_argument ('--osarch', help='OS architecture', action='store', required=True)
parser.add_argument ('--oshttp', help='OS HTTP source', action='store', required=True)
args = parser.parse_args()
boottoolsFsOpengnsys (args.mntpt, args.osdistrib, args.oscodename, args.osrelease, args.osarch, args.oshttp)

View File

@ -11,5 +11,5 @@ debconf_settings2 = config['General'].get ('debconf_settings2')
subprocess.run (['debconf-set-selections'], input=debconf_settings2, text=True)
os.environ['DEBIAN_FRONTEND'] = 'noninteractive'
_run (['dpkg-reconfigure', 'console-setup', 'locales'])
## despues de esto, debconf-get-selections devuelve los valores antiguos, no se por que...
_run (['dpkg-reconfigure', '--frontend', 'noninteractive', 'console-setup', 'locales'])

View File

@ -311,6 +311,44 @@ def btogSetFsBase (btrootfsimg, btrootfsmnt, osarch, oscodename, oshttp):
logger.info (f'debootstrap --arch="{osarch}" --components=main,universe "{oscodename}" "{btrootfsmnt}" "{oshttp}" : ok')
return 0
def boottoolsFsOpengnsys (builder, og_shared, og_engine, ogclientmount, osdistrib, oscodename):
print ('Iniciando la personalización con datos del repositorio')
sources_list_in = f'{builder}/includes/etc/apt/sources.list.{osdistrib.lower()}'
sources_list_out = f'{builder}/includes/etc/apt/sources.list'
fdin = open (sources_list_in, 'r')
fdout = open (sources_list_out, 'w')
while True:
l = fdin.readline()
if not l: break
fdout.write (l.replace ('OSCODENAME', oscodename))
fdin.close()
fdout.close()
subprocess.run (f'chmod -R 775 {builder}/includes/usr/bin/*', shell=True)
os.makedirs (f'{ogclientmount}/opt/opengnsys/lib/engine/bin/', exist_ok=True)
os.makedirs (f'{ogclientmount}/usr/local/etc', exist_ok=True)
os.makedirs (f'{ogclientmount}/usr/local/lib', 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 {og_shared}/* {ogclientmount}/opt/opengnsys/' , 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'):
shutil.copy (f'{og_shared}/lib/pci.ids', f'{ogclientmount}/etc/')
# Dependencias Qt para el Browser.
subprocess.run (f'rsync -aH {og_shared}/etc/*.qmap {ogclientmount}/usr/local/etc', shell=True)
subprocess.run (f'rsync -aH {og_shared}/lib/qtlib/* {ogclientmount}/usr/local/lib', shell=True)
subprocess.run (f'rsync -aH {og_shared}/lib/fonts {ogclientmount}/usr/local/lib', shell=True)
subprocess.run (f'rsync -aH {og_shared}/lib/qtplugins/* {ogclientmount}/usr/local/plugins', shell=True)
# Browser y ogAdmClient.
if os.path.exists (f'{og_shared}/bin/browser'): shutil.copy (f'{og_shared}/bin/browser', f'{ogclientmount}/bin/')
if os.path.exists (f'{og_shared}/bin/ogAdmClient'): shutil.copy (f'{og_shared}/bin/ogAdmClient', f'{ogclientmount}/bin/')
def boottoolsSshServer (btrootfsmnt):
if not os.path.exists ('/root/.ssh/id_rsa'): ## crea un par de claves en la VM, no en el chroot
_run (['ssh-keygen', '-q', '-f', '/root/.ssh/id_rsa', '-N', ''])

View File

@ -1,67 +1,3 @@
[Packages]
basic =
dialog man-db fbset gdebi-core bash-static busybox-static locales lshw gawk git python3-openssl python3 php-cli dmidecode rpm sqlite3 os-prober moreutils jq
#console-data # ogLive anterior a Ubuntu 20.04
#subversion # ogLive anterior a Ubuntu 18.04
#php5-cli # ogLive anterior a Ubuntu 16.04
#realpath # ogLive hasta Ubuntu 16.04
#zypper # PROBAR
cloning = fsarchiver pv
#pxe-kexec # ubuntu noble: Unable to locate package
mbuffer parted gdisk chntpw clonezilla registry-tools reglookup libparse-win32registry-perl libwin-hivex-perl grokevt libhivex0 libhivex-bin rsync
compile =
build-essential libattr1 libattr1-dev uuid-dev attr make m4 gettext libmhash-dev
#libattr* # Satura el tamaño del archivo en Ubuntu 15.04
compressor = lzma zip unzip gzip lzop pigz pbzip2 lbzip2 rzip p7zip-full
filesystem_local =
squashfs-tools unionfs-fuse ntfs-3g dosfstools fatresize
#exfat-utils # ubuntu noble: has no installation candidate
dmraid dmsetup lvm2 e2fsprogs
jfsutils reiserfsprogs reiser4progs xfsprogs mhddfs hfsplus hfsprogs hfsutils nilfs-tools vmfs-tools
btrfs-progs # ogLive a partir de Ubuntu 20.04
zfsutils-linux # ogLive a partir de Ubuntu 16.04
android-tools-adb # ogLive a partir de Ubuntu 16.04
android-tools-fastboot # ogLive a partir de Ubuntu 16.04
f2fs-tools
#drbl-ntfsprogs # Eliminado
#ntfs-config # ogLive anterior a Ubuntu 20.04
#btrfs-tools # ogLive anterior a Ubuntu 20.04
#ufsutils # ogLive anterior a Ubuntu 14.04
#zfsutils # ogLive anterior a Ubuntu 16.04
#android-tools-fsutils # ogLive entre Ubuntu 16.04 y Ubuntu 20.04
filesystem_remote =
sshfs cifs-utils smbclient open-iscsi openssh-server
#nfs-common # Provoca error de instalación en Ubuntu 15.04
#bittornado # ogLive anterior a Ubuntu 20.04
monitoring = htop ncdu bwbar bmon iftop ifstat dstat hdparm sdparm blktool testdisk
networking = netpipes curl wget tftp-hpa dnsutils
#trickle # ubuntu noble: has no installation candidate
lighttpd ethtool ssmping tcpdump nmap arping ntpdate ctorrent udpcast #iptraf
testing =
screen schroot xmlstarlet
efibootmgr efitools refind grub-efi-amd64-bin grub-efi-ia32-bin grub-pc-bin ## UEFI
#libxss1 python-prctl python-six python-requests ## OGAgent
##############
fusioninventory-agent nvme-cli disktype laptop-detect
#discover casper lupin-casper xinit obconf xserver-xorg x11-xserver-utils xterm network-manager-gnome plymouth-x11 plymouth-label plymouth-theme-ubuntu-logo pcmanfm chromium-browser gtk-theme-switch gtk2-engines murrine-themes
####################################3
#gnome-icon-theme gnome-brave-icon-theme dmz-cursor-theme python-wnck python-xlib python-pyinotify python-alsaaudio python-vte maximus gpicview leafpad lxappearance lxmenu-data lxrandr lxterminal nitrogen ttf-ubuntu-font-family time synaptic libglib-perl libgtk2-perl libxml-simple-perl smartmontools gnome-disk-utility policykit-1-gnome policykit-desktop-privileges baobab lshw-gtk usb-creator-gtk wodim curlftpfs libnotify-bin cryptsetup system-config-lvm
xwindows =
v86d # VESA Kernel 3.7+
#xorg-dev xorg lxde #+300M
#roxterm gparted #+80M
#openbox midori #xvesa en compilacion
[General]
logging_level = INFO
@ -130,3 +66,67 @@ isolinux_template =
MENU LABEL pxe
KERNEL /clonezilla/live/vmlinuz1
APPEND initrd=/clonezilla/live/initrd1.img boot=live union=aufs noswap vga=788 ip=frommedia
[Packages]
basic =
dialog man-db fbset gdebi-core bash-static busybox-static locales lshw gawk git python3-openssl python3 php-cli dmidecode rpm sqlite3 os-prober moreutils jq
#console-data # ogLive anterior a Ubuntu 20.04
#subversion # ogLive anterior a Ubuntu 18.04
#php5-cli # ogLive anterior a Ubuntu 16.04
#realpath # ogLive hasta Ubuntu 16.04
#zypper # PROBAR
cloning = fsarchiver pv
#pxe-kexec # ubuntu noble: Unable to locate package
mbuffer parted gdisk chntpw clonezilla registry-tools reglookup libparse-win32registry-perl libwin-hivex-perl grokevt libhivex0 libhivex-bin rsync
compile =
build-essential libattr1 libattr1-dev uuid-dev attr make m4 gettext libmhash-dev
#libattr* # Satura el tamaño del archivo en Ubuntu 15.04
compressor = lzma zip unzip gzip lzop pigz pbzip2 lbzip2 rzip p7zip-full
filesystem_local =
squashfs-tools unionfs-fuse ntfs-3g dosfstools fatresize
#exfat-utils # ubuntu noble: has no installation candidate
dmraid dmsetup lvm2 e2fsprogs
jfsutils reiserfsprogs reiser4progs xfsprogs mhddfs hfsplus hfsprogs hfsutils nilfs-tools vmfs-tools
btrfs-progs # ogLive a partir de Ubuntu 20.04
zfsutils-linux # ogLive a partir de Ubuntu 16.04
android-tools-adb # ogLive a partir de Ubuntu 16.04
android-tools-fastboot # ogLive a partir de Ubuntu 16.04
f2fs-tools
#drbl-ntfsprogs # Eliminado
#ntfs-config # ogLive anterior a Ubuntu 20.04
#btrfs-tools # ogLive anterior a Ubuntu 20.04
#ufsutils # ogLive anterior a Ubuntu 14.04
#zfsutils # ogLive anterior a Ubuntu 16.04
#android-tools-fsutils # ogLive entre Ubuntu 16.04 y Ubuntu 20.04
filesystem_remote =
sshfs cifs-utils smbclient open-iscsi openssh-server
#nfs-common # Provoca error de instalación en Ubuntu 15.04
#bittornado # ogLive anterior a Ubuntu 20.04
monitoring = htop ncdu bwbar bmon iftop ifstat dstat hdparm sdparm blktool testdisk
networking = netpipes curl wget tftp-hpa dnsutils
#trickle # ubuntu noble: has no installation candidate
lighttpd ethtool ssmping tcpdump nmap arping ntpdate ctorrent udpcast #iptraf
testing =
screen schroot xmlstarlet
efibootmgr efitools refind grub-efi-amd64-bin grub-efi-ia32-bin grub-pc-bin ## UEFI
#libxss1 python-prctl python-six python-requests ## OGAgent
##############
fusioninventory-agent nvme-cli disktype laptop-detect
#discover casper lupin-casper xinit obconf xserver-xorg x11-xserver-utils xterm network-manager-gnome plymouth-x11 plymouth-label plymouth-theme-ubuntu-logo pcmanfm chromium-browser gtk-theme-switch gtk2-engines murrine-themes
####################################3
#gnome-icon-theme gnome-brave-icon-theme dmz-cursor-theme python-wnck python-xlib python-pyinotify python-alsaaudio python-vte maximus gpicview leafpad lxappearance lxmenu-data lxrandr lxterminal nitrogen ttf-ubuntu-font-family time synaptic libglib-perl libgtk2-perl libxml-simple-perl smartmontools gnome-disk-utility policykit-1-gnome policykit-desktop-privileges baobab lshw-gtk usb-creator-gtk wodim curlftpfs libnotify-bin cryptsetup system-config-lvm
xwindows =
v86d # VESA Kernel 3.7+
#xorg-dev xorg lxde #+300M
#roxterm gparted #+80M
#openbox midori #xvesa en compilacion

View File

@ -10,7 +10,7 @@ import shutil
curdir = os.path.dirname (__file__)
sys.path.insert (0, curdir)
from boottoolsfunctions import _run, _mount, _umount, _read_config, btogGetOsInfo1, btogGetOsInfo2, btogGetVar, btogSetFsVirtual, btogSetFsAccess, btogSetFsBase, boottoolsSshServer, boottoolsSshClient, btogFsInitrd, btogFsSqfs, btogIsoGenerator
from boottoolsfunctions import _run, _mount, _umount, _read_config, btogGetOsInfo1, btogGetOsInfo2, btogGetVar, btogSetFsVirtual, btogSetFsAccess, btogSetFsBase, boottoolsFsOpengnsys, boottoolsSshServer, boottoolsSshClient, btogFsInitrd, btogFsSqfs, btogIsoGenerator
def _logging():
#logging.root.handlers = []
@ -36,7 +36,10 @@ def clone_client_dirs (ogrepo_url, ogrepo_branch, ogrepo_dir):
def _mount_rootfs():
global btrootfsimg, btrootfsmnt
_mount (btrootfsimg, btrootfsmnt, opts=['-o', 'loop,offset=32256'])
try: _mount (btrootfsimg, btrootfsmnt, opts=['-o', 'loop,offset=32256'])
except:
logger.error ('mount failed')
sys.exit (1)
def _get_pxepkg():
#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
@ -77,10 +80,7 @@ def _debootstrap():
cp = subprocess.run (['schroot', '--chroot', 'IMGogclient', '--', 'stat', '/etc'])
if (cp.returncode):
logger.debug (f'schroot returned code "{cp.returncode}", calling btogSetFsBase()')
try: _mount_rootfs()
except:
logger.error ('mount failed')
sys.exit (1)
_mount_rootfs()
try: btogSetFsBase (btrootfsimg, btrootfsmnt, osarch, oscodename, oshttp)
except Exception as e:
logger.error (str (e))
@ -92,83 +92,61 @@ def _initramfs_version (gitrelease, osrelease, btdir):
#sed -i "1 s/$/ $GITRELEASE ($OSRELEASE)/" ${BTDIR}/includes/etc/initramfs-tools/scripts/VERSION.txt
_run (['sed', '-i', f'1 s/$/ {gitrelease} ({osrelease})/', f'{btdir}/includes/etc/initramfs-tools/scripts/VERSION.txt'])
def _cerodos():
try: _mount_rootfs()
except:
logger.error ('mount failed')
sys.exit (1)
logger.debug (f'running \'{curdir}/02-boottoolsFsOpengnsys.py --mntpt "{btrootfsmnt}" --osdistrib "{osdistrib}" --oscodename "{oscodename}" --osrelease "{osrelease}" --osarch "{osarch}" --oshttp "{oshttp}"\'')
stdout, _ = _run ([f'{curdir}/02-boottoolsFsOpengnsys.py', '--mntpt', btrootfsmnt, '--osdistrib', osdistrib, '--oscodename', oscodename, '--osrelease', osrelease, '--osarch', osarch, '--oshttp', oshttp])
logger.debug (f'02-boottoolsFsOpengnsys stdout follows:')
for i in stdout.strip().split('\n'): logger.debug (' ' + i)
def _copy_files (btrootfsmnt, osdistrib, oscodename):
_mount_rootfs()
builder = '/tmp/opengnsys/oglive_builder'
og_shared = '/tmp/opengnsys/shared'
og_engine = '/tmp/opengnsys/engine'
boottoolsFsOpengnsys (builder, og_shared, og_engine, btrootfsmnt, osdistrib, oscodename)
_umount (btrootfsmnt)
def _chroot_cerotres():
def _install_compile_software (curdir, osrelease, osarch):
logger.info ('Fase 5.1 instalar paquetes deb con apt-get')
logger.debug (f'running \'schroot --chroot IMGogclient -- {curdir}/03-boottoolsSoftwareInstall.py --osrelease "{osrelease}" --osarch "{osarch}"\'')
stdout, _ = _run (['schroot', '--chroot', 'IMGogclient', '--', f'{curdir}/03-boottoolsSoftwareInstall.py', '--osrelease', osrelease, '--osarch', osarch])
logger.debug (f'03-boottoolsSoftwareInstall stdout follows:')
for i in stdout.strip().split('\n'): logger.debug (' ' + i)
def _chroot_cerocuatro():
logger.info ('Fase 5.2 compilar software.')
logger.debug ('running \'schroot --chroot IMGogclient -- {}/04-boottoolsSoftwareCompile.py\'')
#cd /
logger.debug (f'running \'schroot --chroot IMGogclient -- {curdir}/04-boottoolsSoftwareCompile.py\'')
stdout, _ = _run (['schroot', '--chroot', 'IMGogclient', '--', f'{curdir}/04-boottoolsSoftwareCompile.py'])
#cd -
logger.debug (f'04-boottoolsSoftwareCompile stdout follows:')
for i in stdout.strip().split('\n'): logger.debug (' ' + i)
def _ssh_stuff():
logger.info ('Fase 6.1 Configurar ssh')
try: _mount_rootfs()
except:
logger.error ('mount failed')
sys.exit (1)
#cd /
#schroot --chroot IMGogclient -- /usr/bin/boot-tools/boottoolsSshServer.sh ## no necesita chroot
boottoolsSshServer (btrootfsmnt)
#cd -
#schroot --chroot IMGogclient -- /usr/bin/boot-tools/boottoolsSshClient.sh ## no necesita chroot
boottoolsSshClient (btrootfsmnt)
_umount (btrootfsmnt)
## el resultado es:
## - hay un nuevo par de claves en la VM /root/.ssh
## - hay otro nuevo par de claves en el rootfs /var/lib/tftpboot/ogclient/ogclientmount/root/.ssh
## - las dos claves públicas (una de cada par) están autorizadan en el rootfs /var/lib/tftpboot/ogclient/ogclientmount/root/.ssh/authorized_keys
def _chroot_cerocinco():
logger.info ('Fase 6.2 Configurar las locales')
def _debconf2 (curdir):
logger.info ('Fase 6.1 Configurar las locales')
logger.debug (f'running \'schroot --chroot IMGogclient -- {curdir}/05-boottoolsFsLocales.py\'')
stdout, _ = _run (['schroot', '--chroot', 'IMGogclient', '--', f'{curdir}/05-boottoolsFsLocales.py'])
logger.debug (f'05-boottoolsFsLocales stdout follows:')
for i in stdout.strip().split('\n'): logger.debug (' ' + i)
def _chroot_ceroseis():
logger.info ('Fase 6.3 Crear initrd') ## what??
#cd /
#schroot -c IMGogclient -- /usr/bin/boot-tools/boottoolsInitrdGenerate.sh
logger.info ('Fase 6.3 Crear initrd')
logger.debug (f'running \'schroot --chroot IMGogclient -- {curdir}/06-boottoolsInitrdGenerate.py --osrelease "{osrelease}"\'')
stdout, _ = _run (['schroot', '--chroot', 'IMGogclient', '--', f'{curdir}/06-boottoolsInitrdGenerate.py', '--osrelease', osrelease])
logger.debug (f'06-boottoolsInitrdGenerate stdout follows:')
for i in stdout.strip().split('\n'): logger.debug (' ' + i)
## esto deja initrd.img-6.8.0-31-generic y vmlinuz-6.8.0-31-generic en /tmp
def _mkinitrd (bttargetdir, osrelease):
logger.info ('Fase 7.1 Generar el initrd') ## what??
def _ssh_stuff():
logger.info ('Fase 6.2 Configurar ssh')
_mount_rootfs()
boottoolsSshServer (btrootfsmnt)
boottoolsSshClient (btrootfsmnt)
_umount (btrootfsmnt)
## el resultado es:
## - hay un nuevo par de claves en la VM /root/.ssh
## - hay otro nuevo par de claves en el rootfs /var/lib/tftpboot/ogclient/ogclientmount/root/.ssh
## - las dos claves públicas (una de cada par) están autorizadan en el rootfs /var/lib/tftpboot/ogclient/ogclientmount/root/.ssh/authorized_keys
def _mkinitrd_squashfs_isofs (bttargetdir, osrelease, btrootfsmnt, pxepkg, isolinux_tpl nameisoclient):
logger.info ('Fase 7.1 Copiar el initrd a su sitio')
_mount_rootfs()
btogFsInitrd (bttargetdir, osrelease)
def _mksquashfs (bttargetdir, btrootfsmnt):
logger.info ('Fase 7.2 Generar fichero sqfs a partir del fichero img')
btogFsSqfs (bttargetdir, btrootfsmnt)
_umount (btrootfsmnt)
def _mkisofs (pxepkg, isolinux_tpl, bttargetdir, nameisoclient):
logger.info ('Fase 7.3 Generar la ISO')
btogIsoGenerator (pxepkg, isolinux_tpl, bttargetdir, nameisoclient)
@ -200,6 +178,8 @@ osdistrib, oscodename, osrelease, osarch, oshttp = btogGetOsInfo1(type_client)
btdir, bttargetdir, btrootfsimg, btrootfsmnt, btrootfsimglabel, log_file, versionboottools, btvirtualdisksize = btogGetVar(osarch)
gitrelease, nameisoclient, namehostclient = btogGetOsInfo2(ogrepo_dir, versionboottools, oscodename, osrelease, osarch)
logger.info (':'.join ([osdistrib, oscodename, osrelease, osarch, oshttp]))
## this is convenient in case the previous run failed and we want to run this program again
try: _umount (btrootfsmnt)
except: pass
@ -215,25 +195,16 @@ _debootstrap()
logger.info ('FASE 4 - Incorporando ficheros OpenGnsys al sistema raíz rootfs')
_initramfs_version (gitrelease, osrelease, btdir)
_cerodos()
_copy_files (btrootfsmnt, osdistrib, oscodename, osrelease, osarch, oshttp)
logger.info ('FASE 5 - Instalar software')
_chroot_cerotres()
_chroot_cerocuatro()
_install_compile_software (curdir, osrelease, osarch)
logger.info ('FASE 6 - Personalizar el sistema creado')
_debconf2 (curdir)
_ssh_stuff()
_chroot_cerocinco()
_chroot_ceroseis()
logger.info ('FASE 7 - Generar distribucion')
_mkinitrd (bttargetdir, osrelease)
try: _mount_rootfs()
except:
logger.error ('mount failed')
sys.exit (1)
_mksquashfs (bttargetdir, btrootfsmnt)
_umount (btrootfsmnt)
_mkisofs (pxepkg, isolinux_tpl, bttargetdir, nameisoclient)
_mkinitrd_squashfs_isofs (bttargetdir, osrelease, btrootfsmnt, pxepkg, isolinux_tpl nameisoclient)
logger.info ('OpenGnsys installation finished')