Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d919a7ebab |
@@ -4,6 +4,3 @@ source/_build
|
||||
*.swp
|
||||
*~
|
||||
.*~
|
||||
|
||||
# ignore VS code settings
|
||||
.vscode/
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 34 KiB |
@@ -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`
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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
|
||||
|
After Width: | Height: | Size: 663 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 7.7 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 519 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 7.6 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 9.6 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
|
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
|
||||
|
||||
|
Before Width: | Height: | Size: 100 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 196 KiB |
|
Before Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 60 KiB |
|
Before Width: | Height: | Size: 75 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
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
|
||||
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 92 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 78 KiB |
|
Before Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 81 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 195 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 80 KiB |
|
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
|
||||