refs #1679 add forgotten script bootOs.py, fix a bug
parent
5d0f041759
commit
50248e03ee
12
CHANGELOG.md
12
CHANGELOG.md
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
|
||||
from NetLib import ogGetIpAddress
|
||||
|
||||
ogGetIpAddress()
|
||||
print (ogGetIpAddress())
|
||||
|
|
|
@ -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)
|
Loading…
Reference in New Issue