aboutsummaryrefslogtreecommitdiff
path: root/install.texi
diff options
context:
space:
mode:
Diffstat (limited to 'install.texi')
-rw-r--r--install.texi529
1 files changed, 0 insertions, 529 deletions
diff --git a/install.texi b/install.texi
deleted file mode 100644
index d05fa59..0000000
--- a/install.texi
+++ /dev/null
@@ -1,529 +0,0 @@
-@c This document is part of Carbs Linux Documentation.
-@c See the top.texi file for LICENSE information.
-
-@c -----------------------------------------------------------------------------
-
-@node Installation
-@chapter Installation
-
-These are the step-by-step instructions for installing Carbs Linux.
-
-@ifhtml
-The instructions can also be found plaintext on
-@url{https://carbslinux.org/docs/install.txt}
-@end ifhtml
-
-@menu
-* Preparing Environment:: Getting ready to chroot
-* Chroot:: Going inside your new system
-* System Configuration:: Customizing for your personal use
-* Kernel:: Compiling your own kernel
-* Making your system bootable:: Installing init and bootloader
-* Post-installation:: Acquiring more packages and repositories
-@end menu
-
-
-@c -----------------------------------------------------------------------------
-
-@node Preparing Environment
-@section 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:
-
-@itemize
-@item
-tar
-@item
-wget
-@item
-xz
-@item
-some form of base utilities (coreutils, sbase, busybox, etc.)
-@end itemize
-
-Rest of these instructions will assume that you have set all of these up, and
-will continue on that point.
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection 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
-@code{x86_64} with @code{i686}. We are setting this in a URL variable so that we
-don't have to write it every time.
-
-@example
-$ URL=https://dl.carbslinux.org/releases/x86_64
-$ wget $URL/carbs-rootfs.tar.xz
-@end example
-
-We can then check the integrity of the tarball and do a signature verification.
-Even thought these are optional, they are highly recommended.
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Check the integrity of the tarball (Recommended)
-
-All of the releases are saved in a single file named @file{sha256sums.txt}, but
-the latest release is saved on @file{carbs-rootfs.tar.xz.sha256}. You can
-acquire and verify the tarball.
-
-@example
-$ wget $URL/carbs-rootfs.tar.xz.sha256
-$ sha256sum -c carbs-rootfs.tar.xz.sha256
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Verify the signature
-
-It is highly recommended to verify the signature of the tarball. You will need
-GPG for this.
-
-@example
-$ wget $URL/carbs-rootfs.tar.xz.sig
-$ gpg --recv-keys FF484BDFEFCEF8FF
-$ gpg --verify carbs-rootfs.tar.xz.sig
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Extracting the tarball
-
-You will need to extract the tarball to your desired location. For partitioning,
-you can follow @url{https://wiki.archlinux.org/index.php/Partitioning, this guide}.
-This will assume that you will be mounting your root partition to @file{/mnt}.
-
-@example
-$ mount /dev/sdx1 /mnt
-$ tar xf carbs-rootfs.tar.xz -C /mnt
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Obtain the chroot helper
-
-You can obtain the @command{cpt-chroot} script in order to do a simple chroot into
-your new root filesystem.
-
-@example
-$ wget https://dl.carbslinux.org/distfiles/cpt-chroot
-$ chmod a+x cpt-chroot
-@end example
-
-@c -----------------------------------------------------------------------------
-
-@node Chroot
-@section Chroot
-
-Chroot into Carbs Linux!
-
-@example
-$ ./cpt-chroot /mnt
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Setting up repositories
-
-Newest tarballs do not come with repositories, so you will need to manually
-obtain them, and set your @env{CPT_PATH} environment variable. Carbs Linux
-repositories can either be obtained by @command{git} or @command{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
-@command{git} itself.
-
-The following guide will assume that you put the repositories into
-@file{~/repos/} directory, but you can put the repositories into any directory
-you want. So go ahead and create that directory:
-
-@example
-$ mkdir -p $HOME/repos
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsubsection Obtaining from rsync
-
-Carbs Linux rsync repositories live in @url{rsync://carbslinux.org/repo}. In
-order to obtain it, run the following:
-
-@example
-$ rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsubsection 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.
-
-@itemize
-@item
-@url{git://git.carbslinux.org/repository}
-@item
-@url{https://github.com/carbslinux/repository}
-@end itemize
-
-@example
-$ git clone git://git.carbslinux.org/repository $HOME/repos/carbs
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsubsection Making the package manager use the repositories
-
-In your shell's configuration file, or in your @file{~/.profile} file, add the
-following lines:
-
-@example
-export CPT_PATH=''
-CPT_PATH=$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
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection 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.
-
-@example
-$ cpt update
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection 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.
-
-@example
-$ cpt build package
-$ cpt install package
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Essential Software
-
-Here is a list of software that you might want to have on your system.
-
-BOOTLOADERS
-@itemize
-@item
-efibootmgr
-@item
-grub
-@end itemize
-FILESYSTEMS
-@itemize
-@item
-e2fsprogs
-@item
-dosfstools
-@item
-ntfs-3g
-@end itemize
-NETWORKING
-@itemize
-@item
-dhcpcd
-@item
-wpa_supplicant
-@end itemize
-TEXT EDITORS
-@itemize
-@item
-nano
-@item
-vim
-@item
-neatvi
-@item
-nvi
-@item
-emacs
-@item
-emacs-nox (terminal-only version of emacs)
-@end itemize
-USER SHELLS
-@itemize
-@item
-bash
-@item
-zsh
-@item
-dash
-@item
-oksh
-@item
-rc
-@end itemize
-POSIX BASE UTILITIES
-@itemize
-@item
-busybox
-@item
-sbase
-@item
-coreutils
-@end itemize
-DOCUMENTATION
-@itemize
-@item
-carbs-docs
-@item
-man-pages
-@item
-man-pages-posix
-@end itemize
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Obtaining the documentation (optional)
-
-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.
-
-@example
-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
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@node System Configuration
-@section System Configuration
-
-After you have finished installing some extra packages, you can configure your
-system to your liking.
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Configuring hostname (recommended)
-
-You might want to add a hostname, especially in a networked environment. Your
-hostname will default to 'carbslinux' unless you set this.
-
-@example
-$ echo your-hostname > /etc/hostname
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Setting up hosts file (optional)
-
-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.
-
-@example
-127.0.0.1 localhost.localdomain localhost
-::1 localhost.localdomain localhost ip6-localhost
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@node Kernel
-@section Kernel
-
-Kernel isn't managed under the main repositories, even though you could package
-one for your personal use. Here is an @url{https://github.com/cemkeylan/kiss-repository/tree/master/personal/linux, example kernel package},
-which you will need to reconfigure for your specific setup if you want to make
-use of it.
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection 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.
-
-@example
-Download the kernel and extract it
-$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.6.tar.xz
-$ tar xf linux-5.7.6.tar.xz
-
-Change directory into the kernel sources
-$ cd linux-5.7.6
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Installing dependencies
-
-In order to compile the kernel you will need to install some dependencies. You
-will need @command{libelf} to compile the kernel. If you want to configure using the menu
-interface you will also need @command{ncurses}.
-
-@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
-@end example
-
-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 @url{https://github.com/E5ten, E5ten}. You will need to obtain and
-apply the patch in the kernel source directory.
-
-@example
-$ wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch
-$ patch -p1 < kernel-no-perl.patch
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Compiling the kernel
-
-Next step is configuring and building the kernel. You can check Gentoo's @url{https://wiki.gentoo.org/wiki/Kernel/Configuration, 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.
-
-@example
-$ make menuconfig
-$ make
-$ install -Dm755 $(make -s image_name) /boot/vmlinuz-linux
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@node Making your system bootable
-@section 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.
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Installing a 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).
-
-GRUB BIOS installation
-
-@example
-$ cpt b grub && cpt i grub
-$ grub-install --target=i386-pc /dev/sdX
-$ grub-mkconfig -o /boot/grub/grub.cfg
-@end example
-
-GRUB UEFI installation
-
-@example
-$ 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
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Installing init scripts
-
-Only thing left to do is installing the init-scripts, and now you are almost
-ready to boot your system!
-
-@example
-$ cpt b carbs-init && cpt i carbs-init
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Generating 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:
-
-@example
-$ wget https://github.com/cemkeylan/genfstab/raw/master/genfstab
-$ chmod +x genfstab
-$ ./genfstab -U /mnt >> /mnt/etc/fstab
-@end example
-
-
-@c -----------------------------------------------------------------------------
-
-@node Post-installation
-@section 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.
-
-
-@c -----------------------------------------------------------------------------
-
-@subsection Acquiring 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.
-
-@example
-$ git clone https://github.com/kisslinux/community $HOME/repos/kiss-community
-$ export CPT_PATH=$CPT_PATH:$HOME/repos/kiss-community/community
-@end example
-
-NOTE: There are lots of packages on the KISS community repository that are also
-on Carbs Linux main repository. I would advise giving lower priority to the KISS
-community repository as it may affect other packages that you might install.
-
-
-@c -----------------------------------------------------------------------------