48 lines
1.2 KiB
Bash
48 lines
1.2 KiB
Bash
#!/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 "$@"
|