| Version 20 (modified by adv, 11 months ago) (diff) |
|---|
Índice
Por ahora se proponen tres maneras distintas:
- Utilidad debootstrap con schroot ( OpenGnsys 1.0 )
- Utilidad live-helper ( OpenGnsys 2.0)
- Instalación limpia de Ubuntu.
OpenGnsys version 1.0.X - Debootstrap, schroot y squashfs -
Generación de la iso del ogLive - proceso -
http://www.opengnsys.es/browser/trunk/client/boot-tools/INSTALL.es.txt
Advertencia previa:
6 -----------------------------
7 - No usar este instalador en un sistema OpenGnNys en producción.
8 - Se puede ejecutar este script desde un sistema Ubuntu 10.04, 11.04, 11.10, 12.04
11
12 Requisitos iniciales
13 --------------------
14 - Utilizar el usuario "root" para ejecutar el proceso de generación del cliente.
15 - Comprobar la conexión a Internet, sobre todo si usas proxy:
-- apt # /etc/apt.conf
-- subversion # /etc/subversion/servers
-- otras # variable http_proxy
16
17
18 Proceso de instalación
19 ----------------------
#!/bin/bash
apt-get install subversion wget;
#mv /var/lib/tftpboot/ogclient /var/lib/tftpboot/ogclientOK;
mkdir -p /opt/opengnsys;
mkdir -p /tmp/opengnsys_installer/opengnsys/client;
mkdir -p /tmp/opengnsys_installer/opengnsys2;
svn checkout http://www.opengnsys.es/svn/branches/version1.0/client /tmp/opengnsys_installer/opengnsys/client/;
svn checkout http://www.opengnsys.es/svn/branches/version2/ /tmp/opengnsys_installer/opengnsys2;
#cp -prv /home/administrador/workspace/OpenGnSys/branches/version1.0/client /tmp/opengnsys_installer/opengnsys/;
#cp -prv /home/administrador/workspace/OpenGnSys/branches/version2/ /tmp/opengnsys_installer/opengnsys2;
find /tmp/opengnsys_installer/ -name .svn -type d -exec rm -fr {} \; 2>/dev/null;
export SVNURL="http://opengnsys.es/svn/branches/version1.0/client/";
VERSIONSVN=$(LANG=C svn info $SVNURL | awk '/Revision:/ {print "r"$2}');
echo $VERSIONSVN > /tmp/versionsvn.txt;
/tmp/opengnsys_installer/opengnsys/client/boot-tools/boottoolsgenerator.sh;
Información requerida durante el proceso de generación:
Grup-pc -> instalar en dispositivo /dev/loop -> NO
Continuar sin instalar grub -> yes
Congigura el console-data
qwerty-spanish-standar-iso-8859-15 - .combined - fixed -16
Introduce 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)
Could not find /boot/grub/menu.lst file. Would you like /boot/grub/menu.lst generated for you? (y/N) -> Y
Las fases de la generación de la iso
- Fase 1. Instalación de software requerido para la generación de la ISO.
- Fase 2. Asignación de valores a usar en la generación de la ISO, basadas en nuestro sistema operativo. - kernel -l cliente.
- Fase 3. Creación del sistema de archivos raiz o rootfilesystem (ogclient.img).
- Generación de un disco virtual
- Particionado del disco duro virtual
- Instalación del ogLive en la primera partición del disco virtual, basado en los valores de la fase 2.
- Fase 4. Configuración del acceso al disco virtual para su posterior modificación.
- Fase 5. Instalación de los componentes OpenGnsys? usando subversion.
- Fase 6. Instalación de herramientas GNU necesarias para OpenGnsys? - paquetes deb y compiladas-.
- Fase 7. Generación del initrd.
- Fase 8. Exportación del disco duro virtual a formato SQFS.
- Fase 9. Exportación del disco duro virtual a formato ISO.
Los archivos generados se almacenan en /opt/opengnsys/tftpboot/ogclient/
./ogLive-codename-kernel-revisionOpenGnsys.iso ./ogLive-codename-kernel-revisionOpenGnsys.iso.sum ./ogvmlinuz (el kernel) ./oginitrd.img (el initrd) ./ogclient.img (el sistema raiz, accesible como disco virtual usando schroot desde el host que lo generó, para ser actualizado) ./ogclient.sqfs (el sistema raiz, comprimido para ser usado por los clientes OpenGnsys)
Pendiente de actualizar: Incorporación del fichero .sqfs (proceso instalación de OpenGnsys?) en un fichero .img para su posterior modificación
Advertencia previa:
6 -----------------------------
7 - No usar este proceso en un sistema OpenGnNys en producción.
8 - Se puede ejecutar este script desde un sistema Ubuntu 10.04, 11.04, 11.10, 12.04
11
12 Requisitos iniciales
13 --------------------
14 - Utilizar el usuario "root" para ejecutar el proceso de exportación sqfs a img.
15 - Comprobar la conexión a Internet, sobre todo si usas proxy:
-- apt # /etc/apt.conf
-- subversion # /etc/subversion/servers
-- otras # variable http_proxy
16 - /var/lib/tftpboot espacio libre 2 GB.
NOTA: este procedimiento se ha comprobado en una ubuntu server 12.04 32bits "copy & paste".
root@ogTRUNK:/opt/opengnsys/lib# uname -a Linux ogTRUNK 3.2.0-20-generic #33-Ubuntu SMP Tue Mar 27 16:42:26 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
root@ogTRUNK:/opt/opengnsys/lib# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.04 DISTRIB_CODENAME=precise DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS"
root@ogTRUNK:/# ls /opt/opengnsys/lib/ ogLive-precise-3.2.0-23-generic-pae-r3017.iso
apt-get install schroot subversion wget;
export OGCLIENTBASEDIR=/var/lib/tftpboot/ogclient/;
export OGCLIENTFILE=${OGCLIENTBASEDIR}ogclient.img;
export OGCLIENTMOUNT=${OGCLIENTBASEDIR}ogclientmount;
export OGCLIENTSIZEMB=1900;
export OGCLIENTLABEL=ogClient;
mkdir -p $OGCLIENTMOUNT;
dd if=/dev/zero of=$OGCLIENTFILE bs=1048576 count=$OGCLIENTSIZEMB;
DISKLOOP=$(losetup -f);
losetup $DISKLOOP $OGCLIENTFILE;
echo -e "n\np\n1\n\n\nt\n83\nw" | fdisk $DISKLOOP;
losetup -d $DISKLOOP ;
PARTLOOP=$(losetup -f);
losetup -o 32256 $PARTLOOP $OGCLIENTFILE && mkfs.ext3 -b 4096 -L $OGCLIENTLABEL $PARTLOOP;
losetup -d $PARTLOOP ;
losetup -d $PARTLOOP ;
mount | grep $OGCLIENTMOUNT || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256;
unsquashfs -d /opt/opengnsys/tftpboot/ogclient/ogclientmount/ -f /opt/opengnsys/tftpboot/ogclient/ogclient.sqfs ;
umount $OGCLIENTMOUNT;
echo "fin";
cp /etc/schroot/schroot.conf /etc/schroot/schroot.conf.`getDateTime` cat << EOF > /etc/schroot/schroot.conf [IMGogclient] type=loopback file=/var/lib/tftpboot/ogclient/ogclient.img description=ogclient ubuntu luc IMGi #priority=1 users=root groups=root root-groups=root mount-options=-o offset=32256 root-users=root #[IMGogclient] #type=loopback #file=/var/lib/tftpboot/ogclient/ogclient.img #description=ogclient ubuntu luc IMGi #priority=1 #users=root #groups=root #root-groups=root #mount-options=-o offset=32256 #root-users=root #[DIRogclient] #type=directory #directory=/var/lib/tftpboot/ogclient/ogclientmount #description=ogclient ubuntu lucid DIR #priority=2 #users=root #groups=root #root-groups=root #root-users=root EOF cp /etc/schroot/mount-defaults /etc/schroot/mount-defaults.`getDateTime` cat << EOF > /etc/schroot/mount-defaults # mount.defaults: static file system information for chroots. # Note that the mount point will be prefixed by the chroot path # (CHROOT_PATH) # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 #procbususb /proc/bus/usb usbfs defaults 0 0 #/dev /dev none rw,bind 0 0 /dev/pts /dev/pts none rw,bind 0 0 /dev/shm /dev/shm none rw,bind 0 0 #/home /home none rw,bind 0 0 /tmp /tmp none rw,bind 0 0 EOF
Procesos a evaluar
A través de live-helper
TODO
Mirar: GnSysLive
Generarlo realizando una instalación limpia de Ubuntu
TODO

