refs #1679 add forgotten script bootOs.py, fix a bug

thin-wrappers
Natalia Serrano 2025-03-20 09:58:47 +01:00
parent 5d0f041759
commit 50248e03ee
4 changed files with 66 additions and 7 deletions

View File

@ -1,12 +1,14 @@
# Changelog
# Changelog
## [0.1.1] - 2025-02-28
## [0.1.1] - 2025-03-19
### Changed - 2025-03-19
### Added
- Missing functions in BootLib
- Some interfaceAdm python scripts
## [0.1.0] - 2025-02-28
### Addded
### Added
- Merge pull request 'Include all client files, build debian package' (#2) from deb-package into main

View File

@ -94,7 +94,6 @@ awk_script = r'''{ n=split($0,sep,";");
}
}
'''
print (f'nati awk_script ({awk_script})')
subprocess.run (['awk', awk_script, cfgfile])
# Borramos marcas de arranque de Windows

View File

@ -2,4 +2,4 @@
from NetLib import ogGetIpAddress
ogGetIpAddress()
print (ogGetIpAddress())

View File

@ -0,0 +1,58 @@
#!/usr/bin/python3
# Script de ejemplo para arancar un sistema operativo instalado.
# Nota: se usa como base para el programa de arranque de OpenGnsys Admin.
import sys
import re
import subprocess
import shutil
import ogGlobals
from SystemLib import ogRaiseError, ogEcho
from DiskLib import ogDiskToDev
from FileSystemLib import ogMount, ogUnmount, ogCheckFs, ogUnmountAll
from CacheLib import ogUnmountCache
from BootLib import ogBoot
prog = sys.argv[0]
if len (sys.argv) < 3 or len (sys.argv) > 4:
ogRaiseError ([], ogGlobals.OG_ERR_FORMAT, f'Formato: {prog} ndisco nfilesys [str_kernel str_initrd str_kernelparams]')
sys.exit (1)
disk, par, *other = sys.argv[1:]
params = other[0] if len (other) > 0 else ''
# Comprobar errores.
part = ogDiskToDev (disk, par)
if not part: sys.exit (1)
mntdir = ogMount (disk, par)
if not mntdir: sys.exit (1)
print ('[0] Inicio del proceso de arranque.')
# Si el equipo está hibernado chequeamos el f.s. y borramos el hiberfile (error cod.6)
mount_out = subprocess.run (['mount'], capture_output=True, text=True).stdout
if not mount_out or not re.search (rf'{mntdir}.*\(rw', mount_out):
ogEcho (['log', 'session'], None, f'{ogGlobals.lang.MSG_WARNING}: {ogGlobals.lang.MSG_MOUNTREADONLY}')
ogUnmount (disk, par)
ogCheckFs (disk, par)
part = ogDiskToDev (disk, par)
os.makedirs (mntdir, exist_ok=True)
subprocess.run (['ntfs-3g', '-o', 'remove_hiberfile', part, mntdir])
ogEcho (['log', 'session'], None, 'Particion desbloqueada')
ogUnmount (disk, par)
ogMount (disk, par)
if shutil.which ('bootOsCustom.py'):
print ('[10] Configuración personalizada del inicio.')
subprocess.run ([f'{ogGlobals.OGSCRIPTS}/bootOsCustom.py'])
print ('[70] Desmontar todos los sistemas de archivos.')
subprocess.run (['sync'])
for i in range (1, 1+len(ogDiskToDev())):
ogUnmountAll (i)
print ('[80] Desmontar cache local.')
ogUnmountCache()
print (f'[90] Arrancar sistema operativo.')
ogBoot (disk, par, params=params)