diff options
author | Cem Keylan <cem@ckyln.com> | 2020-04-06 12:06:20 +0300 |
---|---|---|
committer | Cem Keylan <cem@ckyln.com> | 2020-04-06 12:06:20 +0300 |
commit | 979a10c2a68746565f330e871da2a0a112fa1604 (patch) | |
tree | edc502252ef282c7f67f40251300130aa4b094c1 /src/wiki | |
download | website-979a10c2a68746565f330e871da2a0a112fa1604.tar.gz |
initial commit
Diffstat (limited to 'src/wiki')
-rw-r--r-- | src/wiki/boot/module-management.md | 15 | ||||
-rw-r--r-- | src/wiki/index.md | 17 | ||||
-rw-r--r-- | src/wiki/init/switching-to-sinit.md | 52 | ||||
-rw-r--r-- | src/wiki/install.md | 304 | ||||
-rw-r--r-- | src/wiki/keymaps/X-keymaps.md | 0 | ||||
-rw-r--r-- | src/wiki/keymaps/keymaps.md | 53 | ||||
-rw-r--r-- | src/wiki/system/service-management.md | 40 |
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. |