Tags

, , ,

PreSteps: have a centos 6 scrap machine with virt-manager installed and functional, and a centos 6 VM.
Note: for the purposes of this document all instructions will be carried out on the VM not the host
Step 1: run yum update
Step 2: reboot
Step 3: run yum update again
Step 4: open a browser and go to the service.chelsio.com website
Step 5: FIND don’t download the tar/source you need. Not the rpm
Step 6: bookmark the page
Step 7: shutdown
Step 8: clone the VM
From this point onward we will be working with the clone
Step 9: Type the following
yum -y install librdmacm librdmacm-devl gcc open-ssl openssl-devel aclocal libtool sysfsutils subversion kernel-devel libibverbs libibverbs-devel librdmacm librdmacm-devel gcc open-ssl openssl-devel aclocal libtool sysfsutils subversion kernel-devel rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto binutils-devel elfutils-libelf-devel newt-devel python-devel zlib-devel glibc-static gcc-c++ isns-utils doxygen glibc-static gcc-c++ isns-utils
rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto binutils-devel elfutils-libelf-devel newt-devel python-devel zlib-devel openslp-devel
yum -y rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto binutils-devel elfutils-libelf-devel newt-devel python-devel zlib-devel
yum update
Step 10:
yum install kernel- 2.6.32-358.el6 kernel-devel- 2.6.32-358.el6 kernel-headers- 2.6.32-358.el6
Step 11 : comment out the exclude line (may not be present) in /etc/yum.conf it should be something like exclude kernel
Step 12: type the following
rpm -i http://vault.centos.org/5.9/updates/SRPMS/kernel-2.6.32-358.el6.src.rpm 2>&1 | grep -v mock
Step 13: do one last yum update and reboot
Step 14: after reboot you should verify you are on the old kernel by typing uname –r and see 2.6.32-358.el6
Step 15: open your browser and use bookmarks to go to the chelsio website and download the tar file
Step 16: I recommend creating a directory to work with such as usr/share/ but it will work anywhere
Step 17: open the tarball with tar –zxvf
Step 18: cd into the new directory
Step 19: type
make cxgb4 chelsio-utils chelsio-series4-firmware cxgb4toe cxgb4i
Step 20: after it is done you will see that some failed so type:
yum remove openslp
Step 21: make clean
step 22: make [the ones that failed]
step 23: if you are still seeing failed messages do these steps:
step 23.1 : script foo
step 23.2: make [the ones that failed]
step 23.3: exit
step 23.4: open foo in a text editor and try to find out what part failed and fix it. Sorry I can’t offer more help that. When you meanage to get it to work continue
step 24: check the rpmbuild/RPMS/x86_64 directory to verify that all the rpms were built
step 25: assuming they were use rsync –a on that directory and save it elsewhere on your system, at least off the VM clone you made
Step 26: use rsync –a on the tarball and move it off the VM clone you made
Step 27: halt the vm clone
Step 28: delete the VM clone
Step 29: off the first VM make another clone
Step 30: now get into a loop, starting from step 10 go to the next updated release, continue until you can not get any releases further. I wasn’t able to get the RPMS past 2.1 so godspeed on this one
Step 31: if you are at this step you have gotten the rpms to the highest version you are going to get them to. Take the rpms and move them to the system you wish to update
Step 32: backup your copy of iscsid.conf
Step 33: go to the system you wish to update and update the kernel to the version you were last able to build the RPMs to
Step 34: verify that dbus, network, and netfs are running
Step 35: delete the old cxgb4i driver
Step 36: use yum update on all the RPMs
Step 37: restore your copy of iscsid.conf (the yum update on the RPMs will have overwritten it)