From 817ed8a396d4c6eaf58ee7f11d730d3862152008 Mon Sep 17 00:00:00 2001 From: Awnrt Date: Sat, 30 Mar 2024 20:41:02 +0300 Subject: install scripts --- install.sh | 48 +++++++++++++++++++++++++++++++++++++++++++++ post_chroot.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100755 install.sh create mode 100755 post_chroot.sh diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..4409a43 --- /dev/null +++ b/install.sh @@ -0,0 +1,48 @@ +read -p "Enter disk label (e.g., sda): " disk_drive +read -p "Enter comma-separated partition numbers (e.g., 5,6,7 for 5 boot 6 swap 7 root): " partitions +IFS=',' read -r -a partition_array <<< "$partitions" + +root_drive="$disk_drive${partition_array[2]}" +swap_drive="$disk_drive${partition_array[1]}" +boot_drive="$disk_drive${partition_array[0]}" + +read -p "Hostname: " _hostname + +read -p "Username: " _username + +read -p "root password: " _rootpasswd + +read -p "user password: " _userpasswd + +mkfs.ext4 /dev/$root_drive +mkswap /dev/$swap_drive +swapon /dev/$swap_drive +mkfs.fat -F 32 /dev/$boot_drive + +mount /dev/$root_drive /mnt +mkdir /mnt/boot +mkdir /mnt/home +mkdir /mnt/boot/efi +mount /dev/$boot_drive /mnt/boot/efi + +rc-service ntpd start + +pacman -Sy --confirm +pacman -S pacman-contrib --noconfirm + +rankmirrors -n 6 /etc/pacman.d/mirrorlist > /etc/pacman.d/mirrorlist + +basestrap /mnt base base-devel openrc elogind-openrc +basestrap /mnt linux linux-firmware +fstabgen -U /mnt >> /mnt/etc/fstab + +cp post_chroot.sh /mnt + +export root_drive +export swap_drive +export boot_drive +export _hostname +export _rootpasswd +export _userpasswd + +artix-chroot /mnt ./post_chroot.sh diff --git a/post_chroot.sh b/post_chroot.sh new file mode 100755 index 0000000..a061f4d --- /dev/null +++ b/post_chroot.sh @@ -0,0 +1,62 @@ +pacman -Sy bash-completion --noconfirm +ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime +hwclock --systohc + +echo en_US.UTF-8 UTF-8 >> /etc/locale.gen +locale-gen + +echo LANG=en_US.UTF-8 > /etc/locale.conf +export LANG="en_US.UTF-8" +export LC_COLLATE="C" + +pacman -S grub os-prober efibootmgr --noconfirm + +grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub + +grub-mkconfig -o /boot/grub/grub.cfg + +useradd -m -g users -G wheel,storage,power -s /bin/bash $_username + +echo root:$_rootpasswd | chpasswd + +echo $_username:$_userpasswd | chpasswd + +echo "%wheel ALL=(ALL) ALL" >> /etc/sudoers +echo "Defaults rootpw" >> /etc/sudoers + +echo $_hostname > /etc/hostname + +echo "[lib32]" >> /etc/pacman.conf +echo "Include = /etc/pacman.d/mirrorlist" >> /etc/pacman.conf +pacman -Sy --noconfirm + +pacman -S dhcpcd connman-openrc --noconfirm +rc-update add connmand + +pacman -S intel-ucode --noconfirm + +grub-mkconfig -o /boot/grub/grub.cfg + +pacman -S linux-headers --noconfirm +pacman -S trizen --noconfirm +pacman -S nvidia-dkms nvidia-utils opencl-nvidia lib32-nvidia-utils lib32-opencl-nvidia nvidia-settings libxnvctrl --noconfirm + +#trizen -S nvidia-535xx-utils nvidia-535xx-dkms opencl-nvidia-535xx lib32-opencl-nvidia-535xx lib32-nvidia-535xx-utils nvidia-535xx-settings libxnvctrl-535xx + + +sudo sed -i -e 's/MODULES=()/MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)/g' /etc/mkinitcpio.conf + + +mkdir /etc/pacman.d/hooks +echo "[Trigger]" >> /etc/pacman.d/hooks/nvidia +echo "Operation=Install" >> /etc/pacman.d/hooks/nvidia +echo "Operation=Upgrade" >> /etc/pacman.d/hooks/nvidia +echo "Operation=Remove" >> /etc/pacman.d/hooks/nvidia +echo "Type=Package" >> /etc/pacman.d/hooks/nvidia +echo "Target=nvidia" >> /etc/pacman.d/hooks/nvidia +echo "[Action]" >> /etc/pacman.d/hooks/nvidia +echo "Depends=mkinitcpio" >> /etc/pacman.d/hooks/nvidia +echo "When=PostTransaction" >> /etc/pacman.d/hooks/nvidia +echo "Exec=/usr/bin/mkinitcpio -P" >> /etc/pacman.d/hooks/nvidia + +rm /post_chroot.sh -- cgit v1.2.3