diff options
Diffstat (limited to 'docs/wiki/install.html')
-rw-r--r-- | docs/wiki/install.html | 333 |
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 >> /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’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’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’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’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> |