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 | |
download | website-979a10c2a68746565f330e871da2a0a112fa1604.tar.gz |
initial commit
61 files changed, 3228 insertions, 0 deletions
@@ -0,0 +1,6 @@ +Carbs Linux website +=================== + +Carbs Linux website sources. + +The website is served from the docs directory @@ -0,0 +1,152 @@ +#!/bin/sh -e +MARKDOWNOPTS="-html5 -squash" +export MARKDOWNOPTS + +header() { + cat <<EOF +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>$TITLE | 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> +EOF +} + +footer() { + [ -z "$1" ] || printf '<a href="%s">View Page Source</a>' "$1" + cat <<EOF +<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> +EOF +} + +gettitle() { + sed 1q "$1" | grep -q '^Title:' || { + basename "$1" .md + return 0 + } + sed 1q "$1" | cut -d' ' -f2- +} + +genpages() { + # Create directories in docs + find src -type d | while read -r dir ; do mkdir -p "docs${dir#src}" ; done + # Generate html and txt files + for page in $(cd src || return 1 ; find . -name '*.md') ; do + tohtml "src/$page" > "docs/${page%.md}.html" + cp "src/$page" "docs/${page%.md}.txt" + sed -i '/^Title:/d' "docs/${page%.md}.txt" + done + # Copy rest of the files + (cd src || return 1 ; find . -type f ! -name '*.md' -exec cp -u \{\} ../docs/\{\} \; ) + +} + + +tohtml() { + TITLE="$(gettitle "$1")" header + sed '/Title:/d' "$1" | markdown + footer "$(echo "$1" | sed 's/.md$/.txt/;s/src\/.//')" +} + +wiki_index() { + sed -i '/^Content/,$d' src/wiki/index.md + printf 'Content\n-------\n\n' >> src/wiki/index.md + for page in $(find src/wiki -type f | grep -v 'src/wiki/index.md' | sort) ; do + printf '* [%s](%s)\n' "$(gettitle "$page")" "$(printf "$page" | sed 's#src/wiki/##;s/.md/.html/')" >> src/wiki/index.md + done +} + +blog_index() { + cat <<EOF > src/blog/index.md +Blog Index +========== + +This is the Carbs Linux Blog Index. You can find every post +here. [RSS Feed] + +[RSS Feed]: /rss.xml + +EOF + find src/blog -type f ! -name index.md | sort -r | while read -r post ; do + postdate="${post##*/}"; postdate="${postdate%%.*}" + printf '* %s - [%s](%s)\n' "$(date --date="$postdate" +%b\ %d\ %Y)" "$(gettitle "$post")" "$(printf "$post" | sed 's#src/blog/##;s/.md/.html/')" >> src/blog/index.md + done +} + +site_index() { + cp index/index.md src/index.md + find index -name '*.news' | sort -r | while read -r news ; do + newsdate="${news##*/}" ; newsdate="${newsdate%.news}" + printf '\n### %s\n\n' "$(date --date="$newsdate" +%b\ %d\ %Y)" >> src/index.md + cat "$news" >> src/index.md + done +} + +genrss() { + cat <<EOF +<?xml version="1.0" encoding="UTF-8"?> +<rss version="2.0" + xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" +> +<channel> +<title>Carbs Linux</title> +<description>a simple busybox linux distribution</description> +<link>https://carbslinux.org</link> +<atom:link href="https://carbslinux.org/${2:-rss}.xml" rel="self" type="application/rss+xml" /> +<lastBuildDate>$(date)</lastBuildDate> +EOF + find "$1" -type f ! -name index.md | sort -r | while read -r post ; do + postdate="${post##*/}" ; postdate="${postdate%.*}" + cat <<EOF +<item> +<title>$(gettitle "$post")</title> +<pubDate>$(date --date="$postdate" +%a,\ %d\ %b\ %Y)</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/${3:-blog/$(printf "${post##*/}" | sed 's/.md/.html/')}</link> +<description>$(grep -v '^Title:' "$post" | markdown -f cdata)</description> +</item> +EOF + done +cat <<EOF +</channel> +</rss> +EOF +} + +main() { + # Create docs directory if it doesn't exist + mkdir -p docs + + # Remove all html, txt, and rss files + find docs \( -name '*.html' -o -name '*.txt' -o -name '*.xml' \) -delete + + # Generate the indexes for blog and the wiki + site_index; wiki_index; blog_index + + # Generate rss feeds + genrss index news index.html > docs/news.xml ; genrss src/blog > docs/rss.xml + + # Generate pages + genpages +} + +main "$@" diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 0000000..d3de079 --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,115 @@ +/* Cem Keylan (C) 2019 */ + +:root { + --color0: #0A1E2B; + --color1: #5C5B6F; + --color2: #9B506D; + --color3: #C34266; + --color4: #7B9BB7; + --color5: #BF6790; + --color6: #6a9faf; + --color7: #A676D2; + --color8: #8b8288; + --color9: #5C5B6F; + --color10: #9B506D; + --color11: #C34266; + --color12: #4E708D; + --color13: #BF6790; + --color14: #528899; + --color15: #c7bac3; + --fg: #0a1e2b; + --bg: #ffffff; + --altbg: #bf6790; + --link: #bf6790; + --linkalt: #4e708d; +} + + +html { + background-color: var(--bg); + font-family: sans-serif; + color: var(--fg); + padding-bottom: 100px; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; +} +.header { + text-align: center; +} +.header strong{ + color: var(--color5) +} +.header a{ + text-decoration: none; + text-align: center; + color: var(--fg); + margin-left: 10px; + margin-right: 10px; +} +.header a:hover{ + text-decoration: none; + text-align: center; + color: var(--linkalt); + margin-left: 10px; + margin-right: 10px; +} +.border { + padding-top: 1%; + border-bottom: solid 2px; + color: var(--fg); +} +a { + text-decoration: none; + font-weight: bold; + color: var(--link); +} +a:hover { + text-decoration: underline; + font-weight: bold; + color: var(--linkalt); +} +.post-title { + text-align: center; +} +ul li::before { + color: var(--color4); +} +body { + width: 80%; + max-width: 1050px; + margin-left: auto; + margin-right: auto; + margin-top: 20px; + overflow: none; + padding-right: 10px; + padding-left: 10px; + color: var(--fg); +} +code { + color: var(--fg); + content: "> "; +} +p,tr,td,table { color: var(--fg); } +h1 { + color: var(--color7); + font-weight: bolder; +} +h2 { + color: var(--color4); + font-weight: bold; +} +h3 { + color: var(--fg); + font-weight: bold; +} +.footer { + text-align: center; +} + +pre { margin-left: 2em; } +blockquote { + border-left: 1px solid var(--color6); + font-style: italic; +} diff --git a/docs/blog/20200128.html b/docs/blog/20200128.html new file mode 100644 index 0000000..5b6b0d0 --- /dev/null +++ b/docs/blog/20200128.html @@ -0,0 +1,43 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>Switching to New Website | 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> +<h2>Switching to New Website</h2> + +<p><strong>Date:</strong> Jan 28 2020</p> + +<p>In case you haven’t seen it before, this website +was powered by <a href="http://werc.cat-v.org">werc</a>. And +even though I liked it really much, it was too +powerful for a small website like this.</p> + +<p>So I have decided to reimplement this website with +my own static generation scripts. The source will +probably be on <a href="https://carbslinux.org/git/website/log.html">https://carbslinux.org/git/website/log.html</a> +when I decide to publish the website.</p> + +<p>The generation requires Plan9 programs, although +I have used them just for my enthusiasm. I have built +the site with a combination of mk (instead of make), rc, +and POSIX sh. I am not yet exactly familiar with rc, +but I will replace the shell scripts when I feel like +I can.</p> +<a href="/blog/20200128.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> diff --git a/docs/blog/20200128.txt b/docs/blog/20200128.txt new file mode 100644 index 0000000..486278a --- /dev/null +++ b/docs/blog/20200128.txt @@ -0,0 +1,22 @@ + +Switching to New Website +------------------------ + +**Date:** Jan 28 2020 + +In case you haven't seen it before, this website +was powered by [werc](http://werc.cat-v.org). And +even though I liked it really much, it was too +powerful for a small website like this. + +So I have decided to reimplement this website with +my own static generation scripts. The source will +probably be on <https://carbslinux.org/git/website/log.html> +when I decide to publish the website. + +The generation requires Plan9 programs, although +I have used them just for my enthusiasm. I have built +the site with a combination of mk (instead of make), rc, +and POSIX sh. I am not yet exactly familiar with rc, +but I will replace the shell scripts when I feel like +I can. diff --git a/docs/blog/index.html b/docs/blog/index.html new file mode 100644 index 0000000..724cb88 --- /dev/null +++ b/docs/blog/index.html @@ -0,0 +1,32 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>index | 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>Blog Index</h1> + +<p>This is the Carbs Linux Blog Index. You can find every post +here. <a href="/rss.xml">RSS Feed</a></p> + +<ul> +<li>Jan 28 2020 - <a href="20200128.html">Switching to New Website</a></li> +</ul> + +<a href="/blog/index.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> diff --git a/docs/blog/index.txt b/docs/blog/index.txt new file mode 100644 index 0000000..9d9a9aa --- /dev/null +++ b/docs/blog/index.txt @@ -0,0 +1,9 @@ +Blog Index +========== + +This is the Carbs Linux Blog Index. You can find every post +here. [RSS Feed] + +[RSS Feed]: /rss.xml + +* Jan 28 2020 - [Switching to New Website](20200128.html) diff --git a/docs/contributing.html b/docs/contributing.html new file mode 100644 index 0000000..88910fa --- /dev/null +++ b/docs/contributing.html @@ -0,0 +1,34 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>contributing | 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>Contribute to the Carbs Linux Project</h1> + +<p>This is a small project made possible by volunteers. There are +ways you can help this project stay alive.</p> + +<ul> +<li>Contribute to the <a href="http://git.carbslinux.org/repository/log.html">Carbs Linux repository</a></li> +<li>Contribute to the <a href="https://github.com/kisslinux/community">KISS community repository</a></li> +<li>Contribute to the <a href="//wiki.carbslinux.org">wiki</a></li> +</ul> + +<a href="/contributing.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> diff --git a/docs/contributing.txt b/docs/contributing.txt new file mode 100644 index 0000000..3fe71ce --- /dev/null +++ b/docs/contributing.txt @@ -0,0 +1,9 @@ +Contribute to the Carbs Linux Project +===================================== + +This is a small project made possible by volunteers. There are +ways you can help this project stay alive. + +* Contribute to the [Carbs Linux repository](http://git.carbslinux.org/repository/log.html) +* Contribute to the [KISS community repository](https://github.com/kisslinux/community) +* Contribute to the [wiki](//wiki.carbslinux.org) diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..1c2c185 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,217 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>index | 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> +<p>Carbs Linux is an in-development Linux® distribution with a suckless mindset. +The system will consist of only the necessary programs to create a Linux +distribution.</p> + +<h2>Package Manager</h2> + +<p>Carbs Linux is built upon the world’s best Linux distribution +<a href="https://getkiss.org">KISS Linux</a> and uses <a href="https://github.com/kisslinux/kiss">kiss</a> +as its package manager, which has proven to be extremely flexible. I aim to move Carbs +to an even more suckless path.</p> + +<h2>Sane defaults</h2> + +<p>By default, Carbs Linux comes with busybox for coreutils, runit as the system +supervisor, and sinit as the init, though nothing holds you from changing any +of them.</p> + +<h2>Links</h2> + +<ul> +<li>Reddit - <a href="http://reddit.com/r/carbslinux">/r/carbslinux</a></li> +<li>Matrix - <a href="https://matrix.to/#/#carbs-linux:matrix.org">#carbs-linux:matrix.org</a></li> +</ul> + + +<h2>News</h2> + +<p><a href="/news.xml">RSS Feed</a></p> + +<h3>Apr 05 2020</h3> + +<p>Carbs Linux repositories will be hosted only on Github. Commits will be +pushed there, and not the repository. You have until +May 4, 2020 Monday to switch your remotes to <a href="https://github.com/CarbsLinux/repository">https://github.com/CarbsLinux/repository</a>. +The git repository will continue to be served until then (without additional +commits).</p> + +<p>You can switch your remote by executing the following command on your +repository directory.</p> + +<pre><code>git remote set-url origin https://github.com/CarbsLinux/repository +</code></pre> + +<h3>Feb 18 2020</h3> + +<p>A new tarball is released. It can be found on <a href="https://dl.carbslinux.org">https://dl.carbslinux.org</a>.</p> + +<p><strong>edit:</strong> I have removed the tarball because of a bootstrapping issue. +I will be re-adding it later today.</p> + +<p><strong>edit 2:</strong> I have added a tarball (20200219) to reflect my recent +changes on Busybox.</p> + +<h3>Feb 14 2020</h3> + +<p><strong>IMPORTANT!</strong> Carbs-init update to be released on 17th of February +will require manual intervention. I am holding this update back so +people can see it before they update their system (even though the +update will show the same message as this). The rationale for the +update is explained below the intervention.</p> + +<pre><code># There is an explanation for each init +# You only need to follow the instructions +# for your own init-system + +## busybox-init +# If you did not edit your inittab simply +# move inittab.new to inittab +-> mv /etc/inittab.new /etc/inittab + +# If you did edit your inittab you can use +# a simple sed command to remove the necessary lines +-> sed -i '/getty/d;/runsvdir/d' /etc/inittab + + +## runit +# same as busybox-init, if you did not edit +# /etc/runit/2 move 2.new to 2 +-> mv /etc/runit/2.new /etc/runit/2 + +# else +-> vim /etc/runit/2 +# open your 2 file and remove the for loop containing +# getty commands. If you are using runit, it is recommended +# to comment out /etc/init/runit.boot + +## sinit/minit +# If you did not edit your {sinit-,}launch-services.boot +# you can simply remove it. +-> rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot + +# This should leave you without any issues, and you can safely reboot. +</code></pre> + +<p>Carbs-init update is to make sure init systems do not clash, and do +not have to use different files. This is a sensible update both for +the user user and for the maintainer side.</p> + +<p>To give an example, before this update busybox-init was managing getty +through <code>inittab</code>, runit was managing through <code>/etc/runit/2</code>, and +minit/sinit were launching from <code>/etc/init/launch-services.boot</code>. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update.</p> + +<h3>Feb 13 2020</h3> + +<p>Runit is now released on the core repository! You can now replace +busybox-init with runit-init. You can also replace the busybox runit +utilities with the actual runit. This will reduce the dependency on +busybox greatly.</p> + +<h3>Jan 28 2020</h3> + +<p>Web Server is now on a Carbs Linux server. It is not complete yet, +but I will be adding a little more for the intended functionality. +Downtimes can be expected.</p> + +<p>UPDATE: ssl is now working.</p> + +<p>UPDATE2: downloads are back again.</p> + +<h3>Jan 22 2020</h3> + +<p>Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating +this web server to my Carbs Linux server!</p> + +<h3>Jan 15 2020</h3> + +<p>sinit has been taken to <code>core</code>, and is now officially supported</p> + +<h3>Jan 13 2020</h3> + +<p><strong>Busybox update reqires manual intervention</strong></p> + +<p>The new busybox package conflicts with the pre-update busybox-init. That’s why +you should rebuild and install <code>busybox-init</code> before doing the update.</p> + +<pre><code># Do a kiss update first (but don't actually update it yet), or manually pull the git repository +$ kiss u # Cancel this operation after it asks for you to confirm the update + +# Install the busybox-init package +$ kiss b busybox-init && kiss i busybox-init + +# Continue your update as you normally would. +$ kiss u +</code></pre> + +<p>I have moved runit and logging utilities from the busybox-init package to the busybox +package, which is the cause of these conflicts.</p> + +<h3>Jan 10 2020</h3> + +<p>carbs-rootfs-20200110.tar.xz was <a href="//dl.carbslinux.org/releases">released</a></p> + +<h3>Jan 09 2020</h3> + +<p>Happy new year, everyone! I am back after some long silence. I was unable to commit for a +while, but I have pulled some new updates from the KISS repository, added some of my own. +This week I will be changing/adding some things.</p> + +<p>Important things are,</p> + +<ul> +<li>Carbs-init was updated to 0.3.</li> +<li>I will be adding an implementation of suckless.org’s <a href="//core.suckless.org/sinit">sinit</a> as <code>carbs-sinit</code></li> +<li>Carbs Repository was added to <a href="//repology.org/repository/carbs">repology.org</a></li> +<li>A new rootfs tarball will be coming up tomorrow.</li> +</ul> + + +<h3>Dec 18 2019</h3> + +<p>carbs-rootfs-20191218.tar.xz was <a href="//dl.carbslinux.org/releases">released</a></p> + +<h3>Dec 17 2019</h3> + +<p>Installation instruction are now complete. A review would be greatly appreciated!</p> + +<h3>Dec 15 2019</h3> + +<p>Carbs Linux Wiki is now available to be edited and updated by the users go +to the <a href="//carbslinux.org/wiki">wiki</a> to obtain more information.</p> + +<p><strong>February 2020 EDIT:</strong> Changed link for wiki</p> + +<h3>Dec 12 2019</h3> + +<p>Busybox and Busybox-init has been seperated into two different packages. +This is for adding standalone runit/runit-init to the repositories.</p> + +<h3>Dec 10 2019</h3> + +<p>First alpha release was made. See the <a href="//dl.carbslinux.org/releases">downloads page</a>.</p> +<a href="/index.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> diff --git a/docs/index.txt b/docs/index.txt new file mode 100644 index 0000000..062cd3f --- /dev/null +++ b/docs/index.txt @@ -0,0 +1,205 @@ +Carbs Linux is an in-development Linux® distribution with a suckless mindset. +The system will consist of only the necessary programs to create a Linux +distribution. + +Package Manager +--------------- + +Carbs Linux is built upon the world's best Linux distribution +[KISS Linux](https://getkiss.org) and uses [kiss](https://github.com/kisslinux/kiss) +as its package manager, which has proven to be extremely flexible. I aim to move Carbs +to an even more suckless path. + + +Sane defaults +------------- + +By default, Carbs Linux comes with busybox for coreutils, runit as the system +supervisor, and sinit as the init, though nothing holds you from changing any +of them. + + +Links +----- + +* Reddit - [/r/carbslinux](http://reddit.com/r/carbslinux) +* Matrix - [#carbs-linux:matrix.org](https://matrix.to/#/#carbs-linux:matrix.org) + + +News +---- + +[RSS Feed](/news.xml) + +### Apr 05 2020 + +Carbs Linux repositories will be hosted only on Github. Commits will be +pushed there, and not the repository. You have until +May 4, 2020 Monday to switch your remotes to <https://github.com/CarbsLinux/repository>. +The git repository will continue to be served until then (without additional +commits). + +You can switch your remote by executing the following command on your +repository directory. + + git remote set-url origin https://github.com/CarbsLinux/repository + + +### Feb 18 2020 + +A new tarball is released. It can be found on <https://dl.carbslinux.org>. + +**edit:** I have removed the tarball because of a bootstrapping issue. +I will be re-adding it later today. + +**edit 2:** I have added a tarball (20200219) to reflect my recent +changes on Busybox. + + +### Feb 14 2020 + +**IMPORTANT!** Carbs-init update to be released on 17th of February +will require manual intervention. I am holding this update back so +people can see it before they update their system (even though the +update will show the same message as this). The rationale for the +update is explained below the intervention. + + # There is an explanation for each init + # You only need to follow the instructions + # for your own init-system + + ## busybox-init + # If you did not edit your inittab simply + # move inittab.new to inittab + -> mv /etc/inittab.new /etc/inittab + + # If you did edit your inittab you can use + # a simple sed command to remove the necessary lines + -> sed -i '/getty/d;/runsvdir/d' /etc/inittab + + + ## runit + # same as busybox-init, if you did not edit + # /etc/runit/2 move 2.new to 2 + -> mv /etc/runit/2.new /etc/runit/2 + + # else + -> vim /etc/runit/2 + # open your 2 file and remove the for loop containing + # getty commands. If you are using runit, it is recommended + # to comment out /etc/init/runit.boot + + ## sinit/minit + # If you did not edit your {sinit-,}launch-services.boot + # you can simply remove it. + -> rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot + + # This should leave you without any issues, and you can safely reboot. + +Carbs-init update is to make sure init systems do not clash, and do +not have to use different files. This is a sensible update both for +the user user and for the maintainer side. + +To give an example, before this update busybox-init was managing getty +through `inittab`, runit was managing through `/etc/runit/2`, and +minit/sinit were launching from `/etc/init/launch-services.boot`. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update. + + +### Feb 13 2020 + +Runit is now released on the core repository! You can now replace +busybox-init with runit-init. You can also replace the busybox runit +utilities with the actual runit. This will reduce the dependency on +busybox greatly. + +### Jan 28 2020 + +Web Server is now on a Carbs Linux server. It is not complete yet, +but I will be adding a little more for the intended functionality. +Downtimes can be expected. + +UPDATE: ssl is now working. + +UPDATE2: downloads are back again. + + +### Jan 22 2020 + +Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating +this web server to my Carbs Linux server! + + +### Jan 15 2020 + +sinit has been taken to `core`, and is now officially supported + + +### Jan 13 2020 + +**Busybox update reqires manual intervention** + +The new busybox package conflicts with the pre-update busybox-init. That's why +you should rebuild and install `busybox-init` before doing the update. + + # Do a kiss update first (but don't actually update it yet), or manually pull the git repository + $ kiss u # Cancel this operation after it asks for you to confirm the update + + # Install the busybox-init package + $ kiss b busybox-init && kiss i busybox-init + + # Continue your update as you normally would. + $ kiss u + +I have moved runit and logging utilities from the busybox-init package to the busybox +package, which is the cause of these conflicts. + +### Jan 10 2020 + +carbs-rootfs-20200110.tar.xz was [released](//dl.carbslinux.org/releases) + + +### Jan 09 2020 + +Happy new year, everyone! I am back after some long silence. I was unable to commit for a +while, but I have pulled some new updates from the KISS repository, added some of my own. +This week I will be changing/adding some things. + +Important things are, + +* Carbs-init was updated to 0.3. +* I will be adding an implementation of suckless.org's [sinit](//core.suckless.org/sinit) as `carbs-sinit` +* Carbs Repository was added to [repology.org](//repology.org/repository/carbs) +* A new rootfs tarball will be coming up tomorrow. + + +### Dec 18 2019 + +carbs-rootfs-20191218.tar.xz was [released](//dl.carbslinux.org/releases) + + +### Dec 17 2019 + +Installation instruction are now complete. A review would be greatly appreciated! + + +### Dec 15 2019 + +Carbs Linux Wiki is now available to be edited and updated by the users go +to the [wiki](//carbslinux.org/wiki) to obtain more information. + +**February 2020 EDIT:** Changed link for wiki + + +### Dec 12 2019 + +Busybox and Busybox-init has been seperated into two different packages. +This is for adding standalone runit/runit-init to the repositories. + + +### Dec 10 2019 + +First alpha release was made. See the [downloads page](//dl.carbslinux.org/releases). + diff --git a/docs/news.xml b/docs/news.xml new file mode 100644 index 0000000..212b58f --- /dev/null +++ b/docs/news.xml @@ -0,0 +1,224 @@ +<?xml version="1.0" encoding="UTF-8"?> +<rss version="2.0" + xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" +> +<channel> +<title>Carbs Linux</title> +<description>a simple busybox linux distribution</description> +<link>https://carbslinux.org</link> +<atom:link href="https://carbslinux.org/news.xml" rel="self" type="application/rss+xml" /> +<lastBuildDate>Mon Apr 6 12:01:14 +03 2020</lastBuildDate> +<item> +<title>20200405.news</title> +<pubDate>Sun, 05 Apr 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>Carbs Linux repositories will be hosted only on Github. Commits will be +pushed there, and not the repository. You have until +May 4, 2020 Monday to switch your remotes to <a href="https://github.com/CarbsLinux/repository">https://github.com/CarbsLinux/repository</a>. +The git repository will continue to be served until then (without additional +commits).</p> + +<p>You can switch your remote by executing the following command on your +repository directory.</p> + +<pre><code>git remote set-url origin https://github.com/CarbsLinux/repository +</code></pre></description> +</item> +<item> +<title>20200218.news</title> +<pubDate>Tue, 18 Feb 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>A new tarball is released. It can be found on <a href="https://dl.carbslinux.org">https://dl.carbslinux.org</a>.</p> + +<p><strong>edit:</strong> I have removed the tarball because of a bootstrapping issue. +I will be re-adding it later today.</p> + +<p><strong>edit 2:</strong> I have added a tarball (20200219) to reflect my recent +changes on Busybox.</p></description> +</item> +<item> +<title>20200214.news</title> +<pubDate>Fri, 14 Feb 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p><strong>IMPORTANT!</strong> Carbs-init update to be released on 17th of February +will require manual intervention. I am holding this update back so +people can see it before they update their system (even though the +update will show the same message as this). The rationale for the +update is explained below the intervention.</p> + +<pre><code># There is an explanation for each init +# You only need to follow the instructions +# for your own init-system + +## busybox-init +# If you did not edit your inittab simply +# move inittab.new to inittab +-&gt; mv /etc/inittab.new /etc/inittab + +# If you did edit your inittab you can use +# a simple sed command to remove the necessary lines +-&gt; sed -i '/getty/d;/runsvdir/d' /etc/inittab + + +## runit +# same as busybox-init, if you did not edit +# /etc/runit/2 move 2.new to 2 +-&gt; mv /etc/runit/2.new /etc/runit/2 + +# else +-&gt; vim /etc/runit/2 +# open your 2 file and remove the for loop containing +# getty commands. If you are using runit, it is recommended +# to comment out /etc/init/runit.boot + +## sinit/minit +# If you did not edit your {sinit-,}launch-services.boot +# you can simply remove it. +-&gt; rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot + +# This should leave you without any issues, and you can safely reboot. +</code></pre> + +<p>Carbs-init update is to make sure init systems do not clash, and do +not have to use different files. This is a sensible update both for +the user user and for the maintainer side.</p> + +<p>To give an example, before this update busybox-init was managing getty +through <code>inittab</code>, runit was managing through <code>/etc/runit/2</code>, and +minit/sinit were launching from <code>/etc/init/launch-services.boot</code>. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update.</p></description> +</item> +<item> +<title>20200213.news</title> +<pubDate>Thu, 13 Feb 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>Runit is now released on the core repository! You can now replace +busybox-init with runit-init. You can also replace the busybox runit +utilities with the actual runit. This will reduce the dependency on +busybox greatly.</p></description> +</item> +<item> +<title>20200128.news</title> +<pubDate>Tue, 28 Jan 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>Web Server is now on a Carbs Linux server. It is not complete yet, +but I will be adding a little more for the intended functionality. +Downtimes can be expected.</p> + +<p>UPDATE: ssl is now working.</p> + +<p>UPDATE2: downloads are back again.</p></description> +</item> +<item> +<title>20200122.news</title> +<pubDate>Wed, 22 Jan 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating +this web server to my Carbs Linux server!</p></description> +</item> +<item> +<title>20200115.news</title> +<pubDate>Wed, 15 Jan 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>sinit has been taken to <code>core</code>, and is now officially supported</p></description> +</item> +<item> +<title>20200113.news</title> +<pubDate>Mon, 13 Jan 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p><strong>Busybox update reqires manual intervention</strong></p> + +<p>The new busybox package conflicts with the pre-update busybox-init. That&rsquo;s why +you should rebuild and install <code>busybox-init</code> before doing the update.</p> + +<pre><code># Do a kiss update first (but don't actually update it yet), or manually pull the git repository +$ kiss u # Cancel this operation after it asks for you to confirm the update + +# Install the busybox-init package +$ kiss b busybox-init &amp;&amp; kiss i busybox-init + +# Continue your update as you normally would. +$ kiss u +</code></pre> + +<p>I have moved runit and logging utilities from the busybox-init package to the busybox +package, which is the cause of these conflicts.</p></description> +</item> +<item> +<title>20200110.news</title> +<pubDate>Fri, 10 Jan 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>carbs-rootfs-20200110.tar.xz was <a href="//dl.carbslinux.org/releases">released</a></p></description> +</item> +<item> +<title>20200109.news</title> +<pubDate>Thu, 09 Jan 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>Happy new year, everyone! I am back after some long silence. I was unable to commit for a +while, but I have pulled some new updates from the KISS repository, added some of my own. +This week I will be changing/adding some things.</p> + +<p>Important things are,</p> + +<ul> +<li>Carbs-init was updated to 0.3.</li> +<li>I will be adding an implementation of suckless.org&rsquo;s <a href="//core.suckless.org/sinit">sinit</a> as <code>carbs-sinit</code></li> +<li>Carbs Repository was added to <a href="//repology.org/repository/carbs">repology.org</a></li> +<li>A new rootfs tarball will be coming up tomorrow.</li> +</ul></description> +</item> +<item> +<title>20191218.news</title> +<pubDate>Wed, 18 Dec 2019</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>carbs-rootfs-20191218.tar.xz was <a href="//dl.carbslinux.org/releases">released</a></p></description> +</item> +<item> +<title>20191217.news</title> +<pubDate>Tue, 17 Dec 2019</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>Installation instruction are now complete. A review would be greatly appreciated!</p></description> +</item> +<item> +<title>20191215.news</title> +<pubDate>Sun, 15 Dec 2019</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>Carbs Linux Wiki is now available to be edited and updated by the users go +to the <a href="//carbslinux.org/wiki">wiki</a> to obtain more information.</p> + +<p><strong>February 2020 EDIT:</strong> Changed link for wiki</p></description> +</item> +<item> +<title>20191212.news</title> +<pubDate>Thu, 12 Dec 2019</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>Busybox and Busybox-init has been seperated into two different packages. +This is for adding standalone runit/runit-init to the repositories.</p></description> +</item> +<item> +<title>20191210.news</title> +<pubDate>Tue, 10 Dec 2019</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><p>First alpha release was made. See the <a href="//dl.carbslinux.org/releases">downloads page</a>.</p></description> +</item> +</channel> +</rss> diff --git a/docs/people.html b/docs/people.html new file mode 100644 index 0000000..22aba5c --- /dev/null +++ b/docs/people.html @@ -0,0 +1,29 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>people | 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>People</h1> + +<ul> +<li>Cem Keylan - Founder <a href="mailto:cem@ckyln.com">cem@ckyln.com</a></li> +</ul> + +<a href="/people.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> diff --git a/docs/people.txt b/docs/people.txt new file mode 100644 index 0000000..dc49bf3 --- /dev/null +++ b/docs/people.txt @@ -0,0 +1,3 @@ +People +====== +* Cem Keylan - Founder <cem@ckyln.com> diff --git a/docs/repositories.html b/docs/repositories.html new file mode 100644 index 0000000..368535f --- /dev/null +++ b/docs/repositories.html @@ -0,0 +1,45 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>repositories | 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>Repositories endorsed by Carbs</h1> + +<p>The power of KISS package manager is the way +it is really flexible. You can use multiple +repositories at the same time.</p> + +<h2>Official Repository</h2> + +<p>The official repository comes installed in +the rootfs tarball. You can view the sources +<a href="//git.carbslinux.org/repository/log.html">online</a></p> + +<h2>Other repositories</h2> + +<ul> +<li><a href="https://github.com/kisslinux/community">KISS Community Repository</a></li> +<li><a href="https://github.com/kisslinux/repo">KISS Official Repository</a></li> +</ul> + + +<p><strong>NOTE:</strong> Note that the <em>official</em> repositories of +KISS Linux are not identical and may have conflicts.</p> +<a href="/repositories.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> diff --git a/docs/repositories.txt b/docs/repositories.txt new file mode 100644 index 0000000..794e451 --- /dev/null +++ b/docs/repositories.txt @@ -0,0 +1,22 @@ +Repositories endorsed by Carbs +============================== +The power of KISS package manager is the way +it is really flexible. You can use multiple +repositories at the same time. + +Official Repository +------------------- + +The official repository comes installed in +the rootfs tarball. You can view the sources +[online](//git.carbslinux.org/repository/log.html) + + +Other repositories +------------------ + +* [KISS Community Repository](https://github.com/kisslinux/community) +* [KISS Official Repository](https://github.com/kisslinux/repo) + +**NOTE:** Note that the *official* repositories of +KISS Linux are not identical and may have conflicts. diff --git a/docs/rss.xml b/docs/rss.xml new file mode 100644 index 0000000..39ec54d --- /dev/null +++ b/docs/rss.xml @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<rss version="2.0" + xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" +> +<channel> +<title>Carbs Linux</title> +<description>a simple busybox linux distribution</description> +<link>https://carbslinux.org</link> +<atom:link href="https://carbslinux.org/rss.xml" rel="self" type="application/rss+xml" /> +<lastBuildDate>Mon Apr 6 12:01:14 +03 2020</lastBuildDate> +<item> +<title>Switching to New Website</title> +<pubDate>Tue, 28 Jan 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/blog/20200128.html</link> +<description><h2>Switching to New Website</h2> + +<p><strong>Date:</strong> Jan 28 2020</p> + +<p>In case you haven&rsquo;t seen it before, this website +was powered by <a href="http://werc.cat-v.org">werc</a>. And +even though I liked it really much, it was too +powerful for a small website like this.</p> + +<p>So I have decided to reimplement this website with +my own static generation scripts. The source will +probably be on <a href="https://carbslinux.org/git/website/log.html">https://carbslinux.org/git/website/log.html</a> +when I decide to publish the website.</p> + +<p>The generation requires Plan9 programs, although +I have used them just for my enthusiasm. I have built +the site with a combination of mk (instead of make), rc, +and POSIX sh. I am not yet exactly familiar with rc, +but I will replace the shell scripts when I feel like +I can.</p></description> +</item> +</channel> +</rss> diff --git a/docs/wiki/boot/module-management.html b/docs/wiki/boot/module-management.html new file mode 100644 index 0000000..a77685d --- /dev/null +++ b/docs/wiki/boot/module-management.html @@ -0,0 +1,34 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>Module Management | 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>Module Management</h1> + +<p>With <strong>busybox-init</strong>, a module can be loaded at boot by adding such a line to your <code>inittab</code></p> + +<pre><code>::once:/bin/modprobe module-name +</code></pre> + +<p>With <strong>sinit</strong>, a module can be loaded from your <code>/etc/rc.local</code> file. Add this to your file</p> + +<pre><code>/bin/modprobe module-name +</code></pre> +<a href="/wiki/boot/module-management.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> diff --git a/docs/wiki/boot/module-management.txt b/docs/wiki/boot/module-management.txt new file mode 100644 index 0000000..96256c1 --- /dev/null +++ b/docs/wiki/boot/module-management.txt @@ -0,0 +1,14 @@ + +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/docs/wiki/index.html b/docs/wiki/index.html new file mode 100644 index 0000000..b787450 --- /dev/null +++ b/docs/wiki/index.html @@ -0,0 +1,41 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>index | 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>Wiki</h1> + +<p>Welcome to the Carbs Linux wiki! This wiki is open for access, +and can be edited freely by anyone who wants to contribute.</p> + +<p>If you want to make a contribution, go to <a href="https://github.com/CarbsLinux/wiki">https://github.com/CarbsLinux/wiki</a></p> + +<h2>Content</h2> + +<ul> +<li><a href="boot/module-management.html">Module Management</a></li> +<li><a href="init/switching-to-sinit.html">Switching to Sinit</a></li> +<li><a href="install.html">Install</a></li> +<li><a href="keymaps/X-keymaps.html">X-keymaps</a></li> +<li><a href="keymaps/keymaps.html">Keymaps in TTY</a></li> +<li><a href="system/service-management.html">Service Management</a></li> +</ul> + +<a href="/wiki/index.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> diff --git a/docs/wiki/index.txt b/docs/wiki/index.txt new file mode 100644 index 0000000..dd27004 --- /dev/null +++ b/docs/wiki/index.txt @@ -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/docs/wiki/init/switching-to-sinit.html b/docs/wiki/init/switching-to-sinit.html new file mode 100644 index 0000000..775e01c --- /dev/null +++ b/docs/wiki/init/switching-to-sinit.html @@ -0,0 +1,68 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>Switching to Sinit | 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>Switching to Sinit</h1> + +<p>Carbs Linux runs <code>busybox-init</code> 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!</p> + +<h2>Preparing your environment</h2> + +<p>From your other environment, download the kiss-chroot utility +and make it executable.</p> + +<pre><code>$ wget https://dl.getkiss.org/kiss-chroot +$ chmod +x kiss-chroot + +# From your environment start the chroot +$ kiss-chroot /mnt +</code></pre> + +<h2>Removing busybox-init</h2> + +<p>Now that we are in chroot environment, let’s remove busybox-init.</p> + +<pre><code>$ kiss r busybox-init +</code></pre> + +<h2>Installing and configuring sinit</h2> + +<p>Build and install sinit</p> + +<pre><code>$ kiss b sinit +$ kiss i sinit +</code></pre> + +<p>Open up your <code>/etc/init/rc.conf</code> now and uncomment +the variables regarding SINIT. You are ready now.</p> + +<p>If you edited your inittab, make sure you reflect your changes +on the <code>/etc/init/sinit-launch-services.boot</code> file.</p> + +<h2>Finishing up</h2> + +<p>If all of the above is done, simply exit the chroot and reboot. +Sinit should be functioning without any issues.</p> +<a href="/wiki/init/switching-to-sinit.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> diff --git a/docs/wiki/init/switching-to-sinit.txt b/docs/wiki/init/switching-to-sinit.txt new file mode 100644 index 0000000..3bee312 --- /dev/null +++ b/docs/wiki/init/switching-to-sinit.txt @@ -0,0 +1,51 @@ + +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/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> diff --git a/docs/wiki/install.txt b/docs/wiki/install.txt new file mode 100644 index 0000000..2f86b76 --- /dev/null +++ b/docs/wiki/install.txt @@ -0,0 +1,303 @@ + +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/docs/wiki/keymaps/X-keymaps.html b/docs/wiki/keymaps/X-keymaps.html new file mode 100644 index 0000000..960ba5c --- /dev/null +++ b/docs/wiki/keymaps/X-keymaps.html @@ -0,0 +1,23 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>X-keymaps | 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> +<a href="/wiki/keymaps/X-keymaps.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> diff --git a/docs/wiki/keymaps/X-keymaps.txt b/docs/wiki/keymaps/X-keymaps.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/docs/wiki/keymaps/X-keymaps.txt diff --git a/docs/wiki/keymaps/keymaps.html b/docs/wiki/keymaps/keymaps.html new file mode 100644 index 0000000..15a24e5 --- /dev/null +++ b/docs/wiki/keymaps/keymaps.html @@ -0,0 +1,74 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>Keymaps in TTY | 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>Installing and Using Keymaps</h1> + +<p>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</p> + +<h2>Installing the “bkeymaps” package</h2> + +<p>You can get the <code>bkeymaps</code> package from the +<a href="https://github.com/kisslinux/community">KISS community repository</a>.</p> + +<p>Build and install <code>bkeymaps</code>.</p> + +<pre><code>-> kiss b bkeymaps +-> kiss i bkeymaps +</code></pre> + +<p>Now you can find the keymaps in <code>/usr/share/bkeymaps</code>.</p> + +<h2>Downloading the keymaps you require</h2> + +<p><em>This will assume that you are using the us keyboard layout</em></p> + +<p>You firstly will need to go to <a href="https://dev.alpinelinux.org/bkeymaps/">https://dev.alpinelinux.org/bkeymaps/</a> +and download the keymap you need</p> + +<h2>Loading keymap, doing it on login/boot</h2> + +<ul> +<li>Run <code>loadkmap < file</code> to load the keymap.</li> +</ul> + + +<p><strong>Load keymap at login</strong></p> + +<p>If you want to load a keymap at login, you can +add the command above to your <code>.profile</code> file.</p> + +<p><strong>Load keymap at boot</strong></p> + +<p>You can also load keymap during boot. You should edit +<code>/lib/init/rc.boot</code> file and add something like</p> + +<pre><code># assuming you are using trq as your keymap +log "Setting keymap to trq..."; { + loadkmap < /path/to/trq.bmap +} +</code></pre> + +<p>to your main function.</p> +<a href="/wiki/keymaps/keymaps.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> diff --git a/docs/wiki/keymaps/keymaps.txt b/docs/wiki/keymaps/keymaps.txt new file mode 100644 index 0000000..89a7e8c --- /dev/null +++ b/docs/wiki/keymaps/keymaps.txt @@ -0,0 +1,52 @@ + +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/docs/wiki/system/service-management.html b/docs/wiki/system/service-management.html new file mode 100644 index 0000000..40d9c54 --- /dev/null +++ b/docs/wiki/system/service-management.html @@ -0,0 +1,53 @@ +<!DOCTYPE HTML> +<html lan="en"> +<head> +<title>Service Management | 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>Service Management</h1> + +<p>Carbs Linux uses busybox-runit as the default system supervisor.</p> + +<h2>Enabling Services</h2> + +<p>Services start immediately when you enable them, and run by default on boot.</p> + +<pre><code>$ ln -s /etc/sv/acpid /var/service +</code></pre> + +<h2>Disabling a service</h2> + +<pre><code>$ unlink /var/service/acpid +</code></pre> + +<h2>Starting a service</h2> + +<pre><code>$ sv start acpid +</code></pre> + +<h2>Stopping a service</h2> + +<pre><code>$ sv stop acpid +</code></pre> + +<h2>More</h2> + +<p>Runit is extremely flexible and simple. Refer to <code>sv</code>, <code>runsv</code>, <code>svc</code>, <code>runsvdir</code> +help outputs for more information.</p> +<a href="/wiki/system/service-management.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> diff --git a/docs/wiki/system/service-management.txt b/docs/wiki/system/service-management.txt new file mode 100644 index 0000000..fc49f60 --- /dev/null +++ b/docs/wiki/system/service-management.txt @@ -0,0 +1,39 @@ + +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. diff --git a/index/20191210.news b/index/20191210.news new file mode 100644 index 0000000..ffd9237 --- /dev/null +++ b/index/20191210.news @@ -0,0 +1,2 @@ +First alpha release was made. See the [downloads page](//dl.carbslinux.org/releases). + diff --git a/index/20191212.news b/index/20191212.news new file mode 100644 index 0000000..2cecad7 --- /dev/null +++ b/index/20191212.news @@ -0,0 +1,3 @@ +Busybox and Busybox-init has been seperated into two different packages. +This is for adding standalone runit/runit-init to the repositories. + diff --git a/index/20191215.news b/index/20191215.news new file mode 100644 index 0000000..774383c --- /dev/null +++ b/index/20191215.news @@ -0,0 +1,5 @@ +Carbs Linux Wiki is now available to be edited and updated by the users go +to the [wiki](//carbslinux.org/wiki) to obtain more information. + +**February 2020 EDIT:** Changed link for wiki + diff --git a/index/20191217.news b/index/20191217.news new file mode 100644 index 0000000..d81e3ea --- /dev/null +++ b/index/20191217.news @@ -0,0 +1,2 @@ +Installation instruction are now complete. A review would be greatly appreciated! + diff --git a/index/20191218.news b/index/20191218.news new file mode 100644 index 0000000..9216ec0 --- /dev/null +++ b/index/20191218.news @@ -0,0 +1,2 @@ +carbs-rootfs-20191218.tar.xz was [released](//dl.carbslinux.org/releases) + diff --git a/index/20200109.news b/index/20200109.news new file mode 100644 index 0000000..12873c5 --- /dev/null +++ b/index/20200109.news @@ -0,0 +1,11 @@ +Happy new year, everyone! I am back after some long silence. I was unable to commit for a +while, but I have pulled some new updates from the KISS repository, added some of my own. +This week I will be changing/adding some things. + +Important things are, + +* Carbs-init was updated to 0.3. +* I will be adding an implementation of suckless.org's [sinit](//core.suckless.org/sinit) as `carbs-sinit` +* Carbs Repository was added to [repology.org](//repology.org/repository/carbs) +* A new rootfs tarball will be coming up tomorrow. + diff --git a/index/20200110.news b/index/20200110.news new file mode 100644 index 0000000..bdf0afd --- /dev/null +++ b/index/20200110.news @@ -0,0 +1,2 @@ +carbs-rootfs-20200110.tar.xz was [released](//dl.carbslinux.org/releases) + diff --git a/index/20200113.news b/index/20200113.news new file mode 100644 index 0000000..b9139a0 --- /dev/null +++ b/index/20200113.news @@ -0,0 +1,16 @@ +**Busybox update reqires manual intervention** + +The new busybox package conflicts with the pre-update busybox-init. That's why +you should rebuild and install `busybox-init` before doing the update. + + # Do a kiss update first (but don't actually update it yet), or manually pull the git repository + $ kiss u # Cancel this operation after it asks for you to confirm the update + + # Install the busybox-init package + $ kiss b busybox-init && kiss i busybox-init + + # Continue your update as you normally would. + $ kiss u + +I have moved runit and logging utilities from the busybox-init package to the busybox +package, which is the cause of these conflicts. diff --git a/index/20200115.news b/index/20200115.news new file mode 100644 index 0000000..a49aade --- /dev/null +++ b/index/20200115.news @@ -0,0 +1,2 @@ +sinit has been taken to `core`, and is now officially supported + diff --git a/index/20200122.news b/index/20200122.news new file mode 100644 index 0000000..76af4d2 --- /dev/null +++ b/index/20200122.news @@ -0,0 +1,3 @@ +Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating +this web server to my Carbs Linux server! + diff --git a/index/20200128.news b/index/20200128.news new file mode 100644 index 0000000..6589b86 --- /dev/null +++ b/index/20200128.news @@ -0,0 +1,8 @@ +Web Server is now on a Carbs Linux server. It is not complete yet, +but I will be adding a little more for the intended functionality. +Downtimes can be expected. + +UPDATE: ssl is now working. + +UPDATE2: downloads are back again. + diff --git a/index/20200213.news b/index/20200213.news new file mode 100644 index 0000000..13144cd --- /dev/null +++ b/index/20200213.news @@ -0,0 +1,4 @@ +Runit is now released on the core repository! You can now replace +busybox-init with runit-init. You can also replace the busybox runit +utilities with the actual runit. This will reduce the dependency on +busybox greatly. diff --git a/index/20200214.news b/index/20200214.news new file mode 100644 index 0000000..0926126 --- /dev/null +++ b/index/20200214.news @@ -0,0 +1,49 @@ +**IMPORTANT!** Carbs-init update to be released on 17th of February +will require manual intervention. I am holding this update back so +people can see it before they update their system (even though the +update will show the same message as this). The rationale for the +update is explained below the intervention. + + # There is an explanation for each init + # You only need to follow the instructions + # for your own init-system + + ## busybox-init + # If you did not edit your inittab simply + # move inittab.new to inittab + -> mv /etc/inittab.new /etc/inittab + + # If you did edit your inittab you can use + # a simple sed command to remove the necessary lines + -> sed -i '/getty/d;/runsvdir/d' /etc/inittab + + + ## runit + # same as busybox-init, if you did not edit + # /etc/runit/2 move 2.new to 2 + -> mv /etc/runit/2.new /etc/runit/2 + + # else + -> vim /etc/runit/2 + # open your 2 file and remove the for loop containing + # getty commands. If you are using runit, it is recommended + # to comment out /etc/init/runit.boot + + ## sinit/minit + # If you did not edit your {sinit-,}launch-services.boot + # you can simply remove it. + -> rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot + + # This should leave you without any issues, and you can safely reboot. + +Carbs-init update is to make sure init systems do not clash, and do +not have to use different files. This is a sensible update both for +the user user and for the maintainer side. + +To give an example, before this update busybox-init was managing getty +through `inittab`, runit was managing through `/etc/runit/2`, and +minit/sinit were launching from `/etc/init/launch-services.boot`. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update. + diff --git a/index/20200218.news b/index/20200218.news new file mode 100644 index 0000000..31bc8b3 --- /dev/null +++ b/index/20200218.news @@ -0,0 +1,8 @@ +A new tarball is released. It can be found on <https://dl.carbslinux.org>. + +**edit:** I have removed the tarball because of a bootstrapping issue. +I will be re-adding it later today. + +**edit 2:** I have added a tarball (20200219) to reflect my recent +changes on Busybox. + diff --git a/index/20200405.news b/index/20200405.news new file mode 100644 index 0000000..a51cb6c --- /dev/null +++ b/index/20200405.news @@ -0,0 +1,11 @@ +Carbs Linux repositories will be hosted only on Github. Commits will be +pushed there, and not the repository. You have until +May 4, 2020 Monday to switch your remotes to <https://github.com/CarbsLinux/repository>. +The git repository will continue to be served until then (without additional +commits). + +You can switch your remote by executing the following command on your +repository directory. + + git remote set-url origin https://github.com/CarbsLinux/repository + diff --git a/index/index.md b/index/index.md new file mode 100644 index 0000000..f28afb8 --- /dev/null +++ b/index/index.md @@ -0,0 +1,32 @@ +Carbs Linux is an in-development Linux® distribution with a suckless mindset. +The system will consist of only the necessary programs to create a Linux +distribution. + +Package Manager +--------------- + +Carbs Linux is built upon the world's best Linux distribution +[KISS Linux](https://getkiss.org) and uses [kiss](https://github.com/kisslinux/kiss) +as its package manager, which has proven to be extremely flexible. I aim to move Carbs +to an even more suckless path. + + +Sane defaults +------------- + +By default, Carbs Linux comes with busybox for coreutils, runit as the system +supervisor, and sinit as the init, though nothing holds you from changing any +of them. + + +Links +----- + +* Reddit - [/r/carbslinux](http://reddit.com/r/carbslinux) +* Matrix - [#carbs-linux:matrix.org](https://matrix.to/#/#carbs-linux:matrix.org) + + +News +---- + +[RSS Feed](/news.xml) diff --git a/pull-wiki b/pull-wiki new file mode 100755 index 0000000..9a65a86 --- /dev/null +++ b/pull-wiki @@ -0,0 +1,7 @@ +#!/bin/sh + +TEMP="/tmp/carbswiki" + +rm -rf "$TEMP" ; git clone --depth 1 https://github.com/CarbsLinux/wiki.wiki "$TEMP" +rsync -av --delete -C "$TEMP/" src/wiki/ +rm -rf "$TEMP" diff --git a/src/blog/20200128.md b/src/blog/20200128.md new file mode 100644 index 0000000..4c5c3c1 --- /dev/null +++ b/src/blog/20200128.md @@ -0,0 +1,23 @@ +Title: Switching to New Website + +Switching to New Website +------------------------ + +**Date:** Jan 28 2020 + +In case you haven't seen it before, this website +was powered by [werc](http://werc.cat-v.org). And +even though I liked it really much, it was too +powerful for a small website like this. + +So I have decided to reimplement this website with +my own static generation scripts. The source will +probably be on <https://carbslinux.org/git/website/log.html> +when I decide to publish the website. + +The generation requires Plan9 programs, although +I have used them just for my enthusiasm. I have built +the site with a combination of mk (instead of make), rc, +and POSIX sh. I am not yet exactly familiar with rc, +but I will replace the shell scripts when I feel like +I can. diff --git a/src/blog/index.md b/src/blog/index.md new file mode 100644 index 0000000..9d9a9aa --- /dev/null +++ b/src/blog/index.md @@ -0,0 +1,9 @@ +Blog Index +========== + +This is the Carbs Linux Blog Index. You can find every post +here. [RSS Feed] + +[RSS Feed]: /rss.xml + +* Jan 28 2020 - [Switching to New Website](20200128.html) diff --git a/src/contributing.md b/src/contributing.md new file mode 100644 index 0000000..3fe71ce --- /dev/null +++ b/src/contributing.md @@ -0,0 +1,9 @@ +Contribute to the Carbs Linux Project +===================================== + +This is a small project made possible by volunteers. There are +ways you can help this project stay alive. + +* Contribute to the [Carbs Linux repository](http://git.carbslinux.org/repository/log.html) +* Contribute to the [KISS community repository](https://github.com/kisslinux/community) +* Contribute to the [wiki](//wiki.carbslinux.org) diff --git a/src/index.md b/src/index.md new file mode 100644 index 0000000..062cd3f --- /dev/null +++ b/src/index.md @@ -0,0 +1,205 @@ +Carbs Linux is an in-development Linux® distribution with a suckless mindset. +The system will consist of only the necessary programs to create a Linux +distribution. + +Package Manager +--------------- + +Carbs Linux is built upon the world's best Linux distribution +[KISS Linux](https://getkiss.org) and uses [kiss](https://github.com/kisslinux/kiss) +as its package manager, which has proven to be extremely flexible. I aim to move Carbs +to an even more suckless path. + + +Sane defaults +------------- + +By default, Carbs Linux comes with busybox for coreutils, runit as the system +supervisor, and sinit as the init, though nothing holds you from changing any +of them. + + +Links +----- + +* Reddit - [/r/carbslinux](http://reddit.com/r/carbslinux) +* Matrix - [#carbs-linux:matrix.org](https://matrix.to/#/#carbs-linux:matrix.org) + + +News +---- + +[RSS Feed](/news.xml) + +### Apr 05 2020 + +Carbs Linux repositories will be hosted only on Github. Commits will be +pushed there, and not the repository. You have until +May 4, 2020 Monday to switch your remotes to <https://github.com/CarbsLinux/repository>. +The git repository will continue to be served until then (without additional +commits). + +You can switch your remote by executing the following command on your +repository directory. + + git remote set-url origin https://github.com/CarbsLinux/repository + + +### Feb 18 2020 + +A new tarball is released. It can be found on <https://dl.carbslinux.org>. + +**edit:** I have removed the tarball because of a bootstrapping issue. +I will be re-adding it later today. + +**edit 2:** I have added a tarball (20200219) to reflect my recent +changes on Busybox. + + +### Feb 14 2020 + +**IMPORTANT!** Carbs-init update to be released on 17th of February +will require manual intervention. I am holding this update back so +people can see it before they update their system (even though the +update will show the same message as this). The rationale for the +update is explained below the intervention. + + # There is an explanation for each init + # You only need to follow the instructions + # for your own init-system + + ## busybox-init + # If you did not edit your inittab simply + # move inittab.new to inittab + -> mv /etc/inittab.new /etc/inittab + + # If you did edit your inittab you can use + # a simple sed command to remove the necessary lines + -> sed -i '/getty/d;/runsvdir/d' /etc/inittab + + + ## runit + # same as busybox-init, if you did not edit + # /etc/runit/2 move 2.new to 2 + -> mv /etc/runit/2.new /etc/runit/2 + + # else + -> vim /etc/runit/2 + # open your 2 file and remove the for loop containing + # getty commands. If you are using runit, it is recommended + # to comment out /etc/init/runit.boot + + ## sinit/minit + # If you did not edit your {sinit-,}launch-services.boot + # you can simply remove it. + -> rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot + + # This should leave you without any issues, and you can safely reboot. + +Carbs-init update is to make sure init systems do not clash, and do +not have to use different files. This is a sensible update both for +the user user and for the maintainer side. + +To give an example, before this update busybox-init was managing getty +through `inittab`, runit was managing through `/etc/runit/2`, and +minit/sinit were launching from `/etc/init/launch-services.boot`. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update. + + +### Feb 13 2020 + +Runit is now released on the core repository! You can now replace +busybox-init with runit-init. You can also replace the busybox runit +utilities with the actual runit. This will reduce the dependency on +busybox greatly. + +### Jan 28 2020 + +Web Server is now on a Carbs Linux server. It is not complete yet, +but I will be adding a little more for the intended functionality. +Downtimes can be expected. + +UPDATE: ssl is now working. + +UPDATE2: downloads are back again. + + +### Jan 22 2020 + +Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating +this web server to my Carbs Linux server! + + +### Jan 15 2020 + +sinit has been taken to `core`, and is now officially supported + + +### Jan 13 2020 + +**Busybox update reqires manual intervention** + +The new busybox package conflicts with the pre-update busybox-init. That's why +you should rebuild and install `busybox-init` before doing the update. + + # Do a kiss update first (but don't actually update it yet), or manually pull the git repository + $ kiss u # Cancel this operation after it asks for you to confirm the update + + # Install the busybox-init package + $ kiss b busybox-init && kiss i busybox-init + + # Continue your update as you normally would. + $ kiss u + +I have moved runit and logging utilities from the busybox-init package to the busybox +package, which is the cause of these conflicts. + +### Jan 10 2020 + +carbs-rootfs-20200110.tar.xz was [released](//dl.carbslinux.org/releases) + + +### Jan 09 2020 + +Happy new year, everyone! I am back after some long silence. I was unable to commit for a +while, but I have pulled some new updates from the KISS repository, added some of my own. +This week I will be changing/adding some things. + +Important things are, + +* Carbs-init was updated to 0.3. +* I will be adding an implementation of suckless.org's [sinit](//core.suckless.org/sinit) as `carbs-sinit` +* Carbs Repository was added to [repology.org](//repology.org/repository/carbs) +* A new rootfs tarball will be coming up tomorrow. + + +### Dec 18 2019 + +carbs-rootfs-20191218.tar.xz was [released](//dl.carbslinux.org/releases) + + +### Dec 17 2019 + +Installation instruction are now complete. A review would be greatly appreciated! + + +### Dec 15 2019 + +Carbs Linux Wiki is now available to be edited and updated by the users go +to the [wiki](//carbslinux.org/wiki) to obtain more information. + +**February 2020 EDIT:** Changed link for wiki + + +### Dec 12 2019 + +Busybox and Busybox-init has been seperated into two different packages. +This is for adding standalone runit/runit-init to the repositories. + + +### Dec 10 2019 + +First alpha release was made. See the [downloads page](//dl.carbslinux.org/releases). + diff --git a/src/people.md b/src/people.md new file mode 100644 index 0000000..dc49bf3 --- /dev/null +++ b/src/people.md @@ -0,0 +1,3 @@ +People +====== +* Cem Keylan - Founder <cem@ckyln.com> diff --git a/src/repositories.md b/src/repositories.md new file mode 100644 index 0000000..794e451 --- /dev/null +++ b/src/repositories.md @@ -0,0 +1,22 @@ +Repositories endorsed by Carbs +============================== +The power of KISS package manager is the way +it is really flexible. You can use multiple +repositories at the same time. + +Official Repository +------------------- + +The official repository comes installed in +the rootfs tarball. You can view the sources +[online](//git.carbslinux.org/repository/log.html) + + +Other repositories +------------------ + +* [KISS Community Repository](https://github.com/kisslinux/community) +* [KISS Official Repository](https://github.com/kisslinux/repo) + +**NOTE:** Note that the *official* repositories of +KISS Linux are not identical and may have conflicts. 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. |