Ubuntu Server for IBM Z and LinuxONE

Introduction and Overview

Frank Heimes, Tech. Lead for on s390x, Canonical Ltd.

Ubuntu on Big Iron: ubuntu-on-big-iron.blogspot.de Canonical

We are the company behind Ubuntu. Where is the name Ubuntu coming from?

ubuntu |oǒ'boǒntoō|

Ubuntu is an ancient African word meaning ‘humanity to others’. It also means ‘I am what I am because of who we all are’. The Ubuntu brings the spirit of Ubuntu to the world of computers. Ubuntu

http://www.ubuntu.com/about/about-ubuntu Ubuntu Server for IBM Z and LinuxONE (s390x) Design Philosophy

● Expand Ubuntu’s ease of use to the s390x architecture (IBM Z and LinuxONE) ● Unlock new workloads, especially in the Open Source, Cloud and Container space ● Offer a radically new pricing approach (drawer-based pricing) ● Consequentially tap into new client bases ● Exploit new features and components faster - in two ways: ○ hardware: compiled for zEC12 and up ○ software: latest kernels, compilers and optimized libraries ● Provide party with other architectures ○ Release parity ○ Feature parity ○ Uniform user experience ○ Close potential gaps ● Open source - is collective power in action ● Upstream work and code only - no forks Ubuntu Release Naming Scheme

The official name of an Ubuntu release is ‘Ubuntu x.y’ with ‘x’ representing the year (minus 2000) and ‘y’ representing the month of eventual release within in that year. So Ubuntu's first release, made available in 2004 October (October is the 10th month) was Ubuntu 4.10. Since the actual release date is not known until it's ready and humans tend to prefer names rather than numbers, a set of code-names are used by developers and testers during the buildup to a release: Adjective Animal Version Adjective Animal Version Adjective Animal Version Warty Warthog 4.10 Jaunty Jackalope 9.04 Saucy Salamander 13.10 Hoary Hedgehog 5.04 Karmic Koala 9.10 Trusty Tahr 14.04 LTS Breezy Badger 5.10 Lucid Lynx 10.04 LTS Utopic Unicorn 14.10 Dapper Drake 6.06 LTS Maverick Meerkat 10.10 Vivid Vervet 15.04 Edgy Eft 6.10 Natty Narwhal 11.04 Wily Werewolf 15.10 Feisty Fawn 7.04 Oneiric Ocelot 11.10 Xenial Xerus 16.04 LTS Gutsy Gibbon 7.10 Precise Pangolin 12.04 LTS Yakkety Yak 16.10 Hardy Heron 8.04 LTS Quantal Quetzal 12.10 Zesty Zapus 17.04 Intrepid Ibex 8.10 Raring Ringtail 13.04 Artful Aardvark 17.10 The development codename of a release takes the form "Adjective Animal". So for example: Warty Warthog (Ubuntu 4.10), Hoary Hedgehog (Ubuntu 5.04), Breezy Badger (Ubuntu 5.10), are the first three releases of Ubuntu. In general, people refer to the release using the adjective, like "warty" or "breezy". The names live on in one hidden location---the archive release name in /etc/apt/sources.list and seen on the download mirror network. https://wiki.ubuntu.com/DevelopmentCodeNames https://en.wikipedia.org/wiki/List_of_Ubuntu_releases Consistent Release Cycle 5 years long term support (LTS) - every 2 years 9 month support for non-LTS / development releases - every 6 month 14.04 14.10 15.04 15.10 16.04 16.10 17.04 17.10 18.04 18.10 19.04 https://wiki.ubuntu.com/Releases 18.10 https://wiki.ubuntu.com/LTS https://en.wikipedia.org/wiki/List_of_Ubuntu_releases Ubuntu 18.04 LTS 5 years

1817.10 non-LTS months aka 17.04 development in development 16.10 releases end-of-life in service Ubuntu 16.04 LTS 5 years 15.10

15.04

14.10

Ubuntu 14.04 LTS 5 years

Extended Support / ESM (Security only), like for Ubuntu LTS 12.04: https://insights.ubuntu.com/2017/03/14/introducing-ubuntu-12-04-esm-extended-security-maintenance/ Ubuntu 16.10 / Yakkety - EOL Ubuntu 16.10 (Yakkety Yak) reached End of Life on July 20 2017

