[[TranslatedPages]] [[TOC(Heading=Índice)]] El instalador de !OpenGnsys, se encarga de descargar y ubicar los elementos del sistema operativo pxe -OGlive- para los clientes !OpenGnsys, el cual incluye todas las herramientas necesarias para operar con el engine de !OpenGnsys. * Desde la version 1.0.2 de !OpenGnsys el formato de distribución del OGlive es ISO * La iso, se dejará disponible, para ser utilizada desde un live CD o almacenarlo en un dispositivo usb en /opt/opengsys/lib === ISO a cdrom === Usar cualquier software de grabación. === ISO a pxe === {{{ #movemos el antiguo ogclient pxe. mv /var/lib/tftpboot/ogclient /var/lib/tftpboot/ogclientold mkdir -p /media/ogclientiso mount -o loop ogclient.iso /media/ogclientiso cp -prv /media/ogclientiso/ogclient /var/lib/tftpboot/ chown -R www-data:www-data /var/lib/tftpboot/ogclient umount /media/ogclientiso }}} === ISO a USB === {{{ formateamos el dispositivo usb, con la etiqueta ogClient. NOTA: en este ejemplo el usb es /dev/sdb1 mkfs.ext3 /dev/sdb1 -L ogClient mount /dev/sdb1 /media/ogClient apt-get install unetbootin Iniciamos la aplicacion unetbootin. seleccionamos la iso. y selecciones el dispositivo usb. }}} === PXE a cache (solo kernel e initrd) === {{{ Ejecutar el scripts updateBootCache NOTA: Sólo a partir de la versión 1.0.1 y con uso del gestor remoto grub4dos. }}} === USB, cdrom a CACHE === * Usamos como gestor de arraque un grub2 de algún linux instalado en nuestro ordenador. * Entramos al sistema operativo linux y editamos el fichero /etc/grub.d/40_custom {{{ menuentry "og cache " { set root=(hd0,4) linux /boot/ogvmlinuz ro vga=788 irqpoll acpi=on boot=oginit og2nd=sqfs ogprotocol=local ogactiveadmin=true ogdebug=true ip=none initrd /boot/oginitrd.img } }}} NOTA: * Si queremos ip dinámica, el parámetro ip=dhcp * Si queremos ip estática, el parámetro * ip=ip:dns:gateway:netmask:hostname:iface:none * ip=172.17.9.152:172.17.9.205:172.17.9.254:255.255.255.0:cte152:eth0:none y ejecutamos {{{ os-prober update-grub }}} Insertamos el usb, lo montamos y: * Copiamos el directorio ogclient y todo su contenido en el raiz de la partición CACHE. * Volvemos a copiar el directorio ogclient, pero ahora como directorio boot dentro del raiz de la partición cache. Reiniciamos y seleccionamos el sistema de arranque og_cache === Scripts para preparar el inicio desde cache === Desde la versión 1.0.6. '''installOfflineMode''' Script que prepara el cliente de opengnsys para que inicie el cliente desde cache. - Copia el kernel y el initrd en /opt/opengnsys/cache/boot - Copia segundo sistema de fichero en /opt/opengnsys/cache/ogclient - Copia el menú por defecto del cliente en /opt/opengnsys/cache/menu/ip-equipo.html '''ogGrubAddOgclient''' Función que permite añadir al grub del MBR la entrada para que se pueda iniciar desde el cliente de OpenGnSys. Información sobre el uso en el [wiki:DocumentacionUsuario1.0.6/Offline#Paraprepararelclienteenmodolocal manual de usuario] === Test de carga === Intel Corp. Intel(R) Core(TM) i3 CPU 550 @ 3.20GHz 3200MHz v.6.5.5 * 10 segundos USB. * 40 segundos CDROM * 30 segundos pxe con conexión al servidor Og y browser. Dependiente del ancho de banda de la red. * 20 segundos cache (kernel e initrd) más conexion al servidor OG y browser. Independiente del número de clientes o ancho de banda de red. * 10 segundos cache (kernel, initrd, oglient.sqfs), sin configuración IP * 15 segundos cache (kernel, initrd, ogclient.sqfs), con ip dinámica * * 10 segundos cache (kernel, initrd, ogclient.sqfs), con ip estática == Proceso de arranque de ogClient en modo local == A partir de la versión 1.0.6 Los parámetros del kernel que afectan al modo local son: * ogprotocol=[smb|nfs|local] * ogstatus=[online|offline] En el código todas las comparaciones del estado se hacen con el modo "offline", de forma que si no existe el parámetro ogstatus el valor por defecto es online. Revisar la [wiki:DocumentacionUsuario1.0.6/Offline documentación de usuario] para ver los comportamientos del modo local en los estados online y offline. === Montaje de recursos remotos o locales === Estos parámetros se utilizan por oginit, que a su vez llama a funciones definidas en /script/ogfuntions. Vamos a comentar las funciones que son significativas para montar el segundo sistema de ficheros en local. '''ogExportVarEnvironment''' Se crean variables para modo local: SRCOGLIVE, SRCOGSHARE, etc. No hay diferencia entre offline o online '''ogConnectOgLive''' Se comporta igual en online que en offline Busca una partición con al etiqueta "ogClient" y se monta como segundo sistema de fichero del cliente. En caso de no montarse se monta la cache. '''TODO''': Mensaje de error si no existe partición con etiqueta "ogClient" o "CACHE" '''ogConnect''' Si el estatus no es offline y la variable del servidor no esta vacía monta el recurso remoto correspondiente. Descritos en [wiki:InitrdClienteSecondFileSystem#Puntosdemontajeparaelogclientpxe Puntos de montaje para el ogclient pxe] Nota: en modo offline no se puede montar el recurso todavía porque no existe el directorio $OGIMG. '''ogPostConfigureFS''' En modo local se crea la estructura de subdirectorios de /opt/opengnsys. A veces son enlaces simbólicos a otros directorios existentes o otras el montaje de un directorio sobre otro sustituyendo al montaje de un recurso remoto. Por orden se realiza: * estado offline: Se crean los subdirectorios /opt/opengnsys/ como enlaces simbólicos a los del OGLIVEROOTFS. En caso contrario ya existen por el montaje del recurso remoto. * ambos estados: Si existe partición identificada como CACHE se monta. Se monta diferente según el dispositivo de cache igual o no al de ogclient. * estado offline: Se crea en cache el directorio de log y se monta. * estado offline: Si existe una partición con etiqueta REPO se monta, si no se monta la cache como REPO \\ Esto último se debe a que al restaurar exigimos actualizar las imágenes de la CACHE con las de REPO y necesitamos emular la situación. === Montaje del recurso images en modo local === Lo realiza el script etc/preinit/mountrepo.sh * estado online: Monta el servidor. * offline: Monta la partición con etiqueta REPO, y en caso de no haberla la CACHE. === Mostrando página de inicio en modo local === Lo realiza el script etc/init/default.sh En el estado offline se busca un menú de inicio con los nombres: index.html $OGGROUP.html $(ogGetIpAddress).html y arranca el browser con él. '''TODO''': En caso de no haber ninguno dará error -> corregir. {{{ OGMENU='' $OPENGNSYS/bin/browser -qws $OGMENU }}} === Modificación script apagado y reinicio == Las acciones de apagado y reinicio del cliente se realizan por los script poweroff y reboot respectivamente. Para que funcione en modo offline no se mata el proceso del navegador al reiniciar o apagar el equipo. Se modificará esa línea quedando: {{{ [ "$ogstatus" == "offline" ] || pkill browser }}} === TODO: Revisar variables === '''SRCOGLIVE''' En modo local se define y solo se usa una vez. Sólo se deja por coherencia con lo demás, quizás no es necesario. {{{ export SRCOGLIVE="local" # Si ogprotocol=local, la funcion ogExportVar => SRCOGLIVE=local if [ "$SRCOGLIVE" == "local" ] }}} '''LOCALMEDIA''' Aparece definida en el script pero no se utiliza: se comenta, no la quitamos por si se necesita. {{{ #LOCALMEDIA" == "CACHE }}}