wiki:InitrdClienteSecondFileSystem/en

Version 2 (modified by paqui, 12 years ago) (diff)

--

TOC?

OpenGnSys Client

Goal

  1. Be able to boot from:
    • Any external device (USB, CD, DVD)
    • A cache partition
    • A NIC using any protocol: NFS, SMB, CIFS...
  2. Add or update software using standards packages manager.
  3. Software installed in client does not affect their boot (specially in PXE mode)
  4. Independently the amount of clients, separate their booting time

Description

  1. The "client operating system" is composed by:
    • First stage: a kernel and a initrd.
    • Second stage: root filesystem (with all needed apps).
  2. First stage elements are loaded by a bootloader. It will use a specific bootloader(e.g. isolinux, grub, grub4dos, gpxe) depending on the container (CD, DVD, USB, cache partition, network).
  3. OpenGnSys starter in initrd (boot=oginit) will detect where the root filesystem is located (second stage). It will mix the root filesystem with this new initrd filesystem.

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

Kernel 1.0.2 beta01 Parameters

Kernel Standard Parameters

  • KERNEL ogclient/ogvmlinuz
  • initrd=ogclient/oginitrd.img
  • For graphical boot with plymouth
    • quiet
    • spash
  • Use framebuffer for browser and plymouth
    • vga=788
  • irqpoll
  • acpi=on
  • Configure NIC
    • ip=dhcp
    • ip=

Kernel Special Parameter for OpenGnSys Process

boot=oginit

Specific parameters if use 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 raiz 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 disponbile 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 tambien para fichero.sqfs en cache.
  • 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.
    • Habilitá puntos de control para acceder a la shell y comprobar manualmente estado del proceso.
  • ognetmodule=nombre_modulo
    • Módulo especial de la tarjeta de red. Actualmente no se requiere, el oginitrd.img comprueba todos los modulos 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 imagenes del repositorio asignado al cliente.(lectura-escritura según modo)
    • ogshare=ip # acceso al contenedor donde está la configuracion 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 monatará 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.

More Info