1
0
mirror of https://gitlab.com/JKANetwork/JKArch.git synced 2026-02-16 02:01:32 +01:00
Files
JKArch/archinstall/chrootinstall.sh
2016-05-30 10:23:31 +02:00

168 lines
4.1 KiB
Bash
Executable File

#!/bin/bash
#Este script corre en el chroot para configurar todo
argpart=$1
function horaidioma {
#Idioma
echo "Escoja su idioma. Se irá desde la abreviatura general, a la particular"
options=($(cat /etc/locale.gen | grep '^#[a-zA-Z]' | cut -c2-30 | cut -f1 -d"_" | sort | uniq))
select opt in "${options[@]}"
do
case $opt in
*) langabr=$opt;break;;
esac
done
clear
options=($(cat /etc/locale.gen | grep '^#'$langabr | cut -c2-30 | cut -f1 -d" " | sort | uniq))
select opt in "${options[@]}"
do
case $opt in
*) opclang=$opt;break;;
esac
done
langinst=$(cat /etc/locale.gen | grep -m1 '^#'$opclang | cut -c2-40)
sed "s/\#$langinst/$langinst/g" /etc/locale.gen > /etc/locale.gen.new
mv /etc/locale.gen.new /etc/locale.gen
echo "LANG=$langinst" > /etc/locale.conf
echo "KEYMAP=$langabr" > /etc/vconsole.conf
locale-gen
echo "Ahora seleccione su ubicación/país para ajustar el reloj"
NEW_TIMEZONE=$(tzselect)
test -n "$NEW_TIMEZONE" && cp -fp /usr/share/zoneinfo/"$NEW_TIMEZONE" /etc/localtime
hwclock --systohc --utc
}
function userpass {
clear
#Aqui hay que añadir los comandos para crear un usuario, aunque esto correrá dentro del chroot y no aqui
echo "Para seguridad, vamos a cambiar la contraseña de root"
echo "Contraseña para el usuario root:"
passwd root
echo "Ahora crearemos tu usuario:"
echo "Nombre:"
read nameuser
useradd -m -G wheel -s /bin/bash $nameuser
passwd $nameuser
}
function graficos {
echo "¿Cual es la marca de su tarjeta gráfica?"
options=("Nvidia" "AMD/ATI" "Intel" "VIA" "No lo se")
select opt in "${options[@]}"
do
case $opt in
"Nvidia")
pacman -S xf86-video-nouveau xf86-video-nv
break
;;
"AMD/ATI")
pacman -S xf86-video-ati
break
;;
"Intel")
pacman -S xf86-video-intel
break
;;
"VIA")
pacman -S xf86-video-openchrome
break
;;
"No lo se")
pacman -S xf86-video-vesa xf86-video-nouveau xf86-video-nv xf86-video-ati xf86-video-intel xf86-video-openchrome
break
;;
*) echo invalid option;;
esac
done
}
function entorno {
clear
echo "Ahora customizaremos el entorno, escritorio, etc)
echo "Para empezar, ¿que entorno de escritorio (parte gráfica) le gustaría usar?"
echo "LXDE es más liviano, XFCE es liviano pero bonito, Cinnamon es agradable para usuarios antiguos de Windows, Gnome es complejo pero práctico"
options=("LXDE" "XFCE" "Cinnamon" "Gnome" "Solo quiero la consola")
select opt in "${options[@]}"
do
case $opt in
"LXDE")
pacman -S lxde
instentorno=1
break
;;
"XFCE")
pacman -S xfce4
instentorno=1
break
;;
"Cinnamon")
pacman -S cinnamon
instentorno=1
break
;;
"Gnome")
pacman -S gnome
instentorno=1
break
;;
"Solo quiero la consola")
break
;;
*) echo invalid option;;
esac
done
if [[ $instentorno ]];then
graficos
pacman -S lightdm lightdm-gtk-greeter
systemctl enable lightdm
fi
}
function bootinstall {
clear
echo "Instalando bootloader"
echo "¿Usas EFI o tu esquema de particiones es GPT/UEFI?"
echo "(Recuerda como lo hiciste al comenzar la instalación)"
options=("EFI/UEFI/GPT" "MBR/BIOS" "No instalar boot")
select opt in "${options[@]}"
do
case $opt in
"EFI/UEFI/GPT")
echo "Instalando grub modo EFI"
break
;;
"MBR/BIOS")
echo "Instalando grub en modo normal"
pacman -S grub os-prober
grub-install --target=i386-pc /dev/$argpart
grub-mkconfig -o /boot/grub/grub.cfg
break
;;
"No instalar boot")
#Asi no formateará
echo "No se ha instalado ningún gestor de arranque nuevo"
break
;;
*) echo invalid option;;
esac
done
}
echo "Configuración de su sistema"
echo "Por se acaso, actualizaremos las bases de datos de arch"
pacman -Sy
horaidioma
mkinitcpio -p linux
userpass
entorno
bootinstall