Install SunRay Server Software 4.1 on Ubuntu JeOS Server 9.04 i386 (running under ESXi 4.0)

Hi Guys,

this Guide did cost me a lot of nerves and time, but its finally complete!
The most of this stuff is ripped from this nearly perfect guide.
But problem is, I did had some difficulties setting it up and got into serious troubles about dhcp (not working), dpkg (screwed up totaly) and other nasty things.
In the end I did this installation about 4 times, but now its working, and guess what? I did do complete notes! And I'm going to share these with you! ^^.

So, thats the end of the setup:
An Ubuntu JeOS Server 9.04 i386 with Vmware Tools, running on a ESXi 4.0 machine, with an SunRay Server Software (SRSS) Version 4.1!
Now, thats somethin' ain't it?
Ok, lets rock!

Ubuntu Setup
1) Download Ubuntu-Server 9.04 i386 image ( http://www.ubuntu.com/getubuntu/download-server )
2) Upload it onto your VMWare machine
3) Setup an new VM (Custom, Ubuntu Linux(32bit!), 2(!!) NIC Cards, Dynamic (SIZE) HDD(!!!))
4) Install Ubuntu Server with JeOS (so, boot the VM, choose your Language on the inital Ubuntu Setup Screen, press F4 and chose the "Minimal Virtual Machine" and then press Install Ubuntu)
5) Just an normal installation, you can choose the "Base System" and "OpenSSH Server" as additional "apt-get"'s.
6) After installation you need to install gdm:
sudo apt-get install ubuntu-desktop
sudo apt-get install gdm
sudo /etc/init.d/gdm start
sudo dpkg-reconfigure xserver-xorg
7) Just do an quick sudo apt-get update, sudo apt-get upgrade to see wheter everything is alright.
8) Thats it, your Ubuntu Server is working!

SRSS 4.1 Setup
0) Got root?
sudo su

1) Get the required packages
apt-get install libldap-2.4-2 libmotif3 module-assistant tk8.4 tomcat5.5 sun-java6-jre
apt-get install ldap-utils dhcp3-server nscd gawk iputils-ping pdksh unzip alien libgdbm3
apt-get install libx11-6 libfreetype6 libsasl2-2 libxt6 zlib1g gdm devscripts xkb-data-legacy
apt-get install xfonts-base atftpd xfonts-100dpi xfonts-75dpi xfonts-cyrillic wget ed

1 1/2) REBOOT!
reboot

2) Download and Unzip SRSS
cd /tmp/srss
download SRSS 4.1 package from sun.com (doesn't matter, I used the SUSE Enterprise Package, should be all the same!)
unzip srss_4.1_linux.zip

3) Convert all .rpm to .deb packages
find srss_4.1 -name "SUNW*i386.rpm" -exec alien -d {} \;

4) Install the .deb packages
find . -name "sunw*deb" -exec dpkg -i {} \;

5) Apply Patches
wget -O /tmp/srss/Patch-SUNWut41-1.txt http://wiki.sun-rays.org/images/6/67/Patch-SUNWut41-1.txt
wget -O /tmp/srss/Patch-SUNWutref.txt http://wiki.sun-rays.org/images/1/15/Patch-SUNWutref.txt
wget -O /tmp/srss/Patch-SUNWkio.txt http://wiki.sun-rays.org/images/f/ff/Patch-SUNWkio.txt
cd /opt
patch -p0 # Interface, for example eth1
/opt/SUNWut/sbin/utconfig
- if asked during utconfig make sure to answer /usr/share/tomcat5.5 for the tomcat path
- everything default EXCEPT tomcat path and remote server admin on ON

18) check dhcpd.conf (if you want DHCP)
make sure that /etc/dhcp3/dhcpd.conf contains the include statements for your added subnet/interface
try: /etc/init.d/dhcp3-server restart
If its NOT working, or you get problems with permissions, build your own dhcpd.conf a new! ;-):

mv /etc/dhcpd/dhcpd.conf /etc/dhcpd/dhcpd.bak
cat /etc/opt/SUNWut/net/dhcp/SunRay-options > /etc/dhcp3/dhcpd.conf
cat /etc/opt/SUNWut/net/dhcp/SunRay-interface-eth1 >> /etc/dhcp3/dhcpd.conf

