Autor Tema: geminis_demon se ha currao un instalador nuevo  (Leído 30161 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14463
Re: geminis_demon se ha currao un instalador nuevo
« Respuesta #60 en: 21-02-2016, 17:30 (Domingo) »
La verdad es que no lo quité porque no estaba seguro de si todos los directorios ya están en los xzm o los crea el initrd durante el arranque, pero si dices que ya están, se puede eliminar esa línea.


si , la gerarquia de rutas esta en aaa_base

he caido , en que por ejemplo el arranque vesa , lo que hace es durante el arranque mover un fichero para sobreescribir otro , y cosas asi.

sucede con vesa y noacpi , que tienen ficheros "grub" , alternativos y se cambian al arranque , he de cambiar eso , y crear en "optional" , esos ficheros  en xzm , y cargarlos a voluntad con load=   , para que al estar cargado en xzm , al instalar eso tambien entre al hdd.


La instalacion desde xzm ,es SUPER RAPIDA  ;D

He eliminado , la linea que habiamos comentado.

Antes esas rutas se "omitian", del copiado recursivo , y se creaban vacias a posteriori ,por ejemplo proc , es donde el kernel esta controlando todo , no puedes hacer un copiado recursivo de eso .. y cuando el sistema esta inactiva esa ruta esta vacia.


« Última modificación: 21-02-2016, 18:38 (Domingo) por USUARIONUEVO »

Desconectado USUARIONUEVO

  • Moderador
  • *
  • Mensajes: 14463
Re: geminis_demon se ha currao un instalador nuevo
« Respuesta #61 en: 31-07-2016, 01:39 (Domingo) »
Me he visto forzado , a modificar cosas del installer para la version de 64 bits.

Dejo parche con los cambios ..que visualmente se ven antes y despues el installer de 64 ..solo para dejar registro de cambios.

En la de 32 bits se queda la 1.0 en la de 64 la 1.1

Parche de cambios 1.0 --> 1.1

Código: [Seleccionar]
--- /root/Desktop/WifislaxInstallerGUI-1.0-noarch-1sw/opt/install/WifislaxInstallerGUI
+++ /opt/install/WifislaxInstallerGUI
@@ -1,12 +1,13 @@
 #!/bin/bash
 
-VERSION="1.0"
-TITULO="Wifislax Installer GUI $VERSION  -  By geminis_demon"
+VERSION="1.1"
+TITULO="Wifislax64 Installer GUI $VERSION  -  By geminis_demon"
 LOGO="/usr/share/pixmaps/notify-send/wifislax_logo.png"
 TMP="/tmp/WifislaxInstallerGUI"
 THEME="/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc"
-LIVECD="$(cat /var/log/wifislax-livedbg|grep '/wifislax$'|sed 's/wifislax$//')"
-MODULES="$(cat /var/log/wifislax-livedbg|grep ".xzm$")"
+LIVEOS="/etc/wifislax-version"
+LIVECD="/mnt/livemedia"
+MODULES="$(cat /mnt/live/tmp/wifislax64-livedbg|grep ".xzm$")"
 
 if [ ! -d "$LIVECD" ]; then
 
@@ -27,7 +28,7 @@
      --image "$LOGO"  \
      --button "gtk-ok:0" \
      --text-align "center" \
-     --text "\n\n\n    Para utilizar este instalador debes iniciar Wifislax en modo live  \n"
+     --text "\n\n\n    Para utilizar este instalador debes iniciar Wifislax64 en modo live  \n"
     
  exit
 fi
@@ -138,14 +139,7 @@
 
  umount "$DEV"
 
- if [ $LANG = "en_US.utf8" ]; then
-
- RESPUESTA=y
- else
- RESPUESTA=s
- fi
-
- echo $RESPUESTA | mkfs.ext4 -t ext4 "$DEV"
+ yes | mkfs.ext4 -t ext4 "$DEV"
 
  if [ $? -ne 0 ]; then
 
@@ -219,37 +213,18 @@
     --no-buttons \
     --progress \
     --text-align "center" \
-    --text "\n\n\n    Instalando Wifislax $(cat /etc/wifislax-version|cut -d' ' -f2) en $DEV  \n" \
+    --text "\n\n\n    Instalando Wifislax64 $(cat $LIVEOS|cut -d' ' -f2) en $DEV  \n" \
 & echo $! >"$TMP/pid")
 
 while true; do sleep 1; [ $(cat "$TMP/progress_bar") -ge 100 ] && break; done
