diff options
Diffstat (limited to 'client/boot-tools/ogclientSqfs2Img')
-rwxr-xr-x | client/boot-tools/ogclientSqfs2Img | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/client/boot-tools/ogclientSqfs2Img b/client/boot-tools/ogclientSqfs2Img deleted file mode 100755 index e52b677c..00000000 --- a/client/boot-tools/ogclientSqfs2Img +++ /dev/null @@ -1,120 +0,0 @@ -#!/bin/bash -#/** -#@brief Descomprime el fichero ogclient.sqfs en ogclient.img con un formato donde podemos escribir. -#@param none -#@note Copiado del wiki: http://opengnsys.es/wiki/ClienteInitrdDSGenerarlo -#@note para "entrar" en ogclient: schroot -c ogclient.img o mount ogclient.img ogclientmount -o loop,offset=32256 -#@exeption 1 No es usuario root -#@exeption 2 No existe el fichero ogclient.sqfs -#@date 2013-11.27 -#*/ -PROG="$(basename $0)" -# Mostrar ayuda si se solicita. -if [ "$*" == "help" ]; then - echo -e "$PROG: Descomprime el fichero ogclient.sqfs en ogclient.img con un formato donde podemos escribir. \n" \ - " Uso: $PROG (sin parametros)" - exit 0 -fi - -if [ "$USER" != "root" ]; then - echo "$PROG: Error: solo ejecutable por root" >&2 - exit 1 -fi - - - -DATE=$(date +%y-%m-%d) -OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"} -OGCLIENTBASEDIR=$OPENGNSYS/tftpboot/ogclient/; -OGCLIENTSQFS=${OGCLIENTBASEDIR}ogclient.sqfs -OGCLIENTFILE=${OGCLIENTBASEDIR}ogclient.img; -OGCLIENTMOUNT=${OGCLIENTBASEDIR}ogclientmount; -OGCLIENTSIZEMB=2100; -OGCLIENTLABEL=ogClient; - -# Comprobamos que existe el cliente .sqfs -! [ -f $OGCLIENTSQFS ] && echo "No existe $OGCLIENTSQFS" && exit 3 - -# instalamos los paquetes necesarios. -echo "Si no existen, instalamos los paquetes necesarios: squashfs-tools schroot." -if ! which schroot unsquashfs 2>&1 >/dev/null; then - apt-get update - apt-get -y install squashfs-tools schroot -fi - -# Creamos el archivo. -echo -e "\nCreamos el archivo." -echo dd if=/dev/zero of=$OGCLIENTFILE bs=1048576 count=$OGCLIENTSIZEMB; -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 ; - -# Creamos el sistema de ficheros. -echo "Creamos el sistema de ficheros." -echo "mkfs.ext4 -b 4096 -L $OGCLIENTLABEL $PARTLOOP" -PARTLOOP=$(losetup -f); -losetup -o 32256 $PARTLOOP $OGCLIENTFILE && mkfs.ext4 -b 4096 -L $OGCLIENTLABEL $PARTLOOP; -losetup -d $PARTLOOP ; - -# Descomprimimos el ogclient.sqfs en el sistema de ficheros. -mkdir -p $OGCLIENTMOUNT; -echo "Descomprimimos el ogclient.sqfs en el sistema de ficheros." -mount | grep $OGCLIENTMOUNT || mount $OGCLIENTFILE $OGCLIENTMOUNT -o loop,offset=32256; -echo "unsquashfs -d ${OGCLIENTMOUNT}/ -f $OGCLIENTSQFS" -unsquashfs -d ${OGCLIENTMOUNT}/ -f $OGCLIENTSQFS -umount $OGCLIENTMOUNT; - -# Creamos los archivos de configuracion de schroot. -echo "Creamos los archivos de configuracion de schroot." -cp /etc/schroot/schroot.conf /etc/schroot/schroot.conf.$DATE -cat << EOF > /etc/schroot/schroot.conf -[ogclient.img] -type=loopback -file=${OGCLIENTBASEDIR}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=${OGCLIENTBASEDIR}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.$DATE -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 - -# Si existen dispositivos loop los eliminamos. -echo "Si existen dispositivos loop los eliminamos." -LOOPDEVICES=$(losetup -a|grep $OGCLIENTFILE |cut -d: -f1) -for DEVICE in $LOOPDEVICES -do - echo "losetup -d $DEVICE" - losetup -d $DEVICE -done - -echo -e "Para \"entrar\" en ogclient: \n \t schroot -c ogclient.img o \n \t mount ogclient.img ogclientmount -o loop,offset=32256" -echo "El servicio schroot montarĂ¡ el cliente automaticamente, si no queremos que pase hay que apagarlo." |