19) patch and build the required kernel modules
a) prepare for kernel module building:
m-a -t prepare

b) download and apply patches
wget -O /tmp/utadem.patch http://wiki.sun-rays.org/images/0/0c/Utadem-4.1-50.nww.patch.txt
wget -O /tmp/utio.patch http://wiki.sun-rays.org/images/5/5d/Utio-4.1-50.nww.patch.txt
wget -O /tmp/utdisk.patch http://wiki.sun-rays.org/images/e/e0/Utdisk-4.1-50.nww.patch.txt
cd /usr/src/SUNWut
patch -p0 ${PULSECONF}

# create asoundrc for pulseaudio redirection
ASOUNDRC=${HOME}/.asoundrc
echo -n > ${ASOUNDRC}
echo "pcm.!default { " >> ${ASOUNDRC}
echo " type pulse" >> ${ASOUNDRC}
echo "}" >> ${ASOUNDRC}
echo "ctl.!default { " >> ${ASOUNDRC}
echo " type pulse" >> ${ASOUNDRC}
echo "}" >> ${ASOUNDRC}

24) link tftpd server directory
ln -s /tftpboot /var/lib

25) manually fix the Xsetup file
It seems that the /etc/opt/SUNWut/gdm/SunRayInit/helpers/Xsetup in SRSS 4.1 contains a minor,
but important bug which prevents commands like 'utwho' and 'utfwload' from working properly on some Linux distros.
To fix this script you have to manually edit it and make sure that the very first like contain the
exclamation mark (!) as shown here:

#!/bin/ksh -p

26) manually fix the finishsession file
It seems that the /opt/SUNWkio/lib/finishsession file in SRSS 4.1 contains a minor bug which prevents the
POST-execution scripts from being executed. To fix this script you have to manually edit it and make sure
that the line with the if check for "$theSessionUserDynDir" actually contains the "$" sign.

if [ -d "$theSessionUserDynDir" ]

27) finally you can start the SRSS by issuing the following commands
/etc/init.d/gdm restart
/etc/init.d/zsunray-init stop
/etc/init.d/zsunray-init start

28) get server "really" online
/opt/SUNWut/sbin/utadm -l # prints network config
/opt/SUNWut/sbin/utadm -L on # gets server online
/opt/SUNWut/sbin/utrestart # needed to get server online

29) reboot?
Can always help! You know the saying "Linux: BE ROOT! Microsoft: RE-BOOT!" ? 😉

NOTES:
17) OLD config with subnet, you should NOT use that:
/opt/SUNWut/sbin/utadm -A # Subnet for example 192.168.2.0

17) utadm working example:
/opt/SUNWut/sbin/utadm -a eth1
### Configuring /etc/nsswitch.conf
### Configuring Service information for Sun Ray
### configuring eth1 interface at subnet 192.168.128.0
Selected values for interface "eth1"
host address: 192.168.128.1
net mask: 255.255.255.0
net address: 192.168.128.0
host name: SunRayServer-eth1
net name: SunRay-eth1
first unit address: 192.168.128.16
last unit address: 192.168.128.240
auth server list: 192.168.128.1
firmware server: 192.168.128.1
router: 192.168.128.1
Accept as is? ([Y]/N): Y
### successfully setup "/etc/opt/SUNWut/net/hostname.eth1" file
Warning: IP address "192.168.128.1" appears in "/etc/hosts" with another hostname, fix? ([Y]/N): Y
### successfully setup "/etc/hosts" file
### successfully setup "/etc/opt/SUNWut/net/netmasks" file
### successfully setup "/etc/networks" file
### finished install of "eth1" interface
### Configuring firmware version for Sun Ray
All the units served by "SunRayServer" on the 192.168.128.0
network interface, running firmware other than version
"4.1_50_2008.09.25.12.37" will be upgraded at their next power-on.

### Configuring Sun Ray Logging Functions

DHCP is not currently running, should I start it? ([Y]/N): Y
### Error: unable to start dhcp services.
Please restart dhcp manually after utadm has completed.