-mkdir -p "$MNT"/{tmp,boot,mnt,dev,sys,proc}
-LIVE_DEV="/dev/$(cat /var/log/wifislax-livedbg|grep '/wifislax$'|cut -d/ -f3)"
-cat /etc/fstab|egrep -v "^$LIVE_DEV|^$DEV"|egrep -o "/mnt/[a-z0-9]+"|cut -b 2-|xargs -i mkdir -p "$MNT"/"{}"
-(
-echo "# System mounts:
-devpts           /dev/pts         devpts      gid=5,mode=620   0   0
-proc             /proc            proc        defaults         0   0
-tmpfs            /dev/shm         tmpfs       defaults         0   0"
-echo
-echo "# Raiz del sistema"
-echo "$DEV /                ext4        defaults         1   1"
-echo
-echo "# Otras particiones"
-cat /etc/fstab|grep "^/dev/"|egrep -v "^$LIVE_DEV|^$DEV| swap "
-) > "$MNT/etc/fstab"
-rm -f "$MNT/etc/mtab"
-[ "$(uname -r|grep "\-smp-")" ] && VMLINUZ="vmlinuz2"||VMLINUZ="vmlinuz"
-cp -f "$LIVECD/boot/$VMLINUZ" "$MNT/boot/vmlinuz-$(uname -r)"
-cp -rfp /dev/null "$MNT/dev"
-cp -rfp /dev/console "$MNT/dev"
-mount -o bind /dev "$MNT/dev"
-mount -t proc proc "$MNT/proc"
-cd "$MNT" && sync && cd ~
-umount "$MNT/dev"
-umount "$MNT/proc"
-umount "$MNT"
-tune2fs -L "$(cat /etc/wifislax-version|tr ' ' '-')" "$DEV"
+
+sed -i "1i $DEV        /                ext4        defaults         1   1" "$MNT/etc/fstab"
+cp -rf "$LIVECD/boot/vmlinuz" "$MNT/boot/vmlinuz-$(uname -r)"
+cp -rf /etc/timezone "$MNT/etc/"
+cp -rf /etc/rc.d/rc.keymap "$MNT/etc/rc.d/"
+cp -rf /etc/profile.d/lang.sh "$MNT/etc/profile.d/"
+cp -rf /etc/X11/xorg.conf.d/30-keyboard.conf "$MNT/etc/X11/xorg.conf.d/"
+tune2fs -L "$(cat $LIVEOS|tr ' ' '-')" "$DEV"
 kill $(cat "$TMP/pid")
 
 yad --on-top --center \
@@ -261,7 +236,7 @@
     --image "$LOGO"  \
     --button "gtk-ok:0" \
     --text-align "center" \
-    --text "\n\n\n    La instalación de Wifislax ha completado,  \n    se procederá a instalar el GRUB  \n"
+    --text "\n\n\n    La instalación de Wifislax64 ha completado,  \n    se procederá a instalar el GRUB  \n"
 
 Grub2InstallerGUI
 exit



Los cambios basicamente son

1 - nombre wifislax --> wifislax64
2 - cambio en ruta del log de arranque del live
3 - simpleificado el paso de formatear particion .. con  "yes" (funciona en cualquier idioma de sistema)
4 - simplificado el fstab ... solo se añade la particion del sistema en la linea 1 del fstab en hdd
5 - bastantes "clean ups"  , que quedaban del antiguo sistema de instalacion
     (se copiaban recursivamente directorios a cascoporro)
6 - copiado al HDD de ficheros desde el live que configuran idioma de sistema , teclado y demas

Ahora es todo mas simple , por asi decirlo...la ruta del live siempre es la misma ahora  /mnt/livemedia
eso ayuda muchisimo a simplificar cosas.


Todo eso aun lo tengo sin subir al ftp y el unico proposito es dejar constancia de cambios NADA MAS , no intenteis usarlo ni nada en otras versiones del live... cada iso lleva su instalador ajustado.


