CentOS 7.9 on OS/Scratch/Data w/ Teamviewer
This assumes you are willing to part with your data; fresh install means wiping previous data.
Step 1 - Create bootable USB and load CentOS ISO
On a separate computer, with a spare USB 8GB or more that you are willing to part with, assuming Windows.
If you need the ISO, download CentOS 7.9 from their mirror website - http://isoredirect.centos.org/centos/7/isos/x86_64/
- If you need the program to create bootable USB, download https://rufus.ie/
- Open Rufus and load the ISO onto the USB drive; select the USB you want to reformat under the 'Device' dropdown, and use 'select' to select the Ubuntu ISO file (it looks something like CentOS-7-x86_64-DVD-2009.iso)
- Example can be found on Rufus website linked
Step 2 - Plug in bootable USB drive and boot to it
You motherboard BIOS menu may differ, but it is overall the same process. Get to your boot menu, and select the UEFI option for the bootable USB drive that has the Ubuntu ISO file on it. It will take a few minutes to load.
Step 3 - Reach installation summary menu, choose 'Software Selection', and select the packages to be installed
If you haven't already, choose your language, it should be highlighting English by default. After choosing the language, it will proceed to the CentOS installation summary menu.
Select 'Software Installation' and set left and right columns as following:
- (Left) GNOME Desktop
- (Right) Development Tools
Once selected, hit the 'Done' button on the upper-left corner of the screen.
Step 4 - Setup custom drive partitions
FIRST OF ALL, CentOS partitioning tool is not very user-friendly... Forget everything that you know about setting up partitions for other Operating Systems, and read below.
How to setup partitions in CentOS:
- Create as many mount
12 minutes for install to complete
Incomplete. I will upload pictures and continue documenting this later.
Step 3 - Setup your network (mostly skipping screens)
Make sure system has network. Your IT/Network Admins will know whether a network port/cable AT YOUR SITE works or not, not us. Most of this is just skipped (or pressing 'Done' at the bottom) until you reach the 'Guided Storage Configuration' section.
Step 7 - Setting up your Ubuntu OS for NVIDIA drivers and GUI display
After the system reboots, you will be greeted by terminal-mode/command-line only. NO GUI; we'll get to that shortly. We have to first setup the base-system and make it work nicely with NVIDIA drivers. A constant challenge for us is making sure your system's Linux OS has a functional NVIDIA driver installed; easier said than done, as Linux/header updates unlinks NVIDIA modules if local updates are ran.
I condensed these commands so you can copy/paste AFTER you can SSH into your system, OR very carefully type out.
Step 7a - Grant root access for yourself for the next set of commands during this step
FIRST, grant yourself 'root' access by using the command:
sudo bash
Use the password you setup for this system, and then you will be greeted with a 'root@<whatever>'.
Step 7b - Update base-system
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
Step 7c - Blacklist Nouveau in system files
Nouveau is a legacy display driver loaded by Linux, it conflicts with NVIDIA and needs to be disabled so NVIDIA driver can install properly. I put this all on one line for the sake of time, but it basically writes the blacklist-nouveau parameter so it doesn't load when Ubuntu boots. Ever.
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf && echo "blacklist lbm-nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf && echo "options nouveau modset=0" >> /etc/modprobe.d/blacklist-nouveau.conf && echo "alias nouveau off" >> /etc/modprobe.d/blacklist-nouveau.conf && echo "alias lbm-nouveau off" >> /etc/modprobe.d/blacklist-nouveau.conf && echo options nouveau modeset=0 | tee -a /etc/modprobe.d/nouveau-kms.conf
Step 7d - Get rid if legacy/old NVIDIA modules
apt-get remove nvidia* && apt-get autoremove -y
Step 7e - Install necessary packages for NVIDIA driver and other Docker packages
This takes 5-8 minutes
apt-get install net-tools -y && apt-get install build-essential -y && apt-get install gfortran -y && apt-get install ethtool -y && apt-get install software-properties-common -y && apt-get install curl -y && apt-get install ipmitool -y && apt-get install git -y
Step 7f - Update system files
Should take 1-2 minutes
update-initramfs -u
Step 7g - Install Ubuntu-desktop
This takes quite a bit of time (maybe 10-12 minutes)... So step away from your system after running this.
apt install ubuntu-desktop -y
Step 7h - REBOOT to allow all the changes to apply
Important: Depending on the hardware, your system may feature a primary onboard/offboard display selection. Generally, onboard is the display-port built into the motherboard, and offboard is a GPU-accelerated device. A bit more description here: Onboard/Offboard display notes by Operating System
- If your system DOES NOT have a built-in display port to the motherboard, meaning NO onboard/offboard selection, the display will naturally default to the only option- the Graphics Card
- If your system supports onboard/offboard display, results may vary whether the Ubuntu 20.04 login screen will loop or freeze
In the linked article, it shows no confirmed expectation for Ubuntu 20.04, this is because it really does differ depending on the hardware installed, and there are many many combinations of hardware that may or may not allow normal Ubuntu 20.04 behavior AFTER the login screen. If it hangs on the login screen, reboot the system, get to the screen again, and try 'ctrl+alt+f3' to reach a terminal-only screen again so you can resolve it when properly installing the NVIDIA drivers in step 8.
reboot
Step 8 - Installing NVIDIA driver
Once you get access to a terminal, whether getting lucky with the display as the system is locally, or SSH'ed via IP, you can install
#get root access again sudo bash <password> #this downloads the NVIDIA driver .run file to whatever directory you are currently in #for example sake, this is the latest A6000 Linux Driver file at the time of publishing this article wget https://us.download.nvidia.com/XFree86/Linux-x86_64/460.56/NVIDIA-Linux-x86_64-460.56.run #makes the .run file executable chmod +x NVIDIA-Linux-x86_64-460.56.run #disables all GUI/display init 3 #executes the now executable .run file ./NVIDIA-Linux-x86_64-460.56.run
If all steps above were performed correctly, it will NOT complain about nouveau being loaded, and you can just ignore ALL other questions and continue pressing <enter> until the NVIDIA driver installs. If it fails to install, it will clearly say that the NVIDIA Driver installation has failed. If this occurs, try running the installation file again, and provide us the LAST screen before the NVIDIA driver installation fails so we can further investigate.
If it successfully installs, you can run this command to check installed NVIDIA hardware.
#installed NVIDIA hardware nvidia-smi #installed NVLinks, if you have it (it can run this command even if you DON'T have them installed) nvidia-smi nvlink -s
Step 9 - Install Teamviewer
#this is latest Linux Teamviewer install file from their website wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb apt install ./teamviewer_amd64.deb #to run it, you can get to GUI, open terminal, and simply type in: teamviewer
If you run into display issues on Step 8 or 9
I cannot stress enough that it is because the system has the onboard/offboard capability, and Ubuntu doesn't know what to do with it sometimes. It is more consistent with CentOS for it to work regardless what the primary display option in BIOS is, but Ubuntu has issues typically with onboard VGA. However, I haven't had issues with a Supermicro 4U with onboard with using the installation method listed above.