48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/bin/bash
 | |
| # Script de ejemplo para arancar un sistema operativo instalado.
 | |
| # Nota: se usa como base para el programa de arranque de OpenGnsys Admin.
 | |
| 
 | |
| PROG="$(basename $0)"
 | |
| if [ $# -lt 2 -o $# -gt 3 ]; then
 | |
|     ogRaiseError $OG_ERR_FORMAT "Formato: $PROG ndisco nfilesys [str_kernel str_initrd str_kernelparams]"
 | |
|     exit $?
 | |
| fi
 | |
| 
 | |
| # Comprobar errores.
 | |
| PART=$(ogDiskToDev "$1" "$2") || exit $?
 | |
| MNTDIR=$(ogMount $1 $2) || exit $?
 | |
| 
 | |
| echo "[0] Inicio del proceso de arranque."
 | |
| 
 | |
| # Si el equipo está hibernado chequeamos el f.s. y borramos el hiberfile (error cod.6)
 | |
| mount |grep -q "$MNTDIR.*(rw"
 | |
| if [ $? -ne 0 ]; then
 | |
|     ogEcho log session "${MSG_WARNING}: $MSG_MOUNTREADONLY"
 | |
|     ogUnmount $1 $2
 | |
|     ogCheckFs $1 $2
 | |
| 
 | |
|     PART=$(ogDiskToDev "$1" "$2")
 | |
|     mkdir -p $MNTDIR
 | |
|     ntfs-3g -o remove_hiberfile $PART $MNTDIR
 | |
|     ogEcho log session "Particion desbloqueada"
 | |
| 
 | |
|     ogUnmount $1 $2
 | |
|     ogMount $1 $2
 | |
| fi
 | |
| 
 | |
| 
 | |
| if which bootOsCustom  &>/dev/null; then
 | |
|     echo "[10] Configuración personalizada del inicio."
 | |
|     bootOsCustom $@
 | |
| fi
 | |
| 
 | |
| echo "[70] Desmontar todos los sistemas de archivos."
 | |
| sync 
 | |
| for (( i=1; i <= $(ogDiskToDev | wc -w); i++ )); do
 | |
|     ogUnmountAll $i &>/dev/null
 | |
| done
 | |
| echo "[80] Desmontar cache local."
 | |
| ogUnmountCache
 | |
| echo "[90] Arrancar sistema operativo."
 | |
| ogBoot "$@"
 |