INSTALADOR

Código: [Seleccionar]
#!/bin/bash

VERSION="1.1"
TITULO="Wifislax64 Installer GUI $VERSION  -  By geminis_demon"
LOGO="/usr/share/pixmaps/notify-send/wifislax_logo.png"
TMP="/tmp/WifislaxInstallerGUI"
THEME="/usr/share/themes/oxygen-gtk/gtk-2.0/gtkrc"
LIVEOS="/etc/wifislax-version"
LIVECD="/mnt/livemedia"
MODULES="$(cat /mnt/live/tmp/wifislax64-livedbg|grep ".xzm$")"

if [ ! -d "$LIVECD" ]; then

LIVECD="$(echo "$LIVECD"|sed 's#^#/mnt/live#')"
MODULES="$(echo "$MODULES"|sed 's#^#/mnt/live#')"
fi

[ ! -f "$THEME" ] && unset THEME

if [ ! -d "/mnt/live/memory/changes" ]; then

yad --on-top --center \
    --width 500 \
    --height 190 \
    --gtkrc="$THEME" \
    --title "$TITULO" \
    --window-icon "$LOGO" \
    --image "$LOGO"  \
    --button "gtk-ok:0" \
    --text-align "center" \
    --text "\n\n\n    Para utilizar este instalador debes iniciar Wifislax64 en modo live  \n"
   
exit
fi

rm -rf "$TMP" && mkdir -p "$TMP"

(yad --on-top --center \
    --width 500 \
    --height 190 \
    --gtkrc="$THEME" \
    --title "$TITULO" \
    --window-icon "$LOGO" \
    --image "$LOGO"  \
    --no-buttons \
    --progress --pulsate \
    --text-align "center" \
    --text "\n\n\n    Identificando particiones...  \n" \
& echo $! >"$TMP/pid")

lsblk -p -o KNAME,SIZE,FSTYPE -a|grep "ext[0-9]$" >"$TMP/particiones"

if [ -z "$(cat "$TMP/particiones")" ]; then

kill $(cat "$TMP/pid")

yad --on-top --center \
    --width 500 \
    --height 190 \
    --gtkrc="$THEME" \
    --title "$TITULO" \
    --window-icon "$LOGO" \
    --image "$LOGO"  \
    --button "Abrir Gparted:0" \
    --button "gtk-close:1" \
    --text-align "center" \
    --text "\n\n\n    Primero debes crear una partición con formato ext4  \n"

case $? in

0) gparted; $0; exit;;
*) exit;;
esac

fi

cat /proc/mounts|awk '{print $2}'|grep "^$MOUNTPOINT"|grep -v /mnt/live|sort -r|xargs umount &>/dev/null
os-prober >"$TMP/os-prober" 2>/dev/null

cat "$TMP/particiones"|while read DEV SIZE FS; do

SO="$(grep "^$DEV" "$TMP/os-prober"|cut -d':' -f2|cut -d'(' -f1)"
[ -z "$SO" ] && SO="Ningún SO encontrado"
echo "$DEV | $SIZE | $SO"

done|tr '\n' '!' >"$TMP/menu_particiones"

kill $(cat "$TMP/pid")

yad --on-top --center \
    --width 500 \
    --height 190 \
    --gtkrc="$THEME" \
    --title "$TITULO" \
    --window-icon "$LOGO" \
    --image "$LOGO"  \
    --button "gtk-ok:0" \
    --button "gtk-cancel:1" \
    --text-align "center" \
    --text "\n\n    Selecciona una partición:  \n" \
    --form  --field="":CB "$(cat "$TMP/menu_particiones")" \
>"$TMP/return"

DEV="$(cat "$TMP/return"|cut -d' ' -f1)"
[ -z "$DEV" ] && exit
MNT="$(echo "$DEV"|sed 's/dev/mnt/')"
[ ! -d "$MNT" ] && mkdir -p "$MNT"
mount -t ext4 "$DEV" "$MNT"

if [ "$(ls -a "$MNT"|egrep -xv ".|..|lost\+found")" ]; then

