== Exportar el sqfs del ogLive a formato IMG para su 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. }}} * Requisitos previos {{{ * 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) # # 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"; }}}