Changes between Version 1 and Version 2 of ClienteInitrdDSGenerarlo


Ignore:
Timestamp:
May 30, 2011, 5:15:15 PM (14 years ago)
Author:
adv
Comment:

Actualizando información SO cliente boot-tools

Legend:

Unmodified
Added
Removed
Modified
  • ClienteInitrdDSGenerarlo

    v1 v2  
    77== A través de Debootstrap ==
    88
    9 TODO
     9== Instalación ==
     10No realizar el proceso en un sistema en procucción.
     11Se ha testado con éxito en la ubuntu server 32 bits 10.04, 10.04.2 y 10.10
     12
     13NOTA:  el instalador está en "http://www.opengnsys.es/browser/trunk/client/boot-tools/"
     14{{{
     15mv /opt/opengnsys/tftpboot/ogclient /opt/opengnsys/tftpboot/ogclient-old;
     16svn checkout http://www.opengnsys.es/svn/trunk/client /tmp/opengnsys_installer/opengnsys/client/;
     17find /tmp/opengnsys_installer/ -name .svn -type d -exec rm -fr {} \; 2>/dev/null;
     18/tmp/opengnsys_installer/opengnsys/client/boot-tools/ogClientGeneratorV2.sh;
     19}}}
     20
     21DEBUG en el proceso de instalación:
     22{{{
     23Continuar sin instalar grub  -> yes
     24Congigura el console-data
     25Introduce la clave pub de nuestro servidor(ejecutor del instalador) en el cliente. En el caso de que ya exista un .pub nos pregunta si generar uno nuevo o mantener (N)
     26Could not find /boot/grub/menu.lst file. Would you like /boot/grub/menu.lst generated for you? (y/N)  ->   Y
     27
     28}}}
     29
     30
     31El proceso que se ha indicado a continuación, genera los elementos del cliente OpenGnsys, basados en la versión de ubuntu que tengamos instalados (mismo kernel y distribución).
     32
     33/opt/opengnsys/tftpboot/ogclient/
     34 {{{
     35./ogvmlinuz   (el kernel)
     36./oginitrd.img  (el initrd)
     37./ogclient.img   (el sistema raiz, accesible como disco virtual usando schroot desde el host que lo generó, para ser actualizado)
     38./ogclient.sqfs  (el sistema raiz, comprimido para ser usado por los clientes OpenGnsys)
     39}}}
     40
     41
     42=== Las fases de la instalación ===
     43 * Fase 1. Instalación en el equipo donde se ejecuta la instalación de software necesario.
     44 * Fase 2. Asignación de valores, como la versión del kernel, basados en los datos del S.O que ejecuta el instalador, que serán utilizados para generar el cliente.
     45 * Fase 3. Creación del sistema raiz (ogclient.img). Primero se crea un disco duro virtual, y se particiona -ogCleint2nFile()-. En la primera partición se genera un sistema operativo con la herramienta deboobstrap -ogClient2ndFs()-, con parametros basados en la fase2.
     46 * Fase 4. Se configura el acceso al sistema raiz (ogclient.img) para ser usado con la herramienta schroot  -ogClientSchrootConf()-
     47 * Fase 5. Se configura o se incluyen los elementos especiales de opengnsys (engine, QTEmbbedbed, pci.ids, browser, ogAdmClient).   -ogClient2ndSVN()-
     48 * Fase 6. Ampliación del sistema raiz -- instalación de software con apt, compilación de algunas herramientas, importación de la clave ssh desde el SO que lo generó.
     49 * Fase 7. Generación del initrd.
     50 * Fase 8. Generación del sistema raiz en sqfs.
     51
     52== Incorporación del fichero .sqfs (proceso instalación de OpenGnsys) en un fichero .img para su posterior modificación ==
     53NOTA: este subapartado no está terminado de documentar
     54
     55NOTA: este procedimiento se ha comprobado en una ubuntu server 10.04 32bits.
     56
     57{{{
     58export OGCLIENTBASEDIR=/var/lib/tftpboot/ogclient/;
     59export OGCLIENTFILE=${OGCLIENTBASEDIR}ogclient.img;
     60export OGCLIENTMOUNT=${OGCLIENTBASEDIR}ogclientmount;
     61export OGCLIENTSIZEMB=1900;
     62export OGCLIENTLABEL=ogClient;
     63
     64mkdir -p $OGCLIENTMOUNT;
     65dd if=/dev/zero of=$OGCLIENTFILE bs=1048576 count=$OGCLIENTSIZEMB;
     66DISKLOOP=$(losetup -f);
     67losetup $DISKLOOP $OGCLIENTFILE;
     68echo -e "n\np\n1\n\n\nt\n83\nw" | fdisk $DISKLOOP;
     69losetup -d $DISKLOOP ;
     70PARTLOOP=$(losetup -f);
     71losetup -o 32256 $PARTLOOP $OGCLIENTFILE && mkfs.ext3 -b 4096 -L $OGCLIENTLABEL $PARTLOOP;
     72losetup -d $PARTLOOP ;
     73losetup -d $PARTLOOP ;
     74
     75mount | grep $OGCLIENTMOUNT || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256;
     76
     77unsquashfs  -d /opt/opengnsys/tftpboot/ogclient/ogclientmount/ -f /opt/opengnsys/tftpboot/ogclient/ogclient.sqfs ;
     78umount $OGCLIENTMOUNT;
     79echo "fin";
     80
     81
     82
     83cp /etc/schroot/schroot.conf /etc/schroot/schroot.conf.`getDateTime`
     84cat << EOF > /etc/schroot/schroot.conf
     85[IMGogclient]
     86type=loopback
     87file=/var/lib/tftpboot/ogclient/ogclient.img
     88description=ogclient ubuntu luc IMGi
     89priority=1
     90users=root
     91groups=root
     92root-groups=root
     93mount-options=-o offset=32256
     94root-users=root
     95[DIRogclient]
     96type=directory
     97directory=/var/lib/tftpboot/ogclient/ogclientmount
     98description=ogclient ubuntu lucid DIR
     99priority=2
     100users=root
     101groups=root
     102root-groups=root
     103root-users=root
     104EOF
     105cp /etc/schroot/mount-defaults /etc/schroot/mount-defaults.`getDateTime`
     106cat << EOF > /etc/schroot/mount-defaults
     107# mount.defaults: static file system information for chroots.
     108# Note that the mount point will be prefixed by the chroot path
     109# (CHROOT_PATH)
     110#
     111# <file system> <mount point>   <type>  <options>       <dump>  <pass>
     112proc            /proc           proc    defaults        0       0
     113#procbususb      /proc/bus/usb   usbfs   defaults        0       0
     114#/dev            /dev            none    rw,bind         0       0
     115/dev/pts        /dev/pts        none    rw,bind         0       0
     116/dev/shm        /dev/shm        none    rw,bind         0       0
     117#/home          /home           none    rw,bind         0       0
     118/tmp            /tmp            none    rw,bind         0       0                                                               
     119EOF
     120
     121
     122}}}
    10123
    11124== A través de live-helper ==