From 31dbe1f5ab095b9ee7c6736b1d2b81d5d51f2941 Mon Sep 17 00:00:00 2001 From: ramon Date: Wed, 27 Feb 2013 15:43:35 +0000 Subject: [PATCH] =?UTF-8?q?#573:=20Incluir=20nuevo=20m=C3=B3dulo=20de=20fr?= =?UTF-8?q?amebuffer=20para=20Kernel=203.7=20y=20nueva=20funci=C3=B3n=20de?= =?UTF-8?q?=20arranque=20para=20establecer=20la=20resoluci=C3=B3n=20de=20p?= =?UTF-8?q?antalla=20del=20cliente=20OpenGnSys.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://opengnsys.es/svn/branches/version1.0@3649 a21b9725-9963-47de-94b9-378ad31fedc9 --- includes/etc/initramfs-tools/modules | 4 +- .../etc/initramfs-tools/scripts/ogfunctions | 40 +++++++++++++++++-- includes/etc/initramfs-tools/scripts/oginit | 10 +++-- 3 files changed, 46 insertions(+), 8 deletions(-) diff --git a/includes/etc/initramfs-tools/modules b/includes/etc/initramfs-tools/modules index 8bac1d4..6e5997b 100644 --- a/includes/etc/initramfs-tools/modules +++ b/includes/etc/initramfs-tools/modules @@ -8,7 +8,9 @@ # # raid1 # sd_mod +# Kernel 3.2 video. vga16b vesafb fbcon - +# Kernel 3.7 video. +uvesafb diff --git a/includes/etc/initramfs-tools/scripts/ogfunctions b/includes/etc/initramfs-tools/scripts/ogfunctions index 5bd4c5d..336a8c5 100644 --- a/includes/etc/initramfs-tools/scripts/ogfunctions +++ b/includes/etc/initramfs-tools/scripts/ogfunctions @@ -1,9 +1,11 @@ +#/** #@file ogfunctions.lib -#@brief Librería o clase para la gestion del sistema operativo de los clientes OpenGnsys +#@brief Librería o clase para la gestion del sistema operativo de los clientes OpenGnSys. #@class client -#@brief Librería o clase para la gestion del sistema operativo de los clientes OpenGnsys -#@version 0.91 +#@version 1.0.5 #@warning License: GNU GPLv3+ +#*/ ## + #/** # ogExportKernelParameters @@ -25,6 +27,38 @@ ogExportKernelParameters () return 0 } + +#/** +# ogChangeVideoResolution +#@brief Cambia la resolución de vídeo utilizando el parámetro "video" del Kernel +# (sustituye al parámetro "vga"). +#@note Formato del parámetro vídeo: video=DRIVER:RESXxRESY-BITS +#@note El valor por defecto es: video=uvesafb:640x480-16 +#@todo Control de errores en el foramto de la variable "video". +#@version 1.0.5 - Primera versión de la función. +#@author Ramón Gómez, ETSII Universidad de Sevilla +#@date 2013/02/18 +#*/ ## +ogChangeVideoResolution () +{ +# Variables locales. +local DRIVER MODE +# Obtener driver y resolución. +DRIVER="$(echo $video|cut -f1 -d:)" +MODE="$(echo $video|cut -f2 -d:)" +case "$DRIVER" in + # Cambiar resolución para driver "uvesafb". + uvesafb) + grep ":$(echo $MODE|cut -f1 -d-)p" /sys/class/graphics/fb0/modes | head -1 > /sys/class/graphics/fb0/mode 2>&1 || MODE="640x480-16" + echo "$(echo $MODE|cut -f2 -d-)" > /sys/class/graphics/fb0/bits_per_pixel 2>&1 + echo "Screen mode: $(cat /sys/class/graphics/fb0/mode),$(cat /sys/class/graphics/fb0/bits_per_pixel)bpp." + ;; + *) echo "Unknown video driver, using default mode." + ;; +esac +} + + #/** # ogExportVarEnvironment #@brief Exporta las variables usadas en el proceso de inicio OpenGnsys y las almacena en /tmp diff --git a/includes/etc/initramfs-tools/scripts/oginit b/includes/etc/initramfs-tools/scripts/oginit index 667d014..6f8a30b 100755 --- a/includes/etc/initramfs-tools/scripts/oginit +++ b/includes/etc/initramfs-tools/scripts/oginit @@ -27,12 +27,12 @@ #@version 1.0.2 - RAMFS: instalación y actualización automatica en cache #@author Antonio J. Doblas Viso. Universidad de Málaga. EVLT. #@date 2011/08/4 +#@version 1.0.5 - Cambiar resolución de pantalla para Kernel con parámetro "video". +#@author Ramón Gómez, ETSII Universidad de Sevilla +#@date 2013/02/18 #*/ - - - # Parameter: Where to mount the filesystem mountroot () { @@ -57,7 +57,9 @@ mountroot () set -a log_success_msg "Checking kernel parameters" ogExportKernelParameters - log_success_msg "Checking Opengnys Environmnet" + # Cambiar resolución de vídeo para kernels que usan el parámetro "video". + [ -n "$video" ] && ogChangeVideoResolution + log_success_msg "Checking OpenGnSys Environmnet" ogExportVarEnvironment [ "$ogdebug" == "true" ] && ogYesNo --timeout 5 --default no "Stop before configure ramfs structure for OG: y/N "