From e7c4eba1862552d9c1085c846a7f0322e20c6c91 Mon Sep 17 00:00:00 2001 From: JKANetwork Date: Sun, 15 Jan 2017 23:30:19 +0100 Subject: [PATCH] Third stage. Beta 1 --- ISOCreateScripts/totalisocreate.sh | 127 ++++++++++++++++------------- 1 file changed, 72 insertions(+), 55 deletions(-) diff --git a/ISOCreateScripts/totalisocreate.sh b/ISOCreateScripts/totalisocreate.sh index 88ddb5a..6b2fd31 100755 --- a/ISOCreateScripts/totalisocreate.sh +++ b/ISOCreateScripts/totalisocreate.sh @@ -2,6 +2,7 @@ ### Este script crea las iso Online y Offline de JKArch desde parte de los archivos de una iso original de archlinux (Descargada desde rediris) ### Creado por JKANetwork ### Este script debe ser ejecutado con el clone del git de JKArch sin mover ningun fichero +### Se puede usar como parametro Online o Offline para crear solo una de las dos imagenes sfslocate="/tmp/sfsfile" #Donde se harĂ¡n las modificaciones temporales (El chroot) @@ -47,6 +48,7 @@ function modifyimage { ##Esta funcion genera el .bash_profile function bashprofile { + sudo rm $sfslocate/root/.bash_profile sudo echo "#" > $sfslocate/root/.bash_profile sudo echo "# ~/.bash_profile" >> $sfslocate/root/.bash_profile sudo echo "#" >> $sfslocate/root/.bash_profile @@ -60,7 +62,7 @@ function bashprofile { } ##Esta funcion prepara la carpeta iso -prepareISOFolder { +function prepareISOFolder { rm -rf iso/* mkdir iso cp -r data/* iso/ @@ -84,71 +86,86 @@ wget http://sunsite.rediris.es/mirror/archlinux/iso/latest/arch/boot/intel_ucode wget http://sunsite.rediris.es/mirror/archlinux/iso/latest/arch/x86_64/airootfs.sfs -O temp/airootfs.sfs # -# Online ISO Procedure -#Copy important files -prepareISOFolder +##Function online iso create +function createOnline { + # Online ISO Procedure + #Copy important files + prepareISOFolder -sudo unsquashfs -d $sfslocate/ iso/arch/x86_64/airootfs.sfs + sudo unsquashfs -d $sfslocate/ iso/arch/x86_64/airootfs.sfs -#Permisos de root de la imagen cambiar temporalmente -sudo chmod 777 $sfslocate/root/ -sudo rm $sfslocate/root/* + #Permisos de root de la imagen cambiar temporalmente + sudo chmod 777 $sfslocate/root/ + sudo rm $sfslocate/root/* -#.bash_profile Online -bashprofile "Online" + #.bash_profile Online + bashprofile "Online" -#Copiar ficheros instalador -sudo cp ../archinstall/* $sfslocate/root/ -sudo rm $sfslocate/root/pacman-offline.conf + #Copiar ficheros instalador + sudo cp ../archinstall/* $sfslocate/root/ + sudo rm $sfslocate/root/pacman-offline.conf -#Resto de modificaciones (las comunes) y cerrado del sfs -modifyimage + #Resto de modificaciones (las comunes) y cerrado del sfs + modifyimage -#Creamos la ISO -mkisofs -b isolinux/isolinux.bin -r -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "JKARCH-ISO" -o output-Online.iso iso/ -sudo rm -rf iso/ -echo "ISO Online creada" + #Creamos la ISO + mkisofs -b isolinux/isolinux.bin -r -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "JKARCH-ISO" -o output-Online.iso iso/ + sudo rm -rf iso/ + echo "ISO Online creada" +} + +function createOffline { + # Offline ISO Procedure + #Copy important files + prepareISOFolder + + #Unsquash sfs file + sudo unsquashfs -d $sfslocate/ iso/arch/x86_64/airootfs.sfs + + #Permisos de root de la imagen cambiar temporalmente + sudo chmod 777 $sfslocate/root/ + sudo rm $sfslocate/root/* + + #.bash_profile Offline + bashprofile "Offline" + + #Create subfolder and folder at same time + sudo mkdir -p $sfslocate/root/offlinefiles/mods/ + #Esta ruta es absoluta, no vale para todos los sistemas (Es "temporal") + sudo cp ../archinstall/* $sfslocate/root/offlinefiles/ + sudo rm $sfslocate/root/offlinefiles/downloadinstall.sh $sfslocate/root/offlinefiles/archinstall-dev.sh + sudo cp ../mods/* $sfslocate/root/offlinefiles/mods/ + + #Resto de modificaciones (las comunes) y cerrado del sfs + modifyimage + + #Creamos el repositorio + sudo sh depsjkarch.sh + #Lo movemos a su sitio + mkdir -p iso/repo/ + mv repoofflinejkarch/* iso/repo/ + rm -rf repoofflinejkarch/ + + #Creamos la ISO + mkisofs -b isolinux/isolinux.bin -r -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "JKARCH-ISO" -o output-Offline.iso iso/ + sudo rm -rf iso/ + echo "ISO Offline creada" +} +#Switch del argumento $1 para ver si solo se quiere crear una de las dos imagenes iso +case $1 in + "Online") createOnline;; + "Offline") createOffline;; + "") + createOnline + createOffline + ;; +esac -# Offline ISO Procedure -#Copy important files -prepareISOFolder - -#Unsquash sfs file -sudo unsquashfs -d $sfslocate/ iso/arch/x86_64/airootfs.sfs - -#Permisos de root de la imagen cambiar temporalmente -sudo chmod 777 $sfslocate/root/ -sudo rm $sfslocate/root/* - -#.bash_profile Offline -bashprofile "Offline" - -#Create subfolder and folder at same time -sudo mkdir -p $sfslocate/root/offlinefiles/mods/ -#Esta ruta es absoluta, no vale para todos los sistemas (Es "temporal") -sudo cp ../archinstall/* $sfslocate/root/offlinefiles/ -sudo rm $sfslocate/root/offlinefiles/downloadinstall.sh $sfslocate/root/offlinefiles/archinstall-dev.sh -sudo cp ../mods/* $sfslocate/root/offlinefiles/mods/ - -#Resto de modificaciones (las comunes) y cerrado del sfs -modifyimage - -#Creamos el repositorio -sudo sh depsjkarch.sh -#Lo movemos a su sitio -mv repoofflinejkarch/* iso/repo/ -rm -rf repoofflinejkarch/ - -#Creamos la ISO -mkisofs -b isolinux/isolinux.bin -r -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "JKARCH-ISO" -o output-Offline.iso iso/ -sudo rm -rf iso/ -echo "ISO Offline creada" - -#Borramos carpeta temporal +#Borramos carpeta temporal antes de finalizar rm -rf temp/ mkdir temp echo "Script terminado" \ No newline at end of file