https://lists.ubuntu.com/archives/ubuntu-security-announce/2017-July/003954.html Ubuntu 17.04 / Zesty ● Released on Thursday the 13th of April ('4'th month, year 20'17' → 17.04) ● Ubuntu Server non-LTS / development release ● Updates on many core packages, including 4.10-based Kernel, gcc 6.3 (tests and sample compiles with gcc 7 already started), KVM-Qemu 2.8, Libvirt 2.5, LXD 2.12, Snapd 2.24, Postgresql 9.6, Puppet 4.8, MySQL 5.7, Go/golang 1.7 and 1.8, PHP 7, Python 3.5(.3), glibc 2.24, binutils 2.28, apt 1.4, Nginx 1.10, OpenSSH 7.4, Docker (docker.io) 1.12(.6), Docker-Compose 1.8, flannel 0.5.5 - just to name a few ● Some s390x specific information to notice are: ○ added flannel (1642631) ○ added libgoogle-perftools4 (1643975) ○ kernel message catalogue for s390x integrated (1628889) ○ upgrade to latest genwqe (1664565) and zlib (1664595) ○ upgraded libica to 3.0.2 (1638885) ○ upgraded s390-tools to 1.37+ (1656809) ■ incl. upgrade s390tools to version 1.37.1 changes ■ incl. conversion of some s390-tools shell scripts to C (1657166) ○ opencryptoki rebased to 3.6.2 (1638879) ○ added support to ensured stable PCI Identifiers using UIDs (1644504) ○ added support to read PCI FMB length (1658727) ○ added support for DASD channel-path aware error recovery (1644537) ○ added support for toleration of newer crypto hardware for z Systems (1644533) ○ added support for concurrent multiple domains for crypto adapter (1655909) Ubuntu 17.10 / Artful - TBD ● The codename for the 17.10 release is 'Artful Aardvark' or in short 'Artful': https://launchpad.net/ubuntu/artful ● https://wiki.ubuntu.com/ArtfulAardvark/ReleaseSchedule Alpha 1: June 29th; Alpha 2: July 27th, Beta 1: August 31st, Final Beta: September 28th - all done Final Release, Ubuntu 17.10: October 19th ● Current and Planned components: ○ Kernel 4.13 ○ Qemu-KVM 2.10 ○ Libvirt 3.6 ○ GCC 7.1 ○ Python 3.6 ○ Perl 5.26 ○ Ocaml 4.04 Netplan provides a framework for configuring networks and replaces ifupdown. ○ Netplan 1.10 It can either be used by NetworkManager or systemd-networkd. ○ glibc 2.26 https://lists.ubuntu.com/archives/ubuntu-devel-announce/2017-June/001215.html ○ CDO Pike (Canonical Distribution of OpenStack) ○ s-ubiquity (Ubuntu Server installer) A new installer for Ubuntu Server images (s-ubiquity) [Technology Preview]: https://lists.ubuntu.com/archives/ubuntu-devel-announce/2017-April/001211.html What’s in Ubuntu Server 16.04 LTS / Xenial ● As Long Term Support Release (LTS) supported for five years by Canonical ● Runs on all major architectures: , x86-64, ARM v7, ARM64, POWER 64 LE and IBM s390x (IBM Z and LinuxONE) ● 4.4 Kernel (released in January 2016) ● Systemd service manager and init system ● ZFS stable, feature-rich file system with snapshot capabilities, provided as native Kernel module ● LXD Linux container enhancements including QoS and resource controls: CPU, memory, block I/O, storage quota ● Install Ubuntu Core Snaps (snap packages) ● Updated packages: Tomcat (v8), Postgresql (v9.5), Puppet (v3.8.5), Qemu (v2.5), Libvirt (v1.3.1), LXC (v2.0), and MySQL (v5.6), Go (v1.6), PHP (v7), Python (v3.5), glibc (v2.23), binutils (v2.26), GCC (post v5.3.0), apt (v1.2), Nginx (v1.9.15), OpenSSH (v7.2p2) with SSH v1 disabled, Docker (v1.10)

