Files
Kevin Putnam 319727628b First commit
Signed-off-by: Kevin Putnam <kevin.putnam@intel.com>
2019-07-29 14:35:12 -07:00

1285 lines
98 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="zh-CN" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="zh-CN" > <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Use the function multi-version patch generator &mdash; Documentation for Clear Linux* project</title>
<script type="text/javascript" src="../_static/js/modernizr.min.js"></script>
<script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/translations.js"></script>
<script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<script type="text/javascript" src="../_static/js/theme.js"></script>
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="author" title="关于这些文档" href="../about.html" />
<link rel="index" title="索引" href="../genindex.html" />
<link rel="search" title="搜索" href="../search.html" />
<link rel="next" title="Create and launch Clear Linux* OS from Amazon Web Services" href="aws-web/aws-web.html" />
<link rel="prev" title="Set up a single node cluster with Hadoop*" href="hadoop.html" />
<link rel="stylesheet" href="../_static/tcs_theme.css" type="text/css" />
</head>
<body class="wy-body-for-nav">
<div class="wy-grid-for-nav">
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" style="background: #007ab2" >
<a href="../index.html" class="icon icon-home"> Clear Linux* Project Docs
<img src="../_static/clearlinux.png" class="logo" alt="Logo"/>
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Clear Linux</span>
v: latest
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<dl>
<dt>Language Versions</dt>
<dd><a href="/clearlinux/latest/tutorials/fmv.html">English</a></dd>
<dd><a href="/clearlinux/latest/zh_CN/tutorials/fmv.html">Chinese</a></dd>
</dl>
<dl>
<dt>Document Versions</dt>
<dd><a href="/clearlinux/latest/tutorials/fmv.html">latest</a></dd>
<dd><a href="/clearlinux/L19.01/tutorials/fmv.html">L19.01</a></dd>
</dl>
<dl>
<dt>clearlinux.org links</dt>
<dd>
<a href="https://www.clearlinux.org/">Project Home</a>
</dd>
<dd>
<a href="https://github.com/clearlinux/clear-linux-documentation">GitHub</a>
</dd>
</dl>
</div>
</div>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../get-started/get-started.html">开始使用</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../get-started/get-started.html#pre-install">安装前</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/compatibility-check.html">检查处理器和 EFI 固件的兼容性</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/compatibility-check.html#check-compatibility">检查兼容性</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/bootable-usb/bootable-usb.html">创建可引导 U 盘</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bootable-usb/bootable-usb.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bootable-usb/bootable-usb.html#create-a-bootable-usb-drive-on-linux">在 Linux* 上创建可引导 U 盘</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bootable-usb/bootable-usb.html#create-a-bootable-usb-drive-on-macos">在 macOS* 上创建可引导 U 盘</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bootable-usb/bootable-usb.html#create-a-bootable-usb-drive-on-windows">在 Windows* 上创建可引导 U 盘</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/get-started.html#install">安装</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html">Install Clear Linux* OS from the live desktop</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#system-requirements">System requirements</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#preliminary-steps">Preliminary steps</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#install-from-live-image">Install from live image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#minimum-installation-requirements">Minimum installation requirements</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#cl-desktop-installer">Clear Linux OS Desktop Installer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#navigation">Navigation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#required-options">Required options</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#advanced-options">Advanced options</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#finish-installation">Finish installation</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html">Install Clear Linux* OS on bare metal with live server</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#system-requirements">System requirements</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#download-the-latest-cl-live-server-image">Download the latest Clear Linux OS live server image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#install-cl-on-your-target-system">Install Clear Linux OS on your target system</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#launch-the-cl-installer">Launch the Clear Linux OS Installer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#minimum-installation-requirements">Minimum installation requirements</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#main-menu">Main Menu</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#navigation">Navigation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#required-options">Required options</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#recommended-options">Recommended options</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#advanced-options">Advanced options</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#finish-installation">Finish installation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/bare-metal-install-server/bare-metal-install-server.html#troubleshooting">Troubleshooting</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/install-configfile.html">利用 clr-installer 和配置文件安装</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/install-configfile.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/install-configfile.html#process">流程</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/install-configfile.html#references">参考</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../get-started/get-started.html#install-in-a-virtual-machine">在虚拟机上安装</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/gce.html">在 Google Cloud Platform* 上启动 Clear Linux* OS Compute Engine</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/gce.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/gce.html#setup-cl-vm-on-gcp">在 GCP 上安装 Clear Linux OS 虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/gce.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/hyper-v.html">使用 Hyper-V*</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/hyper-v.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/hyper-v.html#enable-hyper-v">启用 Hyper-V</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/hyper-v.html#create-a-virtual-network">创建虚拟网络</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/hyper-v.html#create-a-virtual-machine">创建虚拟机</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/kvm.html">运行 Clear Linux* OS用作 KVM 来宾操作系统</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/kvm.html#install-qemu-kvm">安装 QEMU-KVM</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/kvm.html#download-and-launch-the-virtual-machine">下载并开启虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/kvm.html#ssh-access-into-the-virtual-machine">通过 SSH 访问虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/kvm.html#optional-add-the-gnome-display-manager-gdm">可选:添加 GNOME Display Manager (GDM)</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html">在 VirtualBox* 中安装 Clear Linux* OS 虚拟机</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html#prerequisites">必备条件</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html#download-and-extract-the-cl-installer-iso">下载并解压缩 Clear Linux OS 安装程序 ISO</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html#create-a-new-vb-virtual-machine">创建新的 VirtualBox 虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html#install-cl-on-the-vb-vm">在 VirtualBox 虚拟机上安装 Clear Linux OS。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/virtualbox-cl-installer.html#troubleshooting">故障排除</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html">安装 Clear Linux* OS 用作 Vmware* Workstation Player 来宾操作系统</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#install-the-vmware-workstation-player-hypervisor">安装 VMware Workstation Player 虚拟机管理程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#download-the-latest-cl-installer">下载最新的 Clear Linux OS 安装程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#install-cl-into-the-new-vm">将 Clear Linux OS 安装至新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#detach-the-cl-installer-iso-from-the-vm">从虚拟机断开 Clear Linux OS 安装程序 ISO</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#enable-uefi-boot-support">启用 UEFI 引导支持</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html">运行预配置的 Clear Linux* OS 映像,用作 VMware* Workstation Player 来宾操作系统</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#install-the-vmware-workstation-player-hypervisor">安装 VMware Workstation Player 虚拟机管理程序</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#download-the-latest-cl-vmware-image">下载最新的 Clear Linux OS VMware 映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#image-types">映像类型</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#attach-the-pre-configured-cl-vmware-image">挂载预配置的 Clear Linux OS Vmware 映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#enable-uefi-boot-support">启用 UEFI 引导支持</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#power-on-the-vm">开启虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmw-player-preconf.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html">安装 Clear Linux* OS用作 VMware* ESXi 来宾操作系统</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#download-the-latest-cl-installer-iso">下载最新的 Clear Linux OS 安装程序 ISO</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#upload-the-cl-installer-iso-to-the-vmware-server">将 Clear Linux OS 安装程序 ISO 上传至 VMware 服务器</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#install-cl-into-the-new-vm">将 Clear Linux OS 安装至新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#reconfigure-the-vm-s-settings-to-boot-the-newly-installed-cl">重新配置虚拟机设置,以引导新安装的 Clear Linux OS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#power-on-the-vm-and-boot-cl">开启虚拟机,引导 Clear Linux OS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-install-cl.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html">Run preconfigured Clear Linux* OS image as a VMware* ESXi guest OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#overview">概述</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#download-the-latest-cl-vmware-image">下载最新的 Clear Linux OS VMware 映像</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#upload-the-cl-image-to-the-vmware-server">将 Clear Linux OS 映像上传至 VMware 服务器</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#convert-the-cl-image-to-an-esxi-supported-format">将 Clear Linux OS 映像转换为 ESXi 支持的格式。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#create-and-configure-a-new-vm">创建并配置新虚拟机</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#power-on-the-vm-and-boot-cl">开启虚拟机,引导 Clear Linux OS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../get-started/virtual-machine-install/vmware-esxi-preconfigured-cl-image.html#related-topics">相关主题</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html">增加图像的虚拟磁盘大小</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html#determine-the-partition-order-and-sizes-of-the-prebuilt-image">确定预构建映像的分区顺序和大小。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html#id2">增加虚拟磁盘大小</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../about.html">About</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../about.html#training">Training</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../guides/guides.html">Guides</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../guides/guides.html#clear-linux">Clear Linux</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/autoproxy.html">Autoproxy</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autoproxy.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autoproxy.html#how-it-works">How it works</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/autospec.html">autospec</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#how-it-works">How it works</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#examples">Examples</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#test-packaged-software">Test packaged software</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#references">References</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/autospec.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/compatible-kernels.html">Kernels</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/compatible-kernels.html#bare-metal-only">Bare metal only</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/compatible-kernels.html#also-compatible-with-vms">Also compatible with VMs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/compatible-kernels.html#vm-only">VM only</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/debug.html">Debug system</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/debug.html#background">Background</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/debug.html#usage">Usage</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/debug.html#implementation">Implementation</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/ister.html">ister.py image builder</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/ister.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/ister.html#examples">Examples</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/ister.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/mixer.html">mixer</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#how-it-works">How it works</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#examples">Examples</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#references">References</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/mixer.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/security.html">OS Security</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-updates">Security in updates</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-software">Security in software</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-system-design">Security in system design</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/stateless.html">Stateless</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#file-level-separation">File-level separation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#software-configuration">Software configuration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#system-reset">System reset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#additional-information">Additional information</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/swupd-guide.html">swupd</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd-guide.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd-guide.html#how-it-works">How it works</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd-guide.html#examples">Examples</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd-guide.html#quick-reference">Quick reference</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/swupd-guide.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/telemetrics/telem-guide.html">Telemetrics</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/telemetrics/telem-guide.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/telemetrics/telem-guide.html#how-to-use">How to use</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/telemetrics/telem-guide.html#examples">Examples</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/telemetrics/telem-guide.html#reference">Reference</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../guides/guides.html#maintenance">Maintenance</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html">Architect the life-cycle of Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#content-workflow">Content Workflow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#release-workflow">Release Workflow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/architect-lifecycle.html#implementation">Implementation</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/assign-static-ip.html">Assign a static IP address</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/assign-static-ip.html#identify-which-program-is-managing-the-interface">Identify which program is managing the interface</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/assign-static-ip.html#using-networkmanager">Using NetworkManager</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/assign-static-ip.html#using-systemd-networkd">Using systemd-networkd</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/bulk-provision.html">Bulk provision</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/bulk-provision.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/bulk-provision.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/bulk-provision.html#configuration">Configuration</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/cpu-performance.html">CPU Power and Performance</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#cpu-power-saving-mechanisms">CPU power saving mechanisms</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#linux-cpu-clock-frequency-scaling">Linux CPU clock frequency scaling</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/cpu-performance.html#thermal-management">Thermal management</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/developer-workstation.html">Developer Workstation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/developer-workstation.html#workstation-setup">Workstation Setup</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/developer-workstation.html#swupd-search">swupd search</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/developer-workstation.html#core-concepts">Core Concepts</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html">Download, verify, and decompress a Clear Linux* OS image</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#linux-os-steps">Linux OS steps</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#macos-steps">macOS* steps</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#windows-os-steps">Windows* OS steps</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/download-verify-decompress.html#image-types">Image types</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/enable-user-space.html">Create and enable a new user space</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#create-a-new-user">Create a new user</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#add-the-new-user-to-the-wheel-group">Add the new user to the <em>wheel</em> group</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#install-and-update-the-os-software-to-its-current-version">Install and update the OS software to its current version</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#add-a-bundle">Add a bundle</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/enable-user-space.html#next-steps">Next steps</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html">Fix a broken installation</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#boot-a-live-desktop-image-to-fix-target-system">Boot a live desktop image to fix target system</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#install-from-live-image">Install from live image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/fix-broken-install.html#mount-root-partition-verify-and-fix">Mount root partition, verify, and fix</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/hostname.html">Modify hostname</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/hostname.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/hostname.html#set-your-hostname">Set your hostname</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/hostname.html#view-your-hostname">View your hostname</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html">增加图像的虚拟磁盘大小</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html#determine-the-partition-order-and-sizes-of-the-prebuilt-image">确定预构建映像的分区顺序和大小。</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/increase-virtual-disk-size.html#id2">增加虚拟磁盘大小</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/query-upstream.html">Query package info from upstream repository</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#configure-dnf">Configure DNF</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/query-upstream.html#dnf-command-usage-examples">DNF command usage examples</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/resource-limits.html">Resource limits</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/resource-limits.html#system-wide-limits">System-wide limits</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/resource-limits.html#per-user-limits">Per-user limits</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/resource-limits.html#service-limits">Service limits</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/restart.html">Restart system services after an OS update</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#how-it-works">How it works</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#basic-options">Basic options</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#monitor-options">Monitor options</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#example">Example</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#telemetry">Telemetry</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/restart.html#conclusion">Conclusion</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/time.html">Set the time</a></li>
<li class="toctree-l3"><a class="reference internal" href="../guides/maintenance/validate-signatures.html">Validate signatures</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/validate-signatures.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/validate-signatures.html#image-content-validation">Image content validation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/maintenance/validate-signatures.html#update-content-validation">Update content validation</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/deploy-at-scale.html">Deploy at Scale</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/deploy-at-scale.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/deploy-at-scale.html#pick-a-usage-and-update-strategy">Pick a usage and update strategy</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/deploy-at-scale.html#pick-an-image-distribution-strategy">Pick an image distribution strategy</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/deploy-at-scale.html#considerations-with-stateless-systems">Considerations with stateless systems</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../guides/guides.html#network">Network</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../guides/network/custom-clear-container.html">Build a custom Clear Linux* OS based Docker container image</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/custom-clear-container.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/custom-clear-container.html#build-the-base-container-image">Build the base container image</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/custom-clear-container.html#manage-bundles-in-a-container">Manage bundles in a container</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/network/dpdk.html">Use DPDK to send packets between platforms</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#install-dpdk-and-build-l3fwd-example-platform-b">Install dpdk and build l3fwd example (Platform B)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#build-pktgen-platform-a">Build pktgen (Platform A)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#bind-nics-to-dpdk-kernel-drivers-platforms-a-and-b">Bind NICs to DPDK kernel drivers (Platforms A and B)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#set-hugepages-platforms-a-and-b">Set hugepages (Platforms A and B)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#set-up-the-physical-environment-platforms-a-and-b">Set up the physical environment (Platforms A and B)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#run-l3fwd-application-platform-b">Run l3fwd application (Platform B)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#run-pktgen-application-platform-a">Run pktgen application (Platform A)</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/dpdk.html#appendix-a-use-pass-through-for-virtual-machines">Appendix A: Use pass-through for virtual machines</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/network/ipxe-install.html">Install over the network with iPXE</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/ipxe-install.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/ipxe-install.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/ipxe-install.html#configuration">Configuration</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/network/network-bonding.html">Combine multiple interfaces with network bonding</a></li>
<li class="toctree-l3"><a class="reference internal" href="../guides/network/vnc.html">Remote-desktop to a host using VNC</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#install-the-vnc-server-and-misc-components-on-your-host">Install the VNC server and misc. components on your host</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#configure-a-vnc-server-start-method-on-your-host">Configure a VNC-server-start method on your host</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#install-a-vnc-viewer-app-and-an-ssh-client-on-your-client-system">Install a VNC viewer app and an SSH client on your client system</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#establish-a-vnc-connection-to-your-host">Establish a VNC connection to your host</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#terminate-a-vnc-connection-to-your-host">Terminate a VNC connection to your host</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/network/vnc.html#encrypt-vnc-traffic-through-an-ssh-tunnel">Encrypt VNC traffic through an SSH tunnel</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../guides/guides.html#kernel">Kernel</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../guides/kernel/kernel-development.html">Kernel development</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#request-changes-be-included-with-the-cl-kernel">Request changes be included with the Clear Linux OS kernel</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#set-up-kernel-development-environment">Set up kernel development environment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#customize-the-linux-kernel-source">Customize the Linux kernel source</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#build-and-install-the-kernel">Build and install the kernel</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-development.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/kernel/kernel-modules.html">Add kernel modules manually</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#kernel-module-availability">Kernel module availability</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#build-install-and-load-an-out-of-tree-module">Build, install, and load an out-of-tree module</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#examples">Examples</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules.html#related-topic">Related topic</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html">Add kernel modules with DKMS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#description">Description</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#kernel-module-availability">Kernel module availability</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#install-dkms">Install DKMS</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#build-install-and-load-an-out-of-tree-module">Build, install, and load an out-of-tree module</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#examples">Examples</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/kernel/kernel-modules-dkms.html#related-topics">Related topics</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../guides/guides.html#stacks">Stacks</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../guides/stacks/dars.html">Data Analytics Reference Stack</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dars.html#the-data-analytics-reference-stack-release">The Data Analytics Reference Stack release</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dars.html#using-the-docker-images">Using the Docker images</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dars.html#building-dars-images">Building DARS images</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/stacks/greengrass.html">Enable AWS Greengrass* and OpenVINO™ toolkit</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#supported-platforms">Supported platforms</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#install-the-os-on-the-edge-device">Install the OS on the edge device</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#configure-aws-greengrass-group">Configure AWS Greengrass group</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#create-and-package-lambda-function">Create and package Lambda function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#configure-lambda-function">Configure Lambda function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#deploy-lambda-function">Deploy Lambda function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/greengrass.html#references">References</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html">Deep Learning Reference Stack</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#overview">Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#tensorflow-single-and-multi-node-benchmarks">TensorFlow single and multi-node benchmarks</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#pytorch-single-and-multi-node-benchmarks">PyTorch single and multi-node benchmarks</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#kubeflow-multi-node-benchmarks">Kubeflow multi-node benchmarks</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#use-jupyter-notebook">Use Jupyter Notebook</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#uninstallation">Uninstallation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/stacks/dlrs/dlrs.html#related-topics">Related topics</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1 current"><a class="reference internal" href="tutorials.html">Tutorials</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="wordpress/wordpress.html">WordPress* on Clear Linux* OS</a><ul>
<li class="toctree-l3"><a class="reference internal" href="wordpress/web-server-install.html">Set up a LAMP web server on Clear Linux* OS</a><ul>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#install-apache">Install Apache</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#change-the-default-configuration-and-data-directory">Change the default configuration and data directory</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#install-php">Install PHP</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#install-mariadb">Install MariaDB</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#install-phpmyadmin">Install phpMyAdmin</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#use-phpmyadmin-to-manage-a-database">Use phpMyAdmin to manage a database</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/web-server-install.html#next-steps">Next steps</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="wordpress/wp-install.html">Set up WordPress* on a LAMP web server</a><ul>
<li class="toctree-l4"><a class="reference internal" href="wordpress/wp-install.html#before-you-begin">Before you begin</a></li>
<li class="toctree-l4"><a class="reference internal" href="wordpress/wp-install.html#create-a-wordpress-server">Create a WordPress server</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="flatpak/flatpak.html">Use Flatpak* to install applications on Clear Linux* OS</a><ul>
<li class="toctree-l3"><a class="reference internal" href="flatpak/flatpak.html#before-you-begin">Before you begin</a><ul>
<li class="toctree-l4"><a class="reference internal" href="flatpak/flatpak.html#install-flatpak-on-your-host-system">Install Flatpak on your host system</a></li>
<li class="toctree-l4"><a class="reference internal" href="flatpak/flatpak.html#install-and-run-the-libreoffice-flatpak-image">Install and run the LibreOffice Flatpak image</a></li>
<li class="toctree-l4"><a class="reference internal" href="flatpak/flatpak.html#launch-libreoffice">Launch LibreOffice</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="machine-learning/machine-learning.html">TensorFlow* machine learning on Clear Linux* OS</a><ul>
<li class="toctree-l3"><a class="reference internal" href="machine-learning/machine-learning.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="machine-learning/machine-learning.html#set-up-a-jupyter-notebook">Set up a Jupyter notebook</a></li>
<li class="toctree-l3"><a class="reference internal" href="machine-learning/machine-learning.html#run-the-jupyter-machine-learning-example-code">Run the Jupyter machine learning example code</a></li>
<li class="toctree-l3"><a class="reference internal" href="machine-learning/machine-learning.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="docker/docker.html">Run Docker* on Clear Linux* OS</a><ul>
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#install-the-containers-basic-bundle">Install the containers-basic bundle</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#integration-with-kata-containers-optional">Integration with Kata Containers* (optional)</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#additional-docker-configuration">Additional Docker configuration</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#pulling-and-running-an-image-from-docker-hub">Pulling and running an image from Docker Hub</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#creating-a-docker-swarm-cluster">Creating a Docker swarm cluster</a></li>
<li class="toctree-l3"><a class="reference internal" href="docker/docker.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="azure.html">Run Clear Linux* OS using Microsoft Azure CLI 2.0</a><ul>
<li class="toctree-l3"><a class="reference internal" href="azure.html#install-ms-azure-cli-2-0-on-cl">Install MS Azure CLI 2.0 on Clear Linux OS</a></li>
<li class="toctree-l3"><a class="reference internal" href="azure.html#log-into-your-microsoft-azure-account">Log into your Microsoft Azure account</a></li>
<li class="toctree-l3"><a class="reference internal" href="azure.html#create-a-ms-azure-resource-group">Create a MS Azure resource group</a></li>
<li class="toctree-l3"><a class="reference internal" href="azure.html#create-and-log-into-the-cl-virtual-machine">Create and log into the Clear Linux OS virtual machine</a></li>
<li class="toctree-l3"><a class="reference internal" href="azure.html#stop-and-deallocate-the-cl-vm-and-resources">Stop and deallocate the Clear Linux OS VM and resources</a></li>
<li class="toctree-l3"><a class="reference internal" href="azure.html#next-steps">Next steps</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="hadoop.html">Set up a single node cluster with Hadoop*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#install-apache-hadoop">Install Apache Hadoop</a></li>
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#configure-apache-hadoop">Configure Apache Hadoop</a></li>
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#configure-your-ssh-key">Configure your SSH key</a></li>
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#run-the-hadoop-daemons">Run the Hadoop daemons</a></li>
<li class="toctree-l3"><a class="reference internal" href="hadoop.html#run-the-mapreduce-wordcount-example">Run the MapReduce wordcount example</a></li>
</ul>
</li>
<li class="toctree-l2 current"><a class="current reference internal" href="#">Use the function multi-version patch generator</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#install-and-configure-a-cl-host-on-bare-metal">Install and configure a Clear Linux OS host on bare metal</a></li>
<li class="toctree-l3"><a class="reference internal" href="#detect-loop-vectorization-candidates">Detect loop vectorization candidates</a></li>
<li class="toctree-l3"><a class="reference internal" href="#generate-the-fmv-patch">Generate the FMV patch</a></li>
<li class="toctree-l3"><a class="reference internal" href="#fft-project-example-using-fftw">FFT project example using FFTW</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="aws-web/aws-web.html">Create and launch Clear Linux* OS from Amazon Web Services</a><ul>
<li class="toctree-l3"><a class="reference internal" href="aws-web/aws-web.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="aws-web/aws-web.html#locate-select-and-launch-the-cl-basic-ami">Locate, select, and launch the Clear Linux OS Basic AMI</a></li>
<li class="toctree-l3"><a class="reference internal" href="aws-web/aws-web.html#connect-to-your-clear-linux-os-basic-instance">Connect to your Clear Linux OS Basic instance</a></li>
<li class="toctree-l3"><a class="reference internal" href="aws-web/aws-web.html#update-the-cl-instance">Update the Clear Linux OS instance</a></li>
<li class="toctree-l3"><a class="reference internal" href="aws-web/aws-web.html#stop-the-cl-instance">Stop the Clear Linux OS instance</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="smb/smb.html">Enable simple file sharing with a Windows* machine using Samba*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="smb/smb.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="smb/smb.html#set-up-file-sharing">Set up file sharing</a></li>
<li class="toctree-l3"><a class="reference internal" href="smb/smb.html#map-cl-drive-in-windows">Map Clear Linux OS drive in Windows</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="smb/smb-desktop.html">Connect to Windows* shared location from Clear Linux* OS desktop</a><ul>
<li class="toctree-l3"><a class="reference internal" href="smb/smb-desktop.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="smb/smb-desktop.html#connect-to-windows-shared-location-with-nautilus">Connect to Windows shared location with Nautilus</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="spark.html">Set up a standalone cluster system using Apache* Spark*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="spark.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="spark.html#install-apache-spark">Install Apache Spark</a></li>
<li class="toctree-l3"><a class="reference internal" href="spark.html#configure-apache-spark">Configure Apache Spark</a></li>
<li class="toctree-l3"><a class="reference internal" href="spark.html#start-the-master-server-and-a-worker-daemon">Start the master server and a worker daemon</a></li>
<li class="toctree-l3"><a class="reference internal" href="spark.html#run-the-spark-wordcount-example">Run the Spark wordcount example</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="kata.html">Install Kata Containers*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="kata.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="kata.html#id1">Install Kata Containers</a></li>
<li class="toctree-l3"><a class="reference internal" href="kata.html#run-kata-containers">Run Kata Containers</a></li>
<li class="toctree-l3"><a class="reference internal" href="kata.html#more-information-about-docker">More information about Docker</a><ul>
<li class="toctree-l4"><a class="reference internal" href="kata.html#troubleshooting">Troubleshooting</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="kata_migration.html">Migrate Clear Containers to Kata Containers*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="kata_migration.html#stop-clear-containers-instances">Stop Clear Containers instances</a></li>
<li class="toctree-l3"><a class="reference internal" href="kata_migration.html#manually-migrate-customized-configuration-files">Manually migrate customized configuration files</a></li>
<li class="toctree-l3"><a class="reference internal" href="kata_migration.html#enable-kata-containers-as-default">Enable Kata Containers as default</a></li>
<li class="toctree-l3"><a class="reference internal" href="kata_migration.html#run-kata-containers">Run Kata Containers</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="kubernetes/kubernetes.html">Run Kubernetes*</a><ul>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#install-kubernetes-and-cri-runtimes">Install Kubernetes and CRI runtimes</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#configure-kubernetes">Configure Kubernetes</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#configure-and-run-kubernetes">Configure and run Kubernetes</a><ul>
<li class="toctree-l4"><a class="reference internal" href="kubernetes/kubernetes.html#configure-and-run-cri-o-kata-runtime">Configure and run CRI-O + kata-runtime</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#install-pod-network-add-on">Install pod network add-on</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#use-your-cluster">Use your cluster</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#related-topics">Related topics</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#cloud-native-setup-automation-optional">Cloud native setup automation (optional)</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#package-configuration-customization-optional">Package configuration customization (optional)</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#proxy-configuration-optional">Proxy configuration (optional)</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#next-steps">Next steps</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes.html#troubleshooting">Troubleshooting</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="kubernetes/kubernetes-bp.html">Kubernetes Best Practices on Clear Linux OS</a><ul>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes-bp.html#use-swupd-to-update-clusters">Use swupd to update clusters</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes-bp.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes-bp.html#update-the-control-plane">Update the control plane</a></li>
<li class="toctree-l3"><a class="reference internal" href="kubernetes/kubernetes-bp.html#update-worker-nodes">Update worker nodes</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="yubikey-u2f.html">Enable YubiKey U2F Support</a><ul>
<li class="toctree-l3"><a class="reference internal" href="yubikey-u2f.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="yubikey-u2f.html#enable-linux-udev-rules-for-yubikey">Enable Linux udev rules for YubiKey</a></li>
<li class="toctree-l3"><a class="reference internal" href="yubikey-u2f.html#enable-u2f-in-mozilla-firefox">Enable U2F in Mozilla Firefox</a></li>
<li class="toctree-l3"><a class="reference internal" href="yubikey-u2f.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nvidia.html">Install NVIDIA* Drivers</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#install-dkms">Install DKMS</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#download-and-install-the-nvidia-drivers">Download and install the NVIDIA drivers</a><ul>
<li class="toctree-l4"><a class="reference internal" href="nvidia.html#download-the-nvidia-drivers-for-linux">Download the NVIDIA drivers for Linux</a></li>
<li class="toctree-l4"><a class="reference internal" href="nvidia.html#disable-the-nouveau-driver">Disable the nouveau driver</a></li>
<li class="toctree-l4"><a class="reference internal" href="nvidia.html#configure-alternative-software-paths">Configure alternative software paths</a></li>
<li class="toctree-l4"><a class="reference internal" href="nvidia.html#install-the-nvidia-drivers">Install the NVIDIA drivers</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#updating-the-nvidia-drivers">Updating the NVIDIA drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#uninstalling-the-nvidia-drivers">Uninstalling the NVIDIA drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#debugging-installation-of-nvidia-drivers">Debugging installation of NVIDIA drivers</a></li>
<li class="toctree-l3"><a class="reference internal" href="nvidia.html#additional-resources">Additional resources</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="redis.html">Run Redis on Clear Linux* OS</a><ul>
<li class="toctree-l3"><a class="reference internal" href="redis.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="redis.html#install-the-redis-bundle">Install the redis bundle</a></li>
<li class="toctree-l3"><a class="reference internal" href="redis.html#start-the-redis-server">Start the redis-server</a></li>
<li class="toctree-l3"><a class="reference internal" href="redis.html#example-1-use-the-redis-cli-and-try-commands">Example 1: Use the redis-cli and try commands</a></li>
<li class="toctree-l3"><a class="reference internal" href="redis.html#example-2-run-the-cl-redis-docker-image">Example 2: Run the Clear Linux OS redis docker image</a></li>
<li class="toctree-l3"><a class="reference internal" href="redis.html#next-steps">Next Steps</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="tutorial-proxy.html">Setting up proxy</a><ul>
<li class="toctree-l3"><a class="reference internal" href="tutorial-proxy.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="tutorial-proxy.html#shells-and-programs-in-a-desktop-session">Shells and programs in a desktop session</a><ul>
<li class="toctree-l4"><a class="reference internal" href="tutorial-proxy.html#terminal">Terminal</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="tutorial-proxy.html#wget">wget</a></li>
<li class="toctree-l3"><a class="reference internal" href="tutorial-proxy.html#system-service-docker">System service (Docker)</a></li>
<li class="toctree-l3"><a class="reference internal" href="tutorial-proxy.html#git-over-ssh">git over ssh</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../reference/reference.html">Reference</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../reference/compatible-hardware.html">Compatible Hardware</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/bundle-commands.html">Useful bundle commands</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/bundle-commands.html#additional-information">Additional information</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/bundles/bundles.html">Available bundles</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/bundles.html#bundle-list">Bundle list</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/bundles/openssh-server.html">openssh-server</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/openssh-server.html#prerequisites">Prerequisites</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/openssh-server.html#change-default-port">Change default port</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/openssh-server.html#enable-sftp">Enable SFTP</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/openssh-server.html#enable-root-login">Enable root login</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/bundles/openssh-server.html#enable-x11-forwarding">Enable X11-forwarding</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/collaboration/collaboration.html">Documentation guidelines</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/collaboration/collaboration.html#contribution-guidelines">Contribution guidelines</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../reference/collaboration/writing-guide.html">Writing guide: Describes the style we use to keep our documents clear and concise.</a></li>
<li class="toctree-l4"><a class="reference internal" href="../reference/collaboration/structure-formatting.html">Structure and formatting guide: Explains how we organize and format content, using reStructuredText and Sphinx.</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../reference/collaboration/collaboration.html#how-to-contribute">How to contribute</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/collaboration/collaboration.html#contribute-via-github">Contribute via GitHub</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/collaboration/collaboration.html#references">References</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/system-requirements.html">建议的最低系统要求</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../reference/system-requirements.html#installer-requirements">安装程序要求</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/system-requirements.html#id1">系统要求</a></li>
<li class="toctree-l3"><a class="reference internal" href="../reference/system-requirements.html#recommended-configurations">建议配置</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../reference/image-types.html">Clear Linux* OS image types</a></li>
<li class="toctree-l2"><a class="reference internal" href="../reference/reference.html#clear-linux-concepts">Clear Linux concepts</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../concepts/autospec-about.html">Autospec</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../concepts/autospec-about.html#how-autospec-works">How autospec works</a></li>
<li class="toctree-l4"><a class="reference internal" href="../concepts/autospec-about.html#control-files">Control files</a></li>
<li class="toctree-l4"><a class="reference internal" href="../concepts/autospec-about.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../concepts/bundles-about.html">Bundles</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../concepts/bundles-about.html#next-steps">Next steps</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../concepts/mixer-about.html">Mixer</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../concepts/mixer-about.html#create-a-mix">Create a mix</a></li>
<li class="toctree-l4"><a class="reference internal" href="../concepts/mixer-about.html#related-topics">Related topics</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../concepts/swupd-about.html">swupd: software updater</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../concepts/swupd-about.html#versioning">Versioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../concepts/swupd-about.html#updating">Updating</a></li>
<li class="toctree-l4"><a class="reference internal" href="../concepts/swupd-about.html#bundles">Bundles</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../concepts/telemetry-about.html">Telemetrics</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../concepts/telemetry-about.html#architecture">Architecture</a></li>
<li class="toctree-l4"><a class="reference internal" href="../concepts/telemetry-about.html#next-steps">Next steps</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/stateless.html">Stateless</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#file-level-separation">File-level separation</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#software-configuration">Software configuration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#system-reset">System reset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/stateless.html#additional-information">Additional information</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="../guides/clear/security.html">OS Security</a><ul>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-updates">Security in updates</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-software">Security in software</a></li>
<li class="toctree-l4"><a class="reference internal" href="../guides/clear/security.html#security-in-system-design">Security in system design</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../FAQ/faq.html">FAQ</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../FAQ/faq.html#general">General</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#why-did-you-make-another-distro">Why did you make another distro?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#can-other-distros-copy-cl-improvements">Can other distros copy Clear Linux OS improvements?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#how-often-do-you-update">How often do you update?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#is-telemetry-required">Is telemetry required?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#what-is-the-default-firewall">What is the default firewall?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#where-are-the-files-that-i-usually-see-under-etc-like-fstab">Where are the files that I usually see under /etc like fstab?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../FAQ/faq.html#software-packages">Software packages</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#how-is-software-installed-and-updated">How is software installed and updated?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#does-cl-use-rpms-like-other-distros">Does Clear Linux OS use RPMs like other distros?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#can-i-install-a-software-package-from-another-os-on-cl">Can I install a software package from another OS on Clear Linux OS?</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../FAQ/faq.html#software-availability">Software availability</a><ul>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#what-software-is-available-on-cl">What software is available on Clear Linux OS?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#is-google-chrome-available">Is Google* Chrome* available?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#is-ffmpeg-available">Is FFmpeg available?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#is-zfs-available">Is ZFS* available?</a></li>
<li class="toctree-l3"><a class="reference internal" href="../FAQ/faq.html#can-you-add-a-driver-that-i-need">Can you add a driver that I need?</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
<nav class="wy-nav-top" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="../index.html">Clear Linux* Project Docs</a>
</nav>
<div class="wy-nav-content">
<header id="header">
<div class="padding-md--left-right">
<div class="header__site_info">
<div class="header__site_info_name">
<a href ="https://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://clearlinux.org/about">About</a>
</li>
<li class="header__menu_list_item purple ">
<a tabindex='1' href="https://clearlinux.org/developer">Developer</a>
</li>
<li class="header__menu_list_item blue ">
<a tabindex='1' href="https://clearlinux.org/software">Software</a>
</li>
</ul>
</nav>
</div>
</header>
<div class="rst-content">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="../index.html">Docs</a> &raquo;</li>
<li><a href="tutorials.html">Tutorials</a> &raquo;</li>
<li>Use the function multi-version patch generator</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/clearlinux/clear-linux-documentation/blob/rtd-theme/source/tutorials/fmv.rst" class="fa fa-github"> Edit on GitHub</a>
</li>
</ul>
<hr/>
</div>
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="use-the-function-multi-version-patch-generator">
<span id="fmv"></span><h1>Use the function multi-version patch generator</h1>
<p>CPU architectures often gain interesting new instructions as they evolve but
application developers find it difficult to take advantage of those
instructions. The reluctance to lose backward-compatibility is one of the
main roadblocks slowing developers from using advancements in newer computing
architectures. <abbr title="Function Multi-Versioning">FMV</abbr>, which first appeared
in <a class="reference external" href="https://gcc.gnu.org">GCC</a> 4.8, is a way to have multiple implementations of a function, each
using a different architecture specialized instruction-set extensions. GCC
6 introduces changes to FMV to make it even easier to bring architecture-
based optimizations to the application code.</p>
<p>In this tutorial we will use FMV on general code and on
<abbr title="Fast Fourier Transform">FFT</abbr> library code (FFTW). Upon completing the
tutorial, you will be able to use this technology on your code and use the
libraries to deploy architecture-based optimizations to your application code.</p>
<div class="section" id="install-and-configure-a-cl-host-on-bare-metal">
<h2>Install and configure a Clear Linux OS host on bare metal</h2>
<p>First, follow our guide to <a class="reference internal" href="../get-started/bare-metal-install-desktop/bare-metal-install-desktop.html#bare-metal-install-desktop"><span class="std std-ref">Install Clear Linux* OS from the live desktop</span></a>. Once the bare
metal installation and initial configuration are complete, add the
<cite>desktop-dev</cite> bundle to the system. <cite>desktop-dev</cite>: contains the necessary
development tools like GCC and Perl*.</p>
<p>To install the bundles, run the following command in the <code class="file docutils literal notranslate"><span class="pre">$HOME</span></code>
directory:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>sudo swupd bundle-add desktop-dev
</pre></div>
</div>
</div>
<div class="section" id="detect-loop-vectorization-candidates">
<h2>Detect loop vectorization candidates</h2>
<p>Now, we need to detect the loop vectorization candidates to be cloned for
multiple platforms with FMV. As an example, we will use the following
simple C code:</p>
<div class="highlight-c notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21</pre></div></td><td class="code"><div class="highlight"><pre><span></span> <span class="cp">#include</span> <span class="cpf">&lt;stdio.h&gt;</span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf">&lt;sys/time.h&gt;</span><span class="cp"></span>
<span class="cp">#define MAX 1000000</span>
<span class="kt">int</span> <span class="n">a</span><span class="p">[</span><span class="mi">256</span><span class="p">],</span> <span class="n">b</span><span class="p">[</span><span class="mi">256</span><span class="p">],</span> <span class="n">c</span><span class="p">[</span><span class="mi">256</span><span class="p">];</span>
<span class="kt">void</span> <span class="nf">foo</span><span class="p">(){</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">x</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">x</span><span class="o">&lt;</span><span class="n">MAX</span><span class="p">;</span> <span class="n">x</span><span class="o">++</span><span class="p">){</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span><span class="o">&lt;</span><span class="mi">256</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">){</span>
<span class="n">a</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">c</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="kt">int</span> <span class="nf">main</span><span class="p">(){</span>
<span class="n">foo</span><span class="p">();</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</td></tr></table></div>
<p>Save the example code as <code class="file docutils literal notranslate"><span class="pre">example.c</span></code> in the current directory and build
with the following flags:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gcc -O3 -fopt-info-vec example.c -o example
</pre></div>
</div>
<p>The build generates the following output:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">example.c:11:9: note: loop vectorized</span>
<span class="go">example.c:11:9: note: loop vectorized</span>
</pre></div>
</div>
<p>The output shows that line 11 is a good candidate for vectorization:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">for</span> <span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span><span class="o">&lt;</span><span class="mi">256</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">){</span>
<span class="n">a</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">c</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
</pre></div>
</div>
</div>
<div class="section" id="generate-the-fmv-patch">
<h2>Generate the FMV patch</h2>
<p>To generate the FMV patch with the <a class="reference external" href="https://github.com/clearlinux/make-fmv-patch">make-fmv-patch</a> project, we
must clone the project and generate a log file with the loop vectorized
information:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git clone https://github.com/clearlinux/make-fmv-patch.git
gcc -O3 -fopt-info-vec example.c -o example <span class="p">&amp;</span>&gt; log
</pre></div>
</div>
<p>To generate the patch files, execute:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>perl ./make-fmv-patch/make-fmv-patch.pl log .
</pre></div>
</div>
<p>The <code class="file docutils literal notranslate"><span class="pre">make-fmv-patch.pl</span></code> script takes two arguments: <cite>&lt;buildlog&gt;</cite> and
<cite>&lt;sourcecode&gt;</cite>. Replace <cite>&lt;buildlog&gt;</cite> and <cite>&lt;sourcecode&gt;</cite> with the proper
values and execute:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>perl make-fmv-patch.pl &lt;buildlog&gt; &lt;sourcecode&gt;
</pre></div>
</div>
<p>The command generates the following <code class="file docutils literal notranslate"><span class="pre">example.c.patch</span></code> patch:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">--- ./example.c 2017-09-27 16:05:42.279505430 +0000</span>
<span class="go">+++ ./example.c~ 2017-09-27 16:19:11.691544026 +0000</span>
<span class="go">@@ -5,6 +5,7 @@</span>
<span class="go"> int a[256], b[256], c[256];</span>
<span class="go">+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))</span>
<span class="go"> void foo(){</span>
<span class="go"> int i,x;</span>
<span class="go"> for (x=0; x&lt;MAX; x++){</span>
</pre></div>
</div>
<p>We recommend you use the <code class="file docutils literal notranslate"><span class="pre">make-fmv-patch</span></code> script to add the attribute
generating the target clones on the function <cite>foo</cite>. Thus, we can have the
following code:</p>
<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="cp">#include</span> <span class="cpf">&lt;stdio.h&gt;</span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf">&lt;stdlib.h&gt;</span><span class="cp"></span>
<span class="cp">#include</span> <span class="cpf">&lt;sys/time.h&gt;</span><span class="cp"></span>
<span class="cp">#define MAX 1000000</span>
<span class="kt">int</span> <span class="n">a</span><span class="p">[</span><span class="mi">256</span><span class="p">],</span> <span class="n">b</span><span class="p">[</span><span class="mi">256</span><span class="p">],</span> <span class="n">c</span><span class="p">[</span><span class="mi">256</span><span class="p">];</span>
<span class="n">__attribute__</span><span class="p">((</span><span class="n">target_clones</span><span class="p">(</span><span class="s">&quot;avx2&quot;</span><span class="p">,</span><span class="s">&quot;arch=atom&quot;</span><span class="p">,</span><span class="s">&quot;default&quot;</span><span class="p">)))</span>
<span class="kt">void</span> <span class="n">foo</span><span class="p">(){</span>
<span class="kt">int</span> <span class="n">i</span><span class="p">,</span><span class="n">x</span><span class="p">;</span>
<span class="k">for</span> <span class="p">(</span><span class="n">x</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">x</span><span class="o">&lt;</span><span class="n">MAX</span><span class="p">;</span> <span class="n">x</span><span class="o">++</span><span class="p">){</span>
<span class="k">for</span> <span class="p">(</span><span class="n">i</span><span class="o">=</span><span class="mi">0</span><span class="p">;</span> <span class="n">i</span><span class="o">&lt;</span><span class="mi">256</span><span class="p">;</span> <span class="n">i</span><span class="o">++</span><span class="p">){</span>
<span class="n">a</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="n">b</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">+</span> <span class="n">c</span><span class="p">[</span><span class="n">i</span><span class="p">];</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="p">}</span>
<span class="kt">int</span> <span class="n">main</span><span class="p">(){</span>
<span class="n">foo</span><span class="p">();</span>
<span class="k">return</span> <span class="mi">0</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
<p>Changing the value of the <cite>$avx2</cite> variable, we can change the target
clones when adding the patches or in the <code class="file docutils literal notranslate"><span class="pre">make-fmv-patch.pl</span></code> script:</p>
<div class="highlight-perl notranslate"><div class="highlight"><pre><span></span><span class="k">my</span> <span class="nv">$avx2</span> <span class="o">=</span> <span class="s">&#39;__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))&#39;</span><span class="o">.</span><span class="s">&quot;\n&quot;</span><span class="p">;</span>
</pre></div>
</div>
<p>Compile the code again with FMV and add the option to analyze the <cite>objdump</cite>
log:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>gcc -O3 example.c -o example -g
objdump -S example <span class="p">|</span> less
</pre></div>
</div>
<p>You can see the multiple clones of the <cite>foo</cite> function:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">foo</span>
<span class="go">foo.avx2.0</span>
<span class="go">foo.arch_atom.1</span>
</pre></div>
</div>
<p>The cloned functions use AVX2 registers and vectorized instructions. To
verify, enter the following commands:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">vpaddd</span> <span class="p">(</span><span class="o">%</span><span class="n">r8</span><span class="p">,</span><span class="o">%</span><span class="n">rax</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="o">%</span><span class="n">ymm0</span><span class="p">,</span><span class="o">%</span><span class="n">ymm0</span>
<span class="n">vmovdqu</span> <span class="o">%</span><span class="n">ymm0</span><span class="p">,(</span><span class="o">%</span><span class="n">rcx</span><span class="p">,</span><span class="o">%</span><span class="n">rax</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="section" id="fft-project-example-using-fftw">
<h2>FFT project example using FFTW</h2>
<p>To follow the same approach with a package like FFTW, we must use the
<cite>-fopt-info-vec</cite> flag to get a build log file similar to:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>~/make-fmv-patch/make-fmv-patch.pl results/build.log fftw-3.3.6-pl2/
patching fftw-3.3.6-pl2/libbench2/verify-lib.c @ lines <span class="o">(</span><span class="m">36</span> <span class="m">114</span> <span class="m">151</span> <span class="m">162</span> <span class="m">173</span> <span class="m">195</span> <span class="m">215</span> <span class="m">284</span><span class="o">)</span>
patching fftw-3.3.6-pl2/tools/fftw-wisdom.c @ lines <span class="o">(</span><span class="m">150</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/speed.c @ lines <span class="o">(</span><span class="m">26</span><span class="o">)</span>
patching fftw-3.3.6-pl2/tests/bench.c @ lines <span class="o">(</span><span class="m">27</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/util.c @ lines <span class="o">(</span><span class="m">181</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/problem.c @ lines <span class="o">(</span><span class="m">229</span><span class="o">)</span>
patching fftw-3.3.6-pl2/tests/fftw-bench.c @ lines <span class="o">(</span><span class="m">101</span> <span class="m">147</span> <span class="m">162</span> <span class="m">249</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/mp.c @ lines <span class="o">(</span><span class="m">79</span> <span class="m">190</span> <span class="m">215</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/caset.c @ lines <span class="o">(</span><span class="m">5</span><span class="o">)</span>
patching fftw-3.3.6-pl2/libbench2/verify-r2r.c @ lines <span class="o">(</span><span class="m">44</span> <span class="m">187</span> <span class="m">197</span> <span class="m">207</span> <span class="m">316</span> <span class="m">333</span> <span class="m">723</span><span class="o">)</span>
</pre></div>
</div>
<p>For example, the <code class="file docutils literal notranslate"><span class="pre">fftw-3.3.6-pl2/tools/fftw-wisdom.c.patch</span></code> file
generates the following patches:</p>
<div class="highlight-diff notranslate"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre> 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45</pre></div></td><td class="code"><div class="highlight"><pre><span></span> --- fftw-3.3.6-pl2/libbench2/verify-lib.c 2017-01-27 21:08:13.000000000 +0000
+++ fftw-3.3.6-pl2/libbench2/verify-lib.c~ 2017-09-27 17:49:21.913802006 +0000
@@ -33,6 +33,7 @@
double dmax(double x, double y) { return (x &gt; y) ? x : y; }
+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))
static double aerror(C *a, C *b, int n)
{
if (n &gt; 0) {
@@ -111,6 +112,7 @@
}
/* make array hermitian */
+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))
void mkhermitian(C *A, int rank, const bench_iodim *dim, int stride)
{
if (rank == 0)
@@ -148,6 +150,7 @@
}
/* C = A + B */
+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))
void aadd(C *c, C *a, C *b, int n)
{
int i;
@@ -159,6 +162,7 @@
}
/* C = A - B */
+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))
void asub(C *c, C *a, C *b, int n)
{
int i;
@@ -170,6 +174,7 @@
}
/* B = rotate left A (complex) */
+__attribute__((target_clones(&quot;avx2&quot;,&quot;arch=atom&quot;,&quot;default&quot;)))
void arol(C *b, C *a, int n, int nb, int na)
{
int i, ib, ia;
@@ -192,6 +197,7 @@
}
}
</pre></div>
</td></tr></table></div>
<p>With these patches, we can select where to apply the FMV technology making
bringing architecture-based optimizations to application code even easier.</p>
<p><strong>Congratulations!</strong></p>
<p>You have successfully installed an FMV development environment on Clear Linux OS.
Furthermore, you used cutting edge compiler technology to improve the
performance of your application based on Intel Architecture technology and
profiling of the specific execution of your application.</p>
</div>
</div>
</div>
</div>
<footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="aws-web/aws-web.html" class="btn btn-neutral float-right" title="Create and launch Clear Linux* OS from Amazon Web Services" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
<a href="hadoop.html" class="btn btn-neutral float-left" title="Set up a single node cluster with Hadoop*" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
</div>
<hr/>
<div role="contentinfo">
<p>
&copy; Copyright 2019, many
<span class="lastupdated">
最后更新于 7月 29, 2019.
</span>
</p>
</div>
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
</footer>
</div>
</div>
</section>
</div>
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable(true);
});
</script>
<script type="text/javascript" src="../_static/tcs_theme.js"></script>
</body>
</html>