Desktop Setup - Ubuntu 12.04

From Vlsiwiki
Revision as of 22:50, 13 September 2012 by Eka (Talk | contribs)

Jump to: navigation, search

Currently still testing the distribution, so please report any problems to Ehsan and Jose!!

  • 0 - Install Ubuntu 12.04 x86_64

NOTE: ONLY if you have trouble with Step 4 of the installation process, the partition selection, open a terminal in the trial mode and run:

sudo dmraid -r -E /dev/sda

NOTE: When prompted for a username, choose one that is NOT your SOE login! For example "ian_local" rather than my SOE login of "ianlee1521". Otherwise you will not be able to login to your computer after you setup LDAP.

NOTE: When prompted for a machine name, enter the name that machine is supposed to be (mascd1, omelette, quiche, etc)

Installation should complete as normal.



Plain Ubuntu Installation

  • 1 - Enable root account

Login to the GUI with your local login, then open a terminal (Applications -> Accessories -> Terminal):

sudo su - 
passwd

Enter your new root password for the machine.

Add your local and SOE logins to the sudoers list:

vim /etc/sudoers
  • 2 - Install NVIDIA Drivers

Blacklist some kernel modules

vim /etc/modprobe.d/blacklist.conf

Add the following lines to the file

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Get rid of any installed NVIDIA drivers:

sudo apt-get --purge remove nvidia-* 

Reboot the machine. X11 will not start. Switch to a terminal (CTRL + ALT + F1), and login:

sudo apt-get update sudo apt-get install nvidia-current


Reboot the machine and X should start normally. Login at the GUI login as root and open a terminal.

  • 3 - Setup the new repo
scp <username>@mascf1:/etc/apt/sources.list /etc/apt/source.list
apt-get update -y
apt-get dist-upgrade -y


  • 4 - Adjust sysctl options

mmap problem for qemu

vim /etc/sysctl.d/10-zeropage.conf

Edit the following value:

vm.mmap_min_addr = 4096

increase (add) the inotify watches in /etc/sysctl.conf

echo -e "\nfs.inotify.max_user_watches = 65535 \nkernel.randomize_va_space = 0" | tee -a /etc/sysctl.conf
  • 5 - Replicate the installation on Master machine (mascd12, dhcp-63-154.cse.ucsc.edu)
ssh <username>@mascd12 dpkg --get-selections | grep -v dinstall > mypackages.txt
dpkg –clear-selections (?)
dpkg --set-selections < mypackages.txt

"apt-get dselect-upgrade -y" Will give many options and take a long time for the upgrade (about an hour for me).

Select all default options EXCEPT! for ion3: acknowledge the lack of support (non-default option)

apt-get dselect-upgrade -y

MADA Related Stuff

  • 6 - Install autofs

Create mada directory

mkdir /mada

Get autofs files from another machine

scp <username>@mascd12:/etc/auto.* /etc/
ln -s /mada/users /soe
initctl reload autofs
  • 7 - awk for cadence
apt-get install -y ksh csh original-awk
ln -s /usr/bin/awk /bin/awk
  • 8 - Set the firewall
ufw enable
ufw default deny
ufw reject auth
ufw limit ssh/tcp
  • 9 - Get tempcap from another ubuntu machine (mascd1, mascd12, ...), and some lib preparation:
scp <username>@mascd12:/usr/lib64/libtermcap.so.2.0.8 /usr/lib64/
ln -s /usr/lib64/libtermcap.so.2.0.8 /usr/lib64/libtermcap.so.2
ln -s /usr/lib/libtiff.so.4 /usr/lib/libtiff.so.3
  • 10 - LDAP

Install

apt-get install -y ldap-auth-client libpam-krb5 krb5-user libsasl2-modules-gssapi-mit

Leave the kerberos config entry blank. You will copy it in the next step.

Create /ect/krb5.conf

scp <username>@mascd1:/etc/krb5.conf /etc/

Copy the ldap certificate