17) working utadm example:
Configure Sun Ray Web Administration? ([y]/n)? y
Enter Apache Tomcat installation directory [/opt/apache-tomcat]: /usr/share/tomcat5.5
Enter HTTP port number [1660]: 1660
Enable secure connections? ([y]/n)? y
Enter HTTPS port number [1661]: 1661
Enter Tomcat process username [utwww]: utwww
Enable remote server administration? (y/[n])? y
Configure Sun Ray Kiosk Mode? (y/[n])? n
Configure this server for a failover group? (y/[n])? n

Update 139550-02 and 139727-01

1) download patches
cd /tmp
.... (download the patch update for the core package from [2]) http://sunsolve.sun.com/pdownload.do?target=139550-02&method=h
.... (download the uttsc update package from [3] http://sunsolve.sun.com/pdownload.do?target=139727-01&method=h
unzip 139550-02.zip
unzip 139727-01.zip

2) convert
find 139550-02 139727-01 -name "SUNW*i386.rpm" -exec alien -d {} \;

3) install
find . -name "sunw*deb" -exec dpkg -i {} \;

4) apply patches
wget -O /tmp/Patch-patch.txt http://wiki.sun-rays.org/images/6/6f/Patch-patch-139550-02.txt
wget -O /tmp/Patch-SUNWutref.txt http://wiki.sun-rays.org/images/1/15/Patch-SUNWutref.txt
cd /opt/
patch -p0 Update 139550-01

1) download patches
cd /tmp
.... (download the patch update from http://sunsolve.sun.com/pdownload.do?target=139550-01&method=h )
unzip 139550-01.zip

2) convert
find 139550-01 -name "SUNW*i386.rpm" -exec alien -d {} \;

3) install
find . -name "sunw*deb" -exec dpkg -i {} \;

4) apply patches
wget -O /tmp/Patch-patch.txt http://wiki.sun-rays.org/images/5/51/Patch-patch.txt
wget -O /tmp/Patch-SUNWutref.txt http://wiki.sun-rays.org/images/1/15/Patch-SUNWutref.txt
cd /opt/
sudo patch -p0 Installing VMWare Tools
http://chrysaor.info/?page=faq#ubuntu904_tools

Extract of the Weblog mentioned above:

Open a terminal window and execute the following command to download the script:
wget http://chrysaor.info/scripts/ubuntu904vmtools.sh
Now run the script that installs VMware Tools (Warning: it will download some files):
sudo bash ./ubuntu904vmtools.sh
When the script promps for answers, just hit Enter as defaults are OK. If you're using VMware Fusion, Server or Workstation, reboot the virtual machine and you are done.

Cleaning up

Shrink VMware Image Files on Linux Appliances
Posted in: Unix \ Linux, Vmware by Nico Maas on July 16, 2009

Works only with dynamic HDDs!

1. Backup!
2. Remove old / unused Packages
3. Remove downloaded Packages: sudo apt-get clean, Remove only old downloaded Packages: sudo apt-get autoclean
4. “ZeroOut” unused Space: cat /dev/zero > zero.dat ; sync ; sleep 1 ; sync ; rm zero.dat
5. Under GUI: “sudo vmware-toolbox” and use shrink on “/”
6. Under VIClient: Defrag

Additional:
Using Cisco Vlans and Trunks on VMWare ESXi 3.5/4

Posted in: Cisco, Network, Vmware by Nico Maas on July 24, 2009

Do you desperatly need to connect an real pc to just one VM? No problem! Here we go! All we need is an Switch with vlan Trunking. I used an Cisco c3560-poe8 for this, as it is my main work switch.

So you just need these snipets on the switch side:
( Need to do this in enable mode and conf -t! )

This is going to activate ip dhcp snooping globaly on the switch
(which means only marked ports are allowed to answer an dhcp request, thats important!)
ip dhcp snooping vlan 1-4094
no ip dhcp snooping information option
ip dhcp snooping

these are the vlans, one main, one “test” for the vm
vlan 1
name main
vlan 999
name test

normal client port
interface FastEthernet0/1
switchport access vlan 1
spanning-tree portfast

vm client port which does access vlan 999
interface FastEthernet0/3
switchport access vlan 999
spanning-tree portfast

