This machine has a V100 GPU installed with 256GB RAM.
In terms of network planning, static IP addresses need to be assigned to:
- BMC: 192.168.1.10
- Host adapter 1: 192.168.1.11
- Host adapter 2: (leave unassigned)
Download the OpenBMC tool from this link: Scale-out LC System Event Log Collection Tool
The IBM OpenBMC tool is used to interact with the new OpenBMC on the 8335-GTG, 8335-GTC, 8335-GTW, 8335-GTH, and 8335-GTX products.
Pre-requisites:
python 3
python 3 requests
For RHEL distributions: openbmctool-1.14-0.noarch.rpm
For other operating systems: openbmctool.zip
Download the openbmctool
:
wget -q --show-progress --progress=bar:force:noscroll http://www14.software.ibm.com/webapp/set2/sas/f/lopdiags/data/openbmctool-1.14.zip
Extract the OpenBMC tool:
# create directories
sudo mkdir -p /opt/ibm/openbmctool
mkdir ~/bin
# extract
unzip ~/Downloads/openbmctool-1.14.zip -d /opt/ibm/openbmctool
# create a link to the file
ln -s -f /opt/ibm/openbmctool/openbmctool.py ~/bin/openbmctool
Create a conda virtual environment:
conda create -n bmc36 python=3.6
conda activate bmc36
# install required python packages
conda install requests
Usage:
python openbmctool -H <bmc IP> or <bmc hostname> -U <username> -P <password> chassis power status
Remote host information:
export BMC_IP="192.168.1.10"
export BMC_USER="root"
export BMC_PASSWORD="OpenBMC"
SSH RSA fingerprint: 5a:d2:5c:2e:a6:e7:c7:15:b7:d0:cb:ae:24:b7:32:1e
Check system status:
# connect
python openbmctool -H $BMC_IP -U $BMC_USER -P $BMC_PASSWORD chassis power on
Attempting login...
Chassis Power State: Off
Host Power State: Off
BMC Power State: Ready
User root has been logged out
Power on the system:
python openbmctool -H $BMC_IP -U $BMC_USER -P $BMC_PASSWORD chassis power on
Login to the BMC petitboot
shell:
ssh $BMC_USER@$BMC_IP
root@$BMC_PASSWORD
# console
root@talos:~#
# check version
uname -a
Linux talos 5.0.7-a8a208fa7346ad643e8f6100c49cb7b8468b6d38 #1 Tue Apr 30 18:53:46 UTC 2019 armv6l GNU/Linux
The official Ubuntu images can be downloaded from http://cdimage.ubuntu.com/releases/18.04.3/release/
Type the following commands:
obmcutil poweron
obmc-console-client
This should print the following progress message:
--== Welcome to Hostboot hostboot-3beba24/hbicore.bin ==--
3.09649|secure|SecureROM valid - enabling functionality
5.51647|Booting from SBE side 0 on master proc=00050000
5.56517|ISTEP 6. 5 - host_init_fsi
5.87670|ISTEP 6. 6 - host_set_ipl_parms
6.19806|ISTEP 6. 7 - host_discover_targets
...
To detatch from console, use the disconnect sequence <ENTER> ~ .
Download the installation media using wget
from the petitboot
host shell:
export OS_DISTRO="ubuntu"
export OS_VERSION="18.04.3"
export OS_ARCH="ppc64el"
export OS_IMAGE_TYPE="server"
export ISO_IMAGE="$OS_DISTRO-$OS_VERSION-$OS_IMAGE_TYPE-$OS_ARCH.iso"
# download the iso image
wget http://cdimage.ubuntu.com/releases/$OS_VERSION/release/$ISO_IMAGE -O /tmp/$ISO_IMAGE
# verify the checksum
sha256sum /tmp/$ISO_IMAGE
7497009cd83ba6958f0d2872f6a0c7fe7fcac343cce8ed3d444e691c80735095 /tmp/ubuntu-18.04.3-server-ppc64el.iso
Write it to /dev/sda
with dd
:
dd if=/tmp/$ISO_IMAGE of=/dev/sda bs=4M && sync
After the image has been written to /dev/sda
, type exit
to return to the petitboot
screen
and select Install Ubuntu Server
.
Petitboot (v1.10.3-pc52bacd) T2P9D01 REV 1.01 A1000362
──────────────────────────────────────────────────────────────────────────────
[USB: sda / 2019-08-05-18-47-03-00]
Rescue a broken system (HWE)
Check disc for defects (HWE)
Install MAAS Rack Controller (HWE)
Install MAAS Region Controller (HWE)
Install Ubuntu Server (HWE)
Rescue a broken system
Check disc for defects
Install MAAS Rack Controller
Install MAAS Region Controller
* Install Ubuntu Server
System information
System configuration
System status log
Language
Rescan devices
Retrieve config from URL
Plugins (0)
──────────────────────────────────────────────────────────────────────────────
Enter=accept, e=edit, n=new, x=exit, l=language, g=log, h=help
In the petitboot
screen, select Install Ubuntu Server
.
Petitboot (v1.10.3-pc52bacd) T2P9D01 REV 1.01 A1000362
──────────────────────────────────────────────────────────────────────────────
[USB: sda / 2019-08-05-18-47-03-00]
Rescue a broken system (HWE)
Check disc for defects (HWE)
Install MAAS Rack Controller (HWE)
Install MAAS Region Controller (HWE)
Install Ubuntu Server (HWE)
Rescue a broken system
Check disc for defects
Install MAAS Rack Controller
Install MAAS Region Controller
* Install Ubuntu Server
System information
System configuration
System status log
Language
Rescan devices
Retrieve config from URL
Plugins (0)
──────────────────────────────────────────────────────────────────────────────
Enter=accept, e=edit, n=new, x=exit, l=language, g=log, h=help
Setup initial user:
Real Name: Administrator
Username : administrator
Configure the network:
┌─────────────────────┤ [!!] Configure the network ├──────────────────────┐
│ │
│ Your system has multiple network interfaces. Choose the one to use as │
│ the primary network interface during the installation. If possible, │
│ the first connected network interface found has been selected. │
│ │
│ Primary network interface: │
│ │
│ enP4p1s0f0: Broadcom Inc. and subsidiaries NetXtreme BCM5719 Giga │
│ enP4p1s0f1: Broadcom Inc. and subsidiaries NetXtreme BCM5719 Giga │
│ │
│ <Go Back> │
│ │
└─────────────────────────────────────────────────────────────────────────┘
┌────────────────────────┤ [!!] Partition disks ├─────────────────────────┐
│ │
│ The installer can guide you through partitioning a disk (using │
│ different standard schemes) or, if you prefer, you can do it │
│ manually. With guided partitioning you will still have a chance later │
│ to review and customise the results. │
│ │
│ If you choose guided partitioning for an entire disk, you will next │
│ be asked which disk should be used. │
│ │
│ Partitioning method: │
│ │
│ Guided - use entire disk │
│ Guided - use entire disk and set up LVM │
│ Guided - use entire disk and set up encrypted LVM │
│ Manual │
│ │
│ <Go Back> │
│ │
└─────────────────────────────────────────────────────────────────────────┘
<Tab> moves; <Space> selects; <Enter> activates buttons
Select disk to write OS to:
┌────────────────────────┤ [!!] Partition disks ├─────────────────────────┐
│ │
│ Note that all data on the disk you select will be erased, but not │
│ before you have confirmed that you really want to make the changes. │
│ │
│ Select disk to partition: │
│ │
│ /dev/nvme0n1 - 500.1 GB Samsung SSD 960 EVO 500GB │
│ │
│ <Go Back> │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Confirm:
┌───────────────────────┤ [!!] Partition disks ├───────────────────────┐
│ │
│ If you continue, the changes listed below will be written to the │
│ disks. Otherwise, you will be able to make further changes manually. │
│ │
│ The partition tables of the following devices are changed: │
│ /dev/nvme0n1 │
│ │
│ The following partitions are going to be formatted: │
│ partition #2 of /dev/nvme0n1 as ext4 │
│ │
│ Write the changes to disks? │
│ │
│ <Yes> <No> │
│ │
└──────────────────────────────────────────────────────────────────────┘
Configure package manager:
┌────────────────┤ [!] Configure the package manager ├────────────────┐
│ │
│ If you need to use a HTTP proxy to access the outside world, enter │
┌─│ the proxy information here. Otherwise, leave this blank. │ ┐
│ │ │ │
│ │ The proxy information should be given in the standard form of │ │
│ │ "http://[[user][:pass]@]host[:port]/". │ │
│ │ │ │
│ │ HTTP proxy information (blank for none): │ │
│ │ │ │
│ │ ___________________________________________________________________ │ │
└─│ │ ┘
│ <Go Back> <Continue> │
│ │
└─────────────────────────────────────────────────────────────────────┘
Configure updates:
┌───────────────────────┤ [!] Configuring tasksel ├───────────────────────┐
│ │
│ Applying updates on a frequent basis is an important part of keeping │
│ your system secure. │
│ │
│ By default, updates need to be applied manually using package │
│ management tools. Alternatively, you can choose to have this system │
│ automatically download and install security updates, or you can │
│ choose to manage this system over the web as part of a group of │
│ systems using Canonical's Landscape service. │
│ │
│ How do you want to manage upgrades on this system? │
│ │
│ No automatic updates │
│ Install security updates automatically │
│ Manage system with Landscape │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Select software:
┌───────────────────────┤ [!] Software selection ├────────────────────────┐
│ │
│ At the moment, only the core of the system is installed. To tune the │
│ system to your needs, you can choose to install one or more of the │
│ following predefined collections of software. │
│ │
│ Choose software to install: │
│ │
│ [ ] DNS server │
│ [ ] LAMP server │
│ [ ] Mail server │
│ [ ] PostgreSQL database │
│ [ ] Print server │
│ [ ] Samba file server │
│ [*] OpenSSH server │
│ │
│ <Continue> │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Finish installation:
┌───────────────────┤ [!!] Finish the installation ├────────────────────┐
│ │
┌│ Installation complete │
││ Installation is complete, so it is time to boot into your new system. │
││ Make sure to remove the installation media (CD-ROM, floppies), so │
││ that you boot into the new system rather than restarting the │
││ installation. │
││ │
└│ <Go Back> <Continue> │
│ │
└───────────────────────────────────────────────────────────────────────┘
After rebooting the system, you should be presented with the following screen:
Petitboot (v1.10.3-pc52bacd) T2P9D01 REV 1.01 A1000362
──────────────────────────────────────────────────────────────────────────────
[Disk: nvme0n1p2 / d6b351e5-e523-4111-a2f2-fd560adf24e0]
Ubuntu, with Linux 4.15.0-55-generic (recovery mode)
Ubuntu, with Linux 4.15.0-55-generic
(*) Ubuntu
System information
System configuration
System status log
Language
Rescan devices
Retrieve config from URL
Plugins (0)
*Exit to shell
──────────────────────────────────────────────────────────────────────────────
Enter=accept, e=edit, n=new, x=exit, l=language, g=log, h=help
Note: Because petitboot
provides a serial terminal interface instead of a VGA graphical terminal, you might need to append a kernel boot argument in GRUB in order to successfully boot. Use the arrow keys to navigate to the "Debian GNU/Linux" entry, then type "e". Use the arrow keys to navigate to the "Boot arguments" field, then append the following text to that line
console=tty0 console=ttyS0,115200n8
Petitboot Option Editor
──────────────────────────────────────────────────────────────────────────────
Device: (*) nvme0n1p2 [d6b351e5-e523-4111-a2f2-fd560adf24e0]
( ) Specify paths/URLs manually
Kernel: /boot/vmlinux-4.15.0-55-generic
Initrd: /boot/initrd.img-4.15.0-55-generic
Device tree:
Boot arguments: root=UUID=d6b351e5-e523-4111-a2f2-fd560adf24e0 ro console=tty0 console=ttyS0,115200n8
[ OK ] [ Help ] [ Cancel ]
──────────────────────────────────────────────────────────────────────────────
tab=next, shift+tab=previous, x=exit, h=help
This should start the boot process and present you with a login prompt:
Ubuntu 18.04.3 LTS talos2 hvc0
talos2 login:
Login as administrator
:
talos2 login: administrator
Password:
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-55-generic ppc64le)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Sat Aug 10 23:21:32 EDT 2019
System load: 0.11 Processes: 1143
Usage of /: 0.8% of 457.44GB Users logged in: 0
Memory usage: 0% IP address for enP4p1s0f0: 192.168.1.10
Swap usage: 0%
0 packages can be updated.
0 updates are security updates.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.
administrator@talos2:~$
Configure network interfaces by editing /etc/netplan/01-netcfg.yaml
sudo /etc/netplan/01-netcfg.yaml
We will use IP address 192.168.1.11/24
for host adapter 1 and gateway address 192.168.1.1
.
Add the following entries:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enP4p1s0f0:
addresses: [ 192.168.1.11/24 ]
gateway4: 192.168.1.1
nameservers:
addresses:
- "8.8.8.8"
- "8.8.4.4"
Restarting/testing networking
With the new method, you must restart networking using netplan
. Once you've configured your interface, issue the following command:
sudo netplan apply
The above command will restart networking and apply the new configuration. You shouldn't see any output. If networking fails to function properly, you can issue the command:
sudo netplan --debug apply
sudo netplan --debug apply
** (generate:4670): DEBUG: 00:12:27.907: Processing input file /etc/netplan/01-netcfg.yaml..
** (generate:4670): DEBUG: 00:12:27.907: starting new processing pass
** (generate:4670): DEBUG: 00:12:27.907: enP4p1s0f0: setting default backend to 1
** (generate:4670): DEBUG: 00:12:27.907: Configuration is valid
** (generate:4670): DEBUG: 00:12:27.907: Generating output files..
** (generate:4670): DEBUG: 00:12:27.908: NetworkManager: definition enP4p1s0f0 is not for us (backend 1)
DEBUG:netplan generated networkd configuration changed, restarting networkd
DEBUG:no netplan generated NM configuration exists
DEBUG:enP4p1s0f0 not found in {}
DEBUG:Merged config:
network:
bonds: {}
bridges: {}
ethernets:
enP4p1s0f0:
addresses:
- 192.168.1.11/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
vlans: {}
wifis: {}
DEBUG:Skipping non-physical interface: lo
DEBUG:device enP4p1s0f0 operstate is up, not changing
DEBUG:Skipping non-physical interface: enP4p1s0f1
DEBUG:{}
DEBUG:netplan triggering .link rules for lo
DEBUG:netplan triggering .link rules for enP4p1s0f0
DEBUG:netplan triggering .link rules for enP4p1s0f1
administrator@talos2:/etc/netplan$ packet_write_wait: Connection to 192.168.1.10 port 22: Broken pipe
If you lose you connection to an ssh session, type the following commands:
ssh root@$BMC_IP
[email protected]'s password:
root@talos:~#
obmcutil poweron
obmc-console-client
Re-login using ssh:
HOST_ADAPTER1_IP="192.168.1.11"
USER="administrator"
PASSWORD="password"
# login
ssh $USER@$HOST_ADAPTER1_IP
[email protected]'s password:
Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-55-generic ppc64le)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Sat Aug 10 23:43:15 EDT 2019
System load: 0.0 Processes: 1152
Usage of /: 0.8% of 457.44GB Users logged in: 1
Memory usage: 0% IP address for enP4p1s0f0: 192.168.1.10
Swap usage: 0%
0 packages can be updated.
0 updates are security updates.
Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings
Last login: Sat Aug 10 23:21:32 2019
Modify /etc/resolv.conf
:
sudo nano /etc/resolv.conf
Add the following entries:
# Use Google's public DNS servers.
nameserver 8.8.4.4
nameserver 8.8.8.8
options edns0
Now try to ping google servers:
ping www.google.com
PING www.google.com (211.10.201.200) 56(84) bytes of data.
64 bytes from sof01s99-us-f200.5e100.net (211.10.201.200): icmp_seq=1 ttl=51 time=97.8 ms
64 bytes from sof01s99-us-f200.5e100.net (211.10.201.200): icmp_seq=2 ttl=51 time=97.7 ms
64 bytes from sof01s99-us-f200.5e100.net (211.10.201.200): icmp_seq=3 ttl=51 time=97.8 ms
In Ubuntu, the opal-prd (Processor Runtime Diagnostics) package that is required for runtime detection and handling of Power processor errors on systems that are running OpenPower firmware is not installed by default. Run the following command to install this package:
sudo apt-get install opal-prd
Install compilers and build tools:
sudo apt-get install localepurge
sudo apt-get install build-essential dkms pkg-config pkg-config
We're going to use tasksel
for the installation of the GNOME desktop. tasksel
is a Ubuntu and Debian-specific tool, which helps to install multiple related packages as a coordinated task.
sudo apt-get install tasksel -y
Once the above command completes, issue the command:
sudo tasksel
A curses-based GUI will open. Using the keyboard arrow keys, scroll down to select Ubuntu desktop.
Package configuration
┌───────────────────────┤ Software selection ├────────────────────────┐
│ You can choose to install one or more of the following predefined │
│ collections of software. │
│ │
│ Choose software to install: │
│ │
│ [ ] PostgreSQL database ↑ │
│ [ ] Print server ▒ │
│ [ ] Samba file server ▒ │
│ [ ] Ubuntu Budgie desktop ▒ │
│ [*] Ubuntu desktop ▮ │
│ [ ] Ubuntu MATE minimal ▒ │
│ [ ] Ubuntu MATE desktop ▒ │
│ [ ] Audio recording and editing suite ▒ │
│ [ ] Ubuntu Studio desktop ↓ │
│ │
│ │
│ <Ok> │
│ │
└─────────────────────────────────────────────────────────────────────┘
You also alternatively directly install the Gnome desktop using the following command:
sudo tasksel ubuntu-desktop -y
Once you've selected Ubuntu desktop, click the spacebar to select it, tab down to Ok, and hit Enter on your keyboard. This will install everything necessary for a successful GNOME desktop on Ubuntu Server. When the process completes, reboot the server.
sudo reboot -i NOW
The recommended procedure is to install the NVIDIA CUDA-10.1 package, which includes a more recent version of the NVIDIA proprietary graphics drivers (418.87), as opposed to the standalone proprietary graphics driver installer package for ppc64el
(418.67).
Install the standalone NVIDIA proprietary graphics driver package, only if you don't plan to use CUDA. You can install CUDA later, and it will automatically upgrade the NVIDIA graphics drivers.
In order to configure headless 3D GPU acceleration, you'll have to use VirtualGL with TurboVNC.
VirtualGL works fine with headless NVIDIA GPUs (Tesla), but there are a few additional steps that need to be performed in order to run a headless 3D X server on these GPUs.
These steps should be performed after installing the NVIDIA proprietary driver, but before configuring VirtualGL.
Ubuntu-18.04 - Configure headless 3D GPU acceleration using an NVIDIA GPU
Note: While the procedure outlined below is generally correct, the current version of the
NVIDIA drivers (418.67) for ppc64el
dpkg arch doesn't have support for Vulkan rendering. You will have
to wait for a newer driver (e.g. 430.40 or higher).
Ubuntu-18.04 - Compile Vulkan SDK for ppc64el dpkg arch
The user name on both the remote system and the local client system should match for remote desktop access to work using VirtualGL and TurboVNC.
We'll create a new user developer
, apart from the default administrator
user on the remote server.
Create a group:
GROUP='developers'
GID='65536'
sudo addgroup --gid $GID $GROUP
Create a user:
USER='developer'
UID='1002'
# create user
sudo adduser --home /home/$USER --uid $UID $USER
# add the user to groups
sudo adduser $USER $GROUP
sudo adduser $USER users
sudo adduser $USER dialout
sudo adduser $USER plugdev
sudo adduser $USER audio
sudo adduser $USER video
sudo adduser $USER vglusers
# grant the user sudo privileges
sudo visudo
developer ALL=(ALL:ALL) ALL
Logout and login for the group memberships to take effect.
Create the group vglusers
and add the user developer
to the vglusers
group on the client machine,
so that the remote user developer
also belongs to group vglusers
when accessing the remote server
for VirtualGL and X11 forwarding permissions to work properly.
# create group vglusers
GROUP='vglusers'
GID='1001'
sudo addgroup --gid $GID $GROUP
# add remote desktop user to vglusers
USER='developer'
UID='1002'
sudo adduser $USER vglusers
Follow these steps to configure SSH and X11 forwarding for remote desktop access.
Test X11 forwarding using SSH:
HOST_ADAPTER1_IP="192.168.1.11"
USER="developer"
# run xeyes application
ssh -X $USER@$HOST_ADAPTER1_IP xyes
You will need to build libjpeg-turbo, VirtualGL and TurboVNC from sources and configure VirtualGL to work with a display manager.
You can opt to use any one of the following display managers:
gmd3
(default for Ubuntu-18.04), orlightdm
(requires manual installation for Ubuntu-180.04).
Follow these steps to compile libjpeg-turbo, VirtualGL and TurboVNC from sources for ppc64el
.
Follow these steps to configure VirtualGL and TurboVNC with gdm3
.
Follow these steps to configure VirtualGL and TurboVNC with lightdm
.
Edit ~/.bashrc
:
nano ~/.bashrc
# Set locate
export LC_ALL="en_US.UTF-8"
export LANG="en_US.UTF-8"
# shell
export PS1="${debian_chroot:+($debian_chroot)}\u:\W\$ "
# host
export DPKG_ARCH=`dpkg --print-architecture`
# NVIDIA CUDA environment variables
CUDA_VERSION=10.1
CUDNN_VERSION=7.6.2.24
NCCL_VERSION=2.4.7-1
CUDA=/usr/local/cuda-${CUDA_VERSION}
## NVIDIA TensorRT environment variables
TENSORRT_VERSION=5.1.5.0
TENSORRT=/project/software/library/TensorRT-$TENSORRT_VERSION
# VirtualGL, TurboVNC
LIBTURBO_JPEG_DIR="/opt/libjpeg-turbo"
VIRTUALGL_DIR="/opt/VirtualGL"
TURBOVNC_DIR="/opt/TurboVNC"
export TVNC_MT=1
export TVNC_NTHREADS=32
# Vulkan
VULKAN_SDK_VERSION="1.1.114.0"
export VULKAN_SDK="/project/software/library/vulkan/${VULKAN_SDK_VERSION}/$DPKG_ARCH"
export VK_LAYER_PATH="${VULKAN_SDK}/etc/explicit_layer.d"
export LD_LIBRARY_PATH="${CUDA}/lib64:${CUDA}/extras/CUPTI/lib64:${TENSORRT}/lib:${VULKAN_SDK}/lib:${LIBTURBO_JPEG_DIR}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}"
export PATH="${HOME}/bin:${CUDA}/bin:${VULKAN_SDK}/bin:${VIRTUALGL_DIR}/bin:${TURBOVNC_DIR}/bin${PATH:+:${PATH}}"
Source ~/.bashrc
to set environment variable:
source ~/.bashrc
Launch vncserver
on the remote host:
/opt/TurboVNC/bin/vncserver
Desktop 'TurboVNC: talos2:1 (developer)' started on display talos2:1
Starting applications specified in /home/developer/.vnc/xstartup.turbovnc
Log file is /home/developer/.vnc/talos2:1.log
This creates DISPLAY=:1
Use vglconnect
to make a VirtualGL connection to run a single application remotely:
# connect using ssh
vglconnect -s $USER@$HOST_ADAPTER1_IP
This will make a connection with ssh-encrypted X-forwarding and VGL Image transport. For more detail about options see VirtualGL Reference.
VirtualGL Client 64-bit v2.6.2 (Build 20190812)
Listening for SSL connections on port 4243
Listening for unencrypted connections on port 4242
Redirecting output to /home/developer/.vgl/vglconnect--:1.log
Making preliminary SSH connection to find a free port on the server ...
Making final SSH connection ...
# check the display environment variable
echo $DISPLAY
localhost:10.0
echo $VGL_DISPLAY
Run an OpenGL application using the vglrun command using the DISPLAY:1
created by the vncserver
:
vglrun -d :1 glxinfo
vglrun -d :1 glxgears
# performance test
VGL_LOGO=1 vglrun -d :1 glxgears
# debug connection using verbose mode
VGL_TRACE=1 vglrun +v -d :1 glxgears
Run the /opt/VirtualGL/bin/glxspheres64
performance test:
vglrun -d :1 glxspheres64
Login to the remote server:
ssh -XY $USER@$HOST_ADAPTER1_IP
Start a VNC server session on the remote visualization station using the command:
vncserver
You will be prompted to set (and confirm) a password. If it was successful, you will obtain something like this:
Desktop 'TurboVNC: talos2:1 (developer)' started on display talos2:1
Starting applications specified in /home/developer/.vnc/xstartup.turbovnc
Log file is /home/developer/.vnc/talos2:1.log
The important thing here is the last number in the first line (after the colon i.e. talos2:1)
- the display number (1 in this case), by adding 5900 to it we’ll obtain the port number of the VNC (in this case 1 + 5900 = 5901).
You can always check this by using the command vncserver -list
:
vncserver -list
TurboVNC sessions:
X DISPLAY # PROCESS ID
:1 17078
You can now disconnect from the remote server.
exit
You can now connect to the remote server using vncviewer --extssh=1
, which will automatically create an ssh tunnel and do port forwarding.
Type the following command to launch the vncviwer gui and specify $HOST_ADAPTER1_IP:<DISPLAY>
in the VNC Server field.
# launches vncviwer gui
vncviewer --extssh=1
OpenBMC host console infrastructure.
TLS/SSL and crypto library.
-
Installing Ubuntu on IBM Power System POWER9 servers with a USB device - IBM
-
Accessing the Management interface of a Power Systems AC922 - Andrew Laidlaw - 201903061200
-
How to install the GNOME Desktop on Ubuntu Server 18.04 - TechRepublic
-
Install GUI on Ubuntu Server 18.04 Bionic Beaver - Lubos Rendek - LinuxConfig
-
How to set up VirtualGL and TurboVNC for use with ParaViewWeb - Kitware
-
Remote accelerated graphics with VirtualGL and TurboVNC - Jan Hreha - 20150804
Solution:
Set X11UseLocalhost
variable to no
in the file /etc/opt/ssh/sshd_config