scp <username>@mascd1:/etc/ssl/certs/* /etc/ssl/certs/

Create "/etc/auth-client-config/profile.d/krb-ldap-config"

scp <username>@mascd1:/etc/auth-client-config/profile.d/krb-ldap-config /etc/auth-client-config/profile.d/krb-ldap-config
auth-client-config -a -p krb_ldap

Update ldap.conf

scp <username>@mascd1:/etc/ldap.conf /etc/ldap.conf
scp <username>@mascd1:/etc/ldap/ldap.conf /etc/ldap/ldap.conf

Now you should be able to execute:

ldapsearch -x LLL
  • 11 - Lock SOE people out of your machine :)
scp <username>@mascd12:/etc/security/access.conf /etc/security/access.conf

You will need to add your local login to the machine, or you will lock yourself out:

vim /etc/security/access.conf

Go to very bottom of file and add your local user account to the list below root Example of the last lines of my file (Replace "ian_local" with your local login):

+ : root : ALL
+ : nx   : ALL
+ : ian_local : ALL
+ : (masc) : ALL
+ : (vlsi) : ALL
-:ALL :ALL 

Now, you should see people with "getent passwd" but, calling "su - cormac" should say "permission denied", but, calling "su - renau" should work.

  • 12 - Since the LDAP has timeouts, setup the local backup
apt-get install nss-updatedb
nss_updatedb ldap
cd /etc/cron.hourly/
scp mada1:/etc/cron.hourly/nss_updatedb-ldap.sh .
scp mada1:/etc/nsswitch.conf /etc
  • 13 - Edit lines passwd and group in /etc/nsswitch.conf so that they are as follows (involves adding db before ldap)

sudo vi /etc/nsswitch.conf passwd: files db ldap group: files db ldap


  • 14 - Restart your computer:
shutdown -r now
  • 15 - Login to the GUI with your SOE login information. If you get a prompt asking for an "LDAP Password" this means that you typed your password incorrectly.
  • 16 - Remove old desktop configuration files (KDE / GNOME / browser)

NOTE: Removing ".config" will delete any saved passwords in your browser, but will fix other problems.

Logout of / kill any open X sessions. Switch to tty1 (CTRL + ALT + F1), and login with your SOE account.

rm -rf .config .kde* .gconf* .gnome*
  • 17 - Some Minor Patches for things that don't work properly

Disable apparmor

sudo invoke-rc.d apparmor stop
sudo update-rc.d -f apparmor remove
  • 18 - Add bash as default shell
cd /bin
ln -sf bash sh
  • 19 - Using QEMU and ARM in 32 bit mode. We need to install 32 bit libraries for this (as root).
sudo apt-get install g++-multilib lib32z1 lib32z1-dev lib32ncurses5 lib32ncurses5-dev
  • 20 - Ruby Gems
 gem install --remote builder colored cucumber diff-lcs gherkim nanoc2 polyglot rake rgl rspec stream treetop
 gem install cri --version 1.0.1
  • 21 - Install some fonts
 sudo apt-get install t1-xfree86-nonfree ttf-xfree86-nonfree ttf-xfree86-nonfree-syriac xfonts-75dpi xfonts-100dpi
  • 22 - Miscellanous Kate and Kwrite text editors
sudo apt-get install kate kwrite emacs22-gtk emacs22
  • 23 - Make sure that there is no file indexing (beagle)
sudo apt-get purge beagle
  • 24 - Add to /etc/crontab to maintain same time (13:13 use any other random time)
echo -e "13 13   * * *   root    /usr/sbin/ntpdate ntp.ucsc.edu" | sudo tee -a /etc/crontab
  • 25 - Add a freenx server to your desktop
sudo add-apt-repository ppa:freenx-team
sudo apt-get update
sudo apt-get install freenx-server
  • 26 - Add sendmail (no external forwarding)
apt-get purge exim4
apt-get install sendmail
cd /etc/mail/
scp mada0:/etc/mail/alias* .
scp mada0:/etc/mail/sendmail.* .
scp mada0:/etc/mail/generi* .
chmod 777 /var/spool/mqueue
/etc/init.d/sendmail restart


  • 27- Install extra tools (should have been installed through dpkg --set-selection)
 sudo apt-get install -y git-core
 sudo apt-get install -y libglib2.0-dev
 sudo apt-get install -y pkg-config
 sudo apt-get install -y zlib1g zlib1g-dev
 sudo apt-get install -y bison
 sudo apt-get install -y libboost-dev
 sudo apt-get install -y ack-grep

 sudo apt-get install -y texlive-latex-base texlive-latex-extra texlive-latex-recommended preview-latex-style latex-xcolor latex-beamer texlive-science texlive-fonts-recommended

Installing CUDA 3.2

You will need sudo access to install CUDA 3.2. It can only be installed on machines with NVIDIA GPUS.

Move these files to your home directory.


  • Make sure the following kernel modules are blacklisted
sudo vim /etc/modprobe.d/blacklist.conf

If not already present, add the following lines to the file

blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv


  • Get rid of any installed NVIDIA drivers:
sudo apt-get --purge remove nvidia-* 


  • Reboot the machine. X11 will not start. Switch to a terminal (CTRL + ALT + F1), and login.


  • Stop X11
sudo service gdm stop


  • Install the downloaded device driver first.
sudo devdriver_3.2_linux_64_260.24.run
  • Accept the license agreement.
  • Install NVIDIA's 32-bit compatibility OpenGL libraries? Answer: YES
  • Would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the NVIDIA X driver will be used when you restart X? Answer: YES


  • Install the CUDA toolkit (nvcc etc. )
sudo cudatoolkit_3.2.9_linux_64_ubuntu10.04.run 

Choose default options. CUDA will be installed in the /usr/local/cuda directory. When the installation is complete, you will be asked to make changes to your INCLUDE and LD_LIBRARY_PATH env. variables.


  • Reboot and login.



Installing grid-engine (server)

  • Firewall
ufw allow in 6444
ufw allow in 6445
  • packages
apt-get purge gridengine-exec
apt-get install gridengine-exec gridengine-client
  • Set SGE master
echo "mada0.cse.ucsc.edu" >/var/lib/gridengine/default/common/act_qmaster
  • Start daemon (do not wait for the next reboot)
/etc/init.d/gridengine-exec restart