aboutsummaryrefslogtreecommitdiff
path: root/docs/wiki/install.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/wiki/install.html')
-rw-r--r--docs/wiki/install.html333
1 files changed, 333 insertions, 0 deletions
diff --git a/docs/wiki/install.html b/docs/wiki/install.html
new file mode 100644
index 0000000..4c391a1
--- /dev/null
+++ b/docs/wiki/install.html
@@ -0,0 +1,333 @@
+<!DOCTYPE HTML>
+<html lan="en">
+<head>
+<title>Install | Carbs Linux</title>
+<link rel="stylesheet" href="/assets/style.css">
+<meta charset="utf-8">
+<meta name="Description" content="Carbs Linux - a simple busybox linux distribution">
+<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+</head>
+<p class=header><strong>Carbs Linux - a simple busybox linux distribution</strong></p>
+<div class="header"><nav>
+<a href='/'>index</a>
+<a href='https://github.com/CarbsLinux'>github</a>
+<a href='//dl.carbslinux.org'>downloads</a>
+<a href='/blog'>blog</a>
+<a href='/wiki'>wiki</a>
+<a href='/wiki/install.html'>installation</a>
+</nav></div><div class="border"></div>
+<h1>Installation Instructions</h1>
+
+<p>This post will guide you step-by-step in order to install
+Carbs Linux. It is not complete yet.</p>
+
+<h2>Downloading and Getting Ready to Chroot</h2>
+
+<p>Installing Carbs Linux is the same as installing most
+rootfs distributions, such as Gentoo, or Void Linux.</p>
+
+<h3>Requirements</h3>
+
+<p>You simply need a Live Linux ISO. Gentoo would be the best
+as programs you will require will be already there. Get the
+ISO, boot it and set up your network.</p>
+
+<p><strong>Required Programs:</strong></p>
+
+<ul>
+<li>tar</li>
+<li>wget</li>
+<li>xz</li>
+</ul>
+
+
+<p>Rest of the instructions assume that you have set all of these
+up, and will continue on.</p>
+
+<h3>Download</h3>
+
+<p>First, we need to download the rootfs tarball. In your terminal
+type</p>
+
+<pre><code>$ wget https://carbslinux.org/releases/carbs-rootfs-20191210.tar.xz
+</code></pre>
+
+<h3>Check the integrity of the tarball</h3>
+
+<p>While optional, it is highly recommended to check the integrity
+of the tarball.</p>
+
+<pre><code>$ wget https://carbslinux.org/releases/carbs-rootfs-20191210.tar.xz.sha256sum
+$ sha256sum -c carbs-rootfs-20191210.tar.xz.sha256sum
+</code></pre>
+
+<h3>Check the signatures</h3>
+
+<p>While optional, it is highly recommended to check the signature
+of the tarball</p>
+
+<pre><code>$ wget https://carbslinux.org/releases/carbs-rootfs-20191210.tar.xz.sig
+
+Import the public key of release@carbslinux.org
+
+$ gpg --recv-keys FF484BDFEFCEF8FF
+
+$ gpg --verify carbs-rootfs-20191210.tar.xz.sig
+</code></pre>
+
+<h3>Download Kiss Linux Chroot Helper</h3>
+
+<pre><code>$ wget https://dl.getkiss.org/kiss-chroot
+
+Make the script executable
+
+$ chmod +x kiss-chroot
+</code></pre>
+
+<h3>Extract the rootfs tarball</h3>
+
+<p>You need to extract the tarball to your mounted partition</p>
+
+<pre><code>$ tar xvpf carbs-rootfs-20191210.tar.xz -C /mnt
+</code></pre>
+
+<h2>Chroot</h2>
+
+<p>Chroot into Carbs Linux</p>
+
+<pre><code>$ ./kiss-chroot /mnt
+</code></pre>
+
+<h3>Enable repository signing (Highly Recommended)</h3>
+
+<p>This step is optional, but very highly recommended
+(I cannot stress out the amount I am recommending this).
+This ensures you are receiving updates from Carbs Linux
+and not some other source.</p>
+
+<p><strong>Install GnuPG</strong></p>
+
+<p>It is also a great time to learn how to use your new
+package manager, KISS! You simply build and install
+the package</p>
+
+<pre><code>$ kiss build gnupg1
+$ kiss install gnupg1
+</code></pre>
+
+<p><strong>Import my key</strong></p>
+
+<pre><code>Import my public key (cem@ckyln.com)
+
+$ gpg --recv-key 4356EE08A364CE09
+
+Create a .gnupg directory if it doesn't exist
+
+$ mkdir -p /root/.gnupg
+
+Trust my public key
+
+$ echo trusted-key 0x4356ee08a364ce09 &gt;&gt; /root/.gnupg/gpg.conf
+</code></pre>
+
+<p><strong>Enable signature verification</strong></p>
+
+<p>Git has a built in signature verification feature.
+You can go to the repository directory and enable it</p>
+
+<pre><code>$ cd /var/db/kiss/repo
+$ git config merge.verifySignatures true
+</code></pre>
+
+<h3>Installing Important Tools</h3>
+
+<p>Since Carbs gives you one of the most minimal base,
+you might need to apply some add-ons to your system.</p>
+
+<p><strong>Update packages</strong></p>
+
+<p>It might be a good idea to update your packages before
+installing new packages. This ensure compatibility.</p>
+
+<pre><code>$ kiss update
+</code></pre>
+
+<p><strong>Filesystems</strong></p>
+
+<p>Currently, e2fsprogs and dosfstools are supported,
+as they are the most-used filesystems.</p>
+
+<pre><code>Support for ext2, ext3, and ex4
+
+$ kiss build e2fsprogs
+$ kiss install e2fsprogs
+
+Support for dosfstools
+
+$ kiss build dosfstools
+$ kiss install dosfstools
+</code></pre>
+
+<p><strong>Device management</strong></p>
+
+<pre><code>$ kiss build eudev
+$ kiss install eudev
+</code></pre>
+
+<p><strong>Wireless</strong></p>
+
+<p><strong>wpa_supplicant</strong></p>
+
+<pre><code>$ kiss build wpa_supplicant
+$ kiss install wpa_supplicant
+</code></pre>
+
+<p><strong>eiwd (WIP)</strong></p>
+
+<pre><code>$ kiss build eiwd
+$ kiss install eiwd
+</code></pre>
+
+<p><strong>dhcpcd</strong></p>
+
+<pre><code>$ kiss build dhcpcd
+$ kiss install dhcpcd
+</code></pre>
+
+<p><strong>Shells</strong></p>
+
+<p>Carbs Linux comes preinstalled with busybox ash, but other shells
+can be found on the repository</p>
+
+<pre><code>Install bash
+
+$ kiss build bash
+$ kiss install bash
+
+Install zsh
+
+$ kiss build zsh
+$ kiss install zsh
+
+Install Plan9 rc-shell
+
+$ kiss build 9base
+$ kiss install 9base
+</code></pre>
+
+<h3>Install the Kernel</h3>
+
+<p>Next step is installing the kernel, which might sound as a challenge
+you should download and extract the kernel tarball first.</p>
+
+<pre><code>$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.tar.xz
+
+Let's move the sources to /usr/src
+
+$ mv linux-5.5.tar.xz /usr/src
+$ tar xf linux-5.5.tar.xz
+$ cd linux-5.5
+</code></pre>
+
+<p><strong>Configure the Kernel</strong></p>
+
+<p>You can check <a href="https://wiki.gentoo.org/wiki/Kernel/Configuration">https://wiki.gentoo.org/wiki/Kernel/Configuration</a>
+to learn more about kernel configuration. Overall, <a href="https://wiki.gentoo.org">Gentoo Wiki</a>
+is a good place to learn about kernel configuration related to
+your hardware.</p>
+
+<p><strong>Build and install the kernel</strong></p>
+
+<p>The rest of it is simple, build the kernel with
+<code>make</code> and install it with <code>make install</code></p>
+
+<h3>Bootloader</h3>
+
+<p>The default bootloader is GRUB (GRand Unified Bootloader).</p>
+
+<p>Build and install GRUB</p>
+
+<pre><code>$ kiss b grub
+$ kiss i grub
+
+Install efibootmgr as well if your
+system requires it
+
+$ kiss b efibootmgr
+$ kiss i efibootmgr
+</code></pre>
+
+<p><strong>Setup GRUB</strong></p>
+
+<pre><code>For BIOS:
+$ grub-install --target=i386-pc /dev/sdX
+
+For UEFI:
+$ grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=CarbsLinux
+
+$ grub-mkconfig -o /boot/grub/grub.cfg
+</code></pre>
+
+<h3>Install init</h3>
+
+<p>Currently, default init for Carbs Linux is <code>sinit</code>, but
+busybox-init is also supported. You can also change this yourself.</p>
+
+<p>To install init, you have to</p>
+
+<pre><code>$ kiss b sinit
+$ kiss i sinit
+</code></pre>
+
+<p>This will also fetch busybox-init as its dependency.</p>
+
+<h3>Enabling other repositories</h3>
+
+<p>There are other repositories out there that might be of your
+interest. The Official Repositories come with community and testing
+repositories that are not enabled by default. You could also want to
+add the Kiss Linux community repository, or someone&rsquo;s personal kiss
+repository.</p>
+
+<p><strong>Obtaining repositories</strong></p>
+
+<p>Obtaining a repository is as simple as a git clone. You can do it
+with Cem&rsquo;s personal repository as an example, but any other repository
+will be the same.</p>
+
+<pre><code># Clone the repository to your desired location
+# Optionally add "--depth 1" to save precious disk space
+
+$ git clone --depth 1 git://git.ckyln.com/kiss-repository /var/db/kiss/cem-repository
+</code></pre>
+
+<p>That&rsquo;s it, you have obtained a new repository!</p>
+
+<p><strong>Adding a repository to your KISS_PATH</strong></p>
+
+<p>Now that we have obtained Cem&rsquo;s repository, we can add it to our KISS_PATH!</p>
+
+<p>We need to edit <code>/etc/profile.d/kiss_path.sh</code> for this, but you
+can also change your KISS_PATH from your shellrc.</p>
+
+<p>Add the full path to the repository, in this case
+<code>/var/db/kiss/cem-repository/cem</code> to the variable
+and add a <code>:</code> before/after it.</p>
+
+<p>It must be looking like this.</p>
+
+<pre><code>export KISS_PATH=/var/db/kiss/repo/core:/var/db/kiss/repo/extra:/var/db/kiss/repo/xorg:/var/db/kiss/cem-repository/cem
+</code></pre>
+
+<p>Update your shell variables by doing <code>. /etc/profile.d/kiss_path.sh</code> so you can
+immediately access the repository packages</p>
+
+<h2>More</h2>
+
+<p>You should now be able to boot into you Carbs Linux installation.
+To learn more, you can visit the <a href="//carbslinux.org/wiki">wiki</a></p>
+<a href="/wiki/install.txt">View Page Source</a><div class=border></div>
+<p class=footer>Linux® is a registered trademark of Linus Torvalds</p>
+<p class=footer>Copyright © 2019-2020 Cem Keylan</p>
+</body>
+</html>