http://www.ubuntu.com/server https://wiki.ubuntu.com/XenialXerus/ReleaseSchedule https://www.digitalocean.com/community/tutorials/what-s-new-in-ubuntu-16-04 Ubuntu LTS ‘point’ Releases Regular respin and hardware enablement for 2+ years 16.04 16.10 17.04 17.10 18.04 18.10 19.04 19.10 20.04 20.10 21.04 Ubuntu 20.04 LTS 5 years 19.10

19.04

18.10 Ubuntu 18.04 LTS 5 years 17.10

17.04 With regular updates a 16.04 installation will automatically 16.10 reach the later 16.04.x ‘point’ release levels over time. 16.04.0 16.04.1 16.04.2 16.04.3 16.04.4 16.04.5 Ubuntu 16.04 LTS 5 years

The ‘point’ releases ‘ ‘ will include support for new hardware (partly with an updated HWE Kernel option) as well as rolling up all the updates published in that series to date. So a fresh install of a point release will work on newer hardware and will also not require a big download of additional updates. https://wiki.ubuntu.com/Releases http://www.markshuttleworth.com/archives/146 Ubuntu 16.04.x LTS Kernel Support Schedule This is a distilled view of the 16.04.x Ubuntu Kernel Support Schedule. Depending on the installed LTS ‘point’ release (like ‘.0’ or ‘.1’), it’s either possible to use the default Kernel up to the end of the LTS life-cycle or the HWE Kernel upgrade path is followed (starting with ‘.2’).

v4.4 from 16.04 GA Xenial

v4.4 from 16.04 GA Xenial

… and optionally: v4.8 from 16.10 Yakkety ● … and optionally: two installation kernels for ‘d-i’ v4.10 from 17.04 ● Zesty two kernels to install to disk

… and optionally: v4.13 from 17.10 Artful

… and optionally: v4.x from 18.04 ‘B***’ release

https://wiki.ubuntu.com/Kernel/Support#A16.04.x_Ubuntu_Kernel_Support https://wiki.ubuntu.com/Kernel/LTSEnablementStack IBM z14 - Toleration / Exploitation

First Exploitation with 18.04 LTS and 16.04.5 LTS+HWE (via upstream)

Toleration with 16.04 LTS (via backports) and 17.04 and 16.04.3 LTS+HWE (via upstream) Ubuntu Server Installation Options Ubuntu Server for s390x runs: D D D D D D D D D D D D X X X X X X X X X X X X L L L L L L L L L L L L

● ‘native’ in LPAR u u u u u u u u u u u u t t t t t t t t t t t t n n n n n n n n n n n n u u u u u u t t t t t t u u u u u u u u u u u u b b b b b b b b b b b b n n on IBM z this is as close as possible to bare metal n n n n U U U U U U U U U U U U u u u u u u ● b b b b b b

as ‘IBM z/VM’ guest U U U U U U a guest aka virtual machine running on IBM’s z/VM hypervisor ● as KVM virtual machine on an Ubuntu host u u t t n using plain Ubuntu Server as KVM host n u u IBM Ubuntu as b b KVM host ● as Container on an Ubuntu host U U z/VM

using LXD, lxc, Docker, kubernetes/k8s/CDK LPAR LPAR LPAR LPAR Containers can be combined with any of the above options PR/SM or DPM ● Ubuntu Certified for zEC12, zBC12, z13, z13s, z14, LinuxONE Emperor (I and II) and LinuxONE Rockhopper hardware

● with traditional PR/SM (Processor Resource and System Management) or DPM (Dynamic Partition Manager)

http://insights.ubuntu.com/2016/04/22/ubuntu-16-04-lts-for-ibm-linuxone-and--z-systems-is-now-available/ Ubuntu Server Certified Hardware (s390x)

● zBC12/zEC12 ● z14 ● IBM zBC12 (KVM for IBM z) Server ● IBM z14 (KVM) Server ● IBM zBC12 (LPAR) Server ● IBM z14 (LPAR DPM) Server ● IBM zBC12 (z/VM) Server ● IBM z14 (LPAR PR/SM) Server ● IBM zEC12 (KVM for IBM z) Server ● IBM z14 (z/VM) Server ● IBM zEC12 (LPAR) Server ● IBM zEC12 (z/VM) Server

