aboutsummaryrefslogtreecommitdiff
path: root/docs/docs/install.txt
diff options
context:
space:
mode:
Diffstat (limited to 'docs/docs/install.txt')
-rw-r--r--docs/docs/install.txt485
1 files changed, 0 insertions, 485 deletions
diff --git a/docs/docs/install.txt b/docs/docs/install.txt
deleted file mode 100644
index 6f51fa8..0000000
--- a/docs/docs/install.txt
+++ /dev/null
@@ -1,485 +0,0 @@
- ________________________________
-
- CARBS LINUX INSTALLATION GUIDE
-
- Cem Keylan
- ________________________________
-
-
-Table of Contents
-_________________
-
-1. Preparing Environment
-.. 1. Download
-.. 2. Signature verification
-.. 3. Extracting the tarball
-.. 4. Obtain the chroot helper
-2. Chroot
-.. 1. Setting up repositories
-..... 1. Obtaining from git
-..... 2. Obtaining from rsync
-..... 3. Making the package manager use the repositories
-.. 2. Updating packages
-.. 3. Installing packages
-.. 4. Essential Software
-.. 5. Obtaining the documentation
-3. System Configuration
-.. 1. Configuring hostname
-.. 2. Hosts file
-4. Kernel
-.. 1. Obtaining the kernel sources
-.. 2. Kernel dependencies
-.. 3. Building the kernel
-5. Making your system bootable
-.. 1. Bootloader
-..... 1. GRUB BIOS installation
-..... 2. GRUB UEFI installation
-.. 2. Init scripts
-.. 3. Fstab
-6. Post-installation
-.. 1. KISS repositories
-
-
-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
-<https://carbslinux.org/docs/install.txt>.
-
-,----
-| curl -sL https://carbslinux.org/docs/install.txt | less
-`----
-
-
-1 Preparing Environment
-=======================
-
- 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.
-
- You will need the following programs in order to install Carbs Linux:
-
- - tar
- - wget
- - xz
- - some form of base utilities (coreutils, sbase, busybox, etc.)
-
- Rest of these instructions will assume that you have set all of these
- up, and will continue on that point.
-
-
-1.1 Download
-~~~~~~~~~~~~
-
- 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 `x86_64' with `i686'. We are setting this in a
- URL variable so that we don't have to write it every time.
-
- ,----
- | wget $URL/carbs-rootfs.tar.xz.sha256
- | sha256sum -c carbs-rootfs.tar.xz.sha256
- `----
-
-
-1.2 Signature verification
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- It is highly recommended to verify the signature of the tarball. You
- will need GPG for this.
-
- ,----
- | wget $URL/carbs-rootfs.tar.xz.sig
- | gpg --recv-keys FF484BDFEFCEF8FF
- | gpg --verify carbs-rootfs.tar.xz.sig
- `----
-
-
-1.3 Extracting the tarball
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- You will need to extract the tarball to your desired location. For
- partitioning, you can follow [this guide]. This will assume that you
- will be mounting your root partition to `/mnt'.
-
- ,----
- | mount /dev/sdx1 /mnt
- | tar xf carbs-rootfs.tar.xz -C /mnt
- `----
-
-
-[this guide] <https://wiki.archlinux.org/index.php/Partitioning>
-
-
-1.4 Obtain the chroot helper
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- You can obtain the `cpt-chroot' script in order to do a simple chroot
- into your new root filesystem.
-
- ,----
- | wget https://dl.carbslinux.org/distfiles/cpt-chroot
- | chmod a+x cpt-chroot
- `----
-
-
-2 Chroot
-========
-
- Chroot into Carbs Linux!
-
- ,----
- | ./cpt-chroot /mnt
- `----
-
-
-2.1 Setting up repositories
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- Newest tarballs do not come with repositories, so you will need to
- manually obtain them, and set your `CPT_PATH' environment
- variable. Carbs Linux repositories can either be obtained by `git' or
- `rsync'. 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 `git' itself.
-
- The following guide will assume that you put the repositories into
- `~/repos/' directory, but you can put the repositories into any
- directory you want. So go ahead and create that directory:
-
- ,----
- | mkdir -p $HOME/repos
- `----
-
-
-2.1.1 Obtaining from git
-------------------------
-
- 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.
-
- - git://git.carbslinux.org/repository
- - <https://github.com/carbslinux/repository>
-
- ,----
- | git clone git://git.carbslinux.org/repository $HOME/repos/carbs
- `----
-
-
-2.1.2 Obtaining from rsync
---------------------------
-
- Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In
- order to obtain it, run the following:
-
- ,----
- | rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
- `----
-
-
-2.1.3 Making the package manager use the repositories
------------------------------------------------------
-
- In your shell's configuration file, or in your `~/.profile' file, add
- the following lines:
-
- ,----
- | 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
- `----
-
-
-2.2 Updating packages
-~~~~~~~~~~~~~~~~~~~~~
-
- 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.
-
- ,----
- | cpt-update && cpt-update
- `----
-
-
-2.3 Installing packages
-~~~~~~~~~~~~~~~~~~~~~~~
-
- 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. "Package" is not actually a package
- and is given as an example.
-
- ,----
- | cpt-build package
- | cpt-install package
- `----
-
-
-2.4 Essential Software
-~~~~~~~~~~~~~~~~~~~~~~
-
- Here is a list of software that you might want to have on your system.
-
- *BOOTLOADERS*
-
- - efibootmgr
- - grub
-
- *FILESYSTEMS*
-
- - e2fsprogs
- - dosfstools
- - ntfs-3g
-
- *NETWORKING*
-
- - dhcpcd
- - wpa_supplicant
-
- *TEXT EDITORS*
-
- - nano
- - vim
- - neatvi
- - emacs
- - emacs-nox (terminal-only version of emacs)
-
- *USER SHELLS*
-
- - bash
- - zsh
- - oksh
- - rc
-
- *POSIX BASE UTILITIES*
-
- - busybox
- - sbase
- - coreutils
-
- *DOCUMENTATION*
-
- - carbs-docs
- - man-pages
- - man-pages-posix
-
-
-2.5 Obtaining the documentation
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- 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.
-
- ,----
- | # Install the documentation.
- | cpt b carbs-docs && 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 && cpt i info
- |
- | # You can then run info and navigate through the documentation.
- | info carbslinux
- `----
-
-
-3 System Configuration
-======================
-
- After you have finished installing some extra packages, you can
- configure your system to your liking.
-
-
-3.1 Configuring hostname
-~~~~~~~~~~~~~~~~~~~~~~~~
-
- You might want to add a hostname, especially in a networked
- environment. Your hostname will default to 'carbslinux' unless you set
- this.
-
- ,----
- | echo your-hostname > /etc/hostname
- `----
-
-
-3.2 Hosts file
-~~~~~~~~~~~~~~
-
- 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 'localhost' part of these entries to
- your hostname.
-
- ,----
- | 127.0.0.1 localhost.localdomain localhost
- | ::1 localhost.localdomain localhost ip6-localhost
- `----
-
-
-4 Kernel
-========
-
- Kernel isn't managed under the main repositories, even though you
- could package one for your personal use. Here is an [example kernel
- package], which you will need to reconfigure for your specific setup
- if you want to make use of it.
-
-
-[example kernel package]
-<https://github.com/cemkeylan/kiss-repository/tree/master/personal/linux>
-
-4.1 Obtaining the kernel sources
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
- You can visit the <https://kernel.org> website to choose a kernel that
- you want to install. Though only the latest stable and longterm (LTS)
- versions are supported.
-
- ,----
- | # 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
- `----
-
-
-4.2 Kernel dependencies
-~~~~~~~~~~~~~~~~~~~~~~~
-
- In order to compile the kernel you will need to install some
- dependencies. You will need `libelf' to compile the kernel. If you
- want to configure using the menu interface you will also need
- `ncurses'.
-
- ,----
- | # 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
- `----
-
- 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 [E5ten]. You will need to obtain and apply
- the patch in the kernel source directory.
-
- ,----
- | wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch
- | patch -p1 < kernel-no-perl.patch
- `----
-
-
-[E5ten] <https://github.com/E5ten>
-
-
-4.3 Building the kernel
-~~~~~~~~~~~~~~~~~~~~~~~
-
- Next step is configuring and building the kernel. You can check
- Gentoo's [kernel configuration guide] 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.
-
- ,----
- | make menuconfig
- | make
- | install -Dm755 $(make -s image_name) /boot/vmlinuz-linux
- `----
-
-
-[kernel configuration guide]
-<https://wiki.gentoo.org/wiki/Kernel/Configuration>
-
-
-5 Making your system bootable
-=============================
-
- 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.
-
-
-5.1 Bootloader
-~~~~~~~~~~~~~~
-
- 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).
-
-
-5.1.1 GRUB BIOS installation
-----------------------------
-
- ,----
- | cpt b grub && cpt i grub
- | grub-install --target=i386-pc /dev/sdX
- | grub-mkconfig -o /boot/grub/grub.cfg
- `----
-
-
-5.1.2 GRUB UEFI installation
-----------------------------
-
- ,----
- | cpt b efibootmgr && cpt i efibootmgr
- | cpt b grub && cpt i grub
- |
- | grub-install --target=x86_64-efi \
- | --efi-directory=esp \
- | --bootloader-id=CarbsLinux
- |
- | grub-mkconfig -o /boot/grub/grub.cfg
- `----
-
-
-5.2 Init scripts
-~~~~~~~~~~~~~~~~
-
- Only thing left to do is installing the init-scripts, and now you are
- almost ready to boot your system!
-
- ,----
- | cpt b carbs-init && cpt i carbs-init
- `----
-
-
-5.3 Fstab
-~~~~~~~~~
-
- 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:
-
- ,----
- | wget https://github.com/cemkeylan/genfstab/raw/master/genfstab
- | chmod +x genfstab
- | ./genfstab -U /mnt >> /mnt/etc/fstab
- `----
-
-
-6 Post-installation
-===================
-
- 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.
-
-
-6.1 KISS repositories
-~~~~~~~~~~~~~~~~~~~~~
-
- 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.