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.
* Detección kernel del ogLive a modificar.
root@ogTRUNK:/# ls /opt/opengnsys/lib/
ogLive-precise-3.2.0-23-generic-pae-r3017.iso
* Usar en equipo mismo kernel que el ogLive a modicicar.
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
apt-get install linux-image-3.0.0-23-generic-pae linux-image-3.0.0-23-generic-pae
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"
}}
NOTA: este procedimiento se ha comprobado en una ubuntu server 12.04 32bits "copy & paste".
{{{
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 $OGCLIENTMOUNT -f ${OGCLIENTBASEDIR}ogclient.sqfs
umount $OGCLIENTMOUNT;
echo "fin";
echo "Configurando acceso al disco virtual ogLive, formato IMG";
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
echo "Configurando montajes automáticos del sistema ogLive en formato IMG";
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
echo "Fin configuración acceso al ogLive formato IMG";