● z13/z13s ● LinuxONE ● IBM z13 (KVM for IBM z) Server ● IBM LinuxONE Emperor (KVM for IBM z) Server ● IBM z13 (LPAR) Server ● IBM LinuxONE Emperor (LPAR) Server ● IBM z13 (LPAR) with DPM Server ● IBM LinuxONE Emperor (LPAR) with DPM Server ● IBM z13 (z/VM) Server ● IBM LinuxONE Emperor (z/VM) Server ● IBM z13s (KVM for IBM z) Server ● IBM LinuxONE Rockhopper (KVM for IBM z) Server ● IBM z13s (LPAR) Server ● IBM LinuxONE Rockhopper (LPAR) Server ● IBM z13s (LPAR) with DPM Server ● IBM LinuxONE Rockhopper (LPAR) with DPM Server ● IBM z13s (z/VM) Server ● IBM LinuxONE Rockhopper (z/VM) Server

http://www.ubuntu.com/certification/server/models/?query=&vendors=IBM&release=16.04+LTS IBM Z and LinuxONE - Tested platforms

Please see more details and all footnotes at: http://www.ibm.com/systems/z/os/linux/resources/testedplatforms.html Ubuntu Insights Blog Post: IBM & Canonical: A and Cloud Computing (R-)Evolution https://insights.ubuntu.com/2017/06/15/ibm-canonical-a-virtualization-and-cloud-computing-r-evolution/

https://insights.ubuntu.com/cloud-and-server/ LXD Features

LXD is a container "hypervisor" and a new user experience for lxc. It builds on top of lxc and is no replacement of lxc. LXD is a daemon exporting an authenticated representational state transfer application programming interface (REST API) both locally over a unix socket and over the network using https. LXD is modern hypervisor for machine containers (in contrast to application containers, like Docker) and provides:

● Two clients for the LXD daemon, one is an OpenStack plugin, the other a standalone command line tool – but use the REST interface ● Security by default (unprivileged containers, apparmor, seccomp, etc.) ● Image based workflow (no more locally built rootfs) ● Support for online snapshots, incl. running state, rollbacks and clones ● Live migration support (requires CRIU, comes with 17.10 for s390x) LXD ● Shell command control https://linuxcontainers.org/lxd/ Canonical OpenStack (CDO) Management & Infrastructure Automation Services

Nova Horizon

Landscape & Ceilometer Keystone Neutron Autopilot /Telemetry

Swift Cinder Glance

Juju Ubuntu 16.04 LTS

MAAS tbd for z 14 OpenStack Release Cycle

14.04 14.10 15.04 15.10 16.04 16.10 17.04 17.10 18.04 18.10 19.04

Pike 18 months

Ocata 18 months extra 18 months for customers Newton 18 months

Mitaka LTS 5 years

Ubuntu 16.04 LTS 5 years

Mitaka LTS 5 years Liberty 18 months Kilo 18 months extra 18 months for customers Juno 18 months Icehouse LTS 5 years Ubuntu 14.04 LTS 5 years Kubernetes Distribution (CDK)

The Canonical Distribution Of Kubernetes: https://jujucharms.com/canonical-kubernetes/ Introducing Kubernetes version 1.0!: https://insights.ubuntu.com/2015/07/21/introducing-kubernetes-version-1-0/ Canonical expands enterprise container portfolio: https://insights.ubuntu.com/2016/09/27/canonical-expands-enterprise-container-portfolio/ Juju Service modeling and deployment tool for cloud speed

Demo URL: http://www.ubuntu.com/cloud/juju Juju - The Services Modeling Tool Brings all our Open Source Packages and IBM Software

The vast majority of existing OSS Charms & Bundles have been enabled for POWER where base code is ported to POWER. ● MySQL ● MariaDB ● OpenStack ● RabbitMQ ● Wordpress ● HaProxy ● Kunernetes …

IBM has committed significant full-time resources to Charming IBM products for POWER and Systems z. ● WAS eXtreme Scale ● WAS MQ ● DB2 UDB Blu https://jujucharms.com/q/?tags=ibm&series=xenial 3 Complementary Automation Tools

MAAS

