Compare commits

..

1 Commits

Author SHA1 Message Date
Kevin Putnam d919a7ebab adding sitemap for generating site nav 2018-11-29 11:55:35 -08:00
313 changed files with 11974 additions and 33650 deletions
-3
View File
@@ -4,6 +4,3 @@ source/_build
*.swp
*~
.*~
# ignore VS code settings
.vscode/
-19
View File
@@ -1,19 +0,0 @@
image: alpine
pages:
script:
- apk --no-cache add python3
- python3 -m ensurepip
- pip3 install sphinx==1.7.5 docutils==0.14 sphinx_rtd_theme breathe==4.9.1 sphinxcontrib-plantuml
- apk --no-cache add make
- apk --no-cache add doxygen
- apk --no-cache add graphviz
- apk --no-cache add ttf-dejavu
- apk --no-cache add openjdk8-jre
- make html
- mv source/_build/html/ public/
artifacts:
paths:
- public
only:
- rtd-theme
+49 -40
View File
@@ -1,74 +1,83 @@
Documentation build instructions
Documentation Build Instructions
################################
.. todo add comment re not using standards here.
The `website documentation`_ for Clear Linux\* OS for Intel Architecture
should be written in :abbr:`ReStructuredText (ReST)` AKA ``.rst``, which
makes it easy to build parsable, command-line readable, indexed, and
search-friendly documentation and APIs with `Sphinx`_.
`Clear Linux\* OS documentation`_ is written using `reStructuredText`_ and
built using `Sphinx`_. Follow the instructions in this README to build the
documentation locally for development and testing.
Please make yourself familiar with our `contribution guidelines`_ before
submitting a contribution.
.. _requirements:
Requirements
************
============
Make sure you have Python and Sphinx installed. We use Python 3 and
Sphinx 1.7.5
To build documentation with Sphinx, ensure your system has these
prerequisites:
The Sphinx documentation provides `instructions for installing Sphinx`_ on various
platforms.
* `GNU make`_
* `Python`_
* `PIP`_
* `Sphinx`_
Clone the documentation repository
**********************************
The instructions for installing these varies according to OS. On a basic out-
of-the-box Ubuntu-like OS (which usually has Python installed by default),
check your python version you might need something like:
.. code-block:: console
$ sudo apt-get install python-pip
$ sudo pip install -U sphinx sphinx-autobuild
.. code-block:: console
$ python -c 'print __import__("sphinx").__version__'
1.3.1
Cloning the documentation repository
====================================
We have confirmed Sphinx installed. The next step is to clone Gitlab
repository to our local machine.
Once Sphinx is installed, clone the documentation repository to your
local machine.
.. code-block:: console
$ git clone https://github.com/clearlinux/clear-linux-documentation
Run the build
*************
Run make
========
We build our documentation using Sphinx. In the source directory of your
local clear-linux-documentation repository, build the documentation by running
**make html**:
Finally are we ready to run :command:`make`. Be sure to :command:`cd` to the
:file:`source/` directory where your ``.rst`` files are, before
running :command:`make html`, or the doc format of your choice.
.. code-block:: console
$ make html
>
sphinx-build -b html -d _build/doctrees . _build/html
Running Sphinx v1.7.5
Running Sphinx v1.3.1
making output directory...
.
.
.
build succeeded, 0 warnings.
The HTML pages are in _build/html.
Build finished. The HTML pages are in _build/html.
Open one of the HTML pages in a web browser to view the rendered
Open one of the .html pages in a web browser to view the rendered
documentation.
When testing changes in the documentation, make sure to remove the previous
build before building again by running **make clean**:
For tips on how to contribute documentation formatted in the .rst style
needed to integrate beautifully on the clearlinux.org website, please see
`Theming Sphinx`_.
.. code-block:: console
$ make clean
>
rm -rf _build/*
This will completely remove the previous build output.
.. _Clear Linux\* OS documentation: https://clearlinux.org/documentation
.. _website documentation: https://clearlinux.org/documentation
.. _Sphinx: http://sphinx-doc.org/
.. _reStructuredText: http://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html
.. _contribution guidelines: https://clearlinux.org/documentation/clear-linux/reference/collaboration
.. _instructions for installing Sphinx: https://www.sphinx-doc.org/en/master/usage/installation.html
.. _GNU make: https://www.gnu.org/software/make/
.. _Python: https://www.python.org/
.. _PIP: https://pypi.python.org/pypi/pip/
.. _Theming Sphinx: https://github.com/otcshare/tcs-hub/blob/master/theming-sphinx.rst
+4 -7
View File
@@ -6,7 +6,6 @@ SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
SCRIPTDIR = scripts/_python
# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
@@ -57,9 +56,6 @@ html:
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
py:
$(MAKE) -C $(SCRIPTDIR) py
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@@ -77,7 +73,6 @@ pickle:
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
$(MAKE) -C $(SCRIPTDIR) py
@echo
@echo "Build finished; now you can process the JSON files."
@@ -171,8 +166,10 @@ changes:
@echo "The overview file is in $(BUILDDIR)/changes."
linkcheck:
-$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
python3 scripts/_python/linkcheck/parse-link-check.py $(BUILDDIR)/linkcheck
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+1 -1
View File
@@ -16,7 +16,7 @@
<div class="region region-header">
<div id="block-system-main-menu" class="block block-system block-menu">
<ul class="menu">
<li class="first leaf"><a href="https://cdn.download.clearlinux.org" title="Downloads" target="_blank">Downloads</a></li>
<li class="first leaf"><a href="https://download.clearlinux.org" title="Downloads" target="_blank">Downloads</a></li>
<li class="collapsed"><a href="/features" title="Features">Features</a></li>
<li class="collapsed"><a href="/documentation" title="Documentation" class="active">Documentation</a></li>
</ul>
@@ -1 +0,0 @@
__pycache__
@@ -1,48 +0,0 @@
{% extends "sphinx_rtd_theme/layout.html" %}
{% block extrahead %}
<link rel="stylesheet" href="{{ pathto('_static/tcs_theme.css', 1) }}" type="text/css" />
{% endblock %}
{% block content %}
<header id="header">
<div class="padding-md--left-right">
<div class="header__site_info">
<object class="header__site_img_object" type="image/svg+xml" data="https://stg.clearlinux.org/modules/custom/clearlinux_org/themes/clearlinux_theme/clear-technologies.svg"></object>
<div class="header__site_info_name">
<a href ="https://stg.clearlinux.org"> Clear Linux* Project</a>
</div>
</div>
<nav class="header__menu">
<ul class="header__menu_list">
<li class="header__menu_list_item green ">
<a tabindex='1' href="https://stg.clearlinux.org/about">About</a>
</li>
<li class="header__menu_list_item purple ">
<a tabindex='1' href="https://stg.clearlinux.org/developer">Developer</a>
</li>
<li class="header__menu_list_item blue ">
<a tabindex='1' href="https://stg.clearlinux.org/software">Software</a>
</li>
</ul>
</nav>
</div>
</header>
{{ super() }}
{% endblock %}
{% block footer %}
<script type="text/javascript" src="{{ pathto('_static/tcs_theme.js', 1) }}"></script>
{% endblock %}
@@ -1,28 +0,0 @@
OTC-TCS Sphinx Theme
####################
Built on top of the popular Read the Docs Sphinx theme, this theme
has a few small formatting/color improvements and implements collapsible
sections. It is in active development in order to support OTC and other
Intel organizations to publish high quality, consistent documentation
for open source projects.
To see an example of documentation produced using this theme visit the
`OTC-TCS Documentation`_ site.
How to use it
*************
#. Download or clone the repository
#. Create a ``_themes`` directory in main directory of your sphinx
documentation
#. Install sphinx_rtd_theme using pip: ``pip3 install sphinx_rtd_theme``
#. copy ``otc_tcs_sphinx_theme`` directory into the new ``_themes`` directory
#. Add the following to your ``conf.py``:
.. code-block:: python
html_theme = 'otc_tcs_sphinx_theme'
html_theme_path = ['_themes']
.. _OTC-TCS Documentation: https://github.intel.com/pages/otc-tcs/
@@ -1,252 +0,0 @@
/* -- Extra CSS styles for content (RTD theme) ----------------------- */
/* make the page width fill the window */
.wy-nav-content {
max-width: none;
}
.wy-nav-side {
background: #8e6db6;
}
/* (temporarily) add an under development tagline to the bread crumb
.wy-breadcrumbs::after {
content: " (Content under development)";
background-color: #FFFACD;
color: red;
font-weight: bold;
}
*/
/* code block highlight color in rtd changed to lime green, no no no */
.rst-content tt.literal, .rst-content code.literal, .highlight {
background: #f0f0f0;
}
.rst-content tt.literal, .rst-content code.literal {
color: #000000;
}
/* Make the version number more visible */
.wy-side-nav-search>div.version {
color: rgba(255,255,255,1);
}
/* squish the space between a paragraph before a list */
div > p + ul, div > p + ol {
margin-top: -20px;
}
/* add some space before the figure caption */
p.caption {
border-top: 1px solid;
margin-top: 1em;
}
/* add a colon after the figure/table number (before the caption) */
span.caption-number::after {
content: ": ";
}
p.extrafooter {
text-align: right;
margin-top: -36px;
}
table.align-center {
display: table !important;
}
.code-block-caption {
color: #000;
font: italic 85%/1 arial,sans-serif;
padding: 1em 0;
text-align: center;
}
/* make .. hlist:: tables fill the page */
table.hlist {
width: 95% !important;
}
/* override rtd theme white-space no-wrap in table heading and content */
th,td {
white-space: normal !important;
}
/* tweak for doxygen-generated API headings (for RTD theme) */
.rst-content dl.group>dt, .rst-content dl.group>dd>p {
display:none !important;
}
.rst-content dl.group {
margin: 0 0 12px 0px;
}
.rst-content dl.group>dd {
margin-left: 0 !important;
}
.rst-content p.breathe-sectiondef-title {
text-decoration: underline; /* for API sub-headings */
font-size: 1.25rem;
font-weight: bold;
margin-bottom: 12px;
}
.rst-content div.breathe-sectiondef {
padding-left: 0 !important;
}
.clps1 {
font-size: 175%;
}
.clps2 {
font-size: 150%;
}
.clps3 {
font-size: 125%;
}
.clps4 {
font-size: 115%;
}
.clps5 {
font-size: 110%;
}
.clps6 {
font-size: 100%;
}
.collapsible {
margin-left: -10px;
background-color: #f1f1f1;
cursor: pointer;
padding: 18px 18px 18px 10px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-weight: 700;
font-family: "Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;
}
.collapsible:hover {
background-color: #d8d8d8;
}
.collapsible:after {
content: '\002B';
font-weight: bold;
float: right;
margin-left: 5px;
}
.active:after {
content: "\2212";
}
.content-collapse {
overflow: hidden;
transition: max-height 0.2s ease-out;
}
#header {
width: 100%;
display: block;
font-family: "IntelClear-Regular", Helvetica, Arial, sans-serif;
font-size: 16px;
}
.padding-md--left-right {
padding-left: 2.6%;
padding-right: 2.6%;
display: flex;
justify-content: space-between;
}
.header__site_info {
display: inline-block;
}
.header__site_img_object {
height: 50px;
}
.header__site_info_name {
vertical-align: middle;
display: inline-block;
height: 50px
}
#header__site_info_name a:link {
color: black;
}
#header__site_info_name a:visited {
color: black;
}
.header__menu {
text-align: right;
display: inline-block;
}
.header__menu_list li {
display: inline;
margin-left: 20px;
}
.header__menu_list li a {
color: black;
}
.header__menu_list_item {
display: inline;
position: relative;
margin-bottom: 0;
margin-left: 0;
min-width: 1px;
max-width: 100%;
padding: 0;
text-align: left;
/*top: 35px;*/
}
.header__menu_list_item.green > a::before {
color: #009B93;
}
.header__menu_list_item.purple > a::before {
color: #6E4C9F;
}
.header__menu_list_item.blue > a::before {
color: #358CCB;
}
.header__menu_list_item > a::before {
content: '•';
font-size: 35px;
margin-right: 10px;
position: relative;
top: 5px;
left: 5px;
}
.header__banner {
width: 120%;
margin-left: -3.236em;
background-image: url(https://stg.clearlinux.org/sites/default/files/bg_developer_0.png);
}
.header__banner_title {
display: block;
color: white;
font-size: 36px;
font-family: "IntelClear-Bold", Helvetica, Arial, sans-serif;
margin-left: 0.67em;
line-height: 100px;
}
@@ -1,50 +0,0 @@
var i;
var contents = document.getElementsByClassName("content-collapse section");
for (i = 0; i < contents.length; i++) {
//Make sure the "content-collapse section" class is occurring in <div>
if (contents[i].tagName.toLowerCase() == 'div') {
var element = contents[i].children[0];
var element_type = element.tagName.toLowerCase();
var span_id;
var spanElement;
//if the next element is a span grab the id and skip to the header
if (element_type == 'span') {
span_id = element.id;
element.id = "";
element = contents[i].children[1];
element_type = element.tagName.toLowerCase();
}
var btn = document.createElement("BUTTON");
//If it is a header capture which level and pass on to button
if (element_type.length == 2 && element_type[0] == 'h') {
var newClass = 'clps' + element_type[1];
//collapses the section by default only if javascript is working
contents[i].style.maxHeight = 0;
//Build the button and define behavior
btn.className += " " + newClass;
btn.innerHTML = element.innerHTML;
btn.className += " collapsible";
btn.id = span_id;
btn.addEventListener("click", function() {
this.classList.toggle("active");
var content = this.nextElementSibling;
if (content.style.maxHeight != "0px"){
content.style.maxHeight = 0;
} else {
content.style.maxHeight = content.scrollHeight + "px";
}
});
//Add the button to the page and remove the header
contents[i].parentNode.insertBefore(btn, contents[i]);
contents[i].removeChild(element);
}else{
//reset span id if it isn't followed by Hx element
spanElement.id = span_id;
}
}
}
@@ -1,2 +0,0 @@
[theme]
inherit = sphinx_rtd_theme
-5
View File
@@ -4,11 +4,6 @@
#############################################
Welcome to the |CL-ATTR| documentation pages, the source for |CL| documentation.
.. raw:: html
<iframe width="560" height="315" src="https://www.youtube.com/embed/JFg-_5xihkE" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Our documentation is divided into the following sections:
* :ref:`get-started`
@@ -102,5 +102,6 @@ Related topics
* :ref:`autospec`
* :ref:`mixer`
* :ref:`mixin`
.. _autospec readme: https://github.com/clearlinux/autospec
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

+12 -43
View File
@@ -3,52 +3,21 @@
Mixer
#####
|CL-ATTR| is a powerful, modular, and customizable OS. Upstream |CL| offers
many images to support different environments and use-cases. There are
hundreds of bundles that will meet most, if not all, of your OS and software
needs.
Mixing refers to composing a custom, versioned image of |CL-ATTR| for a
specific use case. While upstream |CL| provides options to install bundles
for various capabilities, some developers and OSVs may wish to either
augment the operating system with functionality from their own packages
or modify the structure of current bundles. Mixing offers a method to add
capabilities while retaining the ability to stay up to date with an upstream
version of |CL|.
However, if you need additional customization or content, |CL| provides the
mixer tool. Depending on your needs, the mixer tool allows you to:
* :ref:`create-mix` to create a distinct derivative of the |CL| that
contains your custom software.
.. _create-mix:
Create a mix
============
When creating a mix, you can
* Use any existing upstream bundles with no modification.
* Redefine what goes into existing bundles.
* Create completely new, custom bundles with your own custom packages.
With mixer you are not required to incorporate every upstream release into
your mix. You decide which upstream versions to update your derivative to, as
illustrated in Figure 1.
.. figure:: figures/mixer-about-1.png
:scale: 75%
:alt: Creating a custom mix.
Figure 1: With a custom mix, you add your custom bundle and decide which
upstream versions to update your mix to, on your own release cycle.
Creating your own mix forks away from the |CL| upstream and requires that you
act as your own OSV. There is a greater level of responsibility, requiring
more infrastructure and processes to adopt. However, with this approach, you
have a higher degree of control and customization of your custom |CL|.
Mixing is a multi-step process that starts with installing the mixer bundle
using swupd. You will also need a working knowledge of
:abbr:`RPMs (RPM Package Manager files)` and how |CL| bundles work. For a
detailed guide on how to create a |CL| mix, visit :ref:`mixer`.
Related topics
==============
|CL| provides flexibility in how you customize your OS. Learn more about
mixer and related topics to decide which customization approach is best for
you.
* :ref:`mixer`
* :ref:`bundles-about`
* :ref:`swupd-about`
* :ref:`deploy-at-scale`
* :ref:`bundles-about`
+67 -63
View File
@@ -1,10 +1,10 @@
.. _security:
OS Security
OS Security
*************************
|CL-ATTR| aims to make systemic and layered security-conscious decisions
that are both performant and practical. This security philosophy is rooted
that are both performant and practical. This security philosophy is rooted
within the project's codebase and operating culture.
@@ -16,21 +16,21 @@ within the project's codebase and operating culture.
Security in Updates
===================
The |CL| team believes in the benefits of
software security through open sourcing, incremental updates, and
The |CL| team believes in the benefits of
software security through open sourcing, incremental updates, and
rapidly resolving known security advisories.
The latest Linux codebase
-------------------------
The latest Linux* codebase
--------------------------
|CL| uses the newest version of the Linux kernel which allows the operating
system to leverage the latest features from the upstream Linux kernel,
including security fixes.
|CL| uses the newest version of the Linux kernel which allows the operating
system to leverage the latest features from the upstream Linux kernel,
including security fixes.
Automated Effective Updating
----------------------------
@@ -38,43 +38,43 @@ Automated Effective Updating
|CL| is incrementally updated multiple times per day.
This `rolling release model`_ allows |CL| to consume the latest security
fixes of software packages as soon as they become available.
There is no waiting for major or minor releases on |CL|.
fixes of software packages as soon as they become available.
There is no waiting for major or minor releases on |CL|.
An update is not effective if it is just simply downloaded onto a system.
An update is not effective if it is just simply downloaded onto a system.
It needs to be obtained *AND* ensured that the new patched copy is being
used; not an older copy loaded into memory. |CL| will let you know when a
service needs to be rebooted or do it for your automatically after
used; not an older copy loaded into memory. |CL| will let you know when a
service needs to be rebooted or do it for your automatically after
a software update, if desired.
In |CL| updates are delivered automatically, efficiently,
and effectively. For more information see
In |CL| updates are delivered automatically, efficiently,
and effectively. For more information see
`documentation about Software Updates`_ in |CL|.
Automated CVE Scanning and Remediation
--------------------------------------
The sheer number of software packages and security vulnerabilities is growing
exponentially. Repositories of Common Vulnerabilities and Exposures (CVEs)
and their fixes, if known, are published by :abbr:`NIST` in a
The sheer number of software packages and security vulnerabilities is growing
exponentially. Repositories of Common Vulnerabilities and Exposures (CVEs)
and their fixes, if known, are published by :abbr:`NIST` in a
National Vulnerability Database \ |NVD|\ and at \ |MITRE|\ .
|CL| employs a proactive and measured approach to addressing known
and fixable :abbr:`CVEs (Common Vulnerabilities and Exposures)`.
Packages are automatically scanned against
:abbr:`CVEs (Common Vulnerabilities and Exposures)` daily, and security
patches are deployed as soon as they are available.
Packages are automatically scanned against
:abbr:`CVEs (Common Vulnerabilities and Exposures)` daily, and security
patches are deployed as soon as they are available.
These combined practices minimize the amount of
These combined practices minimize the amount of
time |CL| systems are exposed to unnecessary security risk.
@@ -86,18 +86,18 @@ Minimized attack surface
-------------------------
|CL| removes legacy, unneeded, or redundant standards and
components as much as possible to enable the use of best known security
standards. Below are some examples:
components as much as possible to enable the use of best known security
standards. Below are some examples:
* `RC4`, `SSLv3`, `3DES`, and `SHA-1` ciphers which have had known
vulnerabilities, have been explicitly disabled within many |CL| packages to
avoid their accidental usage.
* `RC4`, `SSLv3`, `3DES`, and `SHA-1` ciphers which have had known
vulnerabilities, have been explicitly disabled within many |CL| packages to
avoid their accidental usage.
* Services and subsystems which expose sensitive system information
* Services and subsystems which expose sensitive system information
have been removed such as the `finger` and `tcpwrappers`.
* `SFTP` has been disabled by default due to security
considerations.
* `SFTP` has been disabled by default due to security
considerations.
Verified trust
@@ -105,62 +105,65 @@ Verified trust
|CL| encourages the use of secure practices such as encryption
and digital signature verification throughout the system and discourages blind
trust. Below are some examples:
trust. Below are some examples:
* All update operations from swupd are transparently encrypted and checked
against the |CL| maintainers' public key for authenticity.
More information can be found in this blog post:
`blog post about swupd security`_
* All update operations from swupd are transparently encrypted and checked
against the |CL| maintainers' public key for authenticity.
More information can be found in this blog post:
`blog post about swupd security`_
* Before being built, packages available from |CL| verify checksums and
* Before being built, packages available from |CL| verify checksums and
signatures provided by third party project codebases and maintainers.
* |CL| features a unified certificate store, `clrtrust`_ which comes
ready to work with well-known Certificate Authorities out of the box.
`clrtrust`_ also offers an easy to use command line interface for managing
system-wide chains of trust, instead of ignoring foreign certificates.
* |CL| features a unified certificate store, `clrtrust`_ which comes
ready to work with well-known Certificate Authorities out of the box.
`clrtrust`_ also offers an easy to use command line interface for managing
system-wide chains of trust, instead of ignoring foreign certificates.
Compiled with secure options
----------------------------
While |CL| packages are optimized for performance on
Intel® architecture, security conscious kernel and compiler options are
sensibly taken advantage of. Below are some examples:
While |CL| packages are optimized for performance on
Intel® architecture, security conscious kernel and compiler options are
sensibly taken advantage of. Below are some examples:
* Kernels shipped with |CL| are signed and disallow the usage of
* Kernels shipped with |CL| are signed and disallow the usage of
custom kernel modules to maintain verifiable system integrity.
* `Address space layout randomization (ASLR)`_ and
* `Address space layout randomization (ASLR)`_ and
`Kernel address space layout randomization (KASLR)`_ are kernel features
which defend against certain memory based attacks.
which defend against certain memory based attacks.
More information can be found in a `blog post about PIE executables`_ .
* `dm-verity`_ is a kernel mechanism readily available in |CL|
which verifies integrity of the devices being written to, like hard disks,
to help ensure they have not been tampered with.
Security in System Design
=========================
Simple, yet effective, techniques are used throughout the
Simple, yet effective, techniques are used throughout the
|CL| system design to defend against common attack vectors and enable
good security hygiene. Below are some examples:
good security hygiene. Below are some examples:
* Full disk encryption using `Linux Unified Key Setup`_ (LUKS) is available
* Full disk encryption using `Linux Unified Key Setup`_ (LUKS) is available
during installation.
* |CL| uses the PAM cracklib module to harden user login and password
security resulting in:
security resulting in:
- No default username or root password set out of the box with
- No default username or root password set out of the box with
|CL|, you will be asked to set your own password immediately.
- Simple password schemes, which are known to be easily compromised,
@@ -169,9 +172,9 @@ good security hygiene. Below are some examples:
- A password blacklist, to avoid system passwords being set to
passwords which have been compromised in the past.
* `Tallow`_, a lightweight service which monitors and blocks suspicious SSH
login patterns, is installed with the :command:`openssh-server` bundle.
* `Tallow`_, a lightweight service which monitors and blocks suspicious SSH
login patterns, is installed with the :command:`openssh-server` bundle.
@@ -187,7 +190,7 @@ good security hygiene. Below are some examples:
.. _`dm-verity`: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/device-mapper/verity.txt
.. _`SELinux`: https://github.com/SELinuxProject
.. _`Linux Unified Key Setup`: https://gitlab.com/cryptsetup/cryptsetup/
.. _`blog post about PIE executables`: https://clearlinux.org/blogs/recent-gnu-c-library-improvements
.. _`blog post about PIE executables`: https://clearlinux.org/blogs/recent-gnu-c-library-improvements
.. _`Tallow`: https://github.com/clearlinux/tallow
.. |NVD| raw:: html
@@ -197,3 +200,4 @@ good security hygiene. Below are some examples:
.. |MITRE| raw:: html
<a href="https://cve.mitre.org/" target="_blank">https://cve.mitre.org/</a>
+104 -73
View File
@@ -1,101 +1,132 @@
.. _swupd-about:
swupd: software updater
#######################
Software update
###############
:command:`swupd` is an operating system software manager and update program
that operates at a file-level to enable verifiable integrity and update
efficiency.
|CL-ATTR| does software updates differently than traditional Linux-based
operating systems. Where traditional distributions rely on packages for
software deployment, |CL| uses the concept of a "bundle" for
deployment. Traditional Linux packages provide a particular utility or
library; |CL| bundles provide all necessary packages to enable a
specific function.
With |CL|, updating equates to an entirely new OS version with a
specific set of bundles, as compared to a package-based distribution in
which packages may be updated individually. |CL| updates are
efficient, updating only changed files instead of entire packages.
System administrators can customize or add bundles to the OS, while still
taking advantage of a controlled update stream. This enables system
administrators to focus on the pieces that make their deployment unique.
Bundles
=======
While we use packages to manage compiling source code into installable
binaries, we do not deploy software through packages. Instead, we use bundles
to deploy software, where each bundle encapsulates a particular functionality
-- functionality that is enabled by composing all the required upstream
open-source projects and packages into one logical unit: a bundle. This
simplifies installing features on |CL|.
For additional resources regarding available bundles, useful bundle commands,
and compatible |CL| kernels, visit our :ref:`bundles-about`
page.
Visit the `swupd man page`_ for more details.
Versioning
==========
Using package managers to keep track of software version compatibility or compare multiple systems on many Linux distributions can be cumbersome.
In a traditional distribution, the process of describing current software
versioning usually involves:
With |CL| :command:`swupd`, versioning happens at the individual
file-level. This means |CL| generates an entirely new OS version with any set
of software changes to the system (including software downgrades or removals). This rolling release versioning model is similar to
:command:`git` internal version tracking, where any of the individual file
commits are tracked and move the pointer forward when changed.
- Listing and keeping track of the current OS release (generally
uninformative about any singular packages or functionality).
While administrators can pick and choose which `bundles`_ a system has
installed, a single |CL| version number strictly represents one combination
of all software versions that can be installed onto a system of that |CL|
version. This method of whole OS versioning offers unique advantages.
Namely, system administrators can quickly compare multiple |CL| systems that share the same version for important software and security fixes.
- Keeping track of packages and repositories being used, and updating them
individually.
- Listing and tracking every package available and installed on the
system, none of which are directly tied to the current OS release.
This can be done effectively, but given the nearly endless combinations of
packages and versions of packages a server may have, it quickly becomes
non-trivial to define what "version" the system is and what software it
is running without explicitly going through each system and inspecting
every package.
With |CL|, we need only track:
- One single number
A number representing the **current** release of the OS is sufficient to
describe the versions of all the software on the OS. Each build is
composed of a specific set of bundles made from a particular version of
packages. This matters on a daily basis to system administrators, who
need to determine which of their systems do not have the latest security
fixes, or which combinations of software have been tested. Every release
of the same number is guaranteed to contain the same versions of software,
so there's no ambiguity between two systems running the same version of |CL|.
Updating
========
|CL| promotes regular and automated updating of software to ensure
integration of new enhancements and security fixes. Refer to :ref:`security`
documentation for more information.
Another notable difference between package-based distributions and |CL|
is how updates are managed. On a package-based OS, system administrators update
each individual package or piece of software to a newer (or older!) version. With
|CL|, an update translates to an entirely new OS version, containing one
or many updates. It is not possible to update a piece of the system while
remaining on the same version of |CL|.
Learn how to update your system using :ref:`swupd <swupd-guide>`.
How is this useful? Although it seems, at first, like a huge restriction
or limitation, this method has many non-obvious benefits. Imagine a
cloud environment composed of numerous machines. Here, a homogeneous set of
software makes sense -- from the system administrator's level down to the
user level. Homogeneous systems allow users to focus on their contributions
and/or code, rather than configuring environments or worrying about
synchronizing versions and updates. At the system admin level, it ensures
security is tighter and makes it far easier to monitor and update patches.
Update efficiency
-----------------
|CL| promotes regular updating of the OS and will automatically check
for updates and apply them by default.
Because :command:`swupd` operates at the individual file-level instead of a
package-level, |CL| updates are small and fast.
To learn how to run an update of your system, visit our :ref:`swupd-guide` page.
On many Linux\* distributions, updates to a particular software package
require the whole software package to be downloaded and replaced
--even for one line of code.
In |CL|, updates are generated using the :ref:`mixer <mixer-about>` tool. Mixer calculates the difference between two |CL| versions and makes available
*binary deltas*, which contain only the changed portion of files. This
*binary delta technology* [1]_ means :command:`swupd` on |CL| systems only
needs to download and apply a small fraction of a package in order to
receive an update.
Update speed
============
The :ref:`mixer <mixer-about>` tool additionally computes updates files in
multiple compression formats, allowing :command:`swupd` to utilize the most
efficiently compressed format for a |CL| system to minimize the cost
to update.
Software updates with |CL| are also efficient. Bundles simply describe
a set of files, and the update technology updates *only* files that actually
changed by using binary-delta technology for efficiency [1]_. Operating systems
that use packages as the unit of deployment require full package updates (thus
hogging resources), even when one small file in that package has changed.
Update integrity
----------------
It is quite common for a full OS update fixing a security hole to be
only 15 kilobytes in total update size. If only several kilobytes need
to be changed, it does not make sense to re-download and reinstall an
entire package or suite of programs just to incorporate a minuscule (yet
important) update. Through binary deltas, the OS is able to update only
those bits that changed, yielding very small update content (deltas)
that can be applied exceedingly fast. As a result, major security patches
and core update take merely seconds.
:command:`swupd` operates against a published manifest of files for a
particular |CL| version that contains the unique hash of each file. This is
the basis of the :command:`swupd verify` subcommand, which allows a |CL|
system to check for and remediate any discrepancies to system files. As
necessary, :command:`swupd verify` provides a useful way for software
developers to return to a known filesystem state.
Bundles
=======
Customize the OS
================
|CL-ATTR| approaches software management differently than many other
Linux-based operating systems.
While we realize our definition of bundles makes sense to us, data center
operators may have special needs and ideas. Therefore, we provide a
:ref:`mixer tool <mixer>`. This tool allows users to customize and add bundles
or even add their own software, while keeping the operating
system and its updates as the basis. Using this tool, system administrators
can focus on the customization their deployments require while staying on
a controlled update stream.
Instead of deploying granular software packages, |CL| uses the concept of
bundles with pre-associated software. Each bundle encapsulates a particular
use-case, which is enabled by composing all the required upstream open-source
projects and packages into one logical unit.
To learn more about mixing, visit our :ref:`mixer-about` page.
This bundle-based approach offers some unique advantages:
* Bundles provide a particular functionality, or stack, which
include all associated runtime dependencies.
* Software package dependencies are resolved on the server, so file-level
conflicts do not occur on the target system after an update.
* All combinations of bundles are able to co-exist on a |CL| system.
For more information on bundles, visit:
* :ref:`bundles`
* :ref:`bundles-about`
* :ref:`bundle-commands`
* :ref:`compatible-kernels`
.. [1] The software update technology for |CL-ATTR| was first presented at the Linux Plumbers conference in 2012.
.. _swupd man page: https://github.com/clearlinux/swupd-client/blob/master/docs/swupd.1.rst
.. [1] The software update technology for |CL-ATTR| was first presented at the
Linux Plumbers conference in 2012.
@@ -38,7 +38,7 @@ Architecture
If you want to capture your own records for analysis, you must set up
your own backend server.
.. figure:: ../guides/telemetrics/figures/telemetry-e2e.png
.. figure:: figures/telemetry-about-1.png
:scale: 75%
:alt: Clear Linux Telemetry Architecture.
@@ -48,7 +48,7 @@ The telemetry client provides the front end of a complete telemetrics solution
and includes the following components:
* **telemprobd**, a daemon that prepares the telemetry records and spools them on disk prior to delivery
* **telempostd**, a daemon that sends the records to the telemetry backend server or leaves them on disk until deleting after the record expires.
* **telempostd**, a daemon that sends the records to the telemetry backend server or leaves them on disk until deleting after the record expires.
* **probes**, that collect specific types of data from the operating system.
* **libtelemetry**, that telemetrics probes use to create telemetrics records and
@@ -76,7 +76,8 @@ Next steps
To put this concept into practice, see the following resources:
* :ref:`telem-guide`
* :ref:`telemetry-enable`
* :ref:`telemetry-backend`
* `Telemetry feature description`_
.. _`Telemetry feature description`:
@@ -0,0 +1,802 @@
.. _bare-metal-install-beta:
Install |CL-ATTR| from the live desktop beta image
##################################################
The live desktop beta image allows you to boot |CL-ATTR| into a GNOME
desktop without modifying the host system. Using the live image, you can
explore the possibilities of developing with |CL|. You can also launch the
new installer and install |CL| on your target system.
.. contents:: :local:
:depth: 1
System requirements
*******************
Assure that your target system supports the installation:
* :ref:`system-requirements`
* :ref:`compatibility-check`
Preliminary steps
*****************
#. `Navigate to the image directory`_.
#. Download the file :file:`clear-<release number>-live-desktop-beta.img.xz`
.. note::
``<release-number>`` is the latest |CL| auto-numbered release.
#. Follow your OS instructions to create a bootable USB drive.
* :ref:`bootable-usb-linux-all`
* :ref:`bootable-usb-mac-all`
* :ref:`bootable-usb-windows-all`
.. _install-from-live-image:
Install from live image
***********************
After you've downloaded and burned the live desktop image on a
USB drive, follow these steps.
#. Insert the USB drive into an available USB slot.
#. Power on the system.
#. Open the system BIOS setup menu by pressing the F2 key.
.. note::
Your BIOS setup menu entry point may vary.
#. In the setup menu, enable the UEFI boot and set the USB drive as the
first option in the device boot order.
#. Save these settings and exit.
#. Reboot the target system.
Launch the installer
====================
#. After the |CL| live desktop image boots, select the :guilabel:`Activities` menu in the upper left.
#. Select the icon, :guilabel:`Install Clear Linux OS`, shown in Figure 1.
.. figure:: figures/bare-metal-install-beta-1.png
:scale: 50 %
:alt: Install Clear Linux OS icon
Figure 1: Install Clear Linux OS icon
#. Upon selecting the icon, the installer is launched, as shown in Figure 2.
.. figure:: figures/bare-metal-install-beta-2.png
:scale: 50 %
:alt: Clear Linux OS Installer
Figure 2: Clear Linux OS Installer
.. _minimum-installation-requirements:
Minimum installation requirements
*********************************
To fulfill minimum installation requirements, complete
:guilabel:`Required options`. All other menu items are optional.
.. note::
* In the Main menu, the :kbd:`Install` button is highlighted
**only after** you complete :ref:`required-options-installation`.
* You must choose whether or not to participate in :ref:`telemetrics`
before you can :ref:`finish-cl-installation`.
* You may wish to :ref:`test-network-settings` before you
:ref:`configure-network-interfaces`. Assure that a ``Success`` message is received.
Main menu
*********
In the |CL| Installer main menu, two tabs appear:
:guilabel:`[R] Required options` and :guilabel:`[A] Advanced options`.
Navigate between tabs using the arrow keys or these shortcut keys:
* :kbd:`Shift+A` for :guilabel:`[A] Advanced options`
* :kbd:`Shift+R` for :guilabel:`[R] Required options`
To meet the minimum requirements, enter your choices in the
:guilabel:`Required options`. After confirmation, your selections appear
below menu options in the Main Menu, beside the :guilabel:`>>` chevron.
Navigation
**********
* Select :kbd:`Tab` or :kbd:`Up/Down` arrows to highlight your choice.
* Select :kbd:`Enter` or :kbd:`Spacebar` to confirm your choice.
* Select :kbd:`Cancel` or :kbd:`Esc` to cancel your choice.
The |CL| Installer main menu appears as shown in Figure 3.
.. figure:: figures/bare-metal-install-beta-3.png
:scale: 100 %
:alt: Clear Linux OS Installer main menu
Figure 3: :guilabel:`Clear Linux OS Installer main menu`
.. _required-options-installation:
Required options
****************
Choose Timezone
===============
#. From the main menu, select :guilabel:`Choose Timezone`.
#. Select :kbd:`Enter` to continue.
#. In :guilabel:`Select System Timezone`, navigate to
the desired timezone.
#. Use :kbd:`Tab` to navigate to :guilabel:`Confirm`.
#. Select :kbd:`Enter` to :kbd:`Confirm`.
.. note::
Select :guilabel:`Cancel` to restore the previously defined value and
return to the main menu.
.. figure:: figures/bare-metal-install-beta-4.png
:scale: 100 %
:alt: Select System Timezone
Figure 4: :guilabel:`Select System Timezone`
Choose Language
===============
#. From the main menu, select :guilabel:`Choose Language`.
#. Select :kbd:`Enter`.
#. In :guilabel:`Select System Language`, navigate to your desired language.
#. Select :kbd:`Tab` to highlight :kbd:`Confirm`.
#. Select :kbd:`Enter` to :kbd:`Confirm`.
.. note::
Select :guilabel:`Cancel` to restore the previously defined value and return to the main menu.
.. figure:: figures/bare-metal-install-beta-5.png
:scale: 100 %
:alt: Select System Language
Figure 5: :guilabel:`Select System Language`
Configure the Keyboard
======================
#. From the main menu, select :guilabel:`Configure the Keyboard`.
#. Select :kbd:`Enter`.
#. In :guilabel:`Select Keyboard`, navigate to the desired option.
#. In :guilabel:`Test keyboard`, type text to assure that the keys map to
your keyboard.
#. Select :kbd:`Tab` to highlight :guilabel:`Confirm`.
#. Select :kbd:`Enter` to :kbd:`Confirm`.
.. note::
Select :guilabel:`Cancel` to restore the previously defined value and return to the main menu.
.. figure:: figures/bare-metal-install-beta-6.png
:scale: 100 %
:alt: Select Keyboard menu
Figure 6: :guilabel:`Select Keyboard menu`
Configure Media
===============
#. From the main menu, select :guilabel:`Configure Media`.
.. note::
Available media appear by default.
#. Navigate to the desired media until highlighted.
.. TODO: Add another screenshot showing contextual menu.
#. Select :kbd:`Enter` or :kbd:`Spacebar` to select it.
Two options for partitioning appear.
#. Select :guilabel:`Auto Partition` to accept the default configuration, or
:guilabel:`Add Partition` to add partitions manually. See instructions
below.
.. figure:: figures/bare-metal-install-beta-7.png
:scale: 100 %
:alt: Configure Media menu
Figure 7: :guilabel:`Configure Media menu`
.. note::
Use additional options as necessary during partitioning:
* Select :guilabel:`Revert` to cancel changes and revert to the
original configuration.
* Select :guilabel:`Rescan` to show media connected to the host
machine.
#. Select :kbd:`Enter` to :kbd:`Confirm`.
Choose one partitioning option below
------------------------------------
* :ref:`auto-partition`
* :ref:`add-partition`
.. _auto-partition:
Auto Partition
==============
Auto partition will configure the media to meet the minimum requirements.
#. Select :guilabel:`Auto Partition` as shown in Figure 8.
#. Select :kbd:`Enter` or :kbd:`Spacebar` to highlight
:guilabel:`Auto partition`.
#. Select :kbd:`Enter` to :kbd:`Confirm`.
This action returns you to the Main Menu.
.. figure:: figures/bare-metal-install-beta-8.png
:scale: 100 %
:alt: Auto Partition
Figure 8: :guilabel:`Auto Partition`
#. You may skip to the :ref:`telemetry-tui` section below.
.. _add-partition:
Add Partition
=============
Minimum requirements
====================
To add partitions manually, assign partitions per the minimum
requirements shown in Table 1:
.. list-table:: **Table 1. Disk Partition Setup**
:widths: 33, 33, 33
:header-rows: 1
* - FileSystem
- Mount Point
- Minimum size
* - ``VFAT``
- /boot
- 150M
* - ``swap``
-
- 256MB
* - ``root``
- /
- *Size depends upon use case/desired bundles.*
#. In the Configure Media menu, select :guilabel:`Add Partition`.
.. note:: To change an existing partition, navigate to the partition,
and select :guilabel:`Enter`.
boot partition
--------------
#. In the :guilabel:`File System` menu, select :kbd:`Up/Down` arrows to
select the file system type. See Figure 9.
#. In :guilabel:`Mount Point`, enter the ``/boot`` partition.
#. In :guilabel:`Size`, enter an appropriate size (e.g., 150M) per Table 1.
#. Navigate to :guilabel:`Confirm` until highlighted.
#. Select :guilabel:`Enter` to confirm.
.. figure:: figures/bare-metal-install-beta-9.png
:scale: 100 %
:alt: boot partition
Figure 9: :guilabel:`boot partition`
swap partition
--------------
#. In the :guilabel:`File System` menu, select :kbd:`Up/Down` arrows to
select the file system type. See Figure 10.
#. In :guilabel:`Mount Point`, the field remains blank.
.. note::
The Mount Point field is disabled.
#. In :guilabel:`Size`, enter an appropriate size (e.g., 256MB) per Table 1.
#. Navigate to :guilabel:`Add`.
#. Select :guilabel:`Enter` to continue.
.. figure:: figures/bare-metal-install-beta-10.png
:scale: 100 %
:alt: swap partition
Figure 10: :guilabel:`swap partition`
root partition
--------------
#. In the :guilabel:`File System` menu, select :kbd:`Up/Down` arrows to
select the file system type. See Figure 11.
#. In :guilabel:`Mount Point`, enter ``/root``.
#. In :guilabel:`Size`, enter an appropriate size per Table 1.
.. note::
The remaining available space shows by default.
#. Navigate to :guilabel:`Add` until highlighted.
#. Select :guilabel:`Enter` to continue.
You are returned to the :guilabel:`Configure media` menu.
#. Select :guilabel:`Confirm` to complete the media selection.
.. figure:: figures/bare-metal-install-beta-11.png
:scale: 100 %
:alt: root partition
Figure 11: :guilabel:`root partition`
You are returned to the :guilabel:`Configure media` menu. Your partitions should appear similar to those shown in Figure 12.
.. figure:: figures/bare-metal-install-beta-12.png
:scale: 100 %
:alt: Partitions
Figure 12: :guilabel:`Partitions`
#. Navigate to :guilabel:`Confirm` until highlighted.
#. Select :guilabel:`Enter` to complete adding partitions.
.. _telemetry-tui:
Telemetry
=========
To fulfill the :guilabel:`Required options`, choose whether or not to
participate in `telemetry`_. :ref:`telemetrics` is a |CL| feature that
reports failures and crashes to the |CL| development team for improvements.
For more detailed information, see our :ref:`telemetry-about` page.
#. In the main menu, navigate to :guilabel:`Telemetry` and select
:kbd:`Enter`.
#. Select :kbd:`Tab` to highlight your choice.
#. Select :kbd:`Enter` to confirm.
.. figure:: figures/bare-metal-install-beta-13.png
:scale: 100 %
:alt: Enable Telemetry
Figure 13: :guilabel:`Enable Telemetry`
Skip to finish installation
===========================
After selecting values for all :guilabel:`Required options`, you may skip directly to :ref:`finish-cl-installation`
If you wish to configure network interfaces or proxy settings,
or add bundles, or add/manage users, continue to the next section.
Advanced Options
****************
.. _configure-network-interfaces:
Configure Network Interfaces
============================
By default, |CL| is configured to automatically detect the host network
interface using DHCP. However, if you want to use a static IP address or if
you do not have a DHCP server on your network, follow these instructions to
manually configure the network interface. Otherwise, default network
interface settings are automatically applied.
.. note::
If DHCP is available, no user selection may be required.
#. Navigate to :guilabel:`Configure Network Interfaces` and
select :kbd:`Enter`.
#. Navigate to the network :guilabel:`interface` you wish to change.
#. When the desired :guilabel:`interface` is highlighted, select
:guilabel:`Enter` to edit.
.. note:: Multiple network interfaces may appear.
.. figure:: figures/bare-metal-install-beta-14.png
:scale: 100 %
:alt: Configure Network Interfaces
Figure 14: :guilabel:`Configure Network Interfaces`
#. Notice :guilabel:`Automatic / dhcp` is selected by default (at bottom).
Optional: Navigate to the checkbox :guilabel:`Automatic / dhcp` and select
:kbd:`Spacebar` to deselect.
.. figure:: figures/bare-metal-install-beta-15.png
:scale: 100 %
:alt: Network interface configuration
Figure 15: :guilabel:`Network interface configuration`
#. Navigate to the appropriate fields and assign the desired
network configuration.
#. To save settings, navigate to :guilabel:`Confirm` and select
:kbd:`Enter`.
.. note::
To revert to previous settings, navigate to the :guilabel:`Cancel`
and select :kbd:`Enter`.
#. Upon confirming network configuration, the :guilabel:`Testing Networking`
dialogue appears. Assure the result shows success. If a failure occurs,
your changes will not be saved.
#. Upon confirmation, you are returned to :guilabel:`Network interface`
settings.
#. Navigate to and select :guilabel:`Main Menu`.
Optional: :ref:`Skip to finish installation <finish-cl-installation>`.
Proxy
=====
|CL| automatically attempts to detect proxy settings, as described in
`Autoproxy`_. If you need to manually assign proxy settings, follow this
instruction.
#. From the Advanced options menu, navigate to :guilabel:`Proxy`, and
select :kbd:`Enter`.
#. Navigate to the field :guilabel:`HTTPS Proxy`.
.. figure:: figures/bare-metal-install-beta-16.png
:scale: 100 %
:alt: Configure the network proxy
Figure 16: :guilabel:`Configure the network proxy`
#. Enter the desired proxy address and port using conventional syntax,
such as: http://address:port.
#. Navigate to :guilabel:`Confirm` and select :kbd:`Enter`.
#. To revert to previous settings, navigate to :guilabel:`Cancel`
and select :guilabel:`Cancel`.
Optional: :ref:`Skip to finish installation <finish-cl-installation>`.
.. _test-network-settings:
Test Network Settings
=====================
To manually assure network connectivity before installing |CL|,
select :guilabel:`Test Network Settings` and select :guilabel:`Enter`.
A progress bar appears as shown in Figure 17.
.. figure:: figures/bare-metal-install-beta-17.png
:scale: 100 %
:alt: Testing Networking dialogue
Figure 17: :guilabel:`Testing Networking dialogue`
.. note::
Any changes made to network settings are automatically tested
during configuration.
Optional: :ref:`Skip to finish installation <finish-cl-installation>`.
Bundle Selection
================
#. On the Advanced menu, select :guilabel:`Bundle selection`
#. Navigate to the desired bundle using :kbd:`Tab` or :kbd:`Up/Down` arrows.
#. Select :kbd:`Spacebar` to select the checkbox for each desired bundle.
.. figure:: figures/bare-metal-install-beta-18.png
:scale: 100 %
:alt: Bundle selection
Figure 18: :guilabel:`Bundle selection`
#. Select :kbd:`Confirm` or :kbd:`Cancel`.
You are returned to the :guilabel:`Advanced options` menu.
Optional: :ref:`Skip to finish installation <finish-cl-installation>`.
User Manager
============
Add New User
------------
#. In Advanced Options, select :guilabel:`User Manager`.
#. Select :guilabel:`Add New User` as shown in Figure 19.
.. figure:: figures/bare-metal-install-beta-19.png
:scale: 100 %
:alt: Add New User, User Name
Figure 19: :guilabel:`Add New User`
#. Optional: Enter a :guilabel:`User Name`.
.. note:
The User Name must be alphanumeric and can include spaces, commas, or hyphens. Maximum length is 64 characters.
.. figure:: figures/bare-metal-install-beta-20.png
:scale: 100 %
:alt: User Name
Figure 20: :guilabel:`User Name`
#. Enter a :guilabel:`Login`.
.. note::
The User Login must be alphanumeric and can include hyphens and underscores. Maximum length is 31 characters.
#. Enter a :guilabel:`Password`.
.. note:
Minimum length is 8 characters. Maximum length is 255 characters.
#. In :guilabel:`Retype`, enter the same password.
#. Optional: Navigate to the :guilabel:`Administrative` checkbox and select
:kbd:`Spacebar` to assign administrative rights to the user.
.. note::
Selecting this option enables sudo privileges for the user.
.. figure:: figures/bare-metal-install-beta-21.png
:scale: 100 %
:alt: Administrative rights
Figure 21: :guilabel:`Administrative rights`
#. Select :kbd:`Confirm`.
.. note::
If desired, select :guilabel:`Reset` to reset the form.
Modify / Delete User
--------------------
#. In User Manager, select :guilabel:`Tab` to highlight the user, as shown
in Figure 22.
#. Select :kbd:`Enter` to modify the user.
.. figure:: figures/bare-metal-install-beta-22.png
:scale: 100 %
:alt: Modify User
Figure 22: :guilabel:`Modify User`
#. Modify user details as desired.
Optional: To delete the user, navigate to the :guilabel:`Delete`
button and select :kbd:`Enter`
#. Navigate to :kbd:`Confirm` until highlighted.
.. note::
Optional: Select :guilabel:`Reset` to rest the form.
#. Select :guilabel:`Confirm` to save the changes you made.
You are returned to the User Manager menu.
Optional: :ref:`Skip to finish installation <finish-cl-installation>`.
Kernel Command Line
===================
For more advanced users, |CL| provides the ability to add, or remove, kernel
arguments. If you want to append a new argument, enter the argument here.
This argument will be used every time you install a new kernel or update a
new kernel.
#. In Advanced Options, select :guilabel:`Tab` to highlight
:guilabel:`Kernel Command Line`.
#. Select :kbd:`Enter`.
#. To add or remove arguments, choose one of the following options.
.. figure:: figures/bare-metal-install-beta-23.png
:scale: 100 %
:alt: kernel command line
Figure 23: :guilabel:`kernel command line`
#. To add arguments, enter the argument in :guilabel:`Add Extra Arguments`.
#. To remove an existing argument, enter the argument in
:guilabel:`Remove Arguments`.
#. Select :kbd:`Confirm`.
Optional: :ref:`Skip to finish installation <finish-cl-installation>`.
Kernel Selection
================
#. Select a kernel option. By default, the latest kernel release is
selected.
.. note::
To choose a different kernel, such as Long Term Support (LTS), shown in Figure 24, navigate to it using :guilabel:`Tab`.
.. figure:: figures/bare-metal-install-beta-24.png
:scale: 100 %
:alt: Kernel selection
Figure 24: :guilabel:`Kernel selection`
#. Select :kbd:`Spacebar` to select the desired option.
#. Select :kbd:`Confirm`.
Optional: :ref:`Skip to finish installation <finish-cl-installation>`.
Swupd Mirror
============
If you have your own custom mirror of |CL|, you may want to add that URL.
#. In Advanced Options, select :guilabel:`Swupd Mirror`.
#. To add a local swupd mirror, enter a valid URL in :guilabel:`Mirror URL:`
#. Select :kbd:`Confirm`.
.. figure:: figures/bare-metal-install-beta-25.png
:scale: 100 %
:alt: Swupd Mirror
Figure 25: :guilabel:`Swupd Mirror`
Optional: :ref:`Skip to finish installation <finish-cl-installation>`.
Assign Hostname
===============
#. In Advanced Options, select :guilabel:`Assign Hostname`.
#. In :guilabel:`Hostname`, enter the hostname only (excluding the domain).
.. note::
Hostname does not allow empty spaces. Hostname must start with an
alphanumeric character but may also contain hyphens. Maximum length of
63 characters.
.. figure:: figures/bare-metal-install-beta-26.png
:scale: 100 %
:alt: Assign Hostname
Figure 26: :guilabel:`Assign Hostname`
#. Navigate to :kbd:`Confirm` until highlighted.
#. Select :kbd:`Confirm`.
Optional: :ref:`Skip to finish installation <finish-cl-installation>`.
Automatic OS Updates
====================
In the rare case that you need to disable automatic software updates,
follow the onscreen instructions.
#. In Advanced Options, select :guilabel:`Automatic OS Updates`.
#. Select the desired option.
.. figure:: figures/bare-metal-install-beta-27.png
:scale: 100 %
:alt: Automatic OS Updates
Figure 27: :guilabel:`Automatic OS Updates`
You are returned to the :guilabel:`Main Menu`.
.. _finish-cl-installation:
Finish installation
*******************
#. When you are satisfied with your installation configuration, navigate to
:guilabel:`Install` and select :kbd:`Enter`.
.. note::
Whenever installation is finished, a ``reboot`` button appears.
#. Select ``reboot``.
#. When the system reboots, remove any installation media present.
**Congratulations!**
You have successfully installed |CL| on bare metal using the new installer.
.. _Navigate to the image directory: https://download.clearlinux.org/image/
.. _Autoproxy: https://clearlinux.org/features/autoproxy
.. _telemetry: https://clearlinux.org/features/telemetry
Binary file not shown.

After

Width:  |  Height:  |  Size: 663 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 519 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

@@ -1,496 +0,0 @@
.. _bare-metal-install-desktop:
Install |CL-ATTR| from the live desktop
#######################################
The live desktop allows you to boot |CL-ATTR| in a GNOME desktop without
modifying the host system, offering the chance to explore developing
on |CL|. Better yet, launch the |CL| installer to install on your target
system.
.. contents:: :local:
:depth: 1
System requirements
*******************
Assure that your target system supports the installation:
* :ref:`system-requirements`
* :ref:`compatibility-check`
Preliminary steps
*****************
#. `Visit our Downloads page`_.
#. Download the file :file:`clear-<release number>-live-desktop.iso`
.. note::
<release-number> is the latest |CL| auto-numbered release.
#. Follow your OS instructions to create a bootable USB drive.
* :ref:`bootable-usb`
.. _install-on-target-start:
Install from live image
***********************
After you download and burn the live desktop image on a USB drive, follow
these steps.
#. Insert the USB drive into an available USB slot.
#. Power on the system.
#. Open the system BIOS setup menu by pressing the :kbd:`F2` key.
Your BIOS setup menu entry point may vary.
#. In the setup menu, enable the UEFI boot and set the USB drive as the
first option in the device boot order.
#. Save these settings, e.g. :kbd:`F10`, and exit.
#. Reboot the target system.
#. Select :guilabel:`Clear Linux OS` in the boot menu, shown in Figure 1.
.. figure:: figures/bare-metal-install-desktop-01.png
:scale: 100%
:alt: Clear Linux OS in boot menu
Figure 1: Clear Linux OS in boot menu
.. _install-on-target-end:
Confirm network connection
==========================
Confirm there is a network connection before launching the installer.
Choose a method: `Wired Connection`, or `WiFi Connected`.
This guide shows an example of a **Wired Connection**.
#. In the upper right of the top menu bar, select the square icon to view
Network settings, shown in Figure 2.
#. Select :guilabel:`Wired Connected` and then :guilabel:`Wired Settings`.
.. figure:: figures/bare-metal-install-desktop-02.png
:scale: 100%
:alt: Software icon, Network settings
Figure 2: Software icon, Network settings
#. View the :guilabel:`Wired` menu to assure that you're target system and
installer are connected to a network.
#. Optional: Configure Proxy settings.
#. To view :guilabel:`Network Proxy`, select its :guilabel:`Gear` icon.
#. Select from `Automatic`, `Manual` or `Disabled` as desired.
#. Close the dialogue box.
#. Select the :guilabel:`Gear` icon to view Network settings.
#. If desired, select :guilabel:`Connect automatically`.
Select other options as desired.
#. Select :guilabel:`Apply` button to confirm change to settings.
Software
--------
Optional: Explore |CL| bundles and other software available. Double-click the :guilabel:`Software` icon from the Activities menu, shown in Figure 2.
.. note::
`Sofware` application is *only intended for exploring* available bundles,
applications, and images. Do not attempt to install them.
Assure there is a network connection before launching `Software`.
Launch the |CL| installer
=========================
#. After the live desktop image boots, find the |CL| icon in
the :guilabel:`Activities` menu at left, shown in Figure 3.
#. Click the icon, :guilabel:`Install Clear Linux OS`.
.. figure:: figures/bare-metal-install-desktop-02.png
:scale: 100%
:alt: Install Clear Linux OS icon
Figure 3: Install Clear Linux OS icon
#. The installer is launched, as shown in Figure 4.
.. figure:: figures/bare-metal-install-desktop-04.png
:scale: 100%
:alt: |CL| Desktop Installer
Figure 4: |CL| OS Desktop Installer
#. In :guilabel:`Select Language`, select a language from the options, or
type your preferred language in the search bar.
#. Select :guilabel:`Next`.
.. _incl-bare-metal-beta-start:
Minimum installation requirements
*********************************
To fulfill minimum installation requirements, complete the
`Required options`_. We also recommend completing `Advanced options`_.
.. note::
* The :kbd:`Install` button is only highlighted **after** you complete
`Required options`_.
* Checkmarks indicate a selection has been made.
* An Internet connection is required. You may want to launch a browser
prior to installation to verify your Internet connection.
|CL| Desktop Installer
**********************
The |CL| Desktop Installer Main Menu appears as shown in Figure 5. To meet
the minimum requirements, enter values in all submenus for the
:guilabel:`Required options`. After you complete them, your selections appear
below submenus and a checkmark appears at right.
.. figure:: figures/bare-metal-install-desktop-05.png
:scale: 100%
:alt: Clear Linux OS Desktop Installer - Main Menu
Figure 5: Clear Linux OS Desktop Installer - Main Menu
Navigation
**********
* Use the :kbd:`mouse` to navigate or select options.
* Use :kbd:`Tab` key to navigate between :guilabel:`Required options`
and :guilabel:`Advanced options`
* Use :kbd:`Up` or :kbd:`Down` arrow keys to navigate submenu list.
* Select :kbd:`Confirm`, or :kbd:`Cancel` in submenus.
Required options
****************
Select Time Zone
================
#. From the Main Menu, select :guilabel:`Select Time Zone`. `UTC` is selected
by default.
#. In :guilabel:`Select Time Zone`, navigate to the desired time zone.
Or start typing the region and then city.
(.e.g., :file:`America/Los_Angeles`).
#. Select :guilabel:`Confirm`.
.. figure:: figures/bare-metal-install-desktop-06.png
:scale: 100%
:alt: Select System Timezone
Figure 6: Select System Time Zone
Select Keyboard
===============
#. From the Main Menu, select :guilabel:`Select Keyboard`.
#. Navigate to your desired keyboard layout. We select "us" for the
United States.
#. Select :guilabel:`Confirm`.
.. figure:: figures/bare-metal-install-desktop-07.png
:scale: 100%
:alt: Select Keyboard menu
Figure 7: Select Keyboard menu
Select Installation Media
=========================
#. From the Main Menu, select :guilabel:`Select Installation Media`.
#. Choose an installation method: `Safe Installation`_ or
`Destructive Installation`_.
.. figure:: figures/bare-metal-install-desktop-08.png
:scale: 100%
:alt: Select Installation Media
Figure 8: Select Installation Media
Safe Installation
-----------------
Use this method to safely install |CL| on media with available space, or
alongside existing partitions, and accept the `Default partition schema`_.
If enough free space exists, safe installation is allowed.
Destructive Installation
------------------------
Use this method to destroy the contents of the target device, install |CL| on it, and accept the `Default partition schema`_.
Disk encryption
===============
For greater security, disk encryption is supported using LUKS. Encryption is
optional.
#. To encrypt the root partition, select :guilabel:`Enable Encryption`,
as shown in Figure 9.
.. figure:: figures/bare-metal-install-desktop-09.png
:scale: 100%
:alt: Enable Encryption
Figure 9: Enable Encryption
#. When :guilabel:`Encryption Passphrase` appears, enter a passphrase.
.. figure:: figures/bare-metal-install-desktop-10.png
:scale: 100%
:alt: Encryption Passphrase
Figure 10: Encryption Passphrase
.. note::
Minimum length is 8 characters. Maximum length is 94 characters.
#. Enter the same passphrase in the second field.
#. Select :guilabel:`Confirm` in the dialogue box.
.. note::
:guilabel:`Confirm` is only highlighted if passphrases match.
#. Select :guilabel:`Confirm` in submenu.
Manage User
===========
#. In Required Options, select :guilabel:`Manage User`.
#. In :guilabel:`User Name`, enter a user name.
.. figure:: figures/bare-metal-install-desktop-11.png
:scale: 100%
:alt: Manage User
Figure 11: Manage User
#. In :guilabel:`Login`, create a login name. It must start with a letter
and can use numbers, hyphens, and underscores. Maximum length is 31
characters.
#. In :guilabel:`Password`, enter a password. Minimum length is
8 characters. Maximum length is 255 characters.
#. In :guilabel:`Confirm`, enter the same password.
.. note::
:guilabel:`Administrator` rights are selected by default.
For security purposes, the default user must be assigned as an
Administrator.
#. Select :kbd:`Confirm`.
.. note::
Select :guilabel:`Cancel` to return to the Main Menu.
Modify User
-----------
#. In Manager User, select :guilabel:`Manage User`.
#. Modify user details as desired.
#. Select :guilabel:`Confirm` to save the changes you made.
.. note::
Optional: Select :guilabel:`Cancel` to return to the Main Menu to
revert changes.
Optional: Skip to `Finish installation`_.
Telemetry
=========
Choose whether to participate in `telemetry`. :ref:`telem-guide` is a |CL|
feature that reports failures and crashes to the |CL| development
team for improvements. For more information, see :ref:`telemetry-about`.
#. From :guilabel:`Required Options`, select :guilabel:`Telemetry`.
#. Select :kbd:`Confirm`.
#. If you don't wish to participate, deselect :kbd:`Enable Telemetry`.
#. Select :kbd:`Confirm`.
.. figure:: figures/bare-metal-install-desktop-12.png
:scale: 100%
:alt: Enable Telemetry
Figure 12: Enable Telemetry
Advanced options
****************
After you complete the `Required options`_, we recommend completing
:guilabel:`Advanced options`--though they're not required. Doing so
customizes your development environment, so you're ready to go immediately
after reboot.
* `Bundle Selection`_
* `Assign Hostname`_
As for bundles, you can always add more later with :ref:`swupd-guide`.
Bundle Selection
================
#. On the Advanced menu, select :guilabel:`Bundle Selection`
#. Select your desired bundles.
.. figure:: figures/bare-metal-install-desktop-13.png
:scale: 100%
:alt: Bundle Selection
Figure 13: Bundle Selection
#. Select :kbd:`Confirm`.
#. View the bundles that you selected.
.. figure:: figures/bare-metal-install-desktop-14.png
:scale: 100%
:alt: Bundle Selections - Advanced Options
Figure 14: Bundle Selections - Advanced Options
Optional: Skip to `Finish installation`_.
Assign Hostname
===============
#. In Advanced Options, select :guilabel:`Assign Hostname`.
#. In :guilabel:`Hostname`, enter the hostname only (excluding the domain).
.. figure:: figures/bare-metal-install-desktop-15.png
:scale: 100%
:alt: Assign Hostname
Figure 15: Assign Hostname
.. note::
Hostname does not allow empty spaces. Hostname must start with an
alphanumeric character but may also contain hyphens. Maximum length of
63 characters.
#. Navigate to :kbd:`Confirm` until highlighted.
#. Select :kbd:`Confirm`.
Optional: Skip to `Finish installation`_.
Finish installation
*******************
#. When you are satisfied with your installation configuration, select
:guilabel:`Install`.
.. figure:: figures/bare-metal-install-desktop-16.png
:scale: 100%
:alt: Assign Hostname
Figure 16: Finish installation
.. note:
All checkmarks must be visible in :guilabel:`Required Options` for you to select :guilabel:`Install`.
#. If you do not enter a selection for all :guilabel:`Required Options`,
the :guilabel:`Install` button remains greyed out, as shown
in Figure 17. Return to `Required Options`_ and make selections.
.. figure:: figures/bare-metal-install-desktop-17.png
:scale: 100%
:alt: Required Options - Incomplete
Figure 17: Required Options - Incomplete
#. After installation is complete, select :guilabel:`Exit`.
#. Shut down the target system.
#. Remove the USB or any installation media.
#. Power on your system.
.. note::
Allow time for the graphical login to appear. A login prompt shows the administrative user that you created.
#. Log in as the adminstrative user.
Congratulations. You successfully installed |CL|.
Default partition schema
========================
Table 1 shows the defult partition schema with the exception of root,
which varies.
.. list-table:: **Table 1. Disk Partition Setup**
:widths: 33, 33, 33
:header-rows: 1
* - FileSystem
- Mount Point
- Minimum size
* - ``VFAT``
- /boot
- 150M
* - ``swap``
-
- 256MB
* - ``root``
- /
- *Size depends upon use case/desired bundles.*
Next steps
**********
:ref:`guides`
.. _Visit our downloads page: https://clearlinux.org/downloads
.. _Autoproxy: https://clearlinux.org/features/autoproxy
Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

@@ -1,855 +0,0 @@
.. _bare-metal-install-server:
Install |CL-ATTR| on bare metal with live server
################################################
These instructions guide you through installing |CL-ATTR| on bare metal from a bootable USB drive using a live server image.
.. contents::
:local:
:depth: 1
System requirements
*******************
Assure that your target system supports the installation:
* :ref:`system-requirements`
* :ref:`compatibility-check`
Download the latest |CL| live server image
******************************************
Get the latest |CL| installer image from the `downloads page`_. Look for the
:file:`clear-[version number]-live-server.iso` file.
#. Follow your OS instructions to create a bootable USB drive.
* :ref:`bootable-usb`
#. After downloading the image, verify and decompress the file per your OS.
Install |CL| on your target system
**********************************
Ensure that your system is configured to boot UEFI. The installation method
described below requires a wired Internet connection with DHCP.
.. note::
Alternatively, you can install |CL| over a wireless connection by first
using `nmtui`. Follow the `nmtui` instructions shown in Figure 2.
Follow these steps to install |CL| on the target system:
#. Insert the USB drive into an available USB slot.
#. Power on the system.
#. Open the system BIOS setup menu by pressing the :kbd:`F2` key.
Your BIOS setup menu entry point may vary.
#. In the setup menu, enable the UEFI boot and set the USB drive as the first
option in the device boot order.
#. Save these settings and exit.
#. Reboot the target system.
#. This action launches the |CL| installer boot menu, shown in figure 1.
.. figure:: figures/bare-metal-install-server-01.png
:scale: 100%
:alt: Clear Linux OS Installer boot menu
Figure 1: Clear Linux OS Installer boot menu
#. With :guilabel:`Clear Linux OS` highlighted, select :kbd:`Enter`.
Launch the |CL| Installer
*************************
#. At the :guilabel:`login` prompt, enter :command:`root`.
#. Follow the onscreen instructions, shown in Figure 2, and
enter a temporary password.
.. figure:: figures/bare-metal-install-server-02.png
:scale: 100%
:alt: root login
Figure 2: root login
#. At the :guilabel:`root` prompt, enter :command:`clr-installer` and
press :kbd:`Enter`.
.. figure:: figures/bare-metal-install-server-03.png
:scale: 100%
:alt: clr-installer command
Figure 3: clr-installer command
Minimum installation requirements
*********************************
To fulfill minimum installation requirements, complete the
`Required options`_. While not required, we encourage you to apply the
`Recommended options`_. `Advanced options`_ are optional.
.. note::
* The :kbd:`Install` button is **only highlighted after** you complete
`Required options`_.
Main Menu
*********
The |CL| Installer Main Menu appears as shown in Figure 4.
.. figure:: figures/bare-metal-install-server-04.png
:scale: 100%
:alt: Clear Linux OS Installer
Figure 4: Clear Linux OS Installer
The |CL| Installer Main Menu has two tabs: :guilabel:`[R] Required options`
and :guilabel:`[A] Advanced options`. Navigate between tabs using the arrow
these shortcut keys:
* :kbd:`Shift+A` for :guilabel:`[A] Advanced options`
* :kbd:`Shift+R` for :guilabel:`[R] Required options`
To meet the minimum requirements, enter your choices in the
:guilabel:`Required options`. After confirmation, your selections appear
beside the :guilabel:`>>` chevron, below the menu options.
Navigation
**********
* Select :kbd:`Tab` or :kbd:`Up/Down` arrows to highlight your choice.
* Select :kbd:`Enter` or :kbd:`Spacebar` to confirm your choice.
* Select :kbd:`Cancel` or :kbd:`Esc` to cancel your choice.
Required options
****************
Choose Timezone
===============
#. From the Main Menu, navigate to :guilabel:`Choose Timezone`.
`UTC` is the default.
#. Select :kbd:`Enter`.
#. In :guilabel:`Select System Timezone`, use :kbd:`Up/Down` arrows
navigate to the desired timezone.
.. todo: User need only select Enter; can only select Confirm with mouse.
#. Press :kbd:`Enter` to confirm.
.. figure:: figures/bare-metal-install-server-05.png
:scale: 100%
:alt: Select System Timezone
Figure 5: Select System Timezone
Choose Language
===============
#. From the Main Menu, navigate to :guilabel:`Choose Language`.
#. Select :kbd:`Enter`.
#. In :guilabel:`Select System Language`, navigate to your desired language.
#. Press :kbd:`Enter` to confirm.
.. figure:: figures/bare-metal-install-server-06.png
:scale: 100%
:alt: Select System Language
Figure 6: Select System Language
Configure the Keyboard
======================
#. From the Main Menu, select :guilabel:`Configure the Keyboard`.
#. Select :kbd:`Enter`.
#. In :guilabel:`Select Keyboard`, navigate to the desired option.
#. Select :kbd:`Enter` to :kbd:`Confirm`.
#. Optional: In :guilabel:`Test keyboard`, type text to assure
that the keys map to your keyboard.
.. figure:: figures/bare-metal-install-server-07.png
:scale: 100%
:alt: Select Keyboard menu
Figure 7: Select Keyboard menu
Configure Installation Media
============================
#. From the Main Menu, select :guilabel:`Configure Installation Media`.
#. Choose an installation method:
* `Safe Installation`_
* `Destructive Installation`_
* `Advanced Configuration`_
.. figure:: figures/bare-metal-install-server-08.png
:scale: 100%
:alt: Select Installation Media
Figure 8: Select Installation Media
#. Select :guilabel:`Rescan Media` to show available installation targets.
.. todo: Revise below section to match the dev-gui-00
Safe Installation
-----------------
Use this method to safely install |CL| on media with available space, or
alongside existing partitions, and accept the `Default partition schema`_.
If enough free space exists, safe installation is allowed. See also
`Troubleshooting`_ below.
Destructive Installation
------------------------
Use this method to destroy the contents of the target device, install |CL|
on it, and accept the `Default partition schema`_.
.. note::
From the :guilabel:`Select Installation Media` menu, select
:guilabel:`Enable Encryption` to encrypt the root filesystem for either
option above. See also `Disk encryption`_ for more information.
Advanced Configuration
----------------------
Use this method to manually configure partitions. These must meet
`Default partition schema`_. You may also choose `Disk encryption`_ during
configuration of each partition.
.. note::
`Advanced Configuration` is available in the installer versions 1.2.0 and
above.
#. From :guilabel:`Select Installation Media`, shown in Figure 8 above,
select :guilabel:`Advanced Configuration`.
#. In :guilabel:`Advanced Configuration`, navigate to :file:`/dev/sda`
and then press :kbd:`Enter`.
.. figure:: figures/bare-metal-install-server-09.png
:scale: 100%
:alt: Advanced configuration menu
Figure 9: Advanced configuration menu
#. Choose a partition method:
* :guilabel:`Auto Partition` Select this option to accept the
`Default partition schema`_.
#. Navigate to and press :guilabel:`Confirm`.
#. Continue with installation configuration. Jump to `Telemetry`_.
* `Manual Partition`_ Continue below.
Manual Partition
----------------
We provide a simple example below.
#. Navigate to the unallocated media (e.g.,`/dev/sda`) until highlighted, as
shown in Figure 9.
#. Press :guilabel:`Enter` to edit the partition.
#. The :guilabel:`Partition Setup` menu appears, shown in Figure 10.
.. note::
After adding the first partition, select :guilabel:`Free Space` to add another partition.
root partition
--------------
#. We configure the `root` partition as shown in Figure 10.
Configuration of the `root` partition varies.
.. figure:: figures/bare-metal-install-server-10.png
:scale: 100%
:alt: root partition
Figure 10: root partition
#. Navigate to :guilabel:`Add` and press :guilabel:`Enter`.
boot partition
--------------
#. We configure the `boot` partition as shown in Figure 11.
.. figure:: figures/bare-metal-install-server-11.png
:scale: 100%
:alt: boot partition
Figure 11: boot partition
#. Navigate to :guilabel:`Add` and press :guilabel:`Enter`.
swap partition
--------------
#. In the :guilabel:`File System` pulldown menu, select `swap`, and
enter a label. We enter the minimum required size (e.g., 256M).
.. figure:: figures/bare-metal-install-server-12.png
:scale: 100%
:alt: swap partition
Figure 12: swap partition
#. Navigate to :guilabel:`Add` and press :guilabel:`Enter`.
#. Next, navigate to :guilabel:`Confirm` and press :guilabel:`Enter`,
shown in Figure 13.
Manual partitioning is complete.
.. figure:: figures/bare-metal-install-server-13.png
:scale: 100%
:alt: Final configuration of disk partitions
Figure 13: Final configuration of disk partitions
#. You may skip to the `Telemetry`_ section below.
Disk encryption
===============
For greater security, disk encryption is supported using LUKS for the
any partition except `/boot` on |CL|. To encrypt the root partition, see the
example below. Encryption is optional.
Encryption Passphrase
---------------------
|CL| uses a single passphrase for encrypted partitions. Additional keys may
be configured post-installation using the ``cryptsetup`` tool.
#. Optional: Select :guilabel:`[X] Encrypt` to encrypt the root partition,
as shown in Figure 14.
.. figure:: figures/bare-metal-install-server-14.png
:scale: 100%
:alt: Encrypt partition
Figure 14: Encrypt partition
#. The :guilabel:`Encryption Passphrase` dialogue appears.
.. note::
Minimum length is 8 characters. Maximum length is 94 characters.
.. figure:: figures/bare-metal-install-server-15.png
:scale: 100%
:alt: Encryption Passphrase
Figure 15: Encryption Passphrase
#. Enter the same passphrase in the first and second field.
#. Navigate to :guilabel:`Confirm` and press :kbd:`Enter`.
.. note::
:guilabel:`Confirm` is only highlighted if passphrases match.
Telemetry
=========
:ref:`telem-guide` is a |CL| feature that reports failures and crashes to
the |CL| development team for improvements. For more detailed information,
visit our :ref:`telemetry-about` page.
Select your desired option on whether to participate in `telemetry`.
#. In the Main Menu, navigate to :guilabel:`Telemetry` and select
:kbd:`Enter`.
#. Select :kbd:`Tab` to highlight your choice.
#. Select :kbd:`Enter` to confirm.
.. figure:: figures/bare-metal-install-server-16.png
:scale: 100%
:alt: Enable Telemetry
Figure 16: Enable Telemetry
Recommended options
*******************
After you complete the `Required options`_, we highly recommend completing
these selected `Advanced options`_ at minimum:
* `Manage User`_ Assign a new user with administrative rights
* `Assign Hostname`_ Simplify your development environment
Skip to finish installation
===========================
After selecting values for all :guilabel:`Required options`, you may skip
to `Finish installation`_.
Otherwise, continue below. In the Main Menu, select
:guilabel:`Advanced options` for additional configuration.
Advanced options
****************
Configure Network Interfaces
============================
By default, |CL| is configured to automatically detect the host network
interface using DHCP. However, if you want to use a static IP address or if
you do not have a DHCP server on your network, follow these instructions to
manually configure the network interface. Otherwise, default network
interface settings are automatically applied.
.. note::
If DHCP is available, no user selection may be required.
#. Navigate to :guilabel:`Configure Network Interfaces` and
select :kbd:`Enter`.
#. Navigate to the network :guilabel:`interface` you wish to change.
#. When the desired :guilabel:`interface` is highlighted, select
:guilabel:`Enter` to edit.
.. note:: Multiple network interfaces may appear.
.. figure:: figures/bare-metal-install-server-17.png
:scale: 100%
:alt: Configure Network Interfaces
Figure 17: Configure Network Interfaces
#. Notice :guilabel:`Automatic / dhcp` is selected by default (at bottom).
Optional: Navigate to the checkbox :guilabel:`Automatic / dhcp` and select
:kbd:`Spacebar` to deselect.
.. figure:: figures/bare-metal-install-server-18.png
:scale: 100%
:alt: Network interface configuration
Figure 18: Network interface configuration
#. Navigate to the appropriate fields and assign the desired
network configuration.
#. To save settings, navigate to :guilabel:`Confirm` and select
:kbd:`Enter`.
.. note::
To revert to previous settings, navigate to the :guilabel:`Cancel`
and select :kbd:`Enter`.
#. Upon confirming network configuration, the :guilabel:`Testing Networking`
dialogue appears. Assure the result shows success. If a failure occurs,
your changes will not be saved.
#. Upon confirmation, you are returned to :guilabel:`Network interface`
settings.
#. Navigate to and select :guilabel:`Main Menu`.
Optional: Skip to `Finish installation`_.
Proxy
=====
|CL| automatically attempts to detect proxy settings, as described in
`Autoproxy`_. If you need to manually assign proxy settings, follow this
instruction.
#. From the Advanced options menu, navigate to :guilabel:`Proxy`, and
select :kbd:`Enter`.
#. Navigate to the field :guilabel:`HTTPS Proxy`.
.. figure:: figures/bare-metal-install-server-19.png
:scale: 100%
:alt: Configure the network proxy
Figure 19: Configure the network proxy
#. Enter the desired proxy address and port using conventional syntax,
such as: \http://address:port.
#. Navigate to :guilabel:`Confirm` and select :kbd:`Enter`.
#. To revert to previous settings, navigate to :guilabel:`Cancel`
and select :guilabel:`Cancel`.
Optional: Skip to `Finish installation`_.
Test Network Settings
=====================
To manually assure network connectivity before installing |CL|,
select :guilabel:`Test Network Settings` and select :guilabel:`Enter`.
A progress bar appears as shown in Figure 20.
.. figure:: figures/bare-metal-install-server-20.png
:scale: 100%
:alt: Testing Networking dialogue
Figure 20: Testing Networking dialogue
.. note::
Any changes made to network settings are automatically tested
during configuration.
Optional: Skip to `Finish installation`_.
Bundle Selection
================
#. On the Advanced menu, select :guilabel:`Bundle Selection`
#. Navigate to the desired bundle using :kbd:`Tab` or :kbd:`Up/Down` arrows.
#. Select :kbd:`Spacebar` to select the checkbox for each desired bundle.
.. figure:: figures/bare-metal-install-server-21.png
:scale: 100%
:alt: Bundle Selection
Figure 21: Bundle Selection
#. Optional: To start developing with |CL|, we recommend
adding :file:`os-clr-on-clr`.
#. Navigate to and select :kbd:`Confirm`.
You are returned to the :guilabel:`Advanced options` menu.
Optional: Skip to `Finish installation`_.
Manage User
===========
Add New User
------------
#. In Advanced Options, select :guilabel:`Manage User`.
#. Select :guilabel:`Add New User` as shown in Figure 22.
.. figure:: figures/bare-metal-install-server-22.png
:scale: 100%
:alt: Add New User, User Name
Figure 22: Add New User
#. Optional: Enter a :guilabel:`User Name`.
.. note:
The User Name must be alphanumeric and can include spaces, commas, or hyphens. Maximum length is 64 characters.
.. figure:: figures/bare-metal-install-server-23.png
:scale: 100%
:alt: User Name
Figure 23: User Name
#. Enter a :guilabel:`Login`.
.. note::
The User Login must be alphanumeric and can include hyphens and underscores. Maximum length is 31 characters.
#. Enter a :guilabel:`Password`.
.. note:
Minimum length is 8 characters. Maximum length is 255 characters.
#. In :guilabel:`Confirm`, enter the same password.
#. Optional: Navigate to the :guilabel:`Administrative` checkbox and select
:kbd:`Spacebar` to assign administrative rights to the user.
.. note::
Selecting this option enables sudo privileges for the user.
#. Select :kbd:`Confirm`.
.. note::
If desired, select :guilabel:`Reset` to reset the form.
#. In :guilabel:`Manage User`, navigate to :guilabel:`Confirm`.
#. With :guilabel:`Confirm` highlighted, select :kbd:`Enter`.
Modify / Delete User
--------------------
#. In :guilabel:`Manage User`, navigate to the user you wish
to modify until highlighted, as shown in Figure 24.
#. Select :kbd:`Enter` to modify the user.
.. figure:: figures/bare-metal-install-server-24.png
:scale: 100%
:alt: Modify User
Figure 24: Modify User
#. Modify user details as desired.
#. Navigate to :kbd:`Confirm` until highlighted.
.. note::
Optional: Select :guilabel:`Reset` to rest the form.
#. Select :guilabel:`Confirm` to save the changes you made.
#. Optional: In :guilabel:`Modify User`, to delete the user, navigate to
the :guilabel:`Delete` button and select :kbd:`Enter`.
.. figure:: figures/bare-metal-install-server-25.png
:scale: 100%
:alt: Delete User
Figure 25: Delete User
You are returned to :guilabel:`Manage User`.
#. Navigate to :kbd:`Confirm` until highlighted.
#. Select :guilabel:`Enter` to complete :guilabel:`Manage User` options.
Optional: Skip to `Finish installation`_.
Kernel Command Line
===================
For advanced users, |CL| provides the ability to add or remove kernel
arguments. If you want to append a new argument, enter the argument here.
This argument will be used every time you install or update a
new kernel.
#. In Advanced Options, select :guilabel:`Tab` to highlight
:guilabel:`Kernel Command Line`.
#. Select :kbd:`Enter`.
.. figure:: figures/bare-metal-install-server-26.png
:scale: 100%
:alt: kernel command line
Figure 26: kernel command line
#. Choose from the following options.
* To add arguments, enter the argument in :guilabel:`Add Extra Arguments`.
* To remove an argument, enter the argument in
:guilabel:`Remove Arguments`.
#. Select :kbd:`Confirm`.
Optional: Skip to `Finish installation`_.
Kernel Selection
================
#. Select a kernel option. By default, the latest kernel release is
selected. Native kernel is shown in Figure 27.
#. To select a different kernel, navigate to it using :guilabel:`Tab`.
.. figure:: figures/bare-metal-install-server-27.png
:scale: 100%
:alt: Kernel selection
Figure 27: Kernel selection
#. Select :kbd:`Spacebar` to select the desired option.
#. Navigate to :kbd:`Confirm` and select :kbd:`Enter`.
Optional: Skip to `Finish installation`_.
Swupd Mirror
============
If you have your own custom mirror of |CL|, you can add its URL.
#. In Advanced Options, select :guilabel:`Swupd Mirror`.
#. To add a local swupd mirror, enter a valid URL in :guilabel:`Mirror URL:`
#. Select :kbd:`Confirm`.
.. figure:: figures/bare-metal-install-server-28.png
:scale: 100%
:alt: Swupd Mirror
Figure 28: Swupd Mirror
Optional: Skip to `Finish installation`_.
Assign Hostname
===============
#. In Advanced Options, select :guilabel:`Assign Hostname`.
#. In :guilabel:`Hostname`, enter the hostname only (excluding the domain).
.. note::
Hostname does not allow empty spaces. Hostname must start with an
alphanumeric character but may also contain hyphens. Maximum length of
63 characters.
.. figure:: figures/bare-metal-install-server-29.png
:scale: 100%
:alt: Assign Hostname
Figure 29: Assign Hostname
#. Navigate to :kbd:`Confirm` until highlighted.
#. Select :kbd:`Confirm`.
Optional: Skip to `Finish installation`_.
Automatic OS Updates
====================
Automatical OS updates are enabled by default. In the rare case that you
need to disable automatic software updates, follow the onscreen instructions,
shown in Figure 30.
#. In Advanced Options, select :guilabel:`Automatic OS Updates`.
#. Select the desired option.
.. figure:: figures/bare-metal-install-server-30.png
:scale: 100%
:alt: Automatic OS Updates
Figure 30: Automatic OS Updates
You are returned to the :guilabel:`Main Menu`.
Save Configuration Settings
===========================
#. In Advanced Options, select :guilabel:`Save Configuration Settings`.
#. A dialogue box shows the installation configuration was saved to
:file:`clr-installer.yaml`
.. figure:: figures/bare-metal-install-server-31.png
:scale: 100%
:alt: Automatic OS Updates
Figure 31: Automatic OS Updates
#. Use the :file:`clr-installer.yaml` file to install |CL|, with the same
configuration, on multiple targets.
Finish installation
*******************
#. When you are satisfied with your installation configuration, navigate to
:guilabel:`Install` and select :kbd:`Enter`.
.. figure:: figures/bare-metal-install-server-32.png
:scale: 100%
:alt: Select Install
Figure 32: Select Install
#. Select :guilabel:`reboot`.
.. note::
If you do not assign an administrative user, upon rebooting,
enter `root` and set the root password immediately.
#. When the system reboots, remove any installation media present.
Default partition schema
========================
To add partitions manually, see `Advanced configuration`_ below, and create
partitions per requirements in Table 1.
.. list-table:: **Table 1. Disk Partition Setup**
:widths: 33, 33, 33
:header-rows: 1
* - FileSystem
- Mount Point
- Minimum size
* - ``VFAT``
- /boot
- 150M
* - ``swap``
-
- 256MB
* - ``root``
- /
- *Size depends upon use case/desired bundles.*
Troubleshooting
***************
For Configure Installation Media
================================
If a warning message appears that no media or space is available after
entering :guilabel:`Configure Installation Media`:
- Verify that target media has enough free space.
- Confirm the USB is properly connected to and mounted on target media.
- Review the size of existing partitions on the target media:
- Linux\* OS: :command:`lsblk -a`
- Windows\* OS: :command:`diskpart`, then :command:`list disk`
- macOS\* platform: :command:`diskutil list`
.. _Autoproxy: https://clearlinux.org/features/autoproxy
.. _downloads page: https://clearlinux.org/downloads
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

@@ -0,0 +1,325 @@
.. _bare-metal-install:
Install |CL-ATTR| on bare metal (automatic)
###########################################
These instructions guide you through the installation of |CL-ATTR|
on bare metal using a bootable USB drive.
Before you begin, check that your system meets the requirements to install |CL|:
* :ref:`system-requirements`
* :ref:`compatibility-check`
Download the latest |CL| installer image
****************************************
Get the latest |CL| installer image from the `image`_ directory.
Look for the :file:`clear-[version number]-installer.img.xz` file. You can also use this command:
.. code-block:: bash
curl -O https://download.clearlinux.org/image/$(curl https://download.clearlinux.org/image/latest-images | grep "installer")
Once you have downloaded the image, verify and decompress the file.
.. include:: ../../guides/maintenance/download-verify-decompress-linux.rst
:Start-after: incl-decompress-image:
:end-before: incl-decompress-image-end:
.. include:: ../bootable-usb/bootable-usb-linux.rst
:Start-after: copy-usb-linux:
:end-before: usb-next
.. _install-on-target:
Install |CL| on your target system
**********************************
We formatted the previously created USB drive as a UEFI boot device. Our
target system has a hard drive installed containing a single primary
partition. The target system needs a wired Internet connection with DHCP.
Follow these steps to install |CL| on the target system:
#. Insert the USB drive into an available USB slot.
#. Power on the system.
#. Open the system BIOS setup menu by pressing the :kbd:`F2` key.
Your BIOS setup menu entry point may vary.
#. In the setup menu, enable the UEFI boot and set the USB drive as the first
option in the device boot order.
#. Save these settings and exit.
#. Reboot the target system.
#. The |CL| boot menu will start as shown in figure 1.
Select :guilabel:`Clear Linux OS` and press the
:kbd:`Enter` key or wait five seconds to automatically select it.
.. figure:: figures/bare-metal-install-1.png
:scale: 50 %
:alt: Boot menu
Figure 1: :guilabel:`Boot menu`
#. This will take you into the |CL| installer menu as shown in figure 2 and explains how to
navigate through the |CL| installer setup menus.
.. figure:: figures/bare-metal-install-2.png
:scale: 50 %
:alt: Installer menu
Figure 2: :guilabel:`Installer menu`
Press the :kbd:`Enter` key.
#. The :guilabel:`Keyboard selection` menu shown in figure 3 allows you to set
up the keyboard layout that you will be using to navigate within the |CL|
installer setup menus.
.. figure:: figures/bare-metal-install-3.png
:scale: 50 %
:alt: Keyboard Selection
Figure 3: :guilabel:`Keyboard Selection`
For this guide we will select :menuselection:`Keyboard Selection -->
< * us >` for the keyboard mapping, which should already be highlighted.
Press the :kbd:`Enter` key to continue to the next menu.
Network requirements
====================
The :guilabel:`Network Requirements` menu, the first step of the |CL|
installer setup process, will attempt to connect to the |CL| update server
where the installer image is located. Once the connection to the |CL| update
server is established, you will see a screen similar to the one shown in
figure 4.
.. figure:: figures/bare-metal-install-4.png
:scale: 50 %
:alt: Network Requirements
Figure 4: :guilabel:`Network Requirements`
If you need to configure any :guilabel:`Proxy Settings` to gain access to the
update server, enter the appropriate address and port of your proxy server in
the :guilabel:`HTTPS proxy:` field. Select the :guilabel:`< Set proxy
configuration >` button and press :kbd:`Enter`. You will then see the
connection to the update server established.
Optionally, set up a :guilabel:`static IP configuration` to your |CL|
installer image. Enter the required information in the :guilabel:`Interface`,
:guilabel:`IP address`, :guilabel:`Subnet mask`, :guilabel:`Gateway` and
:guilabel:`DNS` fields and then select the :guilabel:`< Set static IP
configuration >` button and press the :kbd:`Enter` key.
The information displayed in the lower right quadrant of the screen shows the
current IP configuration for the |CL| update server where the installer image
is located.
.. note::
If you are having difficulty establishing a connection to the update server
and you see the message :guilabel:`none detected, install will fail`, you
can press the :kbd:`Tab` key to highlight the :guilabel:`< Refresh >`
button and press :kbd:`Enter` to attempt to reconnect to the |CL| update
server. If this fails to establish a connection after multiple attempts,
reboot your system and return to this step.
Once the connection to the |CL| udpate server is established, use the
:kbd:`Tab` key to advance to the :guilabel:`< Next >` button and press
:kbd:`Enter` to advance to the next |CL| installer setup menu.
Choose |CL| installer action
============================
The :guilabel:`Choose Action` menu is where you can choose to install, repair,
open a shell, or exit the |CL| installer. This menu is shown in figure 5.
.. figure:: figures/bare-metal-install-5.png
:scale: 50 %
:alt: Choose Action
Figure 5: :guilabel:`Choose Action`
#. Select the :menuselection:`Choose action --> Install` menu item to continue
the installation process.
The :menuselection:`Choose action --> Repair` menu option will run the
:command:`swupd --fix` command to correct any issues found with the system
software that has already been installed on your system and correct any
issues found by overwriting the incorrect file content, adding missing
files, fixing permissions and any additional changes required to return the
file to it's original content and permissions.
The :menuselection:`Choose action --> Shell` menu item opens a terminal
session on your system as the root user and you will be able to manage your
system from this console. When you are finished, type :command:`exit` to
return to the :guilabel:`Choose Action` menu.
The :menuselection:`Choose action --> Exit` menu option terminates the |CL|
installation process and the system will shut down.
#. You will be prompted to join the :guilabel:`Stability Enhancement Program`
as shown in figure 6. Press the :kbd:`Spacebar` or :kbd:`Enter` key until
the cursor appears in the :guilabel:`[ ] Yes.` button. Press tab to highlight :guilabel:`< Next >`, and select Enter to advance.
.. figure:: figures/bare-metal-install-6.png
:scale: 50 %
:alt: Stability Enhancement Program
Figure 6: :guilabel:`Stability Enhancement Program`
If you choose not to enable this functionality during this step, you can
install the ``telemetrics`` software bundle at a later time. As stated in
the menu, this feature only collects anonymous information about your
system to help improve system stability and no personally identifiable
information is collected. Please visit our website to
`learn more about telemetry.`_
Choose |CL| installation type
*****************************
Figure 7 shows the next step of the |CL| installer:
:guilabel:`Choose installation Type`. Chose whether to install |CL|
**automatically** or **manually**. To end the installer process and shut down
the system, select the :guilabel:`< Exit >` button.
.. figure:: figures/bare-metal-install-7.png
:scale: 50 %
:alt: Choose installation type
Figure 7: :guilabel:`Choose installation Type`
If you select :guilabel:`< Automatic >` as the installation type, the |CL|
Installer will add the minimum amount of functionality required for a fully
functional |CL| system. You will not be able to modify the disk layout, add
a user or any other tasks that the manual installation process will allow.
With the :guilabel:`< Manual(Advanced) >` option, you can do the following
additional tasks during |CL| Installer setup:
* Modify the disk layout using the cgdisk utility.
* Add additional command-line parameters to the kernel.
* Create a hostname for your system.
* Create an administrative user.
* Add additional software bundles to enhance the functionality of your initial
|CL| installation.
* Optionally, set up a static IP address for your system.
If you want to perform any of these additional tasks, select the
:guilabel:`< Manual(Advanced) >` menu item and follow the steps in our
:ref:`bare-metal-manual-install` to complete the |CL| manual installation
process. Otherwise, you can follow the |CL| automatic installation steps.
|CL| automatic installation
***************************
#. To install the minimum components for your |CL| implementation, select the
:guilabel:`< Automatic >` menu item shown in figure 7 and press the
:kbd:`Enter` key.
The :guilabel:`Choose target device for installation` screen shown in figure 8 appears.
#. Move the cursor to the desired target and press the :kbd:`Enter`
key.
.. figure:: figures/bare-metal-install-8.png
:scale: 50 %
:alt: Choose target device for installation
Figure 8: :guilabel:`Choose target device for installation`
In this example, we selected the single primary partition from our hard drive.
With all the |CL| installer setup information gathered for the automatic
installation option, the |CL| Installer prompts you to begin the actual
installation as shown in figure 9.
.. figure:: figures/bare-metal-install-9.png
:scale: 50 %
:alt: Begin installation
Figure 9: :guilabel:`Begin installation`
#. When you are satisfied with the information you have entered, select the
:guilabel:`< Yes >` button and press :kbd:`Enter` to begin installing |CL|.
|CL| Installation begins and each step shows its status as it progresses
through the automated installation process.
Once all steps have completed, you will see the :guilabel:`Successful
installation` status message and the :guilabel:`< Ok >` button is highlighted as shown in figure 10.
#. Press the :kbd:`Enter` key to continue.
.. figure:: figures/bare-metal-install-10.png
:scale: 50 %
:alt: Installation complete
Figure 10: :guilabel:`Installation complete`
Figure 11 shows the final installer screen, showing that the
installation completed successfully and the system will reboot.
#. Press the :kbd:`Enter` key and remove the USB media while the system
restarts.
.. figure:: figures/bare-metal-install-11.png
:scale: 50 %
:alt: Successful installation
Figure 11: :guilabel:`Successful Installation`
Set up your root account
========================
Once the |CL| installation is complete and the system boots, a full screen
console requests your login as shown in figure 12:
.. figure:: figures/bare-metal-install-12.png
:scale: 50 %
:alt: Login screen
Figure 12: :guilabel:`Login screen`
#. At the initial login prompt, enter: ``root``
#. Once prompted, enter a new password.
#. Re-enter the password to verify it.
You have now set your root password and are logged in with root privileges.
**Congratulations!**
You have successfully installed |CL| on a bare metal system using the
automatic installation method and set the password for the ``root`` user.
Next steps
**********
The automatic installation of |CL| is designed to install with minimal
software overhead. Some housekeeping and package installations could be
needed before you can take full advantage of the |CL| operating system.
See the :ref:`enable-user-space` guide for additional information and
instructions.
.. _`information about stateless`:
https://clearlinux.org/features/stateless
.. _`learn more about telemetry.`:
https://clearlinux.org/features/telemetry
.. _`NUC6i5SYH product page`:
http://www.intel.com/content/www/us/en/nuc/nuc-kit-nuc6i5syh.html
.. _image: https://download.clearlinux.org/image

Some files were not shown because too many files have changed in this diff Show More