aboutsummaryrefslogtreecommitdiff
path: root/src/wiki
diff options
context:
space:
mode:
Diffstat (limited to 'src/wiki')
-rw-r--r--src/wiki/boot/module-management.md15
-rw-r--r--src/wiki/index.md17
-rw-r--r--src/wiki/init/switching-to-sinit.md52
-rw-r--r--src/wiki/install.md304
-rw-r--r--src/wiki/keymaps/X-keymaps.md0
-rw-r--r--src/wiki/keymaps/keymaps.md53
-rw-r--r--src/wiki/system/service-management.md40
7 files changed, 481 insertions, 0 deletions
diff --git a/src/wiki/boot/module-management.md b/src/wiki/boot/module-management.md
new file mode 100644
index 0000000..c9cdffb
--- /dev/null
+++ b/src/wiki/boot/module-management.md
@@ -0,0 +1,15 @@
+Title: Module Management
+
+Module Management
+=================
+
+With **busybox-init**, a module can be loaded at boot by adding such a line to your `inittab`
+
+ ::once:/bin/modprobe module-name
+
+
+With **sinit**, a module can be loaded from your `/etc/rc.local` file. Add this to your file
+
+ /bin/modprobe module-name
+
+
diff --git a/src/wiki/index.md b/src/wiki/index.md
new file mode 100644
index 0000000..dd27004
--- /dev/null
+++ b/src/wiki/index.md
@@ -0,0 +1,17 @@
+Wiki
+====
+
+Welcome to the Carbs Linux wiki! This wiki is open for access,
+and can be edited freely by anyone who wants to contribute.
+
+If you want to make a contribution, go to <https://github.com/CarbsLinux/wiki>
+
+Content
+-------
+
+* [Module Management](boot/module-management.html)
+* [Switching to Sinit](init/switching-to-sinit.html)
+* [Install](install.html)
+* [X-keymaps](keymaps/X-keymaps.html)
+* [Keymaps in TTY](keymaps/keymaps.html)
+* [Service Management](system/service-management.html)
diff --git a/src/wiki/init/switching-to-sinit.md b/src/wiki/init/switching-to-sinit.md
new file mode 100644
index 0000000..180b736
--- /dev/null
+++ b/src/wiki/init/switching-to-sinit.md
@@ -0,0 +1,52 @@
+Title: Switching to Sinit
+
+Switching to Sinit
+==================
+
+Carbs Linux runs `busybox-init` by default. You can switch to
+anything else you desire, but only busybox-init and sinit are
+officially supported. Switching to sinit is extremely easy, you
+can be up and running within minutes. The only "hard" requirement
+is an environment you will be chrooting in. So, let's begin!
+
+
+Preparing your environment
+--------------------------
+
+From your other environment, download the kiss-chroot utility
+and make it executable.
+
+ $ wget https://dl.getkiss.org/kiss-chroot
+ $ chmod +x kiss-chroot
+
+ # From your environment start the chroot
+ $ kiss-chroot /mnt
+
+Removing busybox-init
+---------------------
+
+Now that we are in chroot environment, let's remove busybox-init.
+
+ $ kiss r busybox-init
+
+
+Installing and configuring sinit
+--------------------------------
+
+Build and install sinit
+
+ $ kiss b sinit
+ $ kiss i sinit
+
+Open up your `/etc/init/rc.conf` now and uncomment
+the variables regarding SINIT. You are ready now.
+
+If you edited your inittab, make sure you reflect your changes
+on the `/etc/init/sinit-launch-services.boot` file.
+
+
+Finishing up
+------------
+
+If all of the above is done, simply exit the chroot and reboot.
+Sinit should be functioning without any issues.
diff --git a/src/wiki/install.md b/src/wiki/install.md
new file mode 100644
index 0000000..fd6ea73
--- /dev/null
+++ b/src/wiki/install.md
@@ -0,0 +1,304 @@
+Title: Install
+
+Installation Instructions
+=========================
+
+This post will guide you step-by-step in order to install
+Carbs Linux. It is not complete yet.
+
+
+Downloading and Getting Ready to Chroot
+---------------------------------------
+
+Installing Carbs Linux is the same as installing most
+rootfs distributions, such as Gentoo, or Void Linux.
+
+
+### Requirements
+
+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.
+
+**Required Programs:**
+
+* tar
+* wget
+* xz
+
+Rest of the instructions assume that you have set all of these
+up, and will continue on.
+
+
+### Download
+
+
+First, we need to download the rootfs tarball. In your terminal
+type
+
+ $ wget https://carbslinux.org/releases/carbs-rootfs-20191210.tar.xz
+
+
+### Check the integrity of the tarball
+
+While optional, it is highly recommended to check the integrity
+of the tarball.
+
+ $ wget https://carbslinux.org/releases/carbs-rootfs-20191210.tar.xz.sha256sum
+ $ sha256sum -c carbs-rootfs-20191210.tar.xz.sha256sum
+
+
+### Check the signatures
+
+While optional, it is highly recommended to check the signature
+of the tarball
+
+ $ 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
+
+### Download Kiss Linux Chroot Helper
+
+ $ wget https://dl.getkiss.org/kiss-chroot
+
+ Make the script executable
+
+ $ chmod +x kiss-chroot
+
+### Extract the rootfs tarball
+
+You need to extract the tarball to your mounted partition
+
+ $ tar xvpf carbs-rootfs-20191210.tar.xz -C /mnt
+
+Chroot
+------
+Chroot into Carbs Linux
+
+ $ ./kiss-chroot /mnt
+
+### Enable repository signing (Highly Recommended)
+
+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.
+
+**Install GnuPG**
+
+It is also a great time to learn how to use your new
+package manager, KISS! You simply build and install
+the package
+
+ $ kiss build gnupg1
+ $ kiss install gnupg1
+
+**Import my key**
+
+
+ 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
+
+**Enable signature verification**
+
+
+Git has a built in signature verification feature.
+You can go to the repository directory and enable it
+
+ $ cd /var/db/kiss/repo
+ $ git config merge.verifySignatures true
+
+### Installing Important Tools
+
+Since Carbs gives you one of the most minimal base,
+you might need to apply some add-ons to your system.
+
+**Update packages**
+
+It might be a good idea to update your packages before
+installing new packages. This ensure compatibility.
+
+ $ kiss update
+
+**Filesystems**
+
+
+Currently, e2fsprogs and dosfstools are supported,
+as they are the most-used filesystems.
+
+ Support for ext2, ext3, and ex4
+
+ $ kiss build e2fsprogs
+ $ kiss install e2fsprogs
+
+ Support for dosfstools
+
+ $ kiss build dosfstools
+ $ kiss install dosfstools
+
+**Device management**
+
+ $ kiss build eudev
+ $ kiss install eudev
+
+**Wireless**
+
+**wpa_supplicant**
+
+ $ kiss build wpa_supplicant
+ $ kiss install wpa_supplicant
+
+**eiwd (WIP)**
+
+ $ kiss build eiwd
+ $ kiss install eiwd
+
+**dhcpcd**
+
+ $ kiss build dhcpcd
+ $ kiss install dhcpcd
+
+**Shells**
+
+Carbs Linux comes preinstalled with busybox ash, but other shells
+can be found on the repository
+
+ 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
+
+### Install the Kernel
+
+
+Next step is installing the kernel, which might sound as a challenge
+you should download and extract the kernel tarball first.
+
+ $ 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
+
+**Configure the Kernel**
+
+You can check <https://wiki.gentoo.org/wiki/Kernel/Configuration>
+to learn more about kernel configuration. Overall, [Gentoo Wiki](https://wiki.gentoo.org)
+is a good place to learn about kernel configuration related to
+your hardware.
+
+**Build and install the kernel**
+
+The rest of it is simple, build the kernel with
+`make` and install it with `make install`
+
+### Bootloader
+
+The default bootloader is GRUB (GRand Unified Bootloader).
+
+Build and install GRUB
+
+ $ kiss b grub
+ $ kiss i grub
+
+ Install efibootmgr as well if your
+ system requires it
+
+ $ kiss b efibootmgr
+ $ kiss i efibootmgr
+
+
+**Setup GRUB**
+
+ 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
+
+
+### Install init
+
+Currently, default init for Carbs Linux is `sinit`, but
+busybox-init is also supported. You can also change this yourself.
+
+To install init, you have to
+
+ $ kiss b sinit
+ $ kiss i sinit
+
+This will also fetch busybox-init as its dependency.
+
+
+### Enabling other repositories
+
+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.
+
+**Obtaining repositories**
+
+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.
+
+ # 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
+
+That's it, you have obtained a new repository!
+
+<strong>Adding a repository to your KISS_PATH</strong>
+
+Now that we have obtained Cem's repository, we can add it to our KISS\_PATH!
+
+We need to edit `/etc/profile.d/kiss_path.sh` for this, but you
+can also change your KISS\_PATH from your shellrc.
+
+Add the full path to the repository, in this case
+`/var/db/kiss/cem-repository/cem` to the variable
+and add a `:` before/after it.
+
+It must be looking like this.
+
+ export KISS_PATH=/var/db/kiss/repo/core:/var/db/kiss/repo/extra:/var/db/kiss/repo/xorg:/var/db/kiss/cem-repository/cem
+
+Update your shell variables by doing `. /etc/profile.d/kiss_path.sh` so you can
+immediately access the repository packages
+
+
+More
+----
+
+You should now be able to boot into you Carbs Linux installation.
+To learn more, you can visit the [wiki](//carbslinux.org/wiki)
diff --git a/src/wiki/keymaps/X-keymaps.md b/src/wiki/keymaps/X-keymaps.md
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/wiki/keymaps/X-keymaps.md
diff --git a/src/wiki/keymaps/keymaps.md b/src/wiki/keymaps/keymaps.md
new file mode 100644
index 0000000..6bcce03
--- /dev/null
+++ b/src/wiki/keymaps/keymaps.md
@@ -0,0 +1,53 @@
+Title: Keymaps in TTY
+
+Installing and Using Keymaps
+============================
+
+Unlike most other distributions out there
+Carbs Linux does not come preinstalled with console
+keys. You probably won't be using more than
+two either. There are two ways of using keymaps
+
+Installing the "bkeymaps" package
+---------------------------------
+
+You can get the `bkeymaps` package from the
+[KISS community repository](https://github.com/kisslinux/community).
+
+Build and install `bkeymaps`.
+
+ -> kiss b bkeymaps
+ -> kiss i bkeymaps
+
+Now you can find the keymaps in `/usr/share/bkeymaps`.
+
+
+Downloading the keymaps you require
+-----------------------------------
+
+*This will assume that you are using the us keyboard layout*
+
+You firstly will need to go to <https://dev.alpinelinux.org/bkeymaps/>
+and download the keymap you need
+
+Loading keymap, doing it on login/boot
+--------------------------------------
+
+- Run `loadkmap < file` to load the keymap.
+
+**Load keymap at login**
+
+If you want to load a keymap at login, you can
+add the command above to your `.profile` file.
+
+**Load keymap at boot**
+
+You can also load keymap during boot. You should edit
+`/lib/init/rc.boot` file and add something like
+
+ # assuming you are using trq as your keymap
+ log "Setting keymap to trq..."; {
+ loadkmap < /path/to/trq.bmap
+ }
+
+to your main function.
diff --git a/src/wiki/system/service-management.md b/src/wiki/system/service-management.md
new file mode 100644
index 0000000..d279b86
--- /dev/null
+++ b/src/wiki/system/service-management.md
@@ -0,0 +1,40 @@
+Title: Service Management
+
+Service Management
+==================
+
+Carbs Linux uses busybox-runit as the default system supervisor.
+
+
+Enabling Services
+-----------------
+
+Services start immediately when you enable them, and run by default on boot.
+
+
+ $ ln -s /etc/sv/acpid /var/service
+
+
+Disabling a service
+-------------------
+
+ $ unlink /var/service/acpid
+
+
+Starting a service
+------------------
+
+ $ sv start acpid
+
+
+Stopping a service
+------------------
+
+ $ sv stop acpid
+
+
+More
+----
+
+Runit is extremely flexible and simple. Refer to `sv`, `runsv`, `svc`, `runsvdir`
+help outputs for more information.