Merge pull request #1763 from s-makin/doc-move-pages
[docs] Add content and change to reST
|
@ -9,3 +9,13 @@ documentation. As the RTD version is not yet ready, documentation changes
|
|||
should be made to `../documentation` until this README is updated to say
|
||||
otherwise. As such, please make any desired documentation changes to
|
||||
`../documentation`.
|
||||
|
||||
# Local preview
|
||||
|
||||
To build this documentation, you can run `make install` from this folder to
|
||||
create the virtual environment.
|
||||
|
||||
Then run the `make run` command, which will build a html version of the docs,
|
||||
and serve the docs in the virtual environment. This is very convenient if you
|
||||
are working on them and want your saved changes to be reflected as a working
|
||||
preview.
|
||||
|
|
|
@ -0,0 +1,176 @@
|
|||
.. _configure-storage:
|
||||
|
||||
Configuring storage
|
||||
*******************
|
||||
|
||||
There are a lot of options for storage configuration with the Subiquity
|
||||
installer. This guide will walk you through some of the common options for an
|
||||
Ubuntu Server installation.
|
||||
|
||||
Guided options
|
||||
==============
|
||||
|
||||
.. image:: figures/configure-storage-guided-options.png
|
||||
:alt:
|
||||
|
||||
Selecting "Use an entire disk" on the Guided storage configuration screen will
|
||||
install Ubuntu onto the selected disk, replacing any partitions or data already
|
||||
there.
|
||||
|
||||
You can choose whether or not to set up LVM, and if you do, whether or not to
|
||||
encrypt the volume with LUKS. If you encrypt the volume, you need to choose a
|
||||
passphrase that will need to be entered each time the system boots.
|
||||
|
||||
If you select "Custom storage layout", no configuration will be applied to the
|
||||
disks.
|
||||
|
||||
In either case, the installer moves onto the main storage customisation screen.
|
||||
|
||||
The main storage screen
|
||||
=======================
|
||||
|
||||
.. image:: figures/configure-storage-main-screen.png
|
||||
:alt:
|
||||
|
||||
This screen presents a summary of the current storage configuration. Each
|
||||
device or partition of a device corresponds to a different row (which can be
|
||||
selected), and pressing :kbd:`Enter` or :kbd:`space` while a device is selected
|
||||
opens a menu of actions that apply to that device.
|
||||
|
||||
Partitions
|
||||
==========
|
||||
|
||||
.. image:: figures/configure-storage-partitions.png
|
||||
:alt:
|
||||
|
||||
To add a partition to a device, select "Add GPT Partition" for that device.
|
||||
|
||||
.. image:: figures/configure-storage-GPT-partition.png
|
||||
:alt:
|
||||
|
||||
You can leave "Size" blank to use all the remaining space on the device.
|
||||
|
||||
RAID
|
||||
====
|
||||
|
||||
.. image:: figures/configure-storage-raid.png
|
||||
:alt:
|
||||
|
||||
`Linux software RAID <https://raid.wiki.kernel.org/index.php/Linux_Raid>`_
|
||||
(where RAID stands for "Redundant Array of Inexpensive Disks") can be used to
|
||||
combine several disks into a single device that is (usually) tolerant to any
|
||||
one disk failure.
|
||||
|
||||
A software RAID device can be created out of entire disks or unformatted
|
||||
partitions. Select the "Create software RAID ("MD")" button to open the
|
||||
creation dialog.
|
||||
|
||||
The server installer supports devices with RAID level 0, 1, 5, 6 or 10 being
|
||||
created. It does not allow customising other options such as metadata format or
|
||||
RAID10 layout at this time. See the
|
||||
`Linux RAID documentation <https://raid.wiki.kernel.org/index.php/Linux_Raid>`_
|
||||
for more details.
|
||||
|
||||
A software RAID device can be formatted and mounted directly, can be
|
||||
partitioned into several partitions, and can even be used as part of another
|
||||
RAID device or LVM volume group.
|
||||
|
||||
Logical Volume Manager (LVM)
|
||||
============================
|
||||
|
||||
.. image:: figures/configure-storage-lvm.png
|
||||
:alt:
|
||||
|
||||
The LVM is a system of managing logical volumes, or filesystems, that is much
|
||||
more advanced and flexible than the traditional method of partitioning a disk
|
||||
into one or more segments and formatting that partition with a filesystem. It
|
||||
can be used to combine several disks into one larger pool of storage but it
|
||||
offers advantages even in a single disk system, such as snapshots and easy
|
||||
resizing of logical volumes.
|
||||
|
||||
As with RAID, a LVM volume group can be created out of entire disks or
|
||||
unformatted partitions. Select the "Create LVM volume group" button to open
|
||||
the creation dialog.
|
||||
|
||||
Once a volume group has been created, it can be divided into named logical
|
||||
volumes which can then be formatted and mounted. It generally makes sense to
|
||||
leave some space in the volume group for storage of snapshots and creation of
|
||||
more logical volumes as needed.
|
||||
|
||||
The server installer does not supported configuring any of the many, many
|
||||
options that LVM supports when creating volume groups and logical volumes.
|
||||
|
||||
Selecting boot devices
|
||||
======================
|
||||
|
||||
.. image:: figures/configure-storage-boot-devices.png
|
||||
:alt:
|
||||
|
||||
On all architectures other than s390x, the bootloader needs to be installed to
|
||||
a disk in such a way that the system firmware can find it on boot. By default,
|
||||
the first device to have a partition created on it is selected as a boot device
|
||||
but this can be changed later.
|
||||
|
||||
On amd64 and arm64 systems, multiple disks can be selected as boot devices,
|
||||
which means a system can be configured so that it will continue to boot after
|
||||
a failure of any one drive (assuming the root filesystem is placed on a RAID).
|
||||
The bootloader will be installed to each of these drives, and the operating
|
||||
system configured to install new versions of GRUB to each drive as it is
|
||||
updated.
|
||||
|
||||
amd64 systems use GRUB as the bootloader. amd64 systems can boot in either UEFI
|
||||
or legacy (sometimes called "BIOS") mode (many systems can be configured to
|
||||
boot in either mode) and the bootloader is located completely differently in
|
||||
the two modes.
|
||||
|
||||
Legacy mode
|
||||
-----------
|
||||
|
||||
In legacy mode, the bootloader is read from the first "sector" of a hard drive
|
||||
(exactly which hard drive is up to the system firmware, which can usually be
|
||||
configured in a vendor-specific way). The installer will write GRUB to the
|
||||
start of all disks selected as a boot devices. As GRUB does not entirely fit
|
||||
in one sector, a small unformatted partition is needed at the start of the
|
||||
disk, which will automatically be created when a disk is selected as a boot
|
||||
device (a disk with an existing GPT partition table can only be used as a boot
|
||||
device if it has this partition).
|
||||
|
||||
UEFI mode
|
||||
---------
|
||||
|
||||
In UEFI mode, the bootloader loaded from a "EFI System Partition" (ESP), which
|
||||
is a partition with a particular type GUID. The installer automatically creates
|
||||
an ESP (with minimum size 538 MiB) on a disk when it is selected as a boot
|
||||
device and will install GRUB there (a disk with an existing partition table can
|
||||
only be used as a boot device if it has an ESP -- bootloaders for multiple
|
||||
operating systems can be installed into a single ESP). UEFI defines a standard
|
||||
way to configure the way in which the operating system is chosen on boot, and
|
||||
the installer uses this to configure the system to boot the just-installed
|
||||
operating system. One of the ESPs must be mounted at ``/boot/efi``.
|
||||
|
||||
Supported arm64 servers boot using UEFI, and are configured the same way as an
|
||||
UEFI-booting amd64 system.
|
||||
|
||||
ppc64el systems also load their bootloader (Petitboot, a small linux kernel)
|
||||
from a "PReP" partition with a special flag, so in most ways they are similar
|
||||
to a UEFI system. The installer only supports one PReP partition at this time.
|
||||
|
||||
Limitations and workarounds
|
||||
===========================
|
||||
|
||||
Currently, the installer cannot **edit** partition tables. You can use existing
|
||||
partitions or reformat a drive entirely, but you cannot (for example) remove a
|
||||
large partition and replace it with two smaller ones.
|
||||
|
||||
The installer allows the creation of LVM volume groups and logical volumes and
|
||||
MD raid devices, but does not allow tweaking of the parameters -- for example,
|
||||
all logical volumes are linear and all MD raid devices use the default metadata
|
||||
format (1.2).
|
||||
|
||||
These limits can both be worked around in the same way: drop to a shell and use
|
||||
the usual shell commands to edit the partition table or create the LV or RAID
|
||||
with desired parameters, and then select these partitions or devices as mount
|
||||
points in the installer. Any changes you make while the installer is running
|
||||
but before altering the storage configuration will reflected in the installer.
|
||||
|
||||
The installer cannot yet configure iSCSI mounts or btrfs subvolumes.
|
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 5.7 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 3.9 KiB |
|
@ -7,5 +7,11 @@ knowledge and become better at using and configuring Subiquity.
|
|||
|
||||
-----
|
||||
|
||||
About the Server installer
|
||||
==========================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
operate-server-installer
|
||||
configure-storage
|
||||
|
|
|
@ -0,0 +1,96 @@
|
|||
.. _operate-server-installer:
|
||||
|
||||
Operating the Server installer
|
||||
******************************
|
||||
|
||||
This document explains how to use the installer in general terms. For a
|
||||
step-by-step guide through the screens of the installer, you can use our
|
||||
`screen-by-screen reference guide <https://discourse.ubuntu.com/t/draft-using-the-server-installer-step-by-step/16690>`_.
|
||||
|
||||
Get the installer
|
||||
=================
|
||||
|
||||
Installer images are made (approximately) daily and are available from
|
||||
https://cdimage.ubuntu.com/ubuntu-server/daily-live/current/. These are not
|
||||
tested as extensively as the images from release day, but they contain the
|
||||
latest packages and installer, so fewer updates will be required during or
|
||||
after installation.
|
||||
|
||||
You can download the server installer for amd64 from
|
||||
https://ubuntu.com/download/server and other architectures from
|
||||
http://cdimage.ubuntu.com/releases/20.04/release/.
|
||||
|
||||
Installer UI navigation
|
||||
=======================
|
||||
|
||||
In general, the installer can be used with the :kbd:`up` and :kbd:`down` arrows
|
||||
and :kbd:`space` or :kbd:`Enter` keys and a little typing.
|
||||
|
||||
:kbd:`Tab` and :kbd:`Shift` + :kbd:`Tab` move the focus down and up respectively.
|
||||
:kbd:`Home` / :kbd:`End` / :kbd:`Page Up` / :kbd:`Page Down` can be used to
|
||||
navigate through long lists more quickly in the usual way.
|
||||
|
||||
Running the installer over serial
|
||||
=================================
|
||||
|
||||
By default, the installer runs on the first virtual terminal, ``tty1``. This
|
||||
is what is displayed on any connected monitor by default. However, servers do
|
||||
not always have a monitor. Some out-of-band management systems provide a
|
||||
remote virtual terminal, but sometimes it is necessary to run the installer on
|
||||
the serial port. To do this, the kernel command line needs to
|
||||
`have an appropriate console <https://www.kernel.org/doc/html/latest/admin-guide/serial-console.html>`_
|
||||
specified on it -- a common value is ``console=ttyS0`` but this is not
|
||||
something that can be generically documented.
|
||||
|
||||
When running on serial, the installer starts in a basic mode that uses only
|
||||
the ASCII character set and black and white colours. If you are connecting from
|
||||
a terminal emulator such as gnome-terminal that supports Unicode and rich
|
||||
colours you can switch to "rich mode" which uses Unicode, colours and supports
|
||||
many languages.
|
||||
|
||||
.. _connect-via-ssh:
|
||||
|
||||
Connecting to the installer over SSH
|
||||
====================================
|
||||
|
||||
If the only available terminal is very basic, an alternative is to connect via
|
||||
SSH. If the network is up by the time the installer starts, instructions are
|
||||
offered on the initial screen in basic mode. Otherwise, instructions are
|
||||
available from the help menu once networking is configured.
|
||||
|
||||
In addition, connecting via SSH is assumed to be capable of displaying all
|
||||
Unicode characters, enabling more translations to be used than can be displayed
|
||||
on a virtual terminal.
|
||||
|
||||
Help menu
|
||||
=========
|
||||
|
||||
The help menu is always in the top right of the screen. It contains help --
|
||||
both general and for the currently displayed screen -- and some general actions.
|
||||
|
||||
Switching to a shell prompt
|
||||
---------------------------
|
||||
|
||||
You can switch to a shell at any time by selecting "Enter shell" from the help
|
||||
menu, or pressing :kbd:`Control` + :kbd:`Z` or :kbd:`F2`.
|
||||
|
||||
If you are accessing the installer via ``tty1``, you can also access a shell
|
||||
by switching to a different virtual terminal (:kbd:`Control` + :kbd:`Alt` +
|
||||
arrow, or :kbd:`Control` + :kbd:`Alt` + number keys, to move between virtual
|
||||
terminals).
|
||||
|
||||
Global keys
|
||||
===========
|
||||
|
||||
There are some global keys you can press at any time:
|
||||
|
||||
|
||||
==================================== =============================================
|
||||
Key Action
|
||||
==================================== =============================================
|
||||
:kbd:`ESC` Go back
|
||||
:kbd:`F1` Open help menu
|
||||
:kbd:`Control` + :kbd:`Z`, :kbd:`F2` Switch to shell
|
||||
:kbd:`Control` + :kbd:`L`, :kbd:`F3` Redraw screen
|
||||
:kbd:`Control` + :kbd:`T`, :kbd:`F4` Toggle rich mode (colour, Unicode) on and off
|
||||
==================================== =============================================
|
|
@ -0,0 +1,125 @@
|
|||
.. _autoinstall-quickstart-s390x:
|
||||
|
||||
Autoinstall quick start for s390x
|
||||
*********************************
|
||||
|
||||
The intent of this page is to provide simple instructions to perform an
|
||||
autoinstall in a VM on your machine on s390x.
|
||||
|
||||
This page is just a slightly adapted page of the
|
||||
`autoinstall quickstart page<autoinstall_quickstart>` mapped to s390x.
|
||||
|
||||
Download an ISO
|
||||
===============
|
||||
|
||||
At the time of writing (just after the Kinetic release), the best place to go
|
||||
is here:
|
||||
https://cdimage.ubuntu.com/ubuntu/releases/22.10/release/
|
||||
|
||||
..code-block:: bash
|
||||
|
||||
wget https://cdimage.ubuntu.com/ubuntu/releases/22.10/release/ubuntu-22.10-live-server-s390x.iso -P ~/Downloads
|
||||
|
||||
Mount the ISO
|
||||
=============
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mkdir -p ~/iso
|
||||
sudo mount -r ~/Downloads/ubuntu-22.10-live-server-s390x.iso ~/iso
|
||||
|
||||
Write your autoinstall config
|
||||
=============================
|
||||
|
||||
This means creating cloud-init config as follows:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mkdir -p ~/www
|
||||
cd ~/www
|
||||
cat > user-data << 'EOF'
|
||||
#cloud-config
|
||||
autoinstall:
|
||||
version: 1
|
||||
identity:
|
||||
hostname: ubuntu-server
|
||||
password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
|
||||
username: ubuntu
|
||||
EOF
|
||||
touch meta-data
|
||||
|
||||
The crypted password is just ``ubuntu``.
|
||||
|
||||
Serve the cloud-init config over HTTP
|
||||
=====================================
|
||||
|
||||
Leave this running in one terminal window:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd ~/www
|
||||
python3 -m http.server 3003
|
||||
|
||||
Create a target disk
|
||||
====================
|
||||
|
||||
Proceed with a second terminal window:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt install qemu-utils
|
||||
...
|
||||
|
||||
qemu-img create -f qcow2 disk-image.qcow2 10G
|
||||
Formatting 'disk-image.qcow2', fmt=qcow2 size=10737418240 cluster_size=65536 lazy_refcounts=off refcount_bits=16
|
||||
|
||||
qemu-img info disk-image.qcow2
|
||||
image: disk-image.qcow2
|
||||
file format: qcow2
|
||||
virtual size: 10 GiB (10737418240 bytes)
|
||||
disk size: 196 KiB
|
||||
cluster_size: 65536
|
||||
Format specific information:
|
||||
compat: 1.1
|
||||
lazy refcounts: false
|
||||
refcount bits: 16
|
||||
corrupt: false
|
||||
|
||||
Run the install!
|
||||
================
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt install qemu-kvm
|
||||
...
|
||||
|
||||
You may need to add the default user to the ``kvm`` group: <<BR>>
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo usermod -a -G kvm ubuntu # re-login to make the changes take effect
|
||||
|
||||
kvm -no-reboot -name auto-inst-test -nographic -m 2048 \
|
||||
-drive file=disk-image.qcow2,format=qcow2,cache=none,if=virtio \
|
||||
-cdrom ~/Downloads/ubuntu-22.10-live-server-s390x.iso \
|
||||
-kernel ~/iso/boot/kernel.ubuntu \
|
||||
-initrd ~/iso/boot/initrd.ubuntu \
|
||||
-append 'autoinstall ds=nocloud-net;s=http://_gateway:3003/ console=ttysclp0'
|
||||
|
||||
This will boot, download the config from the server (set up in the previous
|
||||
step) and run the install.
|
||||
|
||||
The installer reboots at the end but the ``-no-reboot`` flag to ``kvm`` means
|
||||
that ``kvm`` will exit when this happens. It should take about 5 minutes.
|
||||
|
||||
Boot the installed system
|
||||
=========================
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
kvm -no-reboot -name auto-inst-test -nographic -m 2048 \
|
||||
-drive file=disk-image.qcow2,format=qcow2,cache=none,if=virtio
|
||||
|
||||
This will boot into the freshly installed system and you should be able to log
|
||||
in as ``ubuntu/ubuntu``.
|
||||
|
|
@ -0,0 +1,192 @@
|
|||
.. _autoinstall_quickstart:
|
||||
|
||||
Autoinstall quick start
|
||||
***********************
|
||||
|
||||
The intent of this page is to provide simple instructions to perform an
|
||||
autoinstall in a VM on your machine.
|
||||
|
||||
This page assumes that you are installing a recent Ubuntu release. However,
|
||||
for older releases, you can substitute the name of the ISO image but the
|
||||
instructions should otherwise be the same.
|
||||
|
||||
This page also assumes you are on the AMD64 architecture. There is a
|
||||
:ref:`version for s390x<autoinstall-quickstart-s390x>` too.
|
||||
|
||||
Providing the autoinstall data over the network
|
||||
===============================================
|
||||
|
||||
This method is the one that generalises most easily to doing an entirely
|
||||
network-based install, where a machine netboots and then is automatically
|
||||
installed.
|
||||
|
||||
Download the ISO
|
||||
----------------
|
||||
|
||||
Go to the `Ubuntu ISO download page`_ and download the latest Ubuntu
|
||||
live-server ISO.
|
||||
|
||||
Mount the ISO
|
||||
-------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo mount -r ~/Downloads/ubuntu-<release-number>-live-server-amd64.iso /mnt
|
||||
|
||||
Where you should change `<release-number>` to match the number of the LTS or
|
||||
release you have downloaded (e.g., `22.04.3` for Jammy or `23.04` for the Lunar
|
||||
interim release).
|
||||
|
||||
Write your autoinstall config
|
||||
-----------------------------
|
||||
|
||||
This means creating cloud-init config as follows:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mkdir -p ~/www
|
||||
cd ~/www
|
||||
cat > user-data << 'EOF'
|
||||
#cloud-config
|
||||
autoinstall:
|
||||
version: 1
|
||||
identity:
|
||||
hostname: ubuntu-server
|
||||
password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
|
||||
username: ubuntu
|
||||
EOF
|
||||
touch meta-data
|
||||
|
||||
The crypted password is just "ubuntu".
|
||||
|
||||
Serve the cloud-init config over HTTP
|
||||
-------------------------------------
|
||||
|
||||
Leave this running in one terminal window:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
cd ~/www
|
||||
python3 -m http.server 3003
|
||||
|
||||
Create a target disk
|
||||
--------------------
|
||||
|
||||
.. code-block::
|
||||
|
||||
truncate -s 10G image.img
|
||||
|
||||
Run the install!
|
||||
----------------
|
||||
|
||||
As before, you will need to change `<release-number>` in the following command
|
||||
to match the release ISO you downloaded.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
kvm -no-reboot -m 2048 \
|
||||
-drive file=image.img,format=raw,cache=none,if=virtio \
|
||||
-cdrom ~/Downloads/ubuntu-<release-number>-live-server-amd64.iso \
|
||||
-kernel /mnt/casper/vmlinuz \
|
||||
-initrd /mnt/casper/initrd \
|
||||
-append 'autoinstall ds=nocloud-net;s=http://_gateway:3003/'
|
||||
|
||||
This will boot, download the config from the server (set up in the previous
|
||||
step) and run the install. The installer reboots at the end but the
|
||||
``-no-reboot`` flag to ``kvm`` means that ``kvm`` will exit when this happens.
|
||||
It should take about 5 minutes.
|
||||
|
||||
Boot the installed system
|
||||
-------------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
kvm -no-reboot -m 2048 \
|
||||
-drive file=image.img,format=raw,cache=none,if=virtio
|
||||
|
||||
This will boot into the freshly installed system and you should be able to log
|
||||
in as ``ubuntu/ubuntu``.
|
||||
|
||||
Using another volume to provide the autoinstall config
|
||||
======================================================
|
||||
|
||||
This is the method to use when you want to create media that you can just plug
|
||||
into a system to have it be installed.
|
||||
|
||||
Download the live-server ISO
|
||||
----------------------------
|
||||
|
||||
Go to the `Ubuntu ISO download page`_ and download the latest Ubuntu
|
||||
live-server ISO.
|
||||
|
||||
Create your user-data and meta-data files
|
||||
-----------------------------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
mkdir -p ~/cidata
|
||||
cd ~/cidata
|
||||
cat > user-data << 'EOF'
|
||||
#cloud-config
|
||||
autoinstall:
|
||||
version: 1
|
||||
identity:
|
||||
hostname: ubuntu-server
|
||||
password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
|
||||
username: ubuntu
|
||||
EOF
|
||||
touch meta-data
|
||||
|
||||
The crypted password is just ``ubuntu``.
|
||||
|
||||
Create an ISO to use as a cloud-init data source
|
||||
------------------------------------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
sudo apt install cloud-image-utils
|
||||
cloud-localds ~/seed.iso user-data meta-data
|
||||
|
||||
Create a target disk
|
||||
--------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
truncate -s 10G image.img
|
||||
|
||||
Run the install!
|
||||
----------------
|
||||
|
||||
As before, you will need to change `<release-number>` in the following command
|
||||
to match the release ISO you downloaded.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
kvm -no-reboot -m 2048 \
|
||||
-drive file=image.img,format=raw,cache=none,if=virtio \
|
||||
-drive file=~/seed.iso,format=raw,cache=none,if=virtio \
|
||||
-cdrom ~/Downloads/ubuntu-<release-number>-live-server-amd64.iso
|
||||
|
||||
This will boot and run the install. Unless you interrupt boot to add
|
||||
'autoinstall' to the kernel command line, the installer will prompt for
|
||||
confirmation before touching the disk.
|
||||
|
||||
The installer reboots at the end but the ``-no-reboot`` flag to ``kvm`` means
|
||||
that ``kvm`` will exit when this happens.
|
||||
|
||||
The whole process should take about 5 minutes.
|
||||
|
||||
Boot the installed system
|
||||
-------------------------
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
kvm -no-reboot -m 2048 \
|
||||
-drive file=image.img,format=raw,cache=none,if=virtio
|
||||
|
||||
This will boot into the freshly installed system and you should be able to log
|
||||
in as ``ubuntu/ubuntu``.
|
||||
|
||||
.. LINKS
|
||||
|
||||
.. _Ubuntu ISO download page: https://releases.ubuntu.com/
|
|
@ -12,8 +12,20 @@ understand and adapt the steps to fit your specific requirements.
|
|||
|
||||
-----
|
||||
|
||||
How do I...?
|
||||
============
|
||||
Getting started with Autoinstall
|
||||
================================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
Autoinstall quick-start guide <autoinstall-quickstart>
|
||||
Autoinstall quick-start guide for s390x <autoinstall-quickstart-s390x>
|
||||
|
||||
|
||||
Found a problem?
|
||||
================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
report-bugs
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
.. _report-bugs:
|
||||
|
||||
How to report a problem
|
||||
***********************
|
||||
|
||||
We always hope, of course, that every install with the server installer
|
||||
succeeds. But reality doesn't always work that way and there will sometimes be
|
||||
failures of various kinds. This section explains the most useful way to report
|
||||
any failures so that we can fix the bugs causing them, and we'll keep the topic
|
||||
up to date as the installer changes.
|
||||
|
||||
Update Subiquity
|
||||
================
|
||||
|
||||
The first thing to do is to update your Subiquity snap using `snap refresh`.
|
||||
Not only because we fix issues that cause failures over time but also because
|
||||
we've been working on features to make failure reporting easier.
|
||||
|
||||
Crash reports
|
||||
=============
|
||||
|
||||
A failure will result in a crash report being generated which bundles up all
|
||||
the information we need to fully diagnose a failure. These live in
|
||||
``/var/crash`` in the installer environment, and for Ubuntu 19.10 and newer
|
||||
this is persisted to the install media by default (if there is space).
|
||||
|
||||
When an error occurs you are presented with a dialog that allows you to upload
|
||||
the report to the error tracker and offers options for continuing. Uploads to
|
||||
the error tracker are non-interactive and anonymous, so they are useful for
|
||||
tracking which kinds of errors are affecting most users, but they do not give
|
||||
us a way to ask you to help diagnose the failure.
|
||||
|
||||
Create Launchpad bug report
|
||||
===========================
|
||||
|
||||
You can create a Launchpad bug report, which lets us establish this kind
|
||||
of two way communication, based on the contents of a crash report by using the
|
||||
standard ``apport-cli`` tool that is part of Ubuntu. Copy the crash report to
|
||||
another system, run:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
apport-cli /path/to/report.crash
|
||||
|
||||
and follow the prompts.
|
||||
|
||||
You can also run ``apport-cli`` in the installer environment by switching to a
|
||||
shell but ``apport`` won't be able to open a browser to allow you to complete
|
||||
the report so you'll have to type the URL by hand on another machine.
|
||||
|
||||
.. note::
|
||||
|
||||
Bugs for the Subiquity autoinstaller are `tracked in Launchpad <https://bugs.launchpad.net/subiquity>`_.
|
||||
|
||||
|
||||
|
|
@ -76,6 +76,7 @@ constructive feedback.
|
|||
:hidden:
|
||||
:maxdepth: 2
|
||||
|
||||
Introduction to Autoinstall<intro-to-autoinstall>
|
||||
tutorial/index
|
||||
howto/index
|
||||
reference/index
|
||||
|
|
|
@ -0,0 +1,589 @@
|
|||
.. _autoinstall_schema:
|
||||
|
||||
Autoinstall schema
|
||||
******************
|
||||
|
||||
The server installer validates the provided autoinstall config against a
|
||||
:ref:`JSON schema<autoinstall_JSON_schema>`.
|
||||
|
||||
How the config is validated
|
||||
===========================
|
||||
|
||||
Although the schema is presented below as a single document, and if you want
|
||||
to pre-validate your config you should validate it against this document, the
|
||||
config is not actually validated against this document at run time. What
|
||||
happens instead is that some sections are loaded, validated, and applied
|
||||
first, before all other sections are validated. In detail:
|
||||
|
||||
1. The reporting section is loaded, validated and applied.
|
||||
2. The error commands are loaded and validated.
|
||||
3. The early commands are loaded and validated.
|
||||
4. The early commands, if any, are run.
|
||||
5. The config is reloaded, and now all sections are loaded and validated.
|
||||
|
||||
This is so that validation errors in most sections can be reported via the
|
||||
reporting and error-commands configuration, as all other errors are.
|
||||
|
||||
.. _autoinstall_JSON_schema:
|
||||
|
||||
Schema
|
||||
======
|
||||
|
||||
The `JSON schema`_ for autoinstall data is as follows:
|
||||
|
||||
.. code-block:: JSON
|
||||
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"version": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 1
|
||||
},
|
||||
"early-commands": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": [
|
||||
"string",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"reporting": {
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"type"
|
||||
],
|
||||
"additionalProperties": true
|
||||
}
|
||||
},
|
||||
"error-commands": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": [
|
||||
"string",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"user-data": {
|
||||
"type": "object"
|
||||
},
|
||||
"packages": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"debconf-selections": {
|
||||
"type": "string"
|
||||
},
|
||||
"locale": {
|
||||
"type": "string"
|
||||
},
|
||||
"refresh-installer": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"update": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"channel": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"kernel": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"package": {
|
||||
"type": "string"
|
||||
},
|
||||
"flavor": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"package"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"required": [
|
||||
"flavor"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"keyboard": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"layout": {
|
||||
"type": "string"
|
||||
},
|
||||
"variant": {
|
||||
"type": "string"
|
||||
},
|
||||
"toggle": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"layout"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"source": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"search_drivers": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"id": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"network": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"version": {
|
||||
"type": "integer",
|
||||
"minimum": 2,
|
||||
"maximum": 2
|
||||
},
|
||||
"ethernets": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"match": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"macaddress": {
|
||||
"type": "string"
|
||||
},
|
||||
"driver": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"wifis": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"match": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"macaddress": {
|
||||
"type": "string"
|
||||
},
|
||||
"driver": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"bridges": {
|
||||
"type": "object"
|
||||
},
|
||||
"bonds": {
|
||||
"type": "object"
|
||||
},
|
||||
"tunnels": {
|
||||
"type": "object"
|
||||
},
|
||||
"vlans": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"version"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"network": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"version": {
|
||||
"type": "integer",
|
||||
"minimum": 2,
|
||||
"maximum": 2
|
||||
},
|
||||
"ethernets": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"match": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"macaddress": {
|
||||
"type": "string"
|
||||
},
|
||||
"driver": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"wifis": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"match": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"macaddress": {
|
||||
"type": "string"
|
||||
},
|
||||
"driver": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"bridges": {
|
||||
"type": "object"
|
||||
},
|
||||
"bonds": {
|
||||
"type": "object"
|
||||
},
|
||||
"tunnels": {
|
||||
"type": "object"
|
||||
},
|
||||
"vlans": {
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"version"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"network"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"ubuntu-pro": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"token": {
|
||||
"type": "string",
|
||||
"minLength": 24,
|
||||
"maxLength": 30,
|
||||
"pattern": "^C[1-9A-HJ-NP-Za-km-z]+$",
|
||||
"description": "A valid token starts with a C and is followed by 23 to 29 Base58 characters.\nSee https://pkg.go.dev/github.com/btcsuite/btcutil/base58#CheckEncode"
|
||||
}
|
||||
}
|
||||
},
|
||||
"ubuntu-advantage": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"token": {
|
||||
"type": "string",
|
||||
"minLength": 24,
|
||||
"maxLength": 30,
|
||||
"pattern": "^C[1-9A-HJ-NP-Za-km-z]+$",
|
||||
"description": "A valid token starts with a C and is followed by 23 to 29 Base58 characters.\nSee https://pkg.go.dev/github.com/btcsuite/btcutil/base58#CheckEncode"
|
||||
}
|
||||
},
|
||||
"deprecated": true,
|
||||
"description": "Compatibility only - use ubuntu-pro instead"
|
||||
},
|
||||
"proxy": {
|
||||
"type": [
|
||||
"string",
|
||||
"null"
|
||||
],
|
||||
"format": "uri"
|
||||
},
|
||||
"apt": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"preserve_sources_list": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"primary": {
|
||||
"type": "array"
|
||||
},
|
||||
"mirror-selection": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"primary": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"anyOf": [
|
||||
{
|
||||
"type": "string",
|
||||
"const": "country-mirror"
|
||||
},
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"uri": {
|
||||
"type": "string"
|
||||
},
|
||||
"arches": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"uri"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"geoip": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"sources": {
|
||||
"type": "object"
|
||||
},
|
||||
"disable_components": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"universe",
|
||||
"multiverse",
|
||||
"restricted",
|
||||
"contrib",
|
||||
"non-free"
|
||||
]
|
||||
}
|
||||
},
|
||||
"preferences": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"package": {
|
||||
"type": "string"
|
||||
},
|
||||
"pin": {
|
||||
"type": "string"
|
||||
},
|
||||
"pin-priority": {
|
||||
"type": "integer"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"package",
|
||||
"pin",
|
||||
"pin-priority"
|
||||
]
|
||||
}
|
||||
},
|
||||
"fallback": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"abort",
|
||||
"continue-anyway",
|
||||
"offline-install"
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"storage": {
|
||||
"type": "object"
|
||||
},
|
||||
"identity": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"realname": {
|
||||
"type": "string"
|
||||
},
|
||||
"username": {
|
||||
"type": "string"
|
||||
},
|
||||
"hostname": {
|
||||
"type": "string"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"username",
|
||||
"hostname",
|
||||
"password"
|
||||
],
|
||||
"additionalProperties": false
|
||||
},
|
||||
"ssh": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"install-server": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"authorized-keys": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"allow-pw": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"snaps": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"channel": {
|
||||
"type": "string"
|
||||
},
|
||||
"classic": {
|
||||
"type": "boolean"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"name"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
"active-directory": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"admin-name": {
|
||||
"type": "string"
|
||||
},
|
||||
"domain-name": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
},
|
||||
"codecs": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"install": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"drivers": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"install": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
},
|
||||
"oem": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"install": {
|
||||
"oneOf": [
|
||||
{
|
||||
"type": "boolean"
|
||||
},
|
||||
{
|
||||
"type": "string",
|
||||
"const": "auto"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"install"
|
||||
]
|
||||
},
|
||||
"timezone": {
|
||||
"type": "string"
|
||||
},
|
||||
"updates": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"security",
|
||||
"all"
|
||||
]
|
||||
},
|
||||
"late-commands": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": [
|
||||
"string",
|
||||
"array"
|
||||
],
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shutdown": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"reboot",
|
||||
"poweroff"
|
||||
]
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"version"
|
||||
],
|
||||
"additionalProperties": true
|
||||
}
|
||||
|
||||
Regeneration
|
||||
============
|
||||
|
||||
The schema above can be regenerated by running ``make schema`` in a Subiquity
|
||||
source checkout.
|
||||
|
||||
.. LINKS
|
||||
|
||||
.. _JSON schema: https://json-schema.org/
|
|
@ -5,16 +5,13 @@ Our reference section contains support information for Subiquity.
|
|||
This includes details on the network requirements, API definitions, support
|
||||
matrices and so on.
|
||||
|
||||
-----
|
||||
|
||||
Autoinstall reference manual
|
||||
============================
|
||||
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
autoinstall-reference.rst
|
||||
|
||||
-----
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
Autoinstall configuration <autoinstall-reference.rst>
|
||||
Autoinstall JSON schema <autoinstall-schema.rst>
|
||||
|
|
|
@ -0,0 +1,123 @@
|
|||
Basic server installation
|
||||
*************************
|
||||
|
||||
This chapter provides an overview of how to install Ubuntu Server Edition. You
|
||||
can also refer to this guide on
|
||||
:ref:`how to operate the installer <operate-server-installer>` for more
|
||||
information on using the installer, and to this
|
||||
:doc:`screen-by-screen reference guide <screen-by-screen>` for more
|
||||
information about each of the installer screens.
|
||||
|
||||
Preparing to install
|
||||
====================
|
||||
|
||||
This section explains various aspects to consider before starting the
|
||||
installation.
|
||||
|
||||
System requirements
|
||||
-------------------
|
||||
|
||||
Ubuntu Server Edition provides a common, minimalist base for a variety of
|
||||
server applications, such as file/print services, web hosting, email hosting,
|
||||
etc. This version supports four 64-bit architectures:
|
||||
|
||||
* amd64 (Intel/AMD 64-bit)
|
||||
* arm64 (64-bit ARM)
|
||||
* ppc64el (POWER8 and POWER9)
|
||||
* s390x (IBM Z and LinuxONE)
|
||||
|
||||
The recommended system requirements are:
|
||||
|
||||
* CPU: 1 gigahertz or better
|
||||
* RAM: 1 gigabyte or more
|
||||
* Disk: a minimum of 2.5 gigabytes
|
||||
|
||||
Perform a system back up
|
||||
------------------------
|
||||
|
||||
Before installing Ubuntu Server Edition you should make sure all data on the
|
||||
system is backed up.
|
||||
|
||||
If this is not the first time an operating system has been installed on your
|
||||
computer, it is likely you will need to re-partition your disk to make room
|
||||
for Ubuntu.
|
||||
|
||||
Any time you partition your disk, you should be prepared to lose everything on
|
||||
the disk should you make a mistake or something goes wrong during partitioning.
|
||||
The programs used in installation are quite reliable, most have seen years of
|
||||
use, but they also perform destructive actions.
|
||||
|
||||
Download the server ISO
|
||||
-----------------------
|
||||
|
||||
You can obtain the amd64 server download from https://releases.ubuntu.com/.
|
||||
Select the version you wish to install and select the "server install image"
|
||||
download. Note that the server download includes the installer.
|
||||
|
||||
There are platform-specific how-to guides for installations on:
|
||||
|
||||
* `s390x LPAR <https://discourse.ubuntu.com/t/interactive-live-server-installation-on-ibm-z-lpar-s390x/16601>`_
|
||||
* `z/VM <https://discourse.ubuntu.com/t/interactive-live-server-installation-on-ibm-z-vm-s390x/16604>`_
|
||||
* `ppc64el <https://discourse.ubuntu.com/t/using-a-virtual-cdrom-and-petitboot-to-start-a-live-server-installation-on-ibm-power-ppc64el/16694>`_
|
||||
|
||||
Create a bootable USB
|
||||
---------------------
|
||||
|
||||
There are many ways to boot the installer but the simplest and most common way
|
||||
is to
|
||||
`create a bootable USB stick <https://ubuntu.com/tutorials/tutorial-create-a-usb-stick-on-ubuntu>`_
|
||||
to boot the system to be installed with
|
||||
(`tutorials for other operating systems <https://ubuntu.com/search?q=%22create+a+bootable+USB+stick%22>`_
|
||||
are also available).
|
||||
|
||||
Perform the installation
|
||||
========================
|
||||
|
||||
Now that you have prepared your install medium, you are ready to install.
|
||||
|
||||
Boot the installer
|
||||
------------------
|
||||
|
||||
Plug the USB stick into the system to be installed and start it.
|
||||
|
||||
Most computers will automatically boot from USB or DVD, though in some cases
|
||||
this is disabled to improve boot times. If you don't see the boot message and
|
||||
the "Welcome" screen which should appear after it, you will need to set your
|
||||
computer to boot from the install media.
|
||||
|
||||
There should be an on-screen message when the computer starts, telling you what
|
||||
key to press for settings or a boot menu. Depending on the manufacturer, this
|
||||
could be :kbd:`Escape`, :kbd:`F2`, :kbd:`F10` or :kbd:`F12`. Restart your
|
||||
computer and hold down this key until the boot menu appears, then select the
|
||||
drive with the Ubuntu install media.
|
||||
|
||||
If you are still having problems, check out the
|
||||
`Ubuntu Community documentation on booting from
|
||||
CD/DVD <https://help.ubuntu.com/community/BootFromCD>`_.
|
||||
|
||||
After a few moments, the installer will start in its language selection screen.
|
||||
|
||||
.. image:: figures/basic-installation-start-screen.png
|
||||
:alt: Welcome screen of the Server installer showing the language selection options
|
||||
|
||||
Using the installer
|
||||
-------------------
|
||||
|
||||
The installer is designed to be easy to use and have sensible defaults so for
|
||||
a first install you can mostly just accept the defaults for the most
|
||||
straightforward install:
|
||||
|
||||
* Choose your language
|
||||
* Update the installer (if offered)
|
||||
* Select your keyboard layout
|
||||
* Do not configure networking (the installer attempts to configure wired
|
||||
network interfaces via DHCP, but you can continue without networking if this
|
||||
fails)
|
||||
* Do not configure a proxy or custom mirror unless you have to in your network
|
||||
* For storage, leave "use an entire disk" checked, and choose a disk to install
|
||||
to, then select "Done" on the configuration screen and confirm the install
|
||||
* Enter a username, hostname and password
|
||||
* On the SSH and snap screens, select "Done"
|
||||
* You will now see log messages as the install is completed
|
||||
* Select restart when this is complete, and log in using the username and
|
||||
password provided
|
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 2.7 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 9.1 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 3.9 KiB |
|
@ -11,8 +11,8 @@ capable of.
|
|||
|
||||
-----
|
||||
|
||||
Introduction to autoinstall
|
||||
===========================
|
||||
For Ubuntu Server
|
||||
=================
|
||||
|
||||
This tutorial introduces the core concepts of autoinstall and is recommended as
|
||||
the first step.
|
||||
|
@ -20,4 +20,6 @@ the first step.
|
|||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
intro-to-autoinstall.rst
|
||||
basic-server-installation
|
||||
screen-by-screen
|
||||
|
||||
|
|
|
@ -0,0 +1,174 @@
|
|||
Screen-by-screen installer
|
||||
**************************
|
||||
|
||||
The installer is designed to be easy to use without documentation. However,
|
||||
this guide provides more information on each of the screens of the installer to
|
||||
help walk you through an installation.
|
||||
|
||||
Language selection
|
||||
==================
|
||||
|
||||
.. image:: figures/sbs-language.png
|
||||
:alt:
|
||||
|
||||
This screen selects the language for the installer and the default language
|
||||
for the installed system.
|
||||
|
||||
More languages can be displayed if you
|
||||
`connect via SSH <https://discourse.ubuntu.com/t/draft-using-the-server-installer/16689#connect-via-ssh>`_.
|
||||
|
||||
Refresh
|
||||
=======
|
||||
|
||||
.. image:: figures/sbs-refresh.png
|
||||
:alt:
|
||||
|
||||
This screen is shown if there is an update available for the installer. This
|
||||
allows you to get any improvements and bug fixes made since release.
|
||||
|
||||
If you choose to update, the new version will be downloaded and the installer
|
||||
will restart at the same point of the installation.
|
||||
|
||||
Keyboard
|
||||
========
|
||||
|
||||
.. image:: figures/sbs-keyboard.png
|
||||
:alt:
|
||||
|
||||
Choose the layout and variant of keyboard attached to the system, if any. When
|
||||
running in a virtual terminal, it is possible to guess the layout and variant
|
||||
by answering questions about the keyboard.
|
||||
|
||||
Zdev (s390x only)
|
||||
=================
|
||||
|
||||
.. code-block::
|
||||
|
||||
====================================================================
|
||||
Zdev setup
|
||||
====================================================================
|
||||
ID ONLINE NAMES ^
|
||||
│
|
||||
generic-ccw │
|
||||
0.0.0009 > │
|
||||
0.0.000c > │
|
||||
0.0.000d > │
|
||||
0.0.000e > │
|
||||
│
|
||||
dasd-eckd │
|
||||
0.0.0190 > │
|
||||
0.0.0191 > │
|
||||
0.0.019d > │
|
||||
0.0.019e >┌────────────┐
|
||||
0.0.0200 >│< (close) │
|
||||
0.0.0300 >│ Enable │
|
||||
0.0.0400 >│ Disable │
|
||||
0.0.0592 >└────────────┘ v
|
||||
|
||||
[ Continue ]
|
||||
[ Back ]
|
||||
|
||||
|
||||
This screen is only shown on s390x and allows z-specific configuration of
|
||||
devices.
|
||||
|
||||
The list of devices can be long. :kbd:`Home` / :kbd:`End` / :kbd:`PageUp`
|
||||
/ :kbd:`PageDown` can be used to navigate through the list more quickly.
|
||||
|
||||
Network
|
||||
=======
|
||||
|
||||
.. image:: figures/sbs-network.png
|
||||
:alt:
|
||||
|
||||
This screen allows the configuration of the network. Ubuntu Server uses NetPlan
|
||||
to configure networking and the UI of the installer can configure a subset of
|
||||
NetPlan's capabilities. In particular it can configure DHCP or static
|
||||
addressing, VLANs and bonds.
|
||||
|
||||
If networking is present (defined as "at least one interface has a default
|
||||
route") then the installer will install updates from the archive at the end of
|
||||
installation.
|
||||
|
||||
Proxy
|
||||
=====
|
||||
|
||||
.. image:: figures/sbs-proxy.png
|
||||
:alt:
|
||||
|
||||
The proxy configured on this screen is used for accessing the package
|
||||
repository and the snap store both in the installer environment and in the
|
||||
installed system.
|
||||
|
||||
Mirror
|
||||
======
|
||||
|
||||
.. image:: figures/sbs-mirror.png
|
||||
:alt:
|
||||
|
||||
The installer will attempt to use ``geoip`` to look up an appropriate default
|
||||
package mirror for your location. If you want or need to use a different
|
||||
mirror, enter its URL here.
|
||||
|
||||
Storage
|
||||
=======
|
||||
|
||||
.. image:: figures/sbs-storage.png
|
||||
:alt:
|
||||
|
||||
Storage configuration is a complicated topic and :ref:`has its own page for documentation <configure-storage>`.
|
||||
|
||||
.. image:: figures/sbs-confirm-storage.png
|
||||
:alt:
|
||||
|
||||
Once the storage configuration is confirmed, the install begins in the
|
||||
background.
|
||||
|
||||
Identity
|
||||
========
|
||||
|
||||
.. image:: figures/sbs-identity.png
|
||||
:alt:
|
||||
|
||||
The default user will be an administrator, able to use ``sudo`` (this is why a
|
||||
password is needed, even if SSH public key access is enabled on the next
|
||||
screen).
|
||||
|
||||
SSH
|
||||
===
|
||||
|
||||
.. image:: figures/sbs-ssh.png
|
||||
:alt:
|
||||
|
||||
A default Ubuntu install has no open ports. It is very common to administer
|
||||
servers via SSH so the installer allows it to be installed with the click of a
|
||||
button.
|
||||
|
||||
You can import keys for the default user from GitHub or Launchpad.
|
||||
|
||||
If you import a key, then password authentication is disabled by default but it
|
||||
can be re-enabled again at a later time if you wish.
|
||||
|
||||
Snaps
|
||||
=====
|
||||
|
||||
.. image:: figures/sbs-snaps.png
|
||||
:alt:
|
||||
|
||||
If a network connection is enabled, a selection of snaps that are useful in a
|
||||
server environment are presented and can be selected for installation.
|
||||
|
||||
Installation logs
|
||||
=================
|
||||
|
||||
.. image:: figures/sbs-logs.png
|
||||
:alt:
|
||||
|
||||
The final screen of the installer shows the progress of the installer and
|
||||
allows viewing of the full log file. Once the install has completed and
|
||||
security updates installed, the installer waits for confirmation before
|
||||
restarting.
|
||||
|
||||
.. image:: figures/sbs-complete.png
|
||||
:alt:
|
||||
|