PHYSICAL SERVICES MODELING, ADMINISTRATION PROVISIONING + + DEPLOYMENT AUDIT DYNAMIC + + RE-PURPOSING SCALING COMPLIANCE tbd for z

Security Efforts

● Kernel Livepatch Service (tbd for s390x and ppc64el) ○ Working with IBM Z team (and IBM Power) support ○ ‘DirtyCOW’ vulnerability live-patched within hours of announce ○ Not a “kernel update” via apt -- live modification of running kernel

● FIPS in progress ○ In coordination with IBM Z team - status “Under Test” ● Common Criteria in progress ○ Also in coordination with IBM Z team ● https://wiki.ubuntu.com/Security/Features ● https://wiki.ubuntu.com/Security/Certification Hardware cryptographic support for

IBM Z and LinuxONE with Ubuntu Server (70+ pages)

Abstract This article summarizes our experiences with the setup, configuration and usage of OpenSSL, PKCS#11 and its related components for exploiting hardware-assisted cryptographic operations on IBM LinuxONE and IBM Z for clear key operations. The required steps are described, as well as findings in the areas of performance improvement using OpenSSH, Apache HTTP server and IBM Java. Based on our positive experiences we recommend that you should make use of these capabilities whenever performing cryptographic workloads on Ubuntu Server for IBM Z and IBM LinuxONE.

https://www.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP102721 IBM Software for Ubuntu on IBM Z and LinuxONE

Initial focus is on Big Data, Analytics, and Middleware ○ IBM Java – target 16.04

○ IBM XL C/C++ – target 16.04 Available in ○ IBM DB2 UDB v11 Ubuntu 16.04 ○ IBM WebSphere Liberty Archive Install ○ IBM WebSphere Application Server v9 ○ IBM WebSphere MQ v9.0.1 - expected Nov 18 ○ IBM Operational Decision Manager v8.8.1 ○ IBM MobileFirst Platform v8.0 ○ IBM Tivoli Monitoring v6.3 FP 7- expected in December More Middleware, Big Data and Analytics products are on the horizon

Software Product Compatibility Reports - Products that support Ubuntu 16.04 LTS IBM Z: https://www.ibm.com/software/reports/compatibility/clarity-reports/report/html/productsOnOs?osId=1464106052115 Ubuntu Server (s390x) Download

https://www.ubuntu.com/download/server/linuxone Ubuntu Advantage (UA) Pricing Based on effective drawers

● Charge only for the effective capacity allocated to Linux, not the physical drawers being used ● Typically 1-30 are in one drawer depending on the model ● Midrange systems (zBC12, z13s or LinuxONE Rockhopper) entirely count as one single drawer (regardless if one or two physical drawers are installed) ● Support covers unlimited usage of Ubuntu Server on any or all of the IFLs within that drawer, 24×7 Ubuntu Advantage Advanced support services and regular security and reliability fixes from Canonical. ● Ubuntu is the leading Linux OS for cloud and scale out. Canonical wants to enable you to grow your business without having to call every time you needed to activate a new core / IFL.

http://insights.ubuntu.com/2016/04/22/ubuntu-16-04-lts-for-ibm-linuxone-and-ibm-z-systems-is-now-available/ Why Ubuntu Server 16.04 LTS on s390x?

LXD snaps OSS included release LTS & non- software parity LTS mix drawer-based new stack OpenStack Kernel currency integration pricing (HWE-) 4.4 Juju Kernel size and other manual upgrade Virtualization scope of the flavours KVM provider option options repositories included within LTS LPAR, z/VM, KVM, no 31-bit Container Landscape legacy current z ZFS client toolchain Archive / ‘point’ easy arch. level Repo options: releases with availability refreshed set to EC12+ Partner, PPAs new software and trial ISO and every 6 month Cloud images (non-LTS) new software every same L&F like on 2 years (LTS) other platforms References and Links - Canonical

