wiki:InitrdClienteSecondFileSystem
Last modified 2 years ago Last modified on 03/11/15 13:50:08

Cliente OpenGnsys

Objetivo

  1. Ser capaz de inicializarse desde:
    • Cualquier dispositivo removible (usb, cd, dvd),
    • Una partición cache, o un espacio no particionado (¿¿¿???)
    • Y por supuesto por red, utilizando cualquier protocolo, inicialmente nfs, smb, cifs.
  2. Ofrecer la posibilidad de añadir o actualizar software usando los gestores de paquetes estándar.
  3. Que el software instalado en el cliente, no afecte a su arranque (especialmente en el modo PXE)
  4. Independizar el tiempo de arranque del cliente, independiente del número de estos que se inician simultáneamente.

Descripción

  1. El "Sistema operativo cliente" se compone en:
    • Primera etapa: un kernel y un initrd.
    • Segunda etapa: el sistema raíz o root(con todas las aplicaciones necesarias).
  2. Los elementos de la primera etapa se cargan mediante un gestor de arranque, dependiendo del contendor(cd,dvd,usb,particionCache,red) se ususará el más idóneo (p.e isonlinux, grub, grub4dos, gpxe).
  3. El inicializador de opengnsys ubicado en el initrd (boot=oginit) detectará donde se ubica el sistema raíz (segunda etapa), y realizará el proceso correspondiente para incorporar este sistema raíz, al sistema raíz en curso proporcionado por el initrd.

Mas info sobre "Using UnionFS: BusyBox? and SquashFS together" http://lwn.net/Articles/219827/

Parámetros de kernel en versiones OpenGnSys superiores a la 1.0.2

Parámetros estándar del kernel

  • KERNEL ogclient/ogvmlinuz
  • initrd=ogclient/oginitrd.img
  • Si queremos arranque gráfico con plymouth
    • quiet
    • spash
  • Uso de framebuffer para browser y plymouth.
    • vga=788
  • irqpoll
  • acpi=on
  • Configuración de la tarjeta de red.
    • ip=dhcp
    • ip=

Parámetro especial el kernel indicando que realice procesos OpenGnsys

boot=oginit

Parámetros específicos si se utiliza boot=oginit

  • oginit=init|/bin/bash
    • Indicamos al cliente OG, al terminar el proceso oginit, inicie el proceso indicado
    • Valor por defecto init.
    • El proceso init, llama a (/opt/opengnsys/etc/preinit/default.sh)
  • og2nd=sqfs|img
    • Formato del fichero rootfs (sistema raíz completo) que usará el ogvmlinuz y el oginitrd.img
    • Hay dos formatos, el sqfs (fichero solo lectura del img, y el único que se instala). El img (fichero modificable desde el OG server, y sólo disponible para desarrolladores)
  • ogprotocol=smb|nfs|local
    • Protocolo de acceso a los recursos remotos de OpengGnsys?
    • local para cdrom, usb a partir de la iso. labelparticionusbUNETBOOTIN=ogClient
    • local también para fichero.sqfs en cache.
  • ogstatus=online|offline ( versión 1.0.6 o superior)
    • Sólo cuando ogprotocol es local.
    • online: salvo el ogclient todos los demás recursos son remotos (ogclient, images y log).
    • offline: todos los recursos está enn local.
  • ogactiveadmin=true|false
    • true: Modo de funcionalidad del browser con shell root activa, y acceso al recurso compartidos ogrepo (imágenes) en modo escritura.
    • false: Browser sin shell, y el acceso de escritura sólo es autorizada, si la operación se realiza desde la aplicación web, y nunca desde la shell de los clientes.
  • ogdebug=true|false
    • Modo de depuración en el proceso de arranque del cliente.
    • Habilita puntos de control para acceder a la shell y comprobar manualmente estado del proceso.
  • ognetmodule=nombre_módulo
    • Módulo especial de la tarjeta de red. Actualmente no se requiere, el oginitrd.img comprueba todos los módulos existentes.
  • ogdns=ip
    • ip del dns
  • ogupdateinitrd=true
    • Activamos la cache local del ordenador cliente como contenedor del kernel(ogvmlinuz) y el initrd(oginitrd.img) del sistema operativo cliente pxe de Opengnsys. La segunda etapa del arranque (el acceso al rootfs remoto) estará en el servidor repositorio.
    • Gestiona automáticamente la actualización de estos ficheros, reiniciando con el nuevo kernel y/o initrd.
    • Requiere que el contenedor tftpboot disponga en su raiz los ficheros md5 correspondientes. oginitrd.img.sum ogvmlinuz.sum.
Puntos de montaje para el ogclient pxe

#por defecto todos los servicios OG, los considera ubicados en el next-server (ROOTSERVER) (parámetro indicado en el servicio dhcp) # en el caso de que queramos que indicar que REPO (/opt/opengnsys/images) está en otro equipo utilizar este parámetro ogrepo

  • Puntos de montajes basados en distribución de recursos Og.
    • ogrepo=ip # acceso al contenedor de imágenes del repositorio asignado al cliente.(lectura-escritura según modo)
    • ogshare=ip # acceso al contenedor donde está la configuración del cliente, el engine, scripts, interface adm, bin (lectura)
    • oglog=ip # acceso al contenedor de log (escritura)
    • oglive=ip # acceso al contenedor del segundo sistema de archivos del cliente pxe (lectura)
  • Uso de los montajes dependiendo si las variables están asignadas:
    • OGSERVERIMAGES="${ogrepo:-$ROOTSERVER}"
    • OGSERVERSHARE="${ogshare:-$ROOTSERVER}"
    • OGSERVERLOG="${oglog:-$ROOTSERVER}"
    • OGSERVERLIVE="${oglive:-$OGSERVERIMAGES}"
  • Resumen:
    • Si no definidos ningún recurso diferente, todo lo montará en el ogAdmSever (debe tener el servicio tftpboot).
    • Si definimos un ogrepo: images se montará en el ogrepo indicado, el boot-tools tambíen lo hará en el ogrepo y todo lo demás en el ogAdmServer (debe tener el servicio tftpboot)
    • Si definimos un ogrepo, y un oglive: cada uno de estos montajes hacia la correspondiente ip, y lo demás al ogAdmServer.

Mas Info