1
0
mirror of https://gitlab.com/JKANetwork/JKArch.git synced 2026-02-22 04:53:52 +01:00
Files
JKArch/archinstall/chrootinstall.sh
2016-05-30 11:11:07 +02:00

172 lines
4.5 KiB
Bash
Executable File

#!/bin/bash
#Este script corre en el chroot para configurar todo
argpart=$1
partefi=$2
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 --noconfirm
break
;;
"AMD/ATI")
pacman -S xf86-video-ati --noconfirm
break
;;
"Intel")
pacman -S xf86-video-intel --noconfirm
break
;;
"VIA")
pacman -S xf86-video-openchrome --noconfirm
break
;;
"No lo se")
pacman -S xf86-video-vesa xf86-video-nouveau xf86-video-nv xf86-video-ati xf86-video-intel xf86-video-openchrome --noconfirm
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"
echo "Si seleccionas solo consola no se instalará ningun añadido xf86 ni utilidades, opción para usuarios avanzados"
options=("LXDE" "XFCE" "Cinnamon" "Gnome" "Solo quiero la consola")
select opt in "${options[@]}"
do
case $opt in
"LXDE")
pacman -S lxde --noconfirm
instentorno=1
break
;;
"XFCE")
pacman -S xfce4 --noconfirm
instentorno=1
break
;;
"Cinnamon")
pacman -S cinnamon --noconfirm
instentorno=1
break
;;
"Gnome")
pacman -S gnome --noconfirm
instentorno=1
break
;;
"Solo quiero la consola")
break
;;
*) echo invalid option;;
esac
done
if [[ $instentorno ]];then
graficos
pacman -S xorg-server xorg-server-common xf86-input-libinput lightdm lightdm-gtk-greeter --noconfirm
echo "Instalando algún otro programa básico.."
pacman -S gvfs udisks --noconfifm
systemctl enable lightdm
fi
}
function bootinstall {
clear
echo "¿Instalar bootloader?"
options=("Si" "No, no instalar gestor de arranque")
select opt in "${options[@]}"
do
case $opt in
"Si")
if [[ -z $partefi ]];then
echo "Instalando GRUB para BIOS/MBR"
pacman -S grub os-prober --noconfirm
grub-install --target=i386-pc /dev/$argpart
grub-mkconfig -o /boot/grub/grub.cfg
else
echo "Instalando GRUB para GPT/UEFI"
pacman -S grub os-prober efibootmgr --noconfirm
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub_uefi --recheck
grub-mkconfig -o /boot/grub/grub.cfg
fi
break
;;
"No, no instalar gestor de arranque")
#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
echo "Ultimos retoques.."
systemctl enable dhcpcd