● Canonical and IBM Webinar -- Ubuntu on POWER and LinuxONE http://blog.dustinkirkland.com/2016/04/ibm-webinar.html http://people.canonical.com/~kirkland/IBM%20Webinar.pdf https://youtu.be/b4VCU8M8-YA ● By the numbers: Ubuntu 16.04 LTS http://blog.dustinkirkland.com/2016/04/by-numbers-ubuntu-1604-lts.html ● Creating the World’s Fastest OpenStack - Dustin Kirkland http://people.canonical.com/~kirkland/Using%20containers%20to%20create%20the%20World%27s%20fastest%20OpenStack%20%28public %29.pdf ● Container World 2016: Application and Machine Containers http://blog.dustinkirkland.com/2016/02/container-world-2016-application-and.html http://people.canonical.com/~kirkland/Container%20World%202016-%20Application%20and%20Machine%20Containers%20%28public%29.pdf ● Ubuntu Server certified hardware http://www.ubuntu.com/certification/server/models/?query=&vendors=IBM&release=16.04+LTS ● Ubuntu 16.04 LTS for IBM LinuxONE and IBM z Systems is now available http://insights.ubuntu.com/2016/04/22/ubuntu-16-04-lts-for-ibm-linuxone-and-ibm-z-systems-is-now-available/ ● Ubuntu 16.04.x LTS Kernel Support Schedule https://wiki.ubuntu.com/Kernel/Support#A16.04.x_Ubuntu_Kernel_Support ● Ubuntu Linux 16.04 for IBM z Systems and LinuxONE - Installation Guide Wiki https://wiki.ubuntu.com/S390X/InstallationGuide ● Fully- or Semi-Automated Installations (using preseed) https://wiki.ubuntu.com/S390X/InstallationGuide/AutomatedInstallsWithPreseed References and Links - Canonical

● Infographic: Ubuntu Advantage explained https://insights.ubuntu.com/2016/10/25/infographic-ubuntu-advantage-explained/ ● Ubuntu on Big Iron - Blog http://ubuntu-on-big-iron.blogspot.com/?view=sidebar ● Big Software has arrived! https://insights.ubuntu.com/2016/10/03/big-software-has-arrived/ ● OpenStack on LXD http://docs.openstack.org/developer/charm-guide/openstack-on-lxd.html ● IBM & Canonical: A Virtualization and Cloud Computing (R-)Evolution https://insights.ubuntu.com/2017/06/15/ibm-canonical-a-virtualization-and-cloud-computing-r-evolution/ ● Ubuntu Wiki – Features (incl. Security) https://wiki.ubuntu.com/Security/Features ● Ubuntu Wiki – Certification https://wiki.ubuntu.com/Security/Certification References and Links - IBM ● IBM LinuxONE and Ubuntu http://www.ibm.com/systems/linuxone/open-source/ubuntu.html ● Ubuntu 16.04 Announcement (Mark Shuttleworth) http://www.ibm.com/systems/linuxone/open-source/ubuntu.html#s-1 ● A Developer’s View: Why Ubuntu 16.04 on IBM LinuxONE (Marcel Mitran) https://www.youtube.com/watch?v=NDzofKWbd48 ● Complimentary LinuxONE trial at IBM LinuxONE Community Cloud https://developer.ibm.com/linuxone/?source=web&ca=linuxone&ovcode=ov44223&tactic=C47300NW ● IBM and Canonical Ubuntu 16.04: Next-Generation Applications on LinuxONE (IDC Whitepaper) https://www.ibm.com/marketing/iwm/dre/signup?source=stg-web&S_PKG=ov47989&S_TACT=C47305CW http://www.ibm.com/common/ssi/cgi-bin/ssialias? subtype=WH&infotype=SA&htmlfid=LUW12345USEN&attachment=LUW12345USEN.PDF ● Validated Open-source Software for IBM Z and LinuxONE https://www.ibm.com/developerworks/community/forums/html/topic?id=5dee144a-7c64-4bfe-884f-751d6308dbdf ● IBM Z - Tested Operating System Platforms www.ibm.com/systems/z/os/linux/resources/testedplatforms.html The Docu Chart(s)