vm server port, which does access normal vlan 1, and does trunk the rest
” ip dhcp snooping trust” means, that this port is allowed to answer dhcp requests
interface FastEthernet0/7
switchport trunk encapsulation dot1q
switchport trunk native vlan 1
switchport trunk allowed vlan 1,999
switchport mode trunk
ip dhcp snooping trust
end

Thats it!
Only thing you need to do on the vm machine is to start vi\vsphere client, go to configuration, network, create an new port group and insert the nic of the vmware machine you want to use on the switch port (here 3 on the c3560) – and set the port groups vlan id to 999. ( In my config, the eth0 is the "main" NIC and does do the normal Network Connection, eth1 is the "SUN" Port as configured above in the SRSS Part, so get the eth1 (Second NIC) into the vlan 999!)

And then, you can do pxe, dhcp, sunray, and allll you want!

So, thats it finally!
A REALLY BIG Thank you to all the authors of the howtos, guides, etc mentioned and unmentioned for helping me out. Without you, this would have been absoultly impossible! Thank you!!!

NOTES:
USB Mount:
/tmp/SUNWut/sessions/11/unit/dev/dsk/disk1 /usb

Netfinity 8500R "DragonMother" (23.08.2008)

DragonMother is the latest addition to my little PC farm.

Its an IBM Netfinity 8500R X-Series Server.

At the moment it contains 2 Pentium III Xeon 700 Mhz Processors and 2 GB of 100 Mhz ECC Sdram.

Additionally it makes use of an IBM ServeRaid (SCSI) and an Fastrak Promise Ultra 100 (IDE) Controller to support multiple Harddisk Drives and an 3Com 10/100 XT Fast Ethernet Card.

