aboutsummaryrefslogtreecommitdiff
path: root/docs/docs/carbslinux.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/docs/carbslinux.html')
-rw-r--r--docs/docs/carbslinux.html1786
1 files changed, 1786 insertions, 0 deletions
diff --git a/docs/docs/carbslinux.html b/docs/docs/carbslinux.html
new file mode 100644
index 0000000..e50d6f4
--- /dev/null
+++ b/docs/docs/carbslinux.html
@@ -0,0 +1,1786 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<!-- Copyright (C) 2020 Cem Keylan
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts and no Back-Cover Texts.
+A copy of the license is included in the section entitled "GNU Free
+Documentation License."
+ -->
+<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<title>Carbs Linux User Manual</title>
+
+<meta name="description" content="Carbs Linux User Manual">
+<meta name="keywords" content="Carbs Linux User Manual">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="makeinfo">
+<link href="#Top" rel="start" title="Top">
+<link href="#SEC_Contents" rel="contents" title="Table of Contents">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+blockquote.indentedblock {margin-right: 0em}
+div.display {margin-left: 3.2em}
+div.example {margin-left: 3.2em}
+div.lisp {margin-left: 3.2em}
+kbd {font-style: oblique}
+pre.display {font-family: inherit}
+pre.format {font-family: inherit}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+span.nolinebreak {white-space: nowrap}
+span.roman {font-family: initial; font-weight: normal}
+span.sansserif {font-family: sans-serif; font-weight: normal}
+ul.no-bullet {list-style: none}
+-->
+</style>
+<link rel="stylesheet" type="text/css" href="https://www.gnu.org/software/gnulib/manual.css">
+
+
+</head>
+
+<body lang="en">
+<h1 class="settitle" align="center">Carbs Linux User Manual</h1>
+
+
+
+
+<span id="SEC_Contents"></span>
+<h2 class="contents-heading">Table of Contents</h2>
+
+<div class="contents">
+
+<ul class="no-bullet">
+ <li><a id="toc-Installation-1" href="#Installation">1 Installation</a>
+ <ul class="no-bullet">
+ <li><a id="toc-Preparing-Environment-1" href="#Preparing-Environment">1.1 Preparing Environment</a>
+ <ul class="no-bullet">
+ <li><a id="toc-Download-1" href="#Download">1.1.1 Download</a></li>
+ <li><a id="toc-Signature-verification-1" href="#Signature-verification">1.1.2 Signature verification</a></li>
+ <li><a id="toc-Extracting-the-tarball-1" href="#Extracting-the-tarball">1.1.3 Extracting the tarball</a></li>
+ <li><a id="toc-Obtain-the-chroot-helper-1" href="#Obtain-the-chroot-helper">1.1.4 Obtain the chroot helper</a></li>
+ </ul></li>
+ <li><a id="toc-Chroot-1" href="#Chroot">1.2 Chroot</a>
+ <ul class="no-bullet">
+ <li><a id="toc-Setting-up-repositories-1" href="#Setting-up-repositories">1.2.1 Setting up repositories</a></li>
+ <li><a id="toc-Updating-packages-1" href="#Updating-packages">1.2.2 Updating packages</a></li>
+ <li><a id="toc-Installing-packages-1" href="#Installing-packages">1.2.3 Installing packages</a></li>
+ <li><a id="toc-Essential-Software-1" href="#Essential-Software">1.2.4 Essential Software</a></li>
+ <li><a id="toc-Obtaining-the-documentation-1" href="#Obtaining-the-documentation">1.2.5 Obtaining the documentation</a></li>
+ </ul></li>
+ <li><a id="toc-System-Configuration-1" href="#System-Configuration">1.3 System Configuration</a>
+ <ul class="no-bullet">
+ <li><a id="toc-Configuring-hostname-1" href="#Configuring-hostname">1.3.1 Configuring hostname</a></li>
+ <li><a id="toc-Hosts-file-1" href="#Hosts-file">1.3.2 Hosts file</a></li>
+ </ul></li>
+ <li><a id="toc-Kernel-1" href="#Kernel">1.4 Kernel</a>
+ <ul class="no-bullet">
+ <li><a id="toc-Obtaining-the-kernel-sources-1" href="#Obtaining-the-kernel-sources">1.4.1 Obtaining the kernel sources</a></li>
+ <li><a id="toc-Kernel-dependencies-1" href="#Kernel-dependencies">1.4.2 Kernel dependencies</a></li>
+ <li><a id="toc-Building-the-kernel-1" href="#Building-the-kernel">1.4.3 Building the kernel</a></li>
+ </ul></li>
+ <li><a id="toc-Making-your-system-bootable-1" href="#Making-your-system-bootable">1.5 Making your system bootable</a>
+ <ul class="no-bullet">
+ <li><a id="toc-Bootloader-1" href="#Bootloader">1.5.1 Bootloader</a></li>
+ <li><a id="toc-Init-scripts-1" href="#Init-scripts">1.5.2 Init scripts</a></li>
+ <li><a id="toc-Fstab-1" href="#Fstab">1.5.3 Fstab</a></li>
+ </ul></li>
+ <li><a id="toc-Post_002dinstallation-1" href="#Post_002dinstallation">1.6 Post-installation</a>
+ <ul class="no-bullet">
+ <li><a id="toc-KISS-repositories-1" href="#KISS-repositories">1.6.1 KISS repositories</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a id="toc-Init-System-1" href="#Init-System">2 Init System</a>
+ <ul class="no-bullet">
+ <li><a id="toc-Configuring-Init-1" href="#Configuring-Init">2.1 Configuring Init</a>
+ <ul class="no-bullet">
+ <li><a id="toc-Kernel-Command-Line-1" href="#Kernel-Command-Line">2.1.1 Kernel Command Line</a></li>
+ <li><a id="toc-_002fetc_002finit_002frc_002econf-file" href="#g_t_002fetc_002finit_002frcconf-file">2.1.2 &lsquo;<samp>/etc/init/rc.conf</samp>&rsquo; file</a></li>
+ <li><a id="toc-Init-Hooks-1" href="#Init-Hooks">2.1.3 Init Hooks</a></li>
+ </ul></li>
+ <li><a id="toc-Changing-Init-Program-1" href="#Changing-Init-Program">2.2 Changing Init Program</a>
+ <ul class="no-bullet">
+ <li><a id="toc-Rebooting-after-changing-init-1" href="#Rebooting-after-changing-init">2.2.1 Rebooting after changing init</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a id="toc-Contribution-Guidelines-1" href="#Contribution-Guidelines">3 Contribution Guidelines</a>
+ <ul class="no-bullet">
+ <li><a id="toc-Conventions-1" href="#Conventions">3.1 Conventions</a>
+ <ul class="no-bullet">
+ <li><a id="toc-Shell-Conventions-1" href="#Shell-Conventions">3.1.1 Shell Conventions</a></li>
+ <li><a id="toc-Repository-Conventions-1" href="#Repository-Conventions">3.1.2 Repository Conventions</a></li>
+ </ul></li>
+ </ul></li>
+ <li><a id="toc-GNU-Free-Documentation-License-1" href="#GNU-Free-Documentation-License">Appendix A GNU Free Documentation License</a>
+ <ul class="no-bullet">
+ <li><a id="toc-ADDENDUM_003a-How-to-use-this-License-for-your-documents" href="#ADDENDUM_003a-How-to-use-this-License-for-your-documents">A.1 ADDENDUM: How to use this License for your documents</a></li>
+ </ul></li>
+</ul>
+</div>
+
+
+<span id="Top"></span><div class="header">
+<p>
+Next: <a href="#Installation" accesskey="n" rel="next">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Carbs-Linux-User-Manual"></span><h1 class="top">Carbs Linux User Manual</h1>
+
+<p>This is the full documentation of <a href="https://carbslinux.org">Carbs Linux</a>, from the details of the
+distribution, installation, to the package manager. It is not yet complete.
+</p>
+
+<p>This documentation is also available in the distribution by the
+<code>carbs-docs</code> package, which can be read by either running
+<code>info carbslinux</code> or reading <samp>/usr/share/doc/carbslinux.txt</samp> with your
+favorite pager. You can install either the <code>info</code> or <code>texinfo</code>
+for doing the first.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Installation" accesskey="1">Installation</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Installing Carbs Linux
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Init-System" accesskey="2">Init System</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Configure the init system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Contribution-Guidelines" accesskey="3">Contribution Guidelines</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Contribute to Carbs Linux
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#GNU-Free-Documentation-License" accesskey="4">GNU Free Documentation License</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Your rights
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+</pre></th></tr><tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">&mdash; The Detailed Node Listing &mdash;
+
+Installation
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Preparing-Environment" accesskey="5">Preparing Environment</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Getting ready to chroot
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Chroot" accesskey="6">Chroot</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Going inside your new system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#System-Configuration" accesskey="7">System Configuration</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Customizing your system for personal use
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Kernel" accesskey="8">Kernel</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Compiling your own kernel
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Making-your-system-bootable" accesskey="9">Making your system bootable</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Installing bootloader and boot scripts
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Post_002dinstallation">Post-installation</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Post-installation tasks
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Preparing Environment
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Download">Download</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Download the root filesystem tarball
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Signature-verification">Signature verification</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Verify the signature of the rootfs tarball
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Extracting-the-tarball">Extracting the tarball</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Extracting the root filesystem to the desired location
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Obtain-the-chroot-helper">Obtain the chroot helper</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Download the script to easily chroot into the new filesystem
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Chroot
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Setting-up-repositories">Setting up repositories</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Basic setup for obtaining repositories
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Updating-packages">Updating packages</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Update your system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Installing-packages">Installing packages</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Install new software on your system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Essential-Software">Essential Software</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Software you might want to include on your system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Obtaining-the-documentation">Obtaining the documentation</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Install documentation for offline use (optional)
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+System Configuration
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Configuring-hostname">Configuring hostname</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Setting up system hostname (recommended)
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Hosts-file">Hosts file</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Setting up hosts file for networking (optional)
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Kernel
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Obtaining-the-kernel-sources">Obtaining the kernel sources</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Downloading the Linux source code
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Kernel-dependencies">Kernel dependencies</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Requirements for building the kernel
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Building-the-kernel">Building the kernel</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Configure and compile the kernel
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Making your system bootable
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Bootloader">Bootloader</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Install a bootloader for your system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Init-scripts">Init scripts</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Install init scripts for your system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Fstab">Fstab</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Generating fstab
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Post-installation
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#KISS-repositories">KISS repositories</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Acquire kiss repositories
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Init System
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Configuring-Init">Configuring Init</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Ways to configure the init system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Changing-Init-Program">Changing Init Program</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Replace the default busybox init with something new
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Configuring Init
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Kernel-Command-Line">Kernel Command Line</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Configure init through the boot parameters
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#g_t_002fetc_002finit_002frcconf-file">&lsquo;<samp>/etc/init/rc.conf</samp>&rsquo; file</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Configure init through the configuration file
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Init-Hooks">Init Hooks</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Configure init through hooks
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Changing Init Program
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Rebooting-after-changing-init">Rebooting after changing init</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Ways to reboot after replacing the init system
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Contribution Guidelines
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Conventions">Conventions</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Conventions of the distribution
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+Conventions
+
+</pre></th></tr><tr><td align="left" valign="top">&bull; <a href="#Shell-Conventions">Shell Conventions</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Conventions for shell scripts
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Repository-Conventions">Repository Conventions</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Conventions for repository build scripts
+</td></tr>
+<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
+
+</pre></th></tr></table>
+
+<hr>
+<span id="Installation"></span><div class="header">
+<p>
+Next: <a href="#Init-System" accesskey="n" rel="next">Init System</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Top</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Installation-1"></span><h2 class="chapter">1 Installation</h2>
+
+<p>These are the step-by-step instructions for installing Carbs Linux. It can be
+acquired as plain-text to be viewed offline with a pager from
+<a href="https://carbslinux.org/install.txt">https://carbslinux.org/install.txt</a>.
+</p>
+<div class="example">
+<pre class="example">curl -sL https://carbslinux.org/install.txt | less
+</pre></div>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Preparing-Environment" accesskey="1">Preparing Environment</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Getting ready to chroot
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Chroot" accesskey="2">Chroot</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Going inside your new system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#System-Configuration" accesskey="3">System Configuration</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Customizing your system for personal use
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Kernel" accesskey="4">Kernel</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Compiling your own kernel
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Making-your-system-bootable" accesskey="5">Making your system bootable</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Installing bootloader and boot scripts
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Post_002dinstallation" accesskey="6">Post-installation</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Post-installation tasks
+</td></tr>
+</table>
+
+<hr>
+<span id="Preparing-Environment"></span><div class="header">
+<p>
+Next: <a href="#Chroot" accesskey="n" rel="next">Chroot</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Preparing-Environment-1"></span><h3 class="section">1.1 Preparing Environment</h3>
+
+<p>To install Carbs Linux, you will need a Live Linux ISO. For that purpose, you
+can obtain a Gentoo or Void Linux live image. You can follow their instructions
+to boot and setup your network.
+</p>
+<p>You will need the following programs in order to install Carbs Linux:
+</p>
+<ul>
+<li> tar
+</li><li> wget
+</li><li> xz
+</li><li> some form of base utilities (coreutils, sbase, busybox, etc.)
+</li></ul>
+
+<p>Rest of these instructions will assume that you have set all of these up, and
+will continue on that point.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Download" accesskey="1">Download</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Download the root filesystem tarball
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Signature-verification" accesskey="2">Signature verification</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Verify the signature of the rootfs tarball
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Extracting-the-tarball" accesskey="3">Extracting the tarball</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Extracting the root filesystem to the desired location
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Obtain-the-chroot-helper" accesskey="4">Obtain the chroot helper</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Download the script to easily chroot into the new filesystem
+</td></tr>
+</table>
+
+<hr>
+<span id="Download"></span><div class="header">
+<p>
+Next: <a href="#Signature-verification" accesskey="n" rel="next">Signature verification</a>, Up: <a href="#Preparing-Environment" accesskey="u" rel="up">Preparing Environment</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Download-1"></span><h4 class="subsection">1.1.1 Download</h4>
+
+<p>First, we need to download the rootfs tarball. You can do the following in order
+to obtain the rootfs. If you are using an i686 machine, replace the &lsquo;<samp>x86_64</samp>&rsquo;
+with &lsquo;<samp>i686</samp>&rsquo;. We are setting this in a URL variable so that we don&rsquo;t have to
+write it every time.
+</p>
+<div class="example">
+<pre class="example">wget $URL/carbs-rootfs.tar.xz.sha256
+sha256sum -c carbs-rootfs.tar.xz.sha256
+</pre></div>
+
+<hr>
+<span id="Signature-verification"></span><div class="header">
+<p>
+Next: <a href="#Extracting-the-tarball" accesskey="n" rel="next">Extracting the tarball</a>, Previous: <a href="#Download" accesskey="p" rel="prev">Download</a>, Up: <a href="#Preparing-Environment" accesskey="u" rel="up">Preparing Environment</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Signature-verification-1"></span><h4 class="subsection">1.1.2 Signature verification</h4>
+
+<p>It is highly recommended to verify the signature of the tarball. You will need
+GPG for this.
+</p>
+<div class="example">
+<pre class="example">wget $URL/carbs-rootfs.tar.xz.sig
+gpg --recv-keys FF484BDFEFCEF8FF
+gpg --verify carbs-rootfs.tar.xz.sig
+</pre></div>
+
+<hr>
+<span id="Extracting-the-tarball"></span><div class="header">
+<p>
+Next: <a href="#Obtain-the-chroot-helper" accesskey="n" rel="next">Obtain the chroot helper</a>, Previous: <a href="#Signature-verification" accesskey="p" rel="prev">Signature verification</a>, Up: <a href="#Preparing-Environment" accesskey="u" rel="up">Preparing Environment</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Extracting-the-tarball-1"></span><h4 class="subsection">1.1.3 Extracting the tarball</h4>
+
+<p>You will need to extract the tarball to your desired location. For partitioning,
+you can follow <a href="https://wiki.archlinux.org/index.php/Partitioning">this guide</a>. This will assume that you will be mounting your root
+partition to &lsquo;<samp>/mnt</samp>&rsquo;.
+</p>
+<div class="example">
+<pre class="example">mount /dev/sdx1 /mnt
+tar xf carbs-rootfs.tar.xz -C /mnt
+</pre></div>
+
+<hr>
+<span id="Obtain-the-chroot-helper"></span><div class="header">
+<p>
+Previous: <a href="#Extracting-the-tarball" accesskey="p" rel="prev">Extracting the tarball</a>, Up: <a href="#Preparing-Environment" accesskey="u" rel="up">Preparing Environment</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Obtain-the-chroot-helper-1"></span><h4 class="subsection">1.1.4 Obtain the chroot helper</h4>
+
+<p>You can obtain the &lsquo;<samp>cpt-chroot</samp>&rsquo; script in order to do a simple chroot into your
+new root filesystem.
+</p>
+<div class="example">
+<pre class="example">wget https://dl.carbslinux.org/distfiles/cpt-chroot
+chmod a+x cpt-chroot
+</pre></div>
+
+<hr>
+<span id="Chroot"></span><div class="header">
+<p>
+Next: <a href="#System-Configuration" accesskey="n" rel="next">System Configuration</a>, Previous: <a href="#Preparing-Environment" accesskey="p" rel="prev">Preparing Environment</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Chroot-1"></span><h3 class="section">1.2 Chroot</h3>
+
+<p>Chroot into Carbs Linux!
+</p>
+<div class="example">
+<pre class="example">./cpt-chroot /mnt
+</pre></div>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Setting-up-repositories" accesskey="1">Setting up repositories</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Basic setup for obtaining repositories
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Updating-packages" accesskey="2">Updating packages</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Update your system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Installing-packages" accesskey="3">Installing packages</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Install new software on your system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Essential-Software" accesskey="4">Essential Software</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Software you might want to include on your system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Obtaining-the-documentation" accesskey="5">Obtaining the documentation</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Install documentation for offline use (optional)
+</td></tr>
+</table>
+
+<hr>
+<span id="Setting-up-repositories"></span><div class="header">
+<p>
+Next: <a href="#Updating-packages" accesskey="n" rel="next">Updating packages</a>, Up: <a href="#Chroot" accesskey="u" rel="up">Chroot</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Setting-up-repositories-1"></span><h4 class="subsection">1.2.1 Setting up repositories</h4>
+
+<p>Newest tarballs do not come with repositories, so you will need to manually
+obtain them, and set your &lsquo;<samp>CPT_PATH</samp>&rsquo; environment variable. Carbs Linux
+repositories can either be obtained by &lsquo;<samp>git</samp>&rsquo; or &lsquo;<samp>rsync</samp>&rsquo;. While rsync
+repositories are overall faster and smaller, git offers the whole history of the
+repository and a means to manipulate your repository as you like it. If you want
+to obtain the git repository, you will need to install &lsquo;<samp>git</samp>&rsquo; itself.
+</p>
+<p>The following guide will assume that you put the repositories into &lsquo;<samp>~/repos/</samp>&rsquo;
+directory, but you can put the repositories into any directory you want. So go
+ahead and create that directory:
+</p>
+<div class="example">
+<pre class="example">mkdir -p $HOME/repos
+</pre></div>
+
+<ol>
+<li> Obtaining from git
+
+
+<p>Carbs Linux git repositories can be found both from the main server and GitHub
+(mirror). Here are both their repository links. You can clone any of them.
+</p>
+<ul>
+<li> git://git.carbslinux.org/repository
+</li><li> <a href="https://github.com/carbslinux/repository">https://github.com/carbslinux/repository</a>
+</li></ul>
+
+<div class="example">
+<pre class="example">git clone git://git.carbslinux.org/repository $HOME/repos/carbs
+</pre></div>
+
+</li><li> Obtaining from rsync
+
+
+<p>Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In
+order to obtain it, run the following:
+</p>
+<div class="example">
+<pre class="example">rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
+</pre></div>
+
+</li><li> Making the package manager use the repositories
+
+
+<p>In your shell&rsquo;s configuration file, or in your &lsquo;<samp>~/.profile</samp>&rsquo; file, add the
+following lines:
+</p>
+<div class="example">
+<pre class="example">CPT_PATH=$HOME/repos/carbs/core
+CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra
+CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg
+CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community
+export CPT_PATH
+</pre></div>
+</li></ol>
+
+<hr>
+<span id="Updating-packages"></span><div class="header">
+<p>
+Next: <a href="#Installing-packages" accesskey="n" rel="next">Installing packages</a>, Previous: <a href="#Setting-up-repositories" accesskey="p" rel="prev">Setting up repositories</a>, Up: <a href="#Chroot" accesskey="u" rel="up">Chroot</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Updating-packages-1"></span><h4 class="subsection">1.2.2 Updating packages</h4>
+
+<p>It is good practice to make sure your system is up to date, especially before
+building new packages. If there is an update for the package manager you will
+need to update twice.
+</p>
+<div class="example">
+<pre class="example">cpt-update &amp;&amp; cpt-update
+</pre></div>
+
+<hr>
+<span id="Installing-packages"></span><div class="header">
+<p>
+Next: <a href="#Essential-Software" accesskey="n" rel="next">Essential Software</a>, Previous: <a href="#Updating-packages" accesskey="p" rel="prev">Updating packages</a>, Up: <a href="#Chroot" accesskey="u" rel="up">Chroot</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Installing-packages-1"></span><h4 class="subsection">1.2.3 Installing packages</h4>
+
+<p>Since you are operating on a really small base, you might need to build and
+install new programs to extend the functionality of your system. In order to
+build and install packages new packages in Carbs, you need to execute the
+following. &quot;Package&quot; is not actually a package and is given as an example.
+</p>
+<div class="example">
+<pre class="example">cpt-build package
+cpt-install package
+</pre></div>
+
+<hr>
+<span id="Essential-Software"></span><div class="header">
+<p>
+Next: <a href="#Obtaining-the-documentation" accesskey="n" rel="next">Obtaining the documentation</a>, Previous: <a href="#Installing-packages" accesskey="p" rel="prev">Installing packages</a>, Up: <a href="#Chroot" accesskey="u" rel="up">Chroot</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Essential-Software-1"></span><h4 class="subsection">1.2.4 Essential Software</h4>
+
+<p>Here is a list of software that you might want to have on your system.
+</p>
+<p><strong>BOOTLOADERS</strong>
+</p>
+<ul>
+<li> efibootmgr
+</li><li> grub
+</li></ul>
+
+<p><strong>FILESYSTEMS</strong>
+</p>
+<ul>
+<li> e2fsprogs
+</li><li> dosfstools
+</li><li> ntfs-3g
+</li></ul>
+
+<p><strong>NETWORKING</strong>
+</p>
+<ul>
+<li> dhcpcd
+</li><li> wpa<em>_supplicant</em>
+</li></ul>
+
+<p><strong>TEXT EDITORS</strong>
+</p>
+<ul>
+<li> nano
+</li><li> vim
+</li><li> neatvi
+</li><li> emacs
+</li><li> emacs-nox (terminal-only version of emacs)
+</li></ul>
+
+<p><strong>USER SHELLS</strong>
+</p>
+<ul>
+<li> bash
+</li><li> zsh
+</li><li> oksh
+</li><li> rc
+</li></ul>
+
+<p><strong>POSIX BASE UTILITIES</strong>
+</p>
+<ul>
+<li> busybox
+</li><li> sbase
+</li><li> coreutils
+</li></ul>
+
+<p><strong>DOCUMENTATION</strong>
+</p>
+<ul>
+<li> carbs-docs
+</li><li> man-pages
+</li><li> man-pages-posix
+</li></ul>
+
+<hr>
+<span id="Obtaining-the-documentation"></span><div class="header">
+<p>
+Previous: <a href="#Essential-Software" accesskey="p" rel="prev">Essential Software</a>, Up: <a href="#Chroot" accesskey="u" rel="up">Chroot</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Obtaining-the-documentation-1"></span><h4 class="subsection">1.2.5 Obtaining the documentation</h4>
+
+<p>All the documentation for Carbs Linux can be found on a single info manual to be
+viewed offline. You can obtain texinfo or the info (standalone) package in order
+to view the documentation.
+</p>
+<div class="example">
+<pre class="example"># Install the documentation.
+cpt b carbs-docs &amp;&amp; cpt i carbs-docs
+
+# Install either texinfo or the info package. We will be installing standalone info
+# as it doesn't need perl.
+cpt b info &amp;&amp; cpt i info
+
+# You can then run info and navigate through the documentation.
+info carbslinux
+</pre></div>
+
+<hr>
+<span id="System-Configuration"></span><div class="header">
+<p>
+Next: <a href="#Kernel" accesskey="n" rel="next">Kernel</a>, Previous: <a href="#Chroot" accesskey="p" rel="prev">Chroot</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="System-Configuration-1"></span><h3 class="section">1.3 System Configuration</h3>
+
+<p>After you have finished installing some extra packages, you can configure your
+system to your liking.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Configuring-hostname" accesskey="1">Configuring hostname</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Setting up system hostname (recommended)
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Hosts-file" accesskey="2">Hosts file</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Setting up hosts file for networking (optional)
+</td></tr>
+</table>
+
+<hr>
+<span id="Configuring-hostname"></span><div class="header">
+<p>
+Next: <a href="#Hosts-file" accesskey="n" rel="next">Hosts file</a>, Up: <a href="#System-Configuration" accesskey="u" rel="up">System Configuration</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Configuring-hostname-1"></span><h4 class="subsection">1.3.1 Configuring hostname</h4>
+
+<p>You might want to add a hostname, especially in a networked environment. Your
+hostname will default to &rsquo;carbslinux&rsquo; unless you set this.
+</p>
+<div class="example">
+<pre class="example">echo your-hostname &gt; /etc/hostname
+</pre></div>
+
+<hr>
+<span id="Hosts-file"></span><div class="header">
+<p>
+Previous: <a href="#Configuring-hostname" accesskey="p" rel="prev">Configuring hostname</a>, Up: <a href="#System-Configuration" accesskey="u" rel="up">System Configuration</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Hosts-file-1"></span><h4 class="subsection">1.3.2 Hosts file</h4>
+
+<p>You can edit your /etc/hosts file, which is the static lookup table for host
+names. By default, there are two entries for localhost which are OKAY. You can
+replace the &rsquo;localhost&rsquo; part of these entries to your hostname.
+</p>
+<div class="example">
+<pre class="example">127.0.0.1 localhost.localdomain localhost
+::1 localhost.localdomain localhost ip6-localhost
+</pre></div>
+
+<hr>
+<span id="Kernel"></span><div class="header">
+<p>
+Next: <a href="#Making-your-system-bootable" accesskey="n" rel="next">Making your system bootable</a>, Previous: <a href="#System-Configuration" accesskey="p" rel="prev">System Configuration</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Kernel-1"></span><h3 class="section">1.4 Kernel</h3>
+
+<p>Kernel isn&rsquo;t managed under the main repositories, even though you could package
+one for your personal use. Here is an <a href="https://github.com/cemkeylan/kiss-repository/tree/master/personal/linux">example kernel package</a>, which you will
+need to reconfigure for your specific setup if you want to make use of it.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Obtaining-the-kernel-sources" accesskey="1">Obtaining the kernel sources</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Downloading the Linux source code
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Kernel-dependencies" accesskey="2">Kernel dependencies</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Requirements for building the kernel
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Building-the-kernel" accesskey="3">Building the kernel</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Configure and compile the kernel
+</td></tr>
+</table>
+
+<hr>
+<span id="Obtaining-the-kernel-sources"></span><div class="header">
+<p>
+Next: <a href="#Kernel-dependencies" accesskey="n" rel="next">Kernel dependencies</a>, Up: <a href="#Kernel" accesskey="u" rel="up">Kernel</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Obtaining-the-kernel-sources-1"></span><h4 class="subsection">1.4.1 Obtaining the kernel sources</h4>
+
+<p>You can visit the <a href="https://kernel.org">https://kernel.org</a> website to choose a kernel that you want
+to install. Though only the latest stable and longterm (LTS) versions are
+supported.
+</p>
+<div class="example">
+<pre class="example"># Download the kernel and extract it
+wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.1.tar.xz
+tar xf linux-5.9.1.tar.xz
+
+# Change directory into the kernel sources
+cd linux-5.9.1
+</pre></div>
+
+<hr>
+<span id="Kernel-dependencies"></span><div class="header">
+<p>
+Next: <a href="#Building-the-kernel" accesskey="n" rel="next">Building the kernel</a>, Previous: <a href="#Obtaining-the-kernel-sources" accesskey="p" rel="prev">Obtaining the kernel sources</a>, Up: <a href="#Kernel" accesskey="u" rel="up">Kernel</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Kernel-dependencies-1"></span><h4 class="subsection">1.4.2 Kernel dependencies</h4>
+
+<p>In order to compile the kernel you will need to install some dependencies. You
+will need &lsquo;<samp>libelf</samp>&rsquo;, and &lsquo;<samp>bison</samp>&rsquo; to compile the kernel. If you want to configure
+using the menu interface you will also need &lsquo;<samp>ncurses</samp>&rsquo;.
+</p>
+<div class="example">
+<pre class="example"># The package manager asks to install if you are building more than one package,
+# so no need to run 'cpt i ...'
+cpt b libelf ncurses
+</pre></div>
+
+<p>In the vanilla kernel sources, you need perl to compile the kernel, but it can
+be easily patched out. You will need to apply the following patch. Patch was
+written by <a href="https://github.com/E5ten">E5ten</a>. You will need to obtain and apply the patch in the kernel
+source directory.
+</p>
+<div class="example">
+<pre class="example">wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch
+patch -p1 &lt; kernel-no-perl.patch
+</pre></div>
+
+<hr>
+<span id="Building-the-kernel"></span><div class="header">
+<p>
+Previous: <a href="#Kernel-dependencies" accesskey="p" rel="prev">Kernel dependencies</a>, Up: <a href="#Kernel" accesskey="u" rel="up">Kernel</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Building-the-kernel-1"></span><h4 class="subsection">1.4.3 Building the kernel</h4>
+
+<p>Next step is configuring and building the kernel. You can check Gentoo&rsquo;s
+<a href="https://wiki.gentoo.org/wiki/Kernel/Configuration">kernel configuration guide</a> to learn more about the matter. Overall, Gentoo Wiki
+is a good place to learn about configuration according to your hardware. The
+following will assume a monolithic kernel.
+</p>
+<div class="example">
+<pre class="example">make menuconfig
+make
+install -Dm755 $(make -s image_name) /boot/vmlinuz-linux
+</pre></div>
+
+<hr>
+<span id="Making-your-system-bootable"></span><div class="header">
+<p>
+Next: <a href="#Post_002dinstallation" accesskey="n" rel="next">Post-installation</a>, Previous: <a href="#Kernel" accesskey="p" rel="prev">Kernel</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Making-your-system-bootable-1"></span><h3 class="section">1.5 Making your system bootable</h3>
+
+<p>In order to be able to boot your fresh system, wou will need an init-daemon,
+init-scripts and a bootloader. The init daemon is already provided by busybox,
+but you can optionally change it.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Bootloader" accesskey="1">Bootloader</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Install a bootloader for your system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Init-scripts" accesskey="2">Init scripts</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Install init scripts for your system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Fstab" accesskey="3">Fstab</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Generating fstab
+</td></tr>
+</table>
+
+<hr>
+<span id="Bootloader"></span><div class="header">
+<p>
+Next: <a href="#Init-scripts" accesskey="n" rel="next">Init scripts</a>, Up: <a href="#Making-your-system-bootable" accesskey="u" rel="up">Making your system bootable</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Bootloader-1"></span><h4 class="subsection">1.5.1 Bootloader</h4>
+
+<p>In the main repository, there is efibootmgr and grub to serve as bootloaders.
+efibootmgr can be used as a standalone bootloader, or can be used to install
+grub in a UEFI environment. efibootmgr is needed unless you are using a device
+without UEFI support (or you really want to use BIOS for a reason).
+</p>
+<ol>
+<li> GRUB BIOS installation
+
+
+<div class="example">
+<pre class="example">cpt b grub &amp;&amp; cpt i grub
+grub-install --target=i386-pc /dev/sdX
+grub-mkconfig -o /boot/grub/grub.cfg
+</pre></div>
+
+</li><li> GRUB UEFI installation
+
+
+<div class="example">
+<pre class="example">cpt b efibootmgr &amp;&amp; cpt i efibootmgr
+cpt b grub &amp;&amp; cpt i grub
+
+grub-install --target=x86_64-efi \
+ --efi-directory=esp \
+ --bootloader-id=CarbsLinux
+
+grub-mkconfig -o /boot/grub/grub.cfg
+</pre></div>
+</li></ol>
+
+<hr>
+<span id="Init-scripts"></span><div class="header">
+<p>
+Next: <a href="#Fstab" accesskey="n" rel="next">Fstab</a>, Previous: <a href="#Bootloader" accesskey="p" rel="prev">Bootloader</a>, Up: <a href="#Making-your-system-bootable" accesskey="u" rel="up">Making your system bootable</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Init-scripts-1"></span><h4 class="subsection">1.5.2 Init scripts</h4>
+
+<p>Only thing left to do is installing the init-scripts, and now you are almost
+ready to boot your system!
+</p>
+<div class="example">
+<pre class="example">cpt b carbs-init &amp;&amp; cpt i carbs-init
+</pre></div>
+
+<hr>
+<span id="Fstab"></span><div class="header">
+<p>
+Previous: <a href="#Init-scripts" accesskey="p" rel="prev">Init scripts</a>, Up: <a href="#Making-your-system-bootable" accesskey="u" rel="up">Making your system bootable</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Fstab-1"></span><h4 class="subsection">1.5.3 Fstab</h4>
+
+<p>You can now manually edit your fstab entry, or you can use the genfstab tool.
+If you want to use the tool, exit the chroot and run the following:
+</p>
+<div class="example">
+<pre class="example">wget https://github.com/cemkeylan/genfstab/raw/master/genfstab
+chmod +x genfstab
+./genfstab -U /mnt &gt;&gt; /mnt/etc/fstab
+</pre></div>
+
+<hr>
+<span id="Post_002dinstallation"></span><div class="header">
+<p>
+Previous: <a href="#Making-your-system-bootable" accesskey="p" rel="prev">Making your system bootable</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Post_002dinstallation-1"></span><h3 class="section">1.6 Post-installation</h3>
+
+<p>The base installation is now complete, you can now fine tune your system
+according to your needs. Rest of these instructions are completely optional.
+You can check the rest of the documentation to learn more about the system.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#KISS-repositories" accesskey="1">KISS repositories</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Acquire kiss repositories
+</td></tr>
+</table>
+
+<hr>
+<span id="KISS-repositories"></span><div class="header">
+<p>
+Up: <a href="#Post_002dinstallation" accesskey="u" rel="up">Post-installation</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="KISS-repositories-1"></span><h4 class="subsection">1.6.1 KISS repositories</h4>
+
+<p>While not 100% compatible with cpt, you can use kiss repositories in your
+system the same way you are using the distribution repositories. Here is an
+example for the KISS Linux Community repository.
+</p>
+<hr>
+<span id="Init-System"></span><div class="header">
+<p>
+Next: <a href="#Contribution-Guidelines" accesskey="n" rel="next">Contribution Guidelines</a>, Previous: <a href="#Installation" accesskey="p" rel="prev">Installation</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Init-System-1"></span><h2 class="chapter">2 Init System</h2>
+
+<p>Carbs Linux init scripts are run by the init daemon (&lsquo;<samp>busybox</samp>&rsquo; by default) on
+boot and shutdown processes. It also provides its own halting program named
+shalt. This provides a portable method that doesn&rsquo;t rely on non-POSIX external
+programs.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Configuring-Init" accesskey="1">Configuring Init</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Ways to configure the init system
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Changing-Init-Program" accesskey="2">Changing Init Program</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Replace the default busybox init with something new
+</td></tr>
+</table>
+
+<hr>
+<span id="Configuring-Init"></span><div class="header">
+<p>
+Next: <a href="#Changing-Init-Program" accesskey="n" rel="next">Changing Init Program</a>, Up: <a href="#Init-System" accesskey="u" rel="up">Init System</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Configuring-Init-1"></span><h3 class="section">2.1 Configuring Init</h3>
+
+<p>There are three ways you can change the behaviour of the init system. Those are:
+</p>
+<ul>
+<li> Kernel Command Line
+</li><li> &lsquo;<samp>/etc/init/rc.conf</samp>&rsquo; file
+</li><li> Init Hooks
+</li></ul>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Kernel-Command-Line" accesskey="1">Kernel Command Line</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Configure init through the boot parameters
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#g_t_002fetc_002finit_002frcconf-file" accesskey="2">&lsquo;<samp>/etc/init/rc.conf</samp>&rsquo; file</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Configure init through the configuration file
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Init-Hooks" accesskey="3">Init Hooks</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Configure init through hooks
+</td></tr>
+</table>
+
+<hr>
+<span id="Kernel-Command-Line"></span><div class="header">
+<p>
+Next: <a href="#g_t_002fetc_002finit_002frcconf-file" accesskey="n" rel="next">&lsquo;<samp>/etc/init/rcconf</samp>&rsquo; file</a>, Up: <a href="#Configuring-Init" accesskey="u" rel="up">Configuring Init</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Kernel-Command-Line-1"></span><h4 class="subsection">2.1.1 Kernel Command Line</h4>
+
+<p>On GRUB, you can edit the kernel command line parameters, which will be parsed
+as variables on the init system. Not all of the parameters will be acted upon,
+but all of them will be set as variables on the init script. For example an
+example command line, and how it is interpreted.
+</p>
+<div class="example">
+<pre class="example">BOOT_IMAGE=/boot/vmlinuz root=/dev/sda2 rw loglevel=3 quiet
+</pre></div>
+
+<p>This command line will be parsed to set the following variables:
+</p>
+<div class="example">
+<pre class="example">BOOT_IMAGE=/boot/vmlinuz
+root=/dev/sda2
+rw=1
+loglevel=3
+quiet=1
+</pre></div>
+
+<p>Some of these variables, such as &lsquo;<samp>rw=/=ro</samp>&rsquo;, &lsquo;<samp>loglevel</samp>&rsquo;, and &lsquo;<samp>quiet</samp>&rsquo;, will be
+used by the init system to change the behaviour of the startup.
+</p>
+<hr>
+<span id="g_t_002fetc_002finit_002frcconf-file"></span><div class="header">
+<p>
+Next: <a href="#Init-Hooks" accesskey="n" rel="next">Init Hooks</a>, Previous: <a href="#Kernel-Command-Line" accesskey="p" rel="prev">Kernel Command Line</a>, Up: <a href="#Configuring-Init" accesskey="u" rel="up">Configuring Init</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="g_t_002fetc_002finit_002frc_002econf-file"></span><h4 class="subsection">2.1.2 &lsquo;<samp>/etc/init/rc.conf</samp>&rsquo; file</h4>
+
+<p>However, the kernel command line isn&rsquo;t the only place to set your boot
+parameters. You can specify variables here as well, although note that the
+kernel command line always gets the priority for these variables since they can
+be set just before boot.
+</p>
+<hr>
+<span id="Init-Hooks"></span><div class="header">
+<p>
+Previous: <a href="#g_t_002fetc_002finit_002frcconf-file" accesskey="p" rel="prev">&lsquo;<samp>/etc/init/rcconf</samp>&rsquo; file</a>, Up: <a href="#Configuring-Init" accesskey="u" rel="up">Configuring Init</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Init-Hooks-1"></span><h4 class="subsection">2.1.3 Init Hooks</h4>
+
+<p>Init hooks are for custom personal commands that the user may want to add to
+alter their boot. These can be used to load kernel modules, modify interfaces,
+and lot more. Those hooks are added to the &lsquo;<samp>/etc/init</samp>&rsquo; directory with the
+hook name as the suffix. For example, a boot script will be placed as
+&lsquo;<samp>/etc/init/my-hook.boot</samp>&rsquo;. Currently, there are 4 hooks that the user can use.
+</p>
+<dl compact="compact">
+<dt>early-boot</dt>
+<dd><p>Run after pseudo-filesystems are mounted.
+</p></dd>
+<dt>boot</dt>
+<dd><p>Run before the boot stage is completed.
+</p></dd>
+<dt>pre.shutdown</dt>
+<dd><p>Run first when shutting down.
+</p></dd>
+<dt>umount</dt>
+<dd><p>Run just before filesystems are unmounted.
+</p></dd>
+<dt>post.shutdown</dt>
+<dd><p>Run just before the system is halted.
+</p></dd>
+</dl>
+
+<hr>
+<span id="Changing-Init-Program"></span><div class="header">
+<p>
+Previous: <a href="#Configuring-Init" accesskey="p" rel="prev">Configuring Init</a>, Up: <a href="#Init-System" accesskey="u" rel="up">Init System</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Changing-Init-Program-1"></span><h3 class="section">2.2 Changing Init Program</h3>
+
+<p>By default, Carbs Linux comes preinstalled with &lsquo;<samp>busybox-init</samp>&rsquo;, but this can
+easily be replaced without any issues. Currently, available init systems are:
+</p>
+<ul>
+<li> &lsquo;<samp>sinit</samp>&rsquo;
+</li><li> &lsquo;<samp>busybox</samp>&rsquo;
+</li><li> &lsquo;<samp>runit</samp>&rsquo;
+</li><li> &lsquo;<samp>shinit</samp>&rsquo;
+</li></ul>
+
+<p>This example is for runit, but it will work with all init systems packaged in the
+distribution repositories. See the &lsquo;<samp>cpt-alternatives(1)</samp>&rsquo; manual page for more
+details.
+</p>
+<div class="example">
+<pre class="example">cpt a runit /usr/bin/init
+cpt a runit /usr/bin/poweroff
+cpt a runit /usr/bin/reboot
+</pre></div>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Rebooting-after-changing-init" accesskey="1">Rebooting after changing init</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Ways to reboot after replacing the init system
+</td></tr>
+</table>
+
+<hr>
+<span id="Rebooting-after-changing-init"></span><div class="header">
+<p>
+Up: <a href="#Changing-Init-Program" accesskey="u" rel="up">Changing Init Program</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Rebooting-after-changing-init-1"></span><h4 class="subsection">2.2.1 Rebooting after changing init</h4>
+
+<p>After switching init systems, your running init system may not accept the
+new poweroff commands. You will need to reboot/poweroff using the running init&rsquo;s
+utilities for the new utilities to work. These commands are for the init system
+currently running on your system and not the one you are switching to.
+</p>
+<table>
+<thead><tr><th>Program</th><th>Command</th></tr></thead>
+<tr><td>busybox</td><td>&lsquo;<samp>busybox reboot</samp>&rsquo;</td></tr>
+<tr><td>runit</td><td>&lsquo;<samp>runit-init 6</samp>&rsquo;</td></tr>
+<tr><td>shinit/sinit</td><td>&lsquo;<samp>kill -s INT 1</samp>&rsquo;</td></tr>
+</table>
+
+<hr>
+<span id="Contribution-Guidelines"></span><div class="header">
+<p>
+Next: <a href="#GNU-Free-Documentation-License" accesskey="n" rel="next">GNU Free Documentation License</a>, Previous: <a href="#Init-System" accesskey="p" rel="prev">Init System</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Contribution-Guidelines-1"></span><h2 class="chapter">3 Contribution Guidelines</h2>
+
+<p>Thanks for taking your time to contribute! To maintain stylistic behaviour
+throughout the repositories, one must adhere to these conventions. Exceptions
+and changes may occur with good reasoning.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Conventions" accesskey="1">Conventions</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Conventions of the distribution
+</td></tr>
+</table>
+
+<hr>
+<span id="Conventions"></span><div class="header">
+<p>
+Up: <a href="#Contribution-Guidelines" accesskey="u" rel="up">Contribution Guidelines</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Conventions-1"></span><h3 class="section">3.1 Conventions</h3>
+
+
+
+<dl compact="compact">
+<dt>[<span id="g_t0010"></span>0010]</dt>
+<dd><p>Try to keep the file readable.
+</p><dl compact="compact">
+<dt>[<span id="g_t0011"></span>0011]</dt>
+<dd><p>Characters on a line shouldn&rsquo;t exceed 100 characters.
+</p></dd>
+<dt>[<span id="g_t0012"></span>0012]</dt>
+<dd><p>Make sure you don&rsquo;t have code commented out during
+commit. Uncomment them or remove them completely.
+</p></dd>
+<dt>[<span id="g_t0013"></span>0013]</dt>
+<dd><p>Do not add comments following the code, add them to the
+top of the code. It makes it harder to read, and lines longer. Here is an example:
+</p></dd>
+</dl>
+
+<div class="example">
+<pre class="example"># Good way of commenting.
+your code goes here
+
+your code goes here # Avoid this way of commenting.
+</pre></div>
+</dd>
+</dl>
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top">&bull; <a href="#Shell-Conventions" accesskey="1">Shell Conventions</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Conventions for shell scripts
+</td></tr>
+<tr><td align="left" valign="top">&bull; <a href="#Repository-Conventions" accesskey="2">Repository Conventions</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">Conventions for repository build scripts
+</td></tr>
+</table>
+
+<hr>
+<span id="Shell-Conventions"></span><div class="header">
+<p>
+Next: <a href="#Repository-Conventions" accesskey="n" rel="next">Repository Conventions</a>, Up: <a href="#Conventions" accesskey="u" rel="up">Conventions</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Shell-Conventions-1"></span><h4 class="subsection">3.1.1 Shell Conventions</h4>
+
+<p>Shell is central to Carbs Linux projects. Most of the tools and packages are
+written in POSIX sh.
+</p>
+<dl compact="compact">
+<dt>[<span id="g_t1010"></span>1010]</dt>
+<dd><p>Use 4 spaces for indentation, don&rsquo;t use tabs.
+</p></dd>
+<dt>[<span id="g_t1020"></span>1020]</dt>
+<dd><p>Make sure you don&rsquo;t use bash-specific code.
+</p></dd>
+<dt>[<span id="g_t1030"></span>1030]</dt>
+<dd><p>Make sure you lint your code with &lsquo;<samp>shellcheck</samp>&rsquo; and if
+you are new to POSIX sh, use &lsquo;<samp>checkbashisms</samp>&rsquo;.
+</p></dd>
+<dt>[<span id="g_t1040"></span>1040]</dt>
+<dd><p>Don&rsquo;t spawn new processes if you don&rsquo;t absolutely need
+to, especially during string manipulation.
+</p><dl compact="compact">
+<dt>[<span id="g_t1041"></span>1041]</dt>
+<dd><p>Never use a program for text manupilation that isn&rsquo;t
+defined in the POSIX standard. This includes &lsquo;<samp>gawk</samp>&rsquo; and &lsquo;<samp>perl</samp>&rsquo;.
+</p></dd>
+<dt>[<span id="g_t1042"></span>1042]</dt>
+<dd><p>Instead of <code>$(basename $file)</code>, use <code>${file##*}</code>.
+</p></dd>
+<dt>[<span id="g_t1043"></span>1043]</dt>
+<dd><p>Instead of <code>$(dirname $file)</code>, use <code>${file%/*}</code>.
+</p></dd>
+</dl>
+
+<div class="example">
+<pre class="example"># This is the same thing as basename /path/to/test.asc .asc
+
+$ file=/path/to/test.asc file=${file##*/} file=${file%.asc}
+$ echo $file
+test
+</pre></div>
+</dd>
+<dt>[<span id="g_t1050"></span>1050]</dt>
+<dd><p>Instead of backticks, use <code>$(..)</code>.
+</p></dd>
+</dl>
+
+<hr>
+<span id="Repository-Conventions"></span><div class="header">
+<p>
+Previous: <a href="#Shell-Conventions" accesskey="p" rel="prev">Shell Conventions</a>, Up: <a href="#Conventions" accesskey="u" rel="up">Conventions</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="Repository-Conventions-1"></span><h4 class="subsection">3.1.2 Repository Conventions</h4>
+
+<p>Repository conventions are important in order to ensure every package resemble
+themselves. Here are the things to keep in mind:
+</p>
+<dl compact="compact">
+<dt>[<span id="g_t2010"></span>2010]</dt>
+<dd><p>Prefer tarballs over git packages unless there is a
+sensible reason. Here are some:
+</p><ul>
+<li> Every patch is a new release. (See <a href="https://github.com/vim/vim">vim</a>)
+</li><li> There are no releases. (See <a href="https://git.suckless.org/sbase">sbase</a>)
+</li><li> Following a development branch.
+</li><li> There has been a long time since the latest release, but upstream is far
+ahead.
+</li></ul>
+</dd>
+<dt>[<span id="g_t2020"></span>2020]</dt>
+<dd><p>Prefer sources without a dependency to &lsquo;<samp>automake</samp>&rsquo;. There
+are usually distribution tarballs that are &lsquo;<samp>autoconf</samp>&rsquo;&rsquo;ed. Don&rsquo;t submit tarballs
+with an automake dependency unless you are &lsquo;<samp>sure</samp>&rsquo; there is no alternative.
+</p></dd>
+<dt>[<span id="g_t2030"></span>2030]</dt>
+<dd><p>Avoid these packages:
+</p><dl compact="compact">
+<dt>dbus</dt>
+<dd><p>Usually can be disabled by <code>--disable-dbus</code>.
+</p></dd>
+<dt>gettext</dt>
+<dd><p>Usually can be disabled by <code>--disable-nls</code>.
+</p></dd>
+</dl>
+</dd>
+<dt>[<span id="g_t2040"></span>2040]</dt>
+<dd><ul>
+<li> Always install a package to the &lsquo;<samp>/usr</samp>&rsquo; prefix.
+</li><li> All binaries should go to &lsquo;<samp>/usr/bin</samp>&rsquo;, not &lsquo;<samp>/usr/sbin</samp>&rsquo; or any other directory.
+</li><li> All libraries should go to &lsquo;<samp>/usr/lib</samp>&rsquo;.
+</li></ul>
+</dd>
+<dt>[<span id="g_t2050"></span>2050]</dt>
+<dd><p>All build files on the repository should be a POSIX
+shell script, and must start with <code>#!/bin/sh -e</code>.
+</p></dd>
+</dl>
+
+<p>The next section is about package templates that should be used in order to
+ensure stylistic consistency. Note that the option configurations shouldn&rsquo;t be
+taken literally, they are meant as examples.
+</p>
+<ol>
+<li> Make [<span id="g_t2210"></span>2210]
+
+
+<div class="example">
+<pre class="example">#!/bin/sh -e
+
+make
+make DESTDIR=&quot;$1&quot; PREFIX=/usr install
+</pre></div>
+
+</li><li> Configure/Make [<span id="g_t2211"></span>2211]
+
+
+<div class="example">
+<pre class="example">#!/bin/sh -e
+
+./configure \
+ --prefix=/usr \
+ --disable-option \
+ --enable-option
+
+make
+make DESTDIR=&quot;$1&quot; install
+</pre></div>
+
+</li><li> Autoconf/Automake [<span id="g_t2212"></span>2212]
+
+
+<p>See <a href="#g_t2020">2020</a>
+</p>
+<div class="example">
+<pre class="example">#!/bin/sh -e
+
+autoreconf -fi
+
+./configure \
+ --prefix=/usr \
+ --disable-option \
+ --enable-option
+
+make
+make DESTDIR=&quot;$1&quot; install
+</pre></div>
+
+</li><li> Meson [<span id="g_t2220"></span>2220]
+
+
+<div class="example">
+<pre class="example">#!/bin/sh -e
+
+export DESTDIR=$1
+
+meson \
+ --prefix=/usr \
+ -Doption=false \
+ -Doption2=true \
+ . output
+
+ninja -C output
+ninja -C output install
+</pre></div>
+
+</li><li> Cmake [<span id="g_t2230"></span>2230]
+
+
+<div class="example">
+<pre class="example">#!/bin/sh -e
+
+export DESTDIR=$1
+
+cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DOPTION=ON
+
+cmake --build build
+cmake --install build
+</pre></div>
+
+</li><li> Go [<span id="g_t2240"></span>2240]
+
+
+<div class="example">
+<pre class="example">#!/bin/sh -e
+
+export GOPATH=$PWD/gopath
+trap &quot;go clean -modcache&quot; EXIT INT
+go mod vendor
+
+go build
+install -Dm755 program &quot;$1/usr/bin/program&quot;
+</pre></div>
+
+</li><li> Python [<span id="g_t2241"></span>2241]
+
+
+<div class="example">
+<pre class="example">#!/bin/sh -e
+
+python setup.py build
+python setup.py install --prefix=/usr --root=&quot;$1&quot;
+</pre></div>
+</li></ol>
+
+<hr>
+<span id="GNU-Free-Documentation-License"></span><div class="header">
+<p>
+Previous: <a href="#Contribution-Guidelines" accesskey="p" rel="prev">Contribution Guidelines</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a> &nbsp; [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
+</div>
+<span id="GNU-Free-Documentation-License-1"></span><h2 class="appendix">Appendix A GNU Free Documentation License</h2>
+
+<div align="center">Version 1.3, 3 November 2008
+</div>
+<div class="display">
+<pre class="display">Copyright &copy; 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+<a href="http://fsf.org/">http://fsf.org/</a>
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+</pre></div>
+
+<ol start="0">
+<li> PREAMBLE
+
+<p>The purpose of this License is to make a manual, textbook, or other
+functional and useful document <em>free</em>
+in the sense of freedom: to assure everyone the effective freedom
+to copy and redistribute it, with or without modifying it, either
+commercially or noncommercially. Secondarily, this License
+preserves for the author and publisher a way to get credit for
+their work, while not being considered responsible for
+modifications made by others.
+</p>
+<p>This License is a kind of &quot;copyleft&quot;, which means that derivative
+works of the document must themselves be free in the same sense.
+It complements the GNU General Public License, which is a copyleft
+license designed for free software.
+</p>
+<p>We have designed this License in order to use it for manuals for
+free software, because free software needs free documentation:
+a free program should come with manuals providing the same freedoms
+that the software does. But this License is not limited to
+software manuals; it can be used for any textual work, regardless
+of subject matter or whether it is published as a printed book. We
+recommend this License principally for works whose purpose is
+instruction or reference.
+</p>
+</li><li> APPLICABILITY AND DEFINITIONS
+
+<p>This License applies to any manual or other work, in any medium,
+that contains a notice placed by the copyright holder saying it can
+be distributed under the terms of this License. Such a notice
+grants a world-wide, royalty-free license, unlimited in duration,
+to use that work under the conditions stated herein. The
+&quot;Document&quot;, below, refers to any such manual or work. Any member
+of the public is a licensee, and is addressed as &quot;you&quot;. You accept
+the license if you copy, modify or distribute the work in a way
+requiring permission under copyright law.
+</p>
+<p>A &quot;Modified Version&quot; of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+</p>
+<p>A &quot;Secondary Section&quot; is a named appendix or a front-matter section
+of the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document&rsquo;s overall
+subject (or to related matters) and contains nothing that could
+fall directly within that overall subject. (Thus, if the Document
+is in part a textbook of mathematics, a Secondary Section may not
+explain any mathematics.) The relationship could be a matter of
+historical connection with the subject or with related matters, or
+of legal, commercial, philosophical, ethical or political position
+regarding them.
+</p>
+<p>The &quot;Invariant Sections&quot; are certain Secondary Sections whose
+titles are designated, as being those of Invariant Sections, in the
+notice that says that the Document is released under this License.
+If a section does not fit the above definition of Secondary then it
+is not allowed to be designated as Invariant. The Document may
+contain zero Invariant Sections. If the Document does not identify
+any Invariant Sections then there are none.
+</p>
+<p>The &quot;Cover Texts&quot; are certain short passages of text that are
+listed, as Front-Cover Texts or Back-Cover Texts, in the notice
+that says that the Document is released under this License.
+A Front-Cover Text may be at most 5 words, and a Back-Cover Text
+may be at most 25 words.
+</p>
+<p>A &quot;Transparent&quot; copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed
+of pixels) generic paint programs or (for drawings) some widely
+available drawing editor, and that is suitable for input to text
+formatters or for automatic translation to a variety of formats
+suitable for input to text formatters. A copy made in an otherwise
+Transparent file format whose markup, or absence of markup, has
+been arranged to thwart or discourage subsequent modification by
+readers is not Transparent. An image format is not Transparent if
+used for any substantial amount of text. A copy that is not
+&quot;Transparent&quot; is called &quot;Opaque&quot;.
+</p>
+<p>Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format,
+SGML or XML using a publicly available DTD, and standard-conforming
+simple HTML, PostScript or PDF designed for human modification.
+Examples of transparent image formats include PNG, XCF and JPG.
+Opaque formats include proprietary formats that can be read and
+edited only by proprietary word processors, SGML or XML for which
+the DTD and/or processing tools are not generally available, and
+the machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+</p>
+<p>The &quot;Title Page&quot; means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the
+material this License requires to appear in the title page. For
+works in formats which do not have any title page as such, &quot;Title
+Page&quot; means the text near the most prominent appearance of the
+work&rsquo;s title, preceding the beginning of the body of the text.
+</p>
+<p>The &quot;publisher&quot; means any person or entity that distributes copies
+of the Document to the public.
+</p>
+<p>A section &quot;Entitled XYZ&quot; means a named subunit of the Document
+whose title either is precisely XYZ or contains XYZ in parentheses
+following text that translates XYZ in another language. (Here XYZ
+stands for a specific section name mentioned below, such as
+&quot;Acknowledgements&quot;, &quot;Dedications&quot;, &quot;Endorsements&quot;, or &quot;History&quot;.)
+To &quot;Preserve the Title&quot; of such a section when you modify the
+Document means that it remains a section &quot;Entitled XYZ&quot; according
+to this definition.
+</p>
+<p>The Document may include Warranty Disclaimers next to the notice
+which states that this License applies to the Document. These
+Warranty Disclaimers are considered to be included by reference in
+this License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and
+has no effect on the meaning of this License.
+</p>
+</li><li> VERBATIM COPYING
+
+<p>You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License
+applies to the Document are reproduced in all copies, and that you
+add no other conditions whatsoever to those of this License. You
+may not use technical measures to obstruct or control the reading
+or further copying of the copies you make or distribute. However,
+you may accept compensation in exchange for copies. If you
+distribute a large enough number of copies you must also follow the
+conditions in section 3.
+</p>
+<p>You may also lend copies, under the same conditions stated above,
+and you may publicly display copies.
+</p>
+</li><li> COPYING IN QUANTITY
+
+<p>If you publish printed copies (or copies in media that commonly
+have printed covers) of the Document, numbering more than 100, and
+the Document&rsquo;s license notice requires Cover Texts, you must
+enclose the copies in covers that carry, clearly and legibly, all
+these Cover Texts: Front-Cover Texts on the front cover, and
+Back-Cover Texts on the back cover. Both covers must also clearly
+and legibly identify you as the publisher of these copies. The
+front cover must present the full title with all words of the title
+equally prominent and visible. You may add other material on the
+covers in addition. Copying with changes limited to the covers, as
+long as they preserve the title of the Document and satisfy these
+conditions, can be treated as verbatim copying in other respects.
+</p>
+<p>If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto
+adjacent pages.
+</p>
+<p>If you publish or distribute Opaque copies of the Document
+numbering more than 100, you must either include a machine-readable
+Transparent copy along with each Opaque copy, or state in or with
+each Opaque copy a computer-network location from which the general
+network-using public has access to download using public-standard
+network protocols a complete Transparent copy of the Document, free
+of added material. If you use the latter option, you must take
+reasonably prudent steps, when you begin distribution of Opaque
+copies in quantity, to ensure that this Transparent copy will
+remain thus accessible at the stated location until at least one
+year after the last time you distribute an Opaque copy (directly or
+through your agents or retailers) of that edition to the public.
+</p>
+<p>It is requested, but not required, that you contact the authors of
+the Document well before redistributing any large number of copies,
+to give them a chance to provide you with an updated version of the
+Document.
+</p>
+</li><li> MODIFICATIONS
+
+<p>You may copy and distribute a Modified Version of the Document
+under the conditions of sections 2 and 3 above, provided that you
+release the Modified Version under precisely this License, with the
+Modified Version filling the role of the Document, thus licensing
+distribution and modification of the Modified Version to whoever
+possesses a copy of it. In addition, you must do these things in
+the Modified Version:
+</p>
+<ol type="A" start="1">
+<li> Use in the Title Page (and on the covers, if any) a title
+distinct from that of the Document, and from those of previous
+versions (which should, if there were any, be listed in the
+History section of the Document). You may use the same title as
+a previous version if the original publisher of that version
+gives permission.
+
+</li><li> List on the Title Page, as authors, one or more persons or
+entities responsible for authorship of the modifications in the
+Modified Version, together with at least five of the principal
+authors of the Document (all of its principal authors, if it has
+fewer than five), unless they release you from this requirement.
+
+</li><li> State on the Title page the name of the publisher of the
+Modified Version, as the publisher.
+
+</li><li> Preserve all the copyright notices of the Document.
+
+</li><li> Add an appropriate copyright notice for your modifications
+adjacent to the other copyright notices.
+
+</li><li> Include, immediately after the copyright notices, a license
+notice giving the public permission to use the Modified Version
+under the terms of this License, in the form shown in the
+Addendum below.
+
+</li><li> Preserve in that license notice the full lists of Invariant
+Sections and required Cover Texts given in the Document&rsquo;s
+license notice.
+
+</li><li> Include an unaltered copy of this License.
+
+</li><li> Preserve the section Entitled &quot;History&quot;, Preserve its Title, and
+add to it an item stating at least the title, year, new authors,
+and publisher of the Modified Version as given on the Title
+Page. If there is no section Entitled &quot;History&quot; in the Document,
+create one stating the title, year, authors, and publisher of
+the Document as given on its Title Page, then add an item
+describing the Modified Version as stated in the previous
+sentence.
+
+</li><li> Preserve the network location, if any, given in the Document
+for public access to a Transparent copy of the Document, and
+likewise the network locations given in the Document for
+previous versions it was based on. These may be placed in the
+&quot;History&quot; section. You may omit a network location for a work
+that was published at least four years before the Document
+itself, or if the original publisher of the version it refers
+to gives permission.
+
+</li><li> For any section Entitled &quot;Acknowledgements&quot; or &quot;Dedications&quot;,
+Preserve the Title of the section, and preserve in the section
+all the substance and tone of each of the contributor
+acknowledgements and/or dedications given therein.
+
+</li><li> Preserve all the Invariant Sections of the Document, unaltered
+in their text and in their titles. Section numbers or the
+equivalent are not considered part of the section titles.
+
+</li><li> Delete any section Entitled &quot;Endorsements&quot;. Such a section may
+not be included in the Modified Version.
+
+</li><li> Do not retitle any existing section to be Entitled
+&quot;Endorsements&quot; or to conflict in title with any Invariant
+Section.
+
+</li><li> Preserve any Warranty Disclaimers.
+</li></ol>
+
+<p>If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version&rsquo;s license notice.
+These titles must be distinct from any other section titles.
+</p>
+<p>You may add a section Entitled &quot;Endorsements&quot;, provided it contains
+nothing but endorsements of your Modified Version by various
+parties&mdash;for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+</p>
+<p>You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+</p>
+<p>The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+</p>
+</li><li> COMBINING DOCUMENTS
+
+<p>You may combine the Document with other documents released under
+this License, under the terms defined in section 4 above for
+modified versions, provided that you include in the combination all
+of the Invariant Sections of all of the original documents,
+unmodified, and list them all as Invariant Sections of your
+combined work in its license notice, and that you preserve all
+their Warranty Disclaimers.
+</p>
+<p>The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name
+but different contents, make the title of each such section unique
+by adding at the end of it, in parentheses, the name of the
+original author or publisher of that section if known, or else
+a unique number. Make the same adjustment to the section titles in
+the list of Invariant Sections in the license notice of the
+combined work.
+</p>
+<p>In the combination, you must combine any sections Entitled
+&quot;History&quot; in the various original documents, forming one section
+Entitled &quot;History&quot;; likewise combine any sections Entitled
+&quot;Acknowledgements&quot;, and any sections Entitled &quot;Dedications&quot;. You
+must delete all sections Entitled &quot;Endorsements.&quot;
+</p>
+</li><li> COLLECTIONS OF DOCUMENTS
+
+<p>You may make a collection consisting of the Document and other
+documents released under this License, and replace the individual
+copies of this License in the various documents with a single copy
+that is included in the collection, provided that you follow the
+rules of this License for verbatim copying of each of the documents
+in all other respects.
+</p>
+<p>You may extract a single document from such a collection, and
+distribute it individually under this License, provided you insert
+a copy of this License into the extracted document, and follow this
+License in all other respects regarding verbatim copying of that
+document.
+</p>
+</li><li> AGGREGATION WITH INDEPENDENT WORKS
+
+<p>A compilation of the Document or its derivatives with other
+separate and independent documents or works, in or on a volume of
+a storage or distribution medium, is called an &quot;aggregate&quot; if the
+copyright resulting from the compilation is not used to limit the
+legal rights of the compilation&rsquo;s users beyond what the individual
+works permit. When the Document is included in an aggregate, this
+License does not apply to the other works in the aggregate which
+are not themselves derivative works of the Document.
+</p>
+<p>If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half
+of the entire aggregate, the Document&rsquo;s Cover Texts may be placed
+on covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic
+form. Otherwise they must appear on printed covers that bracket
+the whole aggregate.
+</p>
+</li><li> TRANSLATION
+
+<p>Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of
+section 4. Replacing Invariant Sections with translations requires
+special permission from their copyright holders, but you may
+include translations of some or all Invariant Sections in addition
+to the original versions of these Invariant Sections. You may
+include a translation of this License, and all the license notices
+in the Document, and any Warranty Disclaimers, provided that you
+also include the original English version of this License and the
+original versions of those notices and disclaimers. In case of
+a disagreement between the translation and the original version of
+this License or a notice or disclaimer, the original version will
+prevail.
+</p>
+<p>If a section in the Document is Entitled &quot;Acknowledgements&quot;,
+&quot;Dedications&quot;, or &quot;History&quot;, the requirement (section 4) to
+Preserve its Title (section 1) will typically require changing the
+actual title.
+</p>
+</li><li> TERMINATION
+
+<p>You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void,
+and will automatically terminate your rights under this License.
+</p>
+<p>However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the
+copyright holder fails to notify you of the violation by some
+reasonable means prior to 60 days after the cessation.
+</p>
+<p>Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from
+that copyright holder, and you cure the violation prior to 30 days
+after your receipt of the notice.
+</p>
+<p>Termination of your rights under this section does not terminate
+the licenses of parties who have received copies or rights from you
+under this License. If your rights have been terminated and not
+permanently reinstated, receipt of a copy of some or all of the
+same material does not give you any rights to use it.
+</p>
+</li><li> FUTURE REVISIONS OF THIS LICENSE
+
+<p>The Free Software Foundation may publish new, revised versions of
+the GNU Free Documentation License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns. See
+<a href="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</a>.
+</p>
+<p>Each version of the License is given a distinguishing version
+number. If the Document specifies that a particular numbered
+version of this License &quot;or any later version&quot; applies to it, you
+have the option of following the terms and conditions either of
+that specified version or of any later version that has been
+published (not as a draft) by the Free Software Foundation. If
+the Document does not specify a version number of this License,
+you may choose any version ever published (not as a draft) by the
+Free Software Foundation. If the Document specifies that a proxy
+can decide which future versions of this License can be used, that
+proxy&rsquo;s public statement of acceptance of a version permanently
+authorizes you to choose that version for the Document.
+</p>
+</li><li> RELICENSING
+
+<p>&quot;Massive Multiauthor Collaboration Site&quot; (or &quot;MMC Site&quot;) means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works.
+A public wiki that anybody can edit is an example of such
+a server. A &quot;Massive Multiauthor Collaboration&quot; (or &quot;MMC&quot;)
+contained in the site means any set of copyrightable works thus
+published on the MMC site.
+</p>
+<p>&quot;CC-BY-SA&quot; means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation,
+a not-for-profit corporation with a principal place of business in
+San Francisco, California, as well as future copyleft versions of
+that license published by that same organization.
+</p>
+<p>&quot;Incorporate&quot; means to publish or republish a Document, in whole
+or in part, as part of another Document.
+</p>
+<p>An MMC is &quot;eligible for relicensing&quot; if it is licensed under this
+License, and if all works that were first published under this
+License somewhere other than this MMC, and subsequently
+incorporated in whole or in part into the MMC, (1) had no cover
+texts or invariant sections, and (2) were thus incorporated prior
+to November 1, 2008.
+</p>
+<p>The operator of an MMC Site may republish an MMC contained in the
+site under CC-BY-SA on the same site at any time before August 1,
+2009, provided the MMC is eligible for relicensing.
+</p></li></ol>
+
+
+<span id="ADDENDUM-How-to-use-this-License-for-your-documents"></span><span id="ADDENDUM_003a-How-to-use-this-License-for-your-documents"></span><h3 class="appendixsec">A.1 ADDENDUM: How to use this License for your documents</h3>
+
+<p>To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+</p>
+<div class="example">
+<pre class="example">Copyright (C) YEAR YOUR NAME.
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+Texts. A copy of the license is included in the section entitled ``GNU
+Free Documentation License''.
+</pre></div>
+
+<p>If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the &quot;with&hellip;Texts.&quot;&nbsp;line with this:
+</p>
+<div class="example">
+<pre class="example">with the Invariant Sections being LIST THEIR TITLES, with
+the Front-Cover Texts being LIST, and with the Back-Cover Texts
+being LIST.
+</pre></div>
+
+<p>If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+</p>
+<p>If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License, to
+permit their use in free software.
+</p>
+<hr>
+
+
+
+</body>
+</html>