- Documentation for Ubuntu Server 16.04 LTS https://www.ibm.com/support/knowledgecenter/linuxonibm/liaaf/lnz_r_ubuntu.html - Device Drivers, Features, and Commands on Ubuntu Server https://www.ibm.com/support/knowledgecenter/linuxonibm/liaaf/lnz_r_udd.html - Device Drivers, Features, and Commands on Ubuntu Server 16.04 LTS - PDF: http://public.dhe.ibm.com/software/dw/linux390/docu/lux1dd00.pdf - HTML: https://www.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.ludd/ludd_c_devicedrivers.html - Device Drivers, Features, and Commands on Ubuntu Server as a KVM Guest https://www.ibm.com/support/knowledgecenter/linuxonibm/liaaf/lnz_r_uvg.html - Device Drivers, Features, and Commands on Ubuntu Server 16.04 LTS as a KVM Guest - PDF: http://public.dhe.ibm.com/software/dw/linux390/docu/lux1vg00.pdf - HTML: https://www.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.luvg/luvg_c_welcome.html - Troubleshooting Guide / Troubleshooting for Linux on z Systems (December 2016 edition, covering Ubuntu) - PDF: http://public.dhe.ibm.com/software/dw/linux390/docu/lnxsv04.pdf - HTML: https://www.ibm.com/support/knowledgecenter/linuxonibm/com.ibm.linux.z.lnsv/lnxsv_ts_linuxonz.html - The Virtualization Cookbook for IBM z Systems (IBM Redbook) - Volume 1: IBM z/VM 6.3 - http://www.redbooks.ibm.com/abstracts/sg248147.html - Volume 4: Ubuntu Server 16.04 - http://www.redbooks.ibm.com/abstracts/sg248354.html The Docu Chart(s) - ff

- Official Ubuntu Documentation https://help.ubuntu.com/ - Ubuntu 16.04 LTS (Xenial Xerus) Server Guide - PDF: https://help.ubuntu.com/lts/serverguide/serverguide.pdf - HTML: https://help.ubuntu.com/lts/serverguide/index.html - Ubuntu 16.04 LTS (Xenial Xerus) Installation Guide - Overview: https://help.ubuntu.com/lts/installation-guide/index.html - s390x (IBM System z): - HTML: https://help.ubuntu.com/lts/installation-guide/s390x/index.html - PDF: https://help.ubuntu.com/lts/installation-guide/s390x/install.en.pdf - Text: https://help.ubuntu.com/lts/installation-guide/s390x/install.en.txt - recommended is t use the more current Wiki version of the Installation Guide for s390x: Ubuntu Linux 16.04 for IBM z Systems and LinuxONE - Installation Guide https://wiki.ubuntu.com/S390X/InstallationGuide - and it's special sub-page for preseed installations: Automated Ubuntu Server Installations on s390x with preseed https://wiki.ubuntu.com/S390X/InstallationGuide/AutomatedInstallsWithPreseed - Ubuntu for IBM Z and LinuxONE Wiki page (with FAQs, Bugs and hints) https://wiki.ubuntu.com/S390X Thank you - Questions?

Thanks a lot - and stop by at: https://ubuntu-on-big-iron.blogspot.com :-) Ubuntu Repository Components Ubuntu software repository components are organized into four separate areas, according to the level of support offered by Ubuntu and whether or not the program in question complies with Ubuntu's Free Software Philosophy.

Free Software Non-free Software

Canonical Main Restricted Supported Officially supported software Supported software that is not available under a completely free license

Community Universe Multiverse Maintained Community maintained software, i.e. Software that is not free not officially supported software

There are also further repositories available, like: ● Canonical Partner Archive containing commercial software that is certified by Canonical and therefore compatible with Ubuntu ● PPAs (Personal Package Archives) for personal/private, temporary or development use https://help.ubuntu.com/community/Repositories/Ubuntu https://help.ubuntu.com/community/Repositories/CommandLine Main Characteristics of snap(s) ● snaps (snap packages) is an easy to maintain and distribute everywhere packaging infrastructure ● snaps significantly reduce the complexity of packaging and providing updates ● snaps manages dependencies and compatibility with various libraries ● snap handling and processing is atomic, means software updates are "transactional" ● snaps are independent of the distribution or it’s release and backed by several Linux distributions ● snap is available with Ubuntu 16.04 LTS for all supported platforms, incl. s390x ● snaps are independent from the traditional package formats like, deb or rpm ● and can be used alongside traditional packages, deb format will continue to be supported ● the snap format, designed by Canonical, is handled by snapd, a free Github software project ● creating and maintaining packages can be complex and time consuming for ISVs and non experts it is distribution specific and it’s done rarely (e.g. major releases only), due to the required effort ● snaps enable vendors to distribute much faster, more often and broader, allowing more releases ● snaps are not only for desktops, but also for server, Cloud and IoT applications ● snaps enable (especially Cloud-) vendors to keep track with the speed of the web ● snaps are self-contained zip files that can be executed very fast in place ● each snap is confined using a range of Kernel isolation and security mechanisms (like containers) ● snaps integrate nicely into the operating systems by mounting squashfs ro ● snapcraft is a tool for development and the creation of snaps ● the snapcore team drives development of the project at snapcraft.io https://insights.ubuntu.com/2016/06/14/universal-snap-packages-launch-on-multiple-linux-distros/ Fully- or Semi-Automated Installations Preseed Overview