It is powered by 3 redundant, hotplugable Power Supply Units - but acutally I use only one ( I don't need redundance at the moment, so I only use one for less power consumption).

It is planed to buy an additional Daughterboard to support another 4 Cpus and fill up the 2 open Cpus Slots on Board A. So - six IBM Xeon 700 Mhz Proccessors and one Daughterboard- please.

At the moment it uses Ubuntu Server Edition and Knoppix - but in futher we may upgrade to an Windows 2000 Advanced Server to use multiple Cpus.

Blutdrache 01 Version 1.0 (26.11.2005)

One year after the Hilfsdrache Project, I wanted to build an new server.

While an traineeship at an IT Systems firm, I got an 19'' Inch Rackpiece with (about 3 HE) - so I wanted to use that as "Case" for that project.

That server here should be different from the Hilfsdrache in serval points.

First, it should run an specialized linux distribution called "Eisfair" (www.eisfair.org) - which had been created to work as secure and easily configurable server system.

Second, this server should be absolutly quiet - and work with low power consumption.

Third, this server shouldn't host big game servers - only applications. (So it does need neither high CPU power nor an large HDD).

In the end, I used an Acer V66 Motherbord (it was quite thin and long - so it fitted the Case perfectly), an AMD K6-2 400 Mhz which I underclocked to 250 Mhz (and took down the Vcore from 2,2 V to 1,75V - so it did run passive - just needed an heat sink), and 256 MB of Sdram.

For the Powersupply, I modded an 250 Watts PSU, so that it fitted the case and rewired the security groundings to serval parts of the case. Additionally, i added some cooling sinks to the powersupply and tested it serval times with the new server: It never exceded room temperature. The same thing with the cpu.

Therefore the only mechanical thing on this server was the HDD - and that I took away from it aswell.

In the beginning, I used an 1 Gigabyte Mircodrive - but I thought of it as beeing too loud. So I changed to an 1 Gigabyte Compactflash Drive and changed Eisfair in that way, that it wrote the log files into Ramdrives - so that the Flashdrive didn't needed to endure so many write/read operations as an normal drive.

The Blutdrache nowadays uses an 100 Mbit Network Interface Card, an PCI Soundcard and an 56kbit Modem (which ain't used at the moment).

Nowadays this Server is mostly used for Teamspeak and as Personal Backup Webserver.

Also its used to provide an Secure Internet Connection for me while I'm on Work or "Outside" of my own Network. I do use the SSHD to Tunnel my Internettransfer from the Firefox of my Tablet into the Blutdrache - and use Squid as Proxy to gain Access to my own Internetconnection at Home - so my Data can't be monitored from the Outside.

So - this Server is important and nearly on daily use - and... as I planed - absolutly silent!

It hosts these Services:

- Apache

- Php

- Mysql

- FTP

- SSHD

- Squid

- Minicom (to work onto the serial Line of my WGT634U)

- Samba (for Files and Printer)

- Teamspeak RC2

- Player versus Player Gaming Network (PvPGN)

- Streamripper (in addition to an NAS or attached USB HDD)

- Webradio Client

Hilfsdrache 01 Version 1.2 (18.07.2004)

On 18.07.2004, the third Version of the Hilfsdrache was finalized.

The CPU Cooler was replaced through an selfbuild Watercooling System.

The coolant radiator used was from an Ford or Opel Automobile. The other parts were an small 12 Volt pump, and selfbuild copper water cooling unit for the CPU, and an water tank (made out of an plastic tube with cover).

To get an better airflow through the main 120 mm fan, the back of the Server got 2 coverplates with holes and - for better optic - an lighted perspex plate like the one I made in large for the mousepad.

The parts of the watercooling - like radiator and water tank, were lighted with blue leds, too.

To switch the light on and off, the display holder got an additional switch.

What is not seen is the relais I build into the MiniATX Powersupply AFTER I made these pictures: From the moment the PSU starts delivering power (the Pc is powered on) - the pump also starts and therefore the waterciruculation and coolant of the CPU.

NOTE: The Server is disassembled at the moment, as it needs more work on the watercooling system (it worked one year flawlessly, but there are some weak points where it has to be redesigned).

Hilfsdrache 01 Version 1.1 (24.05.2004)

Over 5 Months later, I did update the Design.

The Server worked flawlessly so far, but there was space for some additions.

First I did mod the MiniATX Powersupply and build in an Switch to put the Powersupply Fan into 12 Volt (Fast and Loud) or 7 Volt (Slow and Silent - but enough throughput) Mode. From that on, the server was a LOT more silent.

Also, the HDD Cage connection to the ground of the Case was damped by screwing it through a thumbsize layer of rubber. That helped.

But the biggest change in this revision was the attachement of an LCD Display.

It was connected through the LTP Port of the Mainboard and with an special piece of Software, it was able to display Live Data like CPU and Ram Load, Network Interface Load and a lot more.

The display holder was created out of metal and did not only hold the display, but also the display controlls (brightness, contrast and display on (backlight on), display off, display on (backlight off)) and an 12 Volt / 7 Volt Mode switch for the big 120 mm Fan.

And after that,.. there was silence 😉

Hilfsdrache 01 Version 1 (31.12.2003)

Hilfsdrache01 should be my first standalone server for Lan Partys and such.

As for that reason, I decided to do a bit more than "only" build up the pc and get it running: I tried to built the pc into an big attache case. The benefits were clearly: An easily transportable pc with an solid and small case.

Because I didn't have much space, I used MiniATX components for this project.

An Intel Pentium II with 450 Mhz and 256 MB of Sdram Ram (100 Mhz FSB) and two 20 Gb HDDs, as well as an 10 Mbit and an 100 Mbit Networking Interface Card were the "startup". As the pc didn't boot up without an Graphics Card, I decided to use an old ATI Rage, as that AGP Card was quite solid, drained not much power and needed not even an heat sink on its GPU.

As for the overall cooling, I used an 120mm Fan in 7 Volt Mode (quite silent and much throughput).

The project started on 29.12.2003 and was completed on the morning of the 31.12.2003.

At the same night, it was already tested on an lan party with 4 clients, running an Freelancer, Counterstrike and Fileserver (for Patches). It worked.

The Dragon Mousepad

So, in 2003 / 04 I weren't only working on the "Hilfsdrache", but also on an special Mousepad.

That Mousepad was created out of perspex, an aluminium rail and serval ultra-bright blue leds and an usb connector.

To really make that pad special and "one of a kind", I created an carving with an Dremel Multitool into the upper one of the two perspex layers.

The light of the leds is shining directly into the uper layer and is broken on the positions, where the material is carved.

As result of that, the Carving itself shines out blue - while the rest of the perspex is still translucent.

Power for the LEDs is delievered by an USB Connector that can be plugged into any USB Port on any PC with an Standard USB Type A to Type A Cable.