|
@@ -1,21 +1,16 @@
|
|
|
#!/bin/bash
|
|
|
set -e
|
|
|
-Version=13.2
|
|
|
-Headless=NO
|
|
|
+Version=14.0
|
|
|
Cuda=NO
|
|
|
ZFS=NO
|
|
|
-Drivers=NVIDIA
|
|
|
-motherboard="GA990xa-ud3"
|
|
|
kernel_custom=YES
|
|
|
Webmin="webmin-2.021"
|
|
|
-kernel_dkms="5.15.0-69-generic"
|
|
|
-
|
|
|
+kernel_dkms="5.15.0-71-generic"
|
|
|
if (( $EUID != 0 )); then
|
|
|
- echo -e "$(tput setaf 9)This must be run as root. Try 'sudo $0'.$(tput sgr0)"
|
|
|
+ echo -e "$(tput setaf 11)This must be run as root. Try 'sudo $0'.$(tput sgr0)"
|
|
|
exit 1
|
|
|
fi
|
|
|
clear
|
|
|
-
|
|
|
function ubuntu_version_check {
|
|
|
if [[ $(lsb_release -rs) == "20.04" ]]
|
|
|
then
|
|
@@ -28,63 +23,6 @@ else
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
-function kernel_check_ {
|
|
|
-unamestr=$(uname -r)
|
|
|
-case $kernel_custom in
|
|
|
-NO)
|
|
|
- if [[ "$unamestr" == '5.15.0-69-generic' ]]
|
|
|
- then
|
|
|
- echo -e "$(tput setaf 10)DKMS Kernel install :$(tput sgr0)"
|
|
|
- sudo rm /boot/config-5.15*
|
|
|
- sudo rm /boot/initrd.img-5.15*
|
|
|
- sudo rm /boot/System.map-5.15*
|
|
|
- sudo rm /boot/vmlinuz-5.15*
|
|
|
- sudo apt-get install linux-image-5.4.0-54-generic linux-headers-5.4.0-54-generic linux-modules-extra-5.4.0-54-generic htop -y
|
|
|
- sudo update-grub2
|
|
|
- sudo apt-mark hold linux-image-5.4.0-54-generic linux-headers-5.4.0-54-generic linux-modules-extra-5.4.0-54-generic
|
|
|
- autoroot_
|
|
|
- decompte_
|
|
|
- fi
|
|
|
- if [[ "$unamestr" == '5.4.0-139-generic' ]]
|
|
|
- then
|
|
|
- sudo rm /boot/config-5.4.0-139-generic | true
|
|
|
- sudo rm /boot/System.map-5.4.0-139-generic | true
|
|
|
- sudo rm /boot/initrd.img-5.4.0-139-generic | true
|
|
|
- sudo rm /boot/vmlinuz-5.4.0-139-generic | true
|
|
|
- sudo update-grub2
|
|
|
- sudo apt-mark hold linux-image-$kernel_dkms linux-headers-$kernel_dkms linux-modules-extra-$kernel_dkms
|
|
|
- autoroot_
|
|
|
- decompte_
|
|
|
- fi
|
|
|
- ;;
|
|
|
-YES)
|
|
|
- wget -c -q http://192.168.1.8:3000/wareck/custom_kernel/raw/master/ksource.txt -O /tmp/ksource.txt
|
|
|
- source /tmp/ksource.txt
|
|
|
-
|
|
|
- if ! [[ "$unamestr" == $KLversion ]]
|
|
|
- then
|
|
|
- echo -e "$(tput setaf 10)Custom kernel install $(tput setaf 9)$KLversion$(tput setaf 10) (fix DKMS/WOL) :$(tput sgr0)"
|
|
|
- cd /tmp/
|
|
|
- wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/custom_kernel/$KHeader
|
|
|
- wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/custom_kernel/$KImage
|
|
|
- wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/custom_kernel/$KLibc
|
|
|
-
|
|
|
- sudo dpkg -i $KLibc
|
|
|
- sudo dpkg -i $KHeader
|
|
|
- sudo dpkg -i $KImage
|
|
|
-
|
|
|
- if [ $Drivers="NVIDIA" ]
|
|
|
- then
|
|
|
- nvidia_driver_
|
|
|
- else
|
|
|
- autoroot_
|
|
|
- decompte_
|
|
|
- fi
|
|
|
- fi
|
|
|
- ;;
|
|
|
-esac
|
|
|
-}
|
|
|
-
|
|
|
function print_centered {
|
|
|
[[ $# == 0 ]] && return 1
|
|
|
|
|
@@ -109,6 +47,17 @@ function print_centered {
|
|
|
return 0
|
|
|
}
|
|
|
|
|
|
+function decompte_ {
|
|
|
+echo -e "$(tput setaf 10)\nReboot in 10 seconds (CRTL+C to abord):$(tput sgr0)"
|
|
|
+for i in {10..0}
|
|
|
+do
|
|
|
+echo -e -n "$i "
|
|
|
+sleep 1
|
|
|
+done
|
|
|
+echo ""
|
|
|
+sudo reboot
|
|
|
+}
|
|
|
+
|
|
|
function intro_ {
|
|
|
print_centered "$(tput setaf 5)"
|
|
|
print_centered " ██████╗██╗ ██╗██████╗ ███████╗"
|
|
@@ -120,10 +69,7 @@ print_centered " ╚═════╝ ╚═════╝ ╚═════
|
|
|
echo -n "$(tput sgr0)"
|
|
|
print_centered "Cube Server installation script v$Version"
|
|
|
print_centered "Ubuntu version 20.04"
|
|
|
-if [ $motherboard = "GA990xa-ud3" ]
|
|
|
-then
|
|
|
print_centered "GA990xa-ud3 $Drivers"
|
|
|
-fi
|
|
|
sleep 1
|
|
|
}
|
|
|
|
|
@@ -136,17 +82,13 @@ echo -e ""
|
|
|
sudo apt-get install lxde lxde-icon-theme -y
|
|
|
echo -e ""
|
|
|
sudo apt-get install checkinstall samba cifs-utils mdadm git build-essential libtool pkg-config automake autoconf ethtool net-tools openvpn filezilla \
|
|
|
-tasksel lzma-dev lzma cmake libuv1-dev libssl-dev msr-tools tightvncserver lm-sensors openssh-server xfsprogs -y
|
|
|
+tasksel lzma-dev lzma cmake libuv1-dev libssl-dev msr-tools tightvncserver lm-sensors openssh-server xfsprogs zfsutils-linux -y
|
|
|
echo -e ""
|
|
|
sudo apt-get install pixz pbzip2 pigz btrfs-progs gparted gpart gnome-remote-desktop libcanberra-gtk-module \
|
|
|
ctorrent libcurl4-openssl-dev bison byacc screen libudev-dev libjansson-dev libncurses5-dev libmicrohttpd-dev curl nvme-cli -y
|
|
|
echo -e ""
|
|
|
sudo apt-get install libglib2.0-dev libgtk2.0-dev libsensors4-dev htop vlc locate -y
|
|
|
echo -e ""
|
|
|
-if [ $ZFS = "YES" ]
|
|
|
-then
|
|
|
-sudo apt-get install zfsutils-linux -y
|
|
|
-fi
|
|
|
if [ $Cuda = "YES" ]
|
|
|
then
|
|
|
echo -e "$(tput setaf 10)\nInstall Cuda packages:$(tput sgr0)"
|
|
@@ -156,83 +98,89 @@ fi
|
|
|
fi
|
|
|
}
|
|
|
|
|
|
-function decompte_ {
|
|
|
-echo -e "$(tput setaf 10)\nReboot in 10 seconds (CRTL+C to abord):$(tput sgr0)"
|
|
|
-for i in {10..0}
|
|
|
-do
|
|
|
-echo -e -n "$i "
|
|
|
-sleep 1
|
|
|
-done
|
|
|
-echo ""
|
|
|
-sudo reboot
|
|
|
+function kernel_check_ {
|
|
|
+unamestr=$(uname -r)
|
|
|
+case $kernel_custom in
|
|
|
+NO)
|
|
|
+ if [[ "$unamestr" == '5.15.0-69-generic' ]]
|
|
|
+ then
|
|
|
+ echo -e "$(tput setaf 10)DKMS Kernel install :$(tput sgr0)"
|
|
|
+ sudo rm /boot/config-5.15*
|
|
|
+ sudo rm /boot/initrd.img-5.15*
|
|
|
+ sudo rm /boot/System.map-5.15*
|
|
|
+ sudo rm /boot/vmlinuz-5.15*
|
|
|
+ sudo apt-get install linux-image-5.4.0-54-generic linux-headers-5.4.0-54-generic linux-modules-extra-5.4.0-54-generic htop -y
|
|
|
+ sudo update-grub2
|
|
|
+ sudo apt-mark hold linux-image-5.4.0-54-generic linux-headers-5.4.0-54-generic linux-modules-extra-5.4.0-54-generic
|
|
|
+ autoroot_
|
|
|
+ decompte_
|
|
|
+ fi
|
|
|
+ if [[ "$unamestr" == '5.4.0-139-generic' ]]
|
|
|
+ then
|
|
|
+ sudo rm /boot/config-5.4.0-139-generic | true
|
|
|
+ sudo rm /boot/System.map-5.4.0-139-generic | true
|
|
|
+ sudo rm /boot/initrd.img-5.4.0-139-generic | true
|
|
|
+ sudo rm /boot/vmlinuz-5.4.0-139-generic | true
|
|
|
+ sudo update-grub2
|
|
|
+ sudo apt-mark hold linux-image-$kernel_dkms linux-headers-$kernel_dkms linux-modules-extra-$kernel_dkms
|
|
|
+ autoroot_
|
|
|
+ decompte_
|
|
|
+ fi
|
|
|
+ ;;
|
|
|
+YES)
|
|
|
+ wget -c -q http://192.168.1.8:3000/wareck/custom_kernel/raw/master/ksource.txt -O /tmp/ksource.txt
|
|
|
+ source /tmp/ksource.txt
|
|
|
+ if ! [[ "$unamestr" == $KLversion ]]
|
|
|
+ then
|
|
|
+ echo -e "$(tput setaf 10)Custom kernel install $(tput setaf 9)$KLversion$(tput setaf 10) (fix DKMS/WOL) :$(tput sgr0)"
|
|
|
+ cd /tmp/
|
|
|
+ wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/custom_kernel/$KHeader
|
|
|
+ wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/custom_kernel/$KImage
|
|
|
+ wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/custom_kernel/$KLibc
|
|
|
+
|
|
|
+ sudo dpkg -i $KLibc
|
|
|
+ sudo dpkg -i $KHeader
|
|
|
+ sudo dpkg -i $KImage
|
|
|
+
|
|
|
+ nvidia_driver_
|
|
|
+ autoroot_
|
|
|
+ decompte_
|
|
|
+ fi
|
|
|
+ ;;
|
|
|
+esac
|
|
|
}
|
|
|
|
|
|
function nvidia_driver_ {
|
|
|
if ! [ -f /home/wareck/.pass1 ]
|
|
|
then
|
|
|
- if [ $Drivers = "NVIDIA" ]
|
|
|
+ if ! [ -f /etc/modprobe.d/blacklist-nvidia-nouveau.conf ]
|
|
|
then
|
|
|
- if ! [ -f /etc/modprobe.d/blacklist-nvidia-nouveau.conf ]
|
|
|
- then
|
|
|
+ echo "Blacklist nvidia-nouveau driver..."
|
|
|
+ echo "System will reboot"
|
|
|
sudo apt-get install build-essential libglvnd-dev -y
|
|
|
sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
|
|
|
sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
|
|
|
sudo update-initramfs -u
|
|
|
touch /home/wareck/.pass1
|
|
|
decompte_
|
|
|
- fi
|
|
|
- fi
|
|
|
- if [ $Drivers = "AMD" ]
|
|
|
- then
|
|
|
- touch ~/.pass1
|
|
|
fi
|
|
|
+
|
|
|
fi
|
|
|
|
|
|
if ! [ -f /home/wareck/.pass2 ]
|
|
|
then
|
|
|
sleep 2
|
|
|
|
|
|
-case $Drivers in
|
|
|
-NVIDIA)
|
|
|
- echo -e "$(tput setaf 10)\nInstall NVIDIA GTX1080 Drivers :$(tput sgr0)"
|
|
|
- #echo -e "$(tput setaf 10)\nInstall NVIDIA GT 710 Drivers :$(tput sgr0)"
|
|
|
- cd /home/wareck/
|
|
|
- echo -e "Download MegaDownload:"
|
|
|
- git clone https://github.com/wareck/megadown.git
|
|
|
- sudo cp /home/wareck/megadown/megadown /usr/local/bin/megadown
|
|
|
- sudo rm -r /home/wareck/megadown
|
|
|
- cd /home/wareck
|
|
|
- echo -e ""
|
|
|
- echo -e "Install drivers:"
|
|
|
- #sudo apt-get install nvidia-driver-470 -y
|
|
|
- sudo apt-get install nvidia-driver-525 -y
|
|
|
- touch /home/wareck/.pass2
|
|
|
- decompte_
|
|
|
-;;
|
|
|
-AMD)
|
|
|
- echo -e "$(tput setaf 10)\nInstall AMD Drivers :$(tput sgr0)"
|
|
|
- cd /home/wareck
|
|
|
- echo -e ""
|
|
|
- echo -e "Install drivers:"
|
|
|
- wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/amdgpu-install_5.4.50403-1_all.deb -O /home/wareck/Build_Cube/pack/amdgpu-install_5.4.50403-1_all.deb
|
|
|
- wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/linux-firmware.tar.xz
|
|
|
- tar xfJ linux-firmware.tar.xz
|
|
|
- sudo cp /home/wareck/linux-firmware/amdgpu/* /lib/firmware/amdgpu/
|
|
|
- sudo rm -r -f /home/wareck/linux-firmware /home/wareck/linux-firmware.tar.xz
|
|
|
- sudo apt-get install /home/wareck/Build_Cube/pack/amdgpu-install_5.4.50403-1_all.deb -y
|
|
|
- sudo apt-get update
|
|
|
- sudo amdgpu-install --opencl=legacy --accept-eula -y
|
|
|
- sudo apt-get install ocl-icd-opencl-dev -y
|
|
|
- sudo usermod -a -G video $LOGNAME
|
|
|
- touch /home/wareck/.pass2
|
|
|
- sudo apt-get autoremove -y
|
|
|
- decompte_
|
|
|
-;;
|
|
|
-*)
|
|
|
-echo -e "$(tput setaf 9)Error driver number ! $(tput sgr0)\n"
|
|
|
-exit 0
|
|
|
-;;
|
|
|
-esac
|
|
|
+echo -e "$(tput setaf 10)\nInstall NVIDIA GTX1080 Drivers :$(tput sgr0)"
|
|
|
+ cd /home/wareck/
|
|
|
+ #echo -e "Download MegaDownload:"
|
|
|
+ #git clone https://github.com/wareck/megadown.git
|
|
|
+ #sudo cp /home/wareck/megadown/megadown /usr/local/bin/megadown
|
|
|
+ #sudo rm -r /home/wareck/megadown
|
|
|
+ cd /home/wareck
|
|
|
+ sudo apt-get install nvidia-driver-525 -y
|
|
|
+ touch /home/wareck/.pass2
|
|
|
+ decompte_
|
|
|
fi
|
|
|
}
|
|
|
|
|
@@ -248,10 +196,8 @@ wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/$Webmin.tar.x
|
|
|
wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/xmrig.tar.xz -O /home/wareck/Build_Cube/pack/xmrig.tar.xz
|
|
|
wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/zfsmanager-0.0.4.wbm.gz -O /home/wareck/Build_Cube/pack/zfsmanager-0.0.4.wbm.gz
|
|
|
wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/gpu-miners.tar.xz -O /home/wareck/Build_Cube/pack/gpu-miners.tar.xz
|
|
|
-if [ $Drivers = "AMD" ] || [ $Drivers = "NVIDIA" ]
|
|
|
-then
|
|
|
+
|
|
|
cp /home/wareck/Build_Cube/pack/gpu-miners.tar.xz /home/wareck
|
|
|
-fi
|
|
|
cp /home/wareck/Build_Cube/pack/pack1.tar.xz /home/wareck
|
|
|
cp /home/wareck/Build_Cube/pack/pack2.tar.xz /home/wareck
|
|
|
cp /home/wareck/Build_Cube/pack/pack3.tar.xz /home/wareck
|
|
@@ -305,16 +251,10 @@ echo "Done."
|
|
|
function build_miners_ {
|
|
|
if [ ! -f /home/wareck/.pass3 ]
|
|
|
then
|
|
|
-if [ $Drivers = "AMD" ]
|
|
|
-then
|
|
|
cd /home/wareck
|
|
|
tar xfJ gpu-miners.tar.xz
|
|
|
-else
|
|
|
-cd /home/wareck
|
|
|
-tar xfJ gpu-miners.tar.xz
|
|
|
-fi
|
|
|
-
|
|
|
cd /home/wareck/miners
|
|
|
+
|
|
|
echo -e "$(tput setaf 10)\nBuild Cgminer-gekko:$(tput sgr0)"
|
|
|
cd cgminer-gekko
|
|
|
sudo usermod -a -G dialout,plugdev wareck
|
|
@@ -404,19 +344,6 @@ make -j$((`nproc`+1))
|
|
|
cd ..
|
|
|
echo "Done."
|
|
|
|
|
|
-
|
|
|
-#if ! grep -q "modded" /usr/include/CL/cl_version.h
|
|
|
-#then
|
|
|
-#sudo cp /usr/include/CL/cl_version.h /home/wareck/
|
|
|
-#echo "/*modded*/" > /home/wareck/cl_version_m.h
|
|
|
-#echo "#define CL_TARGET_OPENCL_VERSION 220" >> /home/wareck/cl_version_m.h
|
|
|
-#cat /home/wareck/cl_version.h >> /home/wareck/cl_version_m.h
|
|
|
-#rm /home/wareck/cl_version.h
|
|
|
-#mv /home/wareck/cl_version_m.h /home/wareck/cl_version.h
|
|
|
-#sudo cp /home/wareck/cl_version.h /usr/include/CL/cl_version.h
|
|
|
-#sudo rm /home/wareck/cl_version.h
|
|
|
-#fi
|
|
|
-
|
|
|
echo -e "$(tput setaf 10)\nUncompress xmr files:$(tput sgr0)"
|
|
|
tar xfJ /home/wareck/xmrig.tar.xz --checkpoint=.100
|
|
|
echo "Done."
|
|
@@ -472,19 +399,12 @@ if ! [ -d build ];then mkdir build ;fi
|
|
|
git config --global --add safe.directory /home/wareck/miners/xmr-stak
|
|
|
git pull
|
|
|
cd build
|
|
|
-if [ $Drivers = "AMD" ]
|
|
|
-then
|
|
|
-cmake .. -DCUDA_ENABLE=OFF
|
|
|
-else
|
|
|
cmake .. -DOpenCL_ENABLE=OFF -DCUDA_ENABLE=OFF
|
|
|
-fi
|
|
|
make -j$((`nproc`+1))
|
|
|
cd ..
|
|
|
cd ..
|
|
|
echo "Done."
|
|
|
|
|
|
-if [ $Cuda = "YES" ]
|
|
|
-then
|
|
|
echo -e "$(tput setaf 10)\nBuild xmrig-cuda:$(tput sgr0)"
|
|
|
sudo apt-get install git build-essential cmake libuv1-dev nvidia-cuda-dev nvidia-cuda-toolkit libmicrohttpd-dev gcc-8 g++-8
|
|
|
git clone https://github.com/xmrig/xmrig-nvidia.git
|
|
@@ -493,7 +413,6 @@ mkdir build
|
|
|
cd build
|
|
|
cmake .. -DCMAKE_C_COMPILER=$(which gcc-8) -DCMAKE_CXX_COMPILER=$(which g++-8)
|
|
|
make -j$((`nproc`+1))
|
|
|
-fi
|
|
|
|
|
|
echo "Done"
|
|
|
touch /home/wareck/.pass3
|