Version 2 (modified by 12 years ago) (diff) | ,
---|
OpenGnSys Client
Goal
- Be able to boot from:
- Any external device (USB, CD, DVD)
- A cache partition
- A NIC using any protocol: NFS, SMB, CIFS...
- Add or update software using standards packages manager.
- Software installed in client does not affect their boot (specially in PXE mode)
- Independently the amount of clients, separate their booting time
Description
- The "client operating system" is composed by:
- First stage: a kernel and a initrd.
- Second stage: root filesystem (with all needed apps).
- 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).
- 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.