Installing SLES 11 SP3 on a HP Z820 Linux Workstation
Many people don't realize that Novell is still selling SUSE Linux Enterprise Server 11. They're up to Service Pack 3, which contains support for UEFI systems. It's much easier to install than Opensuse 13.1. Unfortunately, Novell doesn't provide any X11 developer packages, so you need to have an Opensuse 11 system lying around to make it functional.
We decided to install SLES 11 SP3 on a HP Z820 workstation, which has dual Xeons and is very nice (although it takes some doing to get all the interior ducting back together if you open it up). The “Linux” version of the Z820 actually has FreeDOS, not RedHat Linux, as HP's website implies, installed on it. It comes with two CDs containing drivers. The end user is supposed to wipe FreeDOS and install some version of Linux on it.
That's not so easy. Fedora 19, and OpenSuse 11.0, 12.1, and 12.3 wouldn't install. Opensuse 13.1 installed, but had bad library problems. So we bought a copy of SLES, which wasn't our first choice, but it was actually the one that was recommended for our molecular modeling package.
SLES installs kernel 3.0.101, but retains the well understood sysV init style. Almost everything else is just a couple steps past Opensuse 11—gcc is version 4.3.4 instead of 4.3.1, for instance. The libraries are just different enough to cause problems if you overwrite them with Opensuse's.
Appearance-wise, it's virtually identical to Opensuse 11.0, except for a few enhancements to security, and for the fact that everything is a darker shade of green. We discovered that although it's very stable, it's intended for businessmen, not technical people. We ran out of energy trying to make the system usable for compiling software and decided not to bother installing Enlightenment as we usually do. It's by no means beautiful. It looks a lot like Windows, only green instead of blue:
Update (Dec 12 2013) The Enlightenment RPM from Opensuse 11.0 installed and ran with no problems once imlib2-loaders-1.4.0-46.1.x86_64.rpm and imlib2-1.4.0-46.1.x86_64.rpm were copied over from an Opensuse 11 machine and installed. We are finally icon-free!
The procedure is to download the DVD from Novell's website. Novell does not sell media. They have two DVDs, but only the first one is needed. DVD #2 contains mainly source RPMs, and is mostly useless. The Website itself is a bit of an IQ test: there are duplicate screens whose contents are different depending on which pages you visited before. Depending on whether you do everything right, you may or may not get a download button to click on.
Once the DVD is downloaded, ignore the warnings about not burning it directly to a
single track DVD and use wodim/cdrecord (or whatever) to burn it directly:
cdrecord dev=/dev/cdrw1 speed=44 driveropts=burnproof -eject -v SLES-11-SP3-DVD-x86_64-GM-DVD1.iso
.
Boot up with the DVD as usual. If it installs, you have 60 days to pay for it.
Installation
Installation is pretty easy. The only tricky part for UEFI systems is the boot loader. The default in SLES is Grub, which doesn't work. After my experience with Opensuse 13.1, I lost confidence in the ability of any software to figure out how to create a bootable partition on a UEFI computer, so I did it manually. Below may not be the only solution, but it worked.
-
Create four partitions:
Filesystem Size Mount point Formatted as /dev/sda1 200MB /boot/efi VFAT /dev/sda2 50 GB / ext3 /dev/sda3 2 GB swap swap /dev/sda4 1.7 TB /home ext3
-
Select Grub and specify that it should boot from
/dev/sda1
. As mentioned, Grub doesn't work, but ELILO doesn't give you any options about where to boot from, so you have to trick it in order to get it to boot off of sda1. - Switch back to ELILO in the menu, and click randomly for a while until it fills in the label properly. (It is blank by default; you can probably enter anything there).
- It will give many warning messages about ELILO being incompatible with x86_64, and stuff like that. Ignore them—they are bogus.
- Go through the package selection process and complete the installation. You must install the gcc compiler in order for the next step (installing a driver) to work. The system should boot up starting with a text screen saying ELILO followed by 3 or 4 dots.
-
At this point, X11 started up with no problems, but I was stuck in a fuzzy
800×600 screen. Since this computer had an Nvidia NVS 310 video card,
I had to use another computer to download the driver
NVIDIA-Linux-x86_64-319.17.run
from Nvidia's website. This is a very well written program. It installed with no problems and automatically set the xorg.conf to the correct screen mode. It must be run from the non-X command line, so it's advisable to set your runlevel to 3 instead of the default of 5 during installation.
Warning: Do not use this video card with a KVM switch! We tried it and experienced snowy screens and system hangs when we switched back and forth. If it's in text mode, it will be fine, but hardware damage can occur if you switch it while X11 is running.
Making it functional
At this point, we had a green Gnome X11 screen with some icons, but nothing else. Nothing would compile, because Novell doesn't provide development packages. If you want to actually do something with your shiny new server (like put software on it), you need to go through the following additional steps:
- Mount an Opensuse 11.0 system over NFS. We'll call that one 'A' and the SLES system 'B.' Opensuse 11.0 is the closest one, but even so the libraries are mostly different versions from those in SLES, so they must be copied to /usr/local or you will trash the system.
-
Copy all the libraries from
/usr/lib64
on A to/usr/local/lib64
on B. Only the X11-related ones are actually needed. You can do a recursive copy (cp -R), but this will bring over a lot of junk as well. Make sure you don't put anything in/usr/lib64
, or copy any of the gtk libraries, or the system will hang and you will have to reinstall. -
Copy all the headers (*.h files) recursively from
/usr/include
on A to/usr/local/include
on B. -
Copy all the libraries from
/usr/lib
on A to/usr/local/lib
on B. -
Edit
/etc/ld.so.conf
and make sure/usr/local/lib
and/usr/local/lib64
are present. They must be after/usr/lib
and/usr/lib64
or yast2 will not run. -
Run
ldconfig
and remove any files that are marked as being "not a symbolic link." Repeat until no warnings. -
Make sure Yast2 and Firefox still run. It should now be possible to register
your copy of SLES. This is necessary in order to get the online updates and
any patches. The following message is printed on the screen 167 times whenever
we run yast2:
** (y2controlcenter-gnome:6706): WARNING **: error accessing /apps/yast-control-center/cc_actions_list [Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See http://projects.gnome.org/gconf/ for information. (Details - 1: Failed to get connection to session: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.)]
We are still trying to figure out what, if anything, this message means. - Run online updates. This is very risky, because it can cause the system not to boot. Even if it still boots, X11 will be inoperable until you re-install the NVIDIA driver.
These steps are not necessary if you have a precompiled commercial software package already. In that case, you just insert the DVD, type your password in the pop-up, and click "OK" just as you would do in Windows.
Additional steps
Additional steps are necessary if you want to install Motif, which must be compiled from scratch since it's not provided by Novell.
-
Compile and install freetype2. It will install its headers in
/usr/local/include/freetype2/freetype
. Copy all the files to /usr/local/include/freetype. Copy the libraries to/usr/local/lib64
and re-run ldconfig. - Test compilation with an X11 program that is generally easy to compile, like libtiff or rxvt-unicode. If it says it can't find -lX11, -lXp, -lXext, etc., you may need to change /etc/ld.so.conf temporarily. Don't forget to change it back afterward. At this point Motif should compile.
-
Some programs, like Xbae, will still cause problems. On our system
libXbae still would not compile, saying it could not find libXt.so,
libXext.so, libXp.so, or libX11.so. We had to copy these files from
/usr/local/lib64 to /usr/lib64. MAKE SURE you don't overwrite anything,
and test starting X11, and running yast2 and firefox after each step to
make sure everything still works.
After you run ldconfig, compiling Xbae is just:
configure --enable-static make clean make make install
-
Copy the new
/usr/local
on B to your/home
partition, and back it up in case someone comes along and puts a different version of Linux on system A. (Or in case this happens to it.) - The Firefox that was included with SLES was non-functional. It put up a white screen but could not access the Internet. However, Firefox 3.6.6, which we happened to copy over from system A, worked fine.
Technical Support
Novell offers three levels of tech support for an annual fee: Basic (no support), Standard (nine-to-five) and Gold (24/7). We discovered that they really do answer the phone, but they won't help with installation tasks, setting up your system, or compiling, installing, or using software. They probably also won't help you at all if you changed things around. So if you actually succeeded in installing SLES, or if you read this entire document without getting lost, you don't need it.
Ninety-nine times out of 100, the person who installs SLES will be an IT consultant, not a user. Scientists and technical people are not the market for SLES. But if you're a non-technical person who doesn't know the difference between a compiler and a wringer washer, and you just want to use it out of the box for your business, hiring a geek to download and install SLES for you and then paying a thousand bucks a year to have someone to hold your hand when it "won't go" might just be a no-brainer.
Executive summary
It installs easily (by Linux standards), but it's old and you need to copy a lot of stuff from somewhere else to make it work. Don't even think about deploying SLES unless all your software is statically linked, or unless you've got an Opensuse 11 machine lying around. Which is fine for us, since we've got five of 'em. What, the executive summary goes first? Whoops.