#!/bin/bash #Temporal is a file that contains parameters to use when access to chroot pacman -Sy parabola-keyring --noconfirm pacman-key --populate parabola pacman-key --refresh-keys partition(){ #Search and show the Hard Disks to select aux=$(ls /dev/sd?) index=0 for i in $aux; do hdds[$index]="${i} ${i#/*/} off" index=$((index+1)) done hdd=$(dialog --stdout --radiolist "Selecciona Disco Duro" 20 70 50 ${hdds[@]}) #If exist the line delete if (cat ~/.scriptsInstallation/temporal | grep "hdd=") &>/dev/null then sed -i -e '/hdd=*/d' ~/.scriptsInstallation/temporal fi #And add the new line with new parameter echo "hdd=$hdd" >> ~/.scriptsInstallation/temporal gparted $hdd #Search and show the partitions that select before. aux=$(ls $hdd?) index=0; for i in $aux; do partitions[$index]="${i} ${i#/*/} off" index=$((index+1)) done partition=$(dialog --stdout --radiolist "Montar Particion /" 20 70 50 ${partitions[@]}) #Mount partition / umount /mnt &> /dev/null mount $partition /mnt #Ask if you want mount other partitions other=0 while [ $other != 3 ]; do other=$(dialog --stdout --menu "Quere montar outra particion?" 20 70 50 1 "/home" 2 "/boot" 3 "No") case $other in 1) umount /mnt/home &> /dev/null mkdir /mnt/home &> /dev/null mount $(dialog --stdout --radiolist "Montar particion /home" 20 70 50 ${partitions[@]}) /mnt/home ;; 2) umount /mnt/boot &> /dev/null mkdir /mnt/boot &> /dev/null mount $(dialog --stdout --radiolist "Montar particion /boot" 20 70 50 ${partitions[@]}) /mnt/boot ;; *) other=3 ;; esac done } option=0 while [ option != 7 ]; do option=$(dialog --stdout --menu "Instalacion de Parabola CLI" 20 70 50 \ 1 "Formatear e Montar Particiones" \ 2 "Instalar Sistema Base" \ 3 "Instalar GRUB" \ 4 "Configuracion do Sistema" \ 5 "Crear Conta de Usuario" \ 6 "(Opcional)Instalar Live Cd Escritorio/Aplicaciones" \ 7 "Salir" ) case $option in 1) partition ;; 2) #Install base system pacstrap /mnt pacstrap /mnt dialog ;; 3) #Install grub pacstrap /mnt grub ;; 4) #Generate fstab and acces to chroot to do System Config genfstab -p /mnt >> /mnt/etc/fstab cp ~/.scriptsInstallation/temporal /mnt cp ~/.scriptsInstallation/systemConfig.sh /mnt chmod +x /mnt/systemConfig.sh arch-chroot /mnt /systemConfig.sh rm -r /mnt/systemConfig.sh ;; 5) #Create a new username and save in temporal, to use after if (cat ~/.scriptsInstallation/temporal | grep "userName=") &>/dev/null then sed -i -e '/userName=*/d' ~/.scriptsInstallation/temporal fi echo "userName=$(dialog --stdout --inputbox "Introduce un nome de usuario" 8 40)" >> ~/.scriptsInstallation/temporal cp ~/.scriptsInstallation/temporal /mnt cp ~/.scriptsInstallation/userAccount.sh /mnt chmod +x /mnt/userAccount.sh arch-chroot /mnt /userAccount.sh rm -r /mnt/userAccount.sh ;; 6) #Packages to the X11 live packages=( "xorg-server" "xf86-input-evdev" "xf86-input-synaptics" "xf86-video-vesa" "xf86-video-intel" "xf86-video-nouveau" "xf86-video-ati" "xf86-video-apm" "xf86-video-ark" "xf86-video-ast" "xf86-video-chips" "xf86-video-cirrus" "xf86-video-dummy" "xf86-video-fbdev" "xf86-video-glint" "xf86-video-i128" "xf86-video-i740" "xf86-video-intel" "xf86-video-mach64" "xf86-video-mga" "xf86-video-modesetting" "xf86-video-neomagic" "xf86-video-nv" "xf86-video-openchrome" "xf86-video-r128" "xf86-video-rendition" "xf86-video-s3" "xf86-video-s3virge" "xf86-video-savage" "xf86-video-siliconmotion" "xf86-video-sis" "xf86-video-sisimedia" "xf86-video-sisusb" "xf86-video-tdfx" "xf86-video-trident" "xf86-video-tseng" "xf86-video-v4l" "xf86-video-vmware" "xf86-video-voodoo" "xorg-xinit" "gst-plugins-good" "gst-libav" "icewm" "nitrogen" "xterm" "zenity" "pulseaudio-alsa" "alsa-utils" "volumeicon" "networkmanager" "network-manager-applet" "ath9k-htc-firmware" "xfe" "iceweasel" "icedove" "pidgin" "gparted" "supertux" "smplayer" "epdfview" "gpicview" "abiword" "gnumeric") #Install packages pacstrap /mnt ${packages[@]} user=$(cat ~/.scriptsInstallation/temporal | grep "userName" ) #Copie skel in the new system without scripts, other languages... cp -a /etc/skel/ /mnt/etc/ rm -r /mnt/etc/skel/.scriptsInstallation /mnt/etc/skel/.icewm/menuLanguages /mnt/etc/skel/.codecheck /mnt/etc/skel/.language.sh cp -a /root/.icewm/menu /mnt/etc/skel/.icewm/menu sed -i -e '/.scriptsInstallation/d' /mnt/etc/skel/.icewm/menu sed -i -e '/language.sh/d' /mnt/etc/skel/.icewm/startup #Puts the XKBMAP, start X11 automatically and icewm desktop echo "setxkbmap $(cat ~/.codecheck | grep XKBMAP= | cut -d '=' -f 2)" > /mnt/etc/skel/.xinitrc echo "exec icewm-session" >> /mnt/etc/skel/.xinitrc echo "startx" >> /mnt/etc/skel/.bash_profile chmod +x /mnt/etc/skel/.xinitrc cp -a /mnt/etc/skel/.[a-z]* /mnt/home/${user#*=}/ cp -a cp ~/.scriptsInstallation/x11.sh /mnt #Enable services with systemd chmod +x /mnt/x11.sh arch-chroot /mnt /x11.sh rm /mnt/x11.sh ;; *) #Delete temporal file and umount partitions rm -r /mnt/temporal umount /mnt/boot &> /dev/null umount /mnt/home &> /dev/null umount /mnt &> /dev/null exit ;; esac done