One of the Debian installers (d-i) advanced options is the automated install mode via preseed - a combination of special boot parameters and a preseed file.

The (d-i) installer on s390x runs in netboot mode and has two stages: 1) the initial stage (before networking has been started in the installer) usually runs at the console 2) and the second stage that is usually run via ssh.

Automating the installation can be done in multiple ways: ● Pass preseed keys or aliases via parmfile: e.g. debian-installer/locale=en_US domain=myhostname ● Append complete preseed.cfg to the initrd.ubuntu ● Preseed networking information via parmfile, and use url= parameter to fetch the rest of the config over the network https://wiki.ubuntu.com/S390X/InstallationGuide/AutomatedInstallsWithPreseed Fully- or Semi-Automated Installations ff PARMFILE UBUAUTO ro locale=en_US auto=true priority=critical apt-setup/proposed=true url=ftp://server/preseed/preseed.cfg s390-netdevice/choose_networktype=qeth s390-netdevice/qeth/layer2=true s390-netdevice/qeth/port=0 s390- netdevice/qeth/choose=0.0.0600-0.0.0601-0.0.0602 netcfg/get_ipaddress=10.245.236.12 netcfg/get_netmask=255.255.255.0 netcfg/get_gateway=10.245.236.1 netcfg/get_nameservers=10.245.236.1 netdevice/qeth/layer2=true netcfg/confirm_static=true netcfg/use_autoconfig=1 netcfg/disable_dhcp=true hostname=ZLIN12 domain=canonical.com network-console/start=note network- console/password=your_password network-console/password-again=your_password

https://wiki.ubuntu.com/S390X/InstallationGuide/AutomatedInstallsWithPreseed Fully- or Semi-Automated Installations ff preseed.cfg (example, partly) d-i debconf/priority string critical # activate DASD, dasdfmt if needed d-i auto-install/enable boolean true d-i s390-dasd/dasd string 0.0.0200,0.0.0300,0.0.0400

# use -proposed udebs # DASD configuration d-i apt-setup/proposed boolean true d-i s390-dasd/auto-format boolean true d-i s390-dasd/force-format boolean true d-i pkgsel/update-policy select none # auto-partition, all files in one partition # Localization d-i partman-auto/method string regular d-i debian-installer/language string en d-i partman-auto/choose_recipe select atomic d-i partman/choose_partition select finish # activate qeth d-i partman/confirm_nooverwrite boolean true d-i s390-netdevice/choose_networktype string qeth d-i partman/confirm boolean true d-i s390-netdevice/qeth/choose string 0.0.0600-0.0.0601-0.0.0602 d-i s390-netdevice/qeth/layer2 boolean true # user setup d-i passwd/user-fullname string ubuntu d-i d-i s390-netdevice/qeth/port string 0 passwd/username string ubuntu d-i passwd/user-password-crypted password $6$tYarsvlkZYGF$DlQv/Pr6JAXuiIYUGQiESBMdnJAjpquW0 # use static network configuration d-i netcfg/choose_interface select auto # reboot at the end d-i netcfg/disable_autoconfig boolean true d-i finish-install/reboot_in_progress note https://wiki.ubuntu.com/S390X/InstallationGuide/AutomatedInstallsWithPreseed? action=AttachFile&do=get&target=preseed.cfg www..ibm.com/education/lvc/zlinlvc.html - Fully Automated Installation of Ubuntu Server 16.04 with preseed