yad --on-top --center \
    --width 500 \
    --height 190 \
    --gtkrc="$THEME" \
    --title "$TITULO" \
    --window-icon "$LOGO" \
    --image "$LOGO"  \
    --button "gtk-ok:0" \
    --button "gtk-no:1" \
    --button "gtk-cancel:2" \
    --text-align "center" \
    --text "\n\n\n    La partición $DEV no está vacía, \n  ¿Desea formatear la partición? (RECOMENDADO)  \n"

case $? in

0) (yad --on-top --center \
--width 500 \
--height 190 \
--gtkrc="$THEME" \
--title "$TITULO" \
--window-icon "$LOGO" \
--image "$LOGO"  \
--no-buttons \
--progress --pulsate \
--text-align "center" \
--text "\n\n\n    Formateando la partición $DEV...  \n" \
& echo $! >"$TMP/pid")

umount "$DEV"

yes | mkfs.ext4 -t ext4 "$DEV"

if [ $? -ne 0 ]; then

kill $(cat "$TMP/pid")

yad --on-top --center \
    --width 500 \
    --height 190 \
    --gtkrc="$THEME" \
    --title "$TITULO" \
    --window-icon "$LOGO" \
    --image "$LOGO"  \
    --button "gtk-ok:0" \
    --text-align "center" \
    --text "\n\n\n    Ocurrió un error al formatear la partición, no se puede continuar  \n"
exit
fi
;;

1) echo;;
*) exit;;
esac
fi

kill $(cat "$TMP/pid") 2>/dev/null

if [ ! "$(mount|grep "^$DEV")" ]; then

mount -t ext4 "$DEV" "$MNT"

if [ $? -ne 0 ]; then

yad --on-top --center \
    --width 500 \
    --height 190 \
    --gtkrc="$THEME" \
    --title "$TITULO" \
    --window-icon "$LOGO" \
    --image "$LOGO"  \
    --button "gtk-ok:0" \
    --text-align "center" \
    --text "\n\n\n    Ocurrió un error al montar la partición, no se puede continuar  \n"
exit
fi
fi

N1="$(echo "$MODULES"|wc -l)"
N2=0
PROGRESS=0
echo 0 >"$TMP/progress_bar"

(for X in $MODULES; do

N2=$(($N2+1))
PORCENT=$(($(($N2*100))/$N1))
echo $PORCENT >"$TMP/progress_bar"
echo $PORCENT
[ $PORCENT -lt 100 ] && echo "#Progreso: ${PORCENT}%"||echo "#Realizando tareas finales..."
(echo
echo "Instalando $X"
unsquashfs -n -f -dest "${MNT}" "$X"
) 1>&2
done|\
yad --on-top --center \
    --width 500 \
    --height 190 \
    --gtkrc="$THEME" \
    --title "$TITULO" \
    --window-icon "$LOGO" \
    --image "$LOGO"  \
    --no-buttons \
    --progress \
    --text-align "center" \
    --text "\n\n\n    Instalando Wifislax64 $(cat $LIVEOS|cut -d' ' -f2) en $DEV  \n" \
& echo $! >"$TMP/pid")

while true; do sleep 1; [ $(cat "$TMP/progress_bar") -ge 100 ] && break; done

sed -i "1i $DEV        /                ext4        defaults         1   1" "$MNT/etc/fstab"
cp -rf "$LIVECD/boot/vmlinuz" "$MNT/boot/vmlinuz-$(uname -r)"
cp -rf /etc/timezone "$MNT/etc/"
cp -rf /etc/rc.d/rc.keymap "$MNT/etc/rc.d/"
cp -rf /etc/profile.d/lang.sh "$MNT/etc/profile.d/"
cp -rf /etc/X11/xorg.conf.d/30-keyboard.conf "$MNT/etc/X11/xorg.conf.d/"
tune2fs -L "$(cat $LIVEOS|tr ' ' '-')" "$DEV"
kill $(cat "$TMP/pid")

yad --on-top --center \
    --width 500 \
    --height 190 \
    --gtkrc="$THEME" \
    --title "$TITULO" \
    --window-icon "$LOGO" \
    --image "$LOGO"  \
    --button "gtk-ok:0" \
    --text-align "center" \
    --text "\n\n\n    La instalación de Wifislax64 ha completado,  \n    se procederá a instalar el GRUB  \n"

Grub2InstallerGUI
exit