diff options
55 files changed, 1620 insertions, 460 deletions
diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..dcfcee7 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src/docs"] + path = src/docs + url = https://github.com/carbslinux/docs.git @@ -1,137 +1,96 @@ #!/bin/sh -e -header() { - cat <<EOF -<!DOCTYPE HTML> -<html lan="en"> -<head> -<title>$1 | 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 -} +ROOT=$PWD -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 +txt2html() { + printf '<pre>\n' + + # Convert [0-9] to links + sed -E 's|(.*[a-z].*)\[([0-9].*)\]|\1<a href=#\2>[\2]</a>|g' "$1" | + + # Add span id to sections + sed -E 's|^\[([0-9].*)\]|<span id=\1><a href=#\1>[\1]</a></span>|' | + + # Make links clickable + sed -E "s|(http[s]?://[^[:space:]\)]*)|<a href=\1>\1</a>|g" + + printf '</pre>\n' } gettitle() { - case "$(sed 1q "$1")" in - Title:*) sed 's/^[Tt]itle: //;1q' "$1" ;; - *) - title=$( - grep -n '=*=' -- "$1" | - - while IFS=: read -r num _; do - sed "$(( num - 1 ))q;d" "$1" - return 0 - done - ) - - file=${1##*/} file=${file%.md} - printf '%s\n' "${title:-$file}" - esac + unset title + case "$(sed -n 2p "$1")" in =*=|-*-) title="$(sed -n 1p "$1")"; esac + file=${1##*/} file=${file%.*} + printf '%s\n' "${title:-$file}${2:+ | Carbs Linux}" } -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' -o -name '*.txt' \) ) ; do - tohtml "src/$page" > "docs/${page%.*}.html" - sed '/^Title:/d' "src/$page" > "docs/${page%.*}.txt" +genpages() ( + cd src || return 1 + find . ! -name .git | while read -r file; do + + # If this is a directory, create the directory on the destination and + # return. + [ -d "$file" ] && { + mkdir -p "../docs/${file#./}" + continue + } + + # We are treating markdown/plaintext files differently. + case "$file" in + *.md|*.txt) + tohtml "$file" > "../docs/${file%.*}.html" + cp "$file" "../docs/${file%.*}.txt" + ;; + + # If this is not a markdown/txt file copy as-is. + *) cp "$file" "../docs/$file" + esac done - # Copy rest of the files - (cd src || return 1 ; find . -type f ! -name '*.md' -exec cp -u \{\} ../docs/\{\} \; ) - -} +) tohtml() { - header "$(gettitle "$1")" + srcfile=${1#.} srcfile=${srcfile%.*}.txt case "${1##*.}" in - md) sed '/^[Tt]itle:/d' "$1" | markdown ;; - txt) printf '<pre>'; cat "$1"; printf '</pre>' ;; - esac - srcfile=${1#src/.} srcfile=${srcfile%.*}.txt - footer "$srcfile" -} + md) markdown "$1" ;; + txt) txt2html "$1" ;; + esac | -wiki_index() { - cat templates/wiki-index > 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 -} + sed '/{{ CONTENT }}/r /dev/stdin' "$ROOT/templates/template.html" | -blog_index() { - cat <<EOF > src/blog/index.md -Blog Index -================================================================================ + sed "s#{{ TITLE }}#$(gettitle "$1" html)#" | -This is the Carbs Linux Blog Index. You can find every post here. [RSS Feed] + sed '/{{ CONTENT }}/d' | -[RSS Feed]: /rss.xml + sed "s|{{ SRC }}|$srcfile|" +} -EOF +blog_index() { + cat templates/blog-index > src/blog/index.md 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 + printf '* %s - [%s](%s)\n' \ + "$(date --date="$postdate" +%b\ %d\ %Y)" \ + "$(gettitle "$post")" \ + "$(printf "$post" | sed 's#src/blog/##;s/.md/.html/')" + done >> src/blog/index.md } site_index() { cp index/index.md src/index.md :> src/news.md - # find index -name '*.news' | sort -r | sed 3q | while read -r news ; do - # shellcheck disable=2046 - set -- $(find index -name '*.news' | sort -r) - for news in "$1" "$2" "$3" "$4" "$5" ; 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 - for news; do - newsdate="${news##*/}" ; newsdate="${newsdate%.news}" - printf '\n%s\n-----------\n\n' "$(date --date="$newsdate" +%b\ %d\ %Y)" >> src/news.md + i=0 + find index -name '*.news' | sort -r | while read -r news; do + [ "$(( i += 1 ))" -lt 6 ] && { + printf '\n' + cat "$news" + } >> src/index.md + [ "$i" -eq 1 ] || printf '\n' >> src/news.md cat "$news" >> src/news.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 -u +%b\ %a\ %Y\ %H):00</lastBuildDate> -EOF find "$1" -type f ! -name index.md | sort -r | while read -r post ; do postdate="${post##*/}" ; postdate="${postdate%.*}" cat <<EOF @@ -140,28 +99,30 @@ EOF <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> +<description>$(grep -v '^Title: ' "$post" | markdown -f cdata)</description> </item> EOF - done -cat <<EOF -</channel> -</rss> -EOF + done | + + sed '/{{ CONTENT }}/r /dev/stdin' "$ROOT/templates/rss.xml" | + + sed '/{{ CONTENT }}/d' | + + sed "s|{{ SRC }}|${2:-rss}.xml|" | + + sed "s|{{ DATE }}|$(date -u "+%a %b %d %Y %H:00")|" } 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 + # Recreate docs directory + rm -rf docs; mkdir -p docs # Generate the indexes for blog and the wiki - site_index; wiki_index; blog_index + site_index; blog_index # Generate rss feeds - genrss index news index.html > docs/news.xml ; genrss src/blog > docs/rss.xml + genrss index news index.html > src/news.xml + genrss src/blog > src/rss.xml # Generate pages genpages diff --git a/docs/404.html b/docs/404.html index fa8e64d..52e291c 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,26 +1,29 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>404 | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>404 | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> <h1>404</h1> <p>Requested page not found.</p> -<a href="/404.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> + <a href="/404.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.html b/docs/blog/20200128.html index aa5a708..8a30c56 100644 --- a/docs/blog/20200128.html +++ b/docs/blog/20200128.html @@ -1,21 +1,23 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>Switching to New Website | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>Switching to New Website | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> <h1>Switching to New Website</h1> <p><strong>Date:</strong> Jan 28 2020</p> @@ -36,8 +38,9 @@ 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> + <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/20200406.html b/docs/blog/20200406.html index d8d0952..ba77659 100644 --- a/docs/blog/20200406.html +++ b/docs/blog/20200406.html @@ -1,21 +1,23 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>Roadmap for Carbs | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>Roadmap for Carbs | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> <h1>Roadmap for Carbs</h1> <p>It has been a busy week. There are lots of changes in @@ -76,8 +78,9 @@ manager. The now empty repository, can be found <a href="https://github.com/Carb the website structure overall.</p> <p>- Cem</p> -<a href="/blog/20200406.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> + <a href="/blog/20200406.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/20200410.html b/docs/blog/20200410.html index 0125687..b7c07ac 100644 --- a/docs/blog/20200410.html +++ b/docs/blog/20200410.html @@ -1,21 +1,23 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>Outsource Repository Concept | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>Outsource Repository Concept | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> <h1>Outsource Repository Concept</h1> <p>In April 3rd, I have added submodule support for Carbs @@ -39,8 +41,9 @@ Firefox and its dependencies have been purged from the main repository, but can be found on it.</p> <p><a href="https://github.com/CarbsLinux/outsource">https://github.com/CarbsLinux/outsource</a></p> -<a href="/blog/20200410.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> + <a href="/blog/20200410.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/20200508.html b/docs/blog/20200508.html index 49da3e3..fe8e624 100644 --- a/docs/blog/20200508.html +++ b/docs/blog/20200508.html @@ -1,21 +1,23 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>The Relation of Carbs and KISS | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>The Relation of Carbs and KISS | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> <h1>The Relation of Carbs and KISS</h1> <p><strong>Date:</strong> May 08 2020</p> @@ -135,8 +137,9 @@ to thoroughly give an explanation.</p> <p>Cheers, Cem</p> -<a href="/blog/20200508.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> + <a href="/blog/20200508.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/20200528.html b/docs/blog/20200528.html index 2abe18d..11ca8ba 100644 --- a/docs/blog/20200528.html +++ b/docs/blog/20200528.html @@ -1,21 +1,23 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>kiss 2.0.0 and overall changes | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>kiss 2.0.0 and overall changes | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> <h1>kiss 2.0.0 and overall changes</h1> <p>Carbs Linux kiss version 2.0.0 has been released which introduces @@ -59,8 +61,9 @@ by others interested on the matter as well.</p> <p>Cheers, Cem</p> -<a href="/blog/20200528.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> + <a href="/blog/20200528.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/20200617.html b/docs/blog/20200617.html index d4de442..69fd722 100644 --- a/docs/blog/20200617.html +++ b/docs/blog/20200617.html @@ -1,21 +1,23 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>June Newspost | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>June Newspost | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> <h1>June Newspost</h1> <p>This will be an active month for Carbs as major changes to the base and the @@ -93,8 +95,9 @@ little outdated which will also receive some important updates.</p> <p>I am thinking of releasing an ISO image in order to provide a standardized environment for installation along with installation helper tools in the spirit of <code>arch-install-scripts</code>. Let’s see how that’s going to play out.</p> -<a href="/blog/20200617.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> + <a href="/blog/20200617.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.html b/docs/blog/index.html index dfba995..75ea51b 100644 --- a/docs/blog/index.html +++ b/docs/blog/index.html @@ -1,21 +1,23 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>Blog Index | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>Blog Index | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/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> @@ -29,8 +31,9 @@ <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> + <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/contributing.html b/docs/contributing.html index 90ea5ee..27d2da0 100644 --- a/docs/contributing.html +++ b/docs/contributing.html @@ -1,21 +1,23 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>Contribute to the Carbs Linux Project | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>Contribute to the Carbs Linux Project | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/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 @@ -27,8 +29,9 @@ ways you can help this project stay alive.</p> <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> + <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/docs/README b/docs/docs/README new file mode 100644 index 0000000..68ca07d --- /dev/null +++ b/docs/docs/README @@ -0,0 +1,19 @@ +CARBS LINUX DOCUMENTATION +================================================================================ + +This is the source of offline documentation for Carbs Linux. It is a part of the +'core' repository and can be obtained by installing it with kiss. + + +--------------------------------------------------------------------------+ + | $ kiss b carbs-docs | + | $ kiss i carbs-docs | + +--------------------------------------------------------------------------+ + +This documentation isn't complete yet, you can help by expanding it. + + +[1.0] Document structure +-------------------------------------------------------------------------------- + +Documents are categorized in directory structures which provide information on +a certain subject.
\ No newline at end of file diff --git a/docs/docs/install.html b/docs/docs/install.html new file mode 100644 index 0000000..3b37dc1 --- /dev/null +++ b/docs/docs/install.html @@ -0,0 +1,503 @@ +<!DOCTYPE HTML> +<html lan=en> + <head> + <title>Installation Instructions | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> +<pre> +Installation Instructions +================================================================================ + +This post will guide you step-by-set in order to install Carbs Linux. You can +obtain these instructions for offline use, the plaintext version can be found on +<a href=https://carbslinux.org/docs/install.txt>https://carbslinux.org/docs/install.txt</a> + + +TABLE OF CONTENTS +-------------------------------------------------------------------------------- + +- Downloading and getting ready to chroot <a href=#1.0>[1.0]</a> + - Download <a href=#1.1>[1.1]</a> + - Check the integrity of the tarball (Recommended) <a href=#1.2>[1.2]</a> + - Verify the signature <a href=#1.3>[1.3]</a> + - Extracting the tarball <a href=#1.4>[1.4]</a> + - Obtain the chroot helper <a href=#1.5>[1.5]</a> +- Chroot <a href=#2.0>[2.0]</a> + - Updating packages (optional) <a href=#2.1>[2.1]</a> + - Installing packages <a href=#2.2>[2.2]</a> + - Essential software <a href=#2.3>[2.3]</a> + - Obtaining the documentation (optional) <a href=#2.4>[2.4]</a> +- System Configuration <a href=#3.0>[3.0]</a> + - Configuring hostname (recommended) <a href=#3.1>[3.1]</a> + - Setting up the hosts file (optional) <a href=#3.2>[3.2]</a> + - Generating fstab <a href=#3.3>[3.3]</a> +- Kernel <a href=#4.0>[4.0]</a> + - Obtaining the kernel sources. <a href=#4.1>[4.1]</a> + - Installing dependencies <a href=#4.2>[4.2]</a> + - Compiling the kernel <a href=#4.3>[4.3]</a> +- Making your system bootable <a href=#5.0>[5.0]</a> + - Installing a bootloader <a href=#5.1>[5.1]</a> + - Installing init scripts <a href=#5.2>[5.2]</a> +- Post-installation <a href=#6.0>[6.0]</a> + - Acquiring kiss repositories <a href=#6.1>[6.1]</a> + + + +<span id=1.0><a href=#1.0>[1.0]</a></span> Downloading and getting ready to chroot +-------------------------------------------------------------------------------- + +To install Carbs Linux, you will need a Live Linux ISO. For that purpose, you +can obtain a Gentoo or Void Linux live image. You can follow their instructions +to boot and setup your network. + +You will need the following programs in order to install Carbs Linux: +- tar +- wget (or curl) +- xz +- some form of base utilities (coreutils, sbase, busybox, etc.) + +Rest of the instructions assume that you have set all of these up, and will +continue on that point. + + +<span id=1.1><a href=#1.1>[1.1]</a></span> Download +-------------------------------------------------------------------------------- + +First, we need to download the rootfs tarball. You can do the following in order +to obtain the rootfs. If you are using an i686 machine, replace the 'x86_64' +with 'i686'. + + +--------------------------------------------------------------------------+ + | | + | $ wget <a href=https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz>https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz</a> | + | | + +--------------------------------------------------------------------------+ + +We can then check the integrity of the tarball and do a signature verification. +Even though these are optional, they are highly recommended. + + +<span id=1.2><a href=#1.2>[1.2]</a></span> Check the integrity of the tarball (Recommended) +-------------------------------------------------------------------------------- + +All of the releases are saved in a single file named 'sha256sums.txt'. You can +either verify manually, or you can run the following for a single step +verification. + + +-----------------------------------------------------------------------------+ + | | + | $ wget <a href=https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz.sha256>https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz.sha256</a> | + | | + | $ sha256sum -c carbs-rootfs.tar.xz.sha256 | + | | + | This should produce the following (or a similar) output: | + | carbs-rootfs.tar.xz: OK | + | | + +-----------------------------------------------------------------------------+ + + +<span id=1.3><a href=#1.3>[1.3]</a></span> Verify the signature +-------------------------------------------------------------------------------- + +It is highly recommended to verify the signature of the tarball. You will need +GPG for this. + + +--------------------------------------------------------------------------+ + | | + | $ wget <a href=https://carbslinux.org/releases/carbs-rootfs.tar.xz.sig>https://carbslinux.org/releases/carbs-rootfs.tar.xz.sig</a> | + | | + | $ gpg --recv-keys FF484BDFEFCEF8FF | + | | + | $ gpg --verify carbs-rootfs.tar.xz.sig | + | | + +--------------------------------------------------------------------------+ + + +<span id=1.4><a href=#1.4>[1.4]</a></span> Extracting the tarball +-------------------------------------------------------------------------------- + +You will need to extract the tarball to your desired location. For partitioning, +you can follow this guide<a href=#1>[1]</a>. This will assume that you will be mounting your +root partition to '/mnt'. + + +--------------------------------------------------------------------------+ + | | + | $ mount /dev/sdx1 /mnt | + | | + | $ tar xf carbs-rootfs.tar.xz -C /mnt | + | | + +--------------------------------------------------------------------------+ + + +<span id=1.5><a href=#1.5>[1.5]</a></span> Obtain the chroot helper +-------------------------------------------------------------------------------- + +You can obtain the cpt-chroot script in order to do a simple chroot into your +new root filesystem. + + +--------------------------------------------------------------------------+ + | | + | $ wget <a href=https://dl.carbslinux.org/distfiles/cpt-chroot>https://dl.carbslinux.org/distfiles/cpt-chroot</a> | + | $ chmod a+x cpt-chroot | + | | + +--------------------------------------------------------------------------+ + + +<span id=2.0><a href=#2.0>[2.0]</a></span> Chroot +-------------------------------------------------------------------------------- + +Chroot into Carbs Linux! + + +--------------------------------------------------------------------------+ + | | + | $ ./cpt-chroot /mnt | + | | + +--------------------------------------------------------------------------+ + + +<span id=2.1><a href=#2.1>[2.1]</a></span> Updating packages (optional) +-------------------------------------------------------------------------------- + +It is good practice to make sure your system is up to date, especially before +building new packages. If there is an update for the package manager you will +need to update twice. + + +--------------------------------------------------------------------------+ + | | + | $ cpt update | + | | + +--------------------------------------------------------------------------+ + | | + | If the package manager is updated, run the same command again. | + | $ cpt update | + | | + +--------------------------------------------------------------------------+ + + +<span id=2.2><a href=#2.2>[2.2]</a></span> Installing packages +-------------------------------------------------------------------------------- + +Since you are operating on a really small base, you might need to build and +install new programs to extend the functionality of your system. In order to +build and install packages new packages in Carbs, you need to execute the +following. + + +--------------------------------------------------------------------------+ + | | + | $ cpt build package | + | $ cpt install package | + | | + +--------------------------------------------------------------------------+ + + +<span id=2.3><a href=#2.3>[2.3]</a></span> Essential software +-------------------------------------------------------------------------------- + +Here is a list of software that you might want to have on your system. + + BOOTLOADERS + - efibootmgr + - grub + FILESYSTEMS + - e2fsprogs + - dosfstools + - ntfs-3g + NETWORKING + - dhcpcd<a href=#2>[2]</a> + - wpa_supplicant + TEXT EDITORS + - nano + - vim + - neatvi + - nvi + - emacs + - emacs-nox (terminal-only version of emacs) + - mg (micro gnuemacs) + USER SHELLS + - bash + - dash + - zsh + - 9base (rc shell) + DEVICE MANAGEMENT + - eudev + COREUTILS + - sbase + DOCUMENTATION + - carbs-docs <a href=#2.4>[2.4]</a> + - man-pages + - man-pages-posix + OTHER + - git + + +<span id=2.4><a href=#2.4>[2.4]</a></span> Obtaining the documentation (optional) +-------------------------------------------------------------------------------- + +All the documentation for Carbs Linux (including this installation manual) can +be obtained to be viewed offline. + + +--------------------------------------------------------------------------+ + | | + | Install the documentation. | + | $ cpt b carbs-docs && cpt i carbs-docs | + | | + | 'docs' tool can be used in order to crawl through the documentation. | + | | + | Following command can be used in order to view this installation guide | + | through a pager. | + | | + | $ docs install | + | | + +--------------------------------------------------------------------------+ + + +<span id=3.0><a href=#3.0>[3.0]</a></span> System Configuration +-------------------------------------------------------------------------------- + +After you have finished installing some extra packages, you can configure your +system to your liking. + + +<span id=3.1><a href=#3.1>[3.1]</a></span> Configuring hostname (recommended) +-------------------------------------------------------------------------------- + +You might want to add a hostname, especially in a networked environment. Your +hostname will default to 'carbslinux' unless you set this. + + +--------------------------------------------------------------------------+ + | | + | $ echo your-hostname > /etc/hostname | + | | + +--------------------------------------------------------------------------+ + + +<span id=3.2><a href=#3.2>[3.2]</a></span> Setting up the hosts file (optional) +-------------------------------------------------------------------------------- + +You can edit your /etc/hosts file, which is the static lookup table for host +names. By default, there are two entries for localhost which are OKAY. You can +replace the 'localhost' part of these entries to your hostname. + + +--------------------------------------------------------------------------+ + | | + | 127.0.0.1 localhost.localdomain localhost | + | ::1 localhost.localdomain localhost ip6-localhost | + | | + +--------------------------------------------------------------------------+ + + +<span id=3.3><a href=#3.3>[3.3]</a></span> Generating fstab +-------------------------------------------------------------------------------- + +You can use this POSIX sh variant for genfstab + + +<span id=4.0><a href=#4.0>[4.0]</a></span> Kernel +-------------------------------------------------------------------------------- + +Kernel isn't managed under the main repositories, even though you could package +one for your personal use. Here is an example kernel package, which you will +need to reconfigure for your specific setup if you want to make use of it<a href=#3>[3]</a>. + + +<span id=4.1><a href=#4.1>[4.1]</a></span> Obtaining the kernel sources. +-------------------------------------------------------------------------------- + +You can visit the <a href=https://kernel.org>https://kernel.org</a> website to choose a kernel that you want +to install. Though only the latest stable and longterm (LTS) versions are +supported. + + +--------------------------------------------------------------------------+ + | | + | Download the kernel and extract it | + | $ wget <a href=https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.6.tar.xz>https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.6.tar.xz</a> | + | $ tar xf linux-5.7.6.tar.xz | + | | + | Change directory into the kernel sources | + | $ cd linux-5.7.6 | + | | + +--------------------------------------------------------------------------+ + +<span id=4.2><a href=#4.2>[4.2]</a></span> Installing dependencies +-------------------------------------------------------------------------------- + +In order to compile the kernel you will need to install some dependencies. + + +--------------------------------------------------------------------------+ + | | + | You will need libelf to compile the kernel | + | | + | $ cpt b libelf && cpt i libelf | + | | + +--------------------------------------------------------------------------+ + | | + | In order to configure the kernel with a user interface, you will need | + | ncurses to be installed on your system. | + | | + | $ cpt b ncurses && cpt i ncurses | + | | + +--------------------------------------------------------------------------+ + +In the vanilla kernel sources, you need perl to compile the kernel, but it can +be easily patched out. You will need to apply the following patch. Patch was +written by E5ten<a href=#4>[4]</a>. + + +--------------------------------------------------------------------------+ + | | + | Obtain the patch by downloading it. | + | | + | $ wget <a href=https://dl.carbslinux.org/distfiles/kernel-no-perl.patch>https://dl.carbslinux.org/distfiles/kernel-no-perl.patch</a> | + | | + | Apply the patch. | + | | + | $ patch -p1 < kernel-no-perl.patch | + | | + +--------------------------------------------------------------------------+ + + +<span id=4.3><a href=#4.3>[4.3]</a></span> Compiling the kernel +-------------------------------------------------------------------------------- + +Next step is configuring and building the kernel. You can check Gentoo's kernel +configuration guide<a href=#5>[5]</a> to learn more about the matter. Overall, Gentoo Wiki is a +good place to learn about configuration according to your hardware. + + +--------------------------------------------------------------------------+ + | Configure and build the kernel | + +--------------------------------------------------------------------------+ + | | + | $ make menuconfig | + | $ make | + | | + +--------------------------------------------------------------------------+ + | Install the kernel | + +--------------------------------------------------------------------------+ + | | + | $ install -Dm755 $(make -s image_name) /boot/vmlinuz-linux | + | | + +--------------------------------------------------------------------------+ + + +<span id=5.0><a href=#5.0>[5.0]</a></span> Making your system bootable +-------------------------------------------------------------------------------- + +In order to be able to boot your fresh system, wou will need an init-daemon, +init-scripts and a bootloader. The init daemon is already provided by busybox, +but you can optionally change it. + + +<span id=5.1><a href=#5.1>[5.1]</a></span> Installing a bootloader +-------------------------------------------------------------------------------- + +In the main repository, there is efibootmgr and grub to serve as bootloaders. +efibootmgr can be used as a standalone bootloader, or can be used to install +grub in a UEFI environment. efibootmgr is needed unless you are using a device +without UEFI support (or you really want to use BIOS for a reason). + + +--------------------------------------------------------------------------+ + | GRUB BIOS installation | + +--------------------------------------------------------------------------+ + | | + | $ cpt b grub && cpt i grub | + | $ grub-install --target=i386-pc /dev/sdX | + | $ grub-mkconfig -o /boot/grub/grub.cfg | + | | + +--------------------------------------------------------------------------+ + | GRUB UEFI installation | + +--------------------------------------------------------------------------+ + | | + | $ cpt b efibootmgr && cpt i efibootmgr | + | $ cpt b grub && cpt i grub | + | | + | $ grub-install --target=x86_64-efi \ | + | --efi-directory=esp \ | + | --bootloader-id=CarbsLinux | + | | + | $ grub-mkconfig -o /boot/grub/grub.cfg | + | | + +--------------------------------------------------------------------------+ + + +<span id=5.2><a href=#5.2>[5.2]</a></span> Installing init scripts +-------------------------------------------------------------------------------- + +Only thing left to do is installing the init-scripts, and now you are ready to +boot your system! + + +--------------------------------------------------------------------------+ + | | + | $ cpt b carbs-init && cpt i carbs-init | + | | + +--------------------------------------------------------------------------+ + + +<span id=6.0><a href=#6.0>[6.0]</a></span> Post-installation +-------------------------------------------------------------------------------- + +The base installation is now complete, you can now fine tune your system +according to your needs. Rest of these instructions are completely optional. + + +<span id=6.1><a href=#6.1>[6.1]</a></span> Acquiring kiss repositories +-------------------------------------------------------------------------------- + +Most kiss repositories can only be obtained through git, but it isn't installed +by default. You'll need to install it: + + +--------------------------------------------------------------------------+ + | | + | $ cpt b git && cpt i git | + | | + +--------------------------------------------------------------------------+ + + +After installing git, you can clone a repository, and add it to your path: + + +--------------------------------------------------------------------------+ + | KISS Community Repository | + +--------------------------------------------------------------------------+ + | | + | $ git clone <a href=https://github.com/kisslinux/community>https://github.com/kisslinux/community</a> | + | $ export CPT_PATH=$CPT_PATH:$PWD/community/community | + | | + | NOTE: There are lots of packages on the KISS community repository that | + | are also on Carbs Linux main repository. I would advise giving | + | lower priority to the KISS community repository as it may affect | + | other packages that you might install. | + | | + +--------------------------------------------------------------------------+ + + +You can also lookup other repositories on GitHub, by searching the 'cpt-repo' +tag, or looking it up on the KISS Wiki page for repositories<a href=#6>[6]</a>. + + +Footnotes +-------------------------------------------------------------------------------- +<span id=1><a href=#1>[1]</a></span>: <a href=https://wiki.archlinux.org/index.php/Partitioning>https://wiki.archlinux.org/index.php/Partitioning</a> +<span id=2><a href=#2>[2]</a></span>: busybox also provides udhcpc which can be used to configure dynamic IP +<span id=3><a href=#3>[3]</a></span>: <a href=https://github.com/cemkeylan/kiss-repository/tree/master/personal/linux>https://github.com/cemkeylan/kiss-repository/tree/master/personal/linux</a> +<span id=4><a href=#4>[4]</a></span>: <a href=https://github.com/E5ten>https://github.com/E5ten</a> +<span id=5><a href=#5>[5]</a></span>: <a href=https://wiki.gentoo.org/wiki/Kernel/Configuration>https://wiki.gentoo.org/wiki/Kernel/Configuration</a> +<span id=6><a href=#6>[6]</a></span>: <a href=https://k1ss.org/wiki/community/repositories>https://k1ss.org/wiki/community/repositories</a> +</pre> + <a href="/docs/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/docs/install.txt b/docs/docs/install.txt new file mode 100644 index 0000000..d068a67 --- /dev/null +++ b/docs/docs/install.txt @@ -0,0 +1,475 @@ +Installation Instructions +================================================================================ + +This post will guide you step-by-set in order to install Carbs Linux. You can +obtain these instructions for offline use, the plaintext version can be found on +https://carbslinux.org/docs/install.txt + + +TABLE OF CONTENTS +-------------------------------------------------------------------------------- + +- Downloading and getting ready to chroot [1.0] + - Download [1.1] + - Check the integrity of the tarball (Recommended) [1.2] + - Verify the signature [1.3] + - Extracting the tarball [1.4] + - Obtain the chroot helper [1.5] +- Chroot [2.0] + - Updating packages (optional) [2.1] + - Installing packages [2.2] + - Essential software [2.3] + - Obtaining the documentation (optional) [2.4] +- System Configuration [3.0] + - Configuring hostname (recommended) [3.1] + - Setting up the hosts file (optional) [3.2] + - Generating fstab [3.3] +- Kernel [4.0] + - Obtaining the kernel sources. [4.1] + - Installing dependencies [4.2] + - Compiling the kernel [4.3] +- Making your system bootable [5.0] + - Installing a bootloader [5.1] + - Installing init scripts [5.2] +- Post-installation [6.0] + - Acquiring kiss repositories [6.1] + + + +[1.0] Downloading and getting ready to chroot +-------------------------------------------------------------------------------- + +To install Carbs Linux, you will need a Live Linux ISO. For that purpose, you +can obtain a Gentoo or Void Linux live image. You can follow their instructions +to boot and setup your network. + +You will need the following programs in order to install Carbs Linux: +- tar +- wget (or curl) +- xz +- some form of base utilities (coreutils, sbase, busybox, etc.) + +Rest of the instructions assume that you have set all of these up, and will +continue on that point. + + +[1.1] Download +-------------------------------------------------------------------------------- + +First, we need to download the rootfs tarball. You can do the following in order +to obtain the rootfs. If you are using an i686 machine, replace the 'x86_64' +with 'i686'. + + +--------------------------------------------------------------------------+ + | | + | $ wget https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz | + | | + +--------------------------------------------------------------------------+ + +We can then check the integrity of the tarball and do a signature verification. +Even though these are optional, they are highly recommended. + + +[1.2] Check the integrity of the tarball (Recommended) +-------------------------------------------------------------------------------- + +All of the releases are saved in a single file named 'sha256sums.txt'. You can +either verify manually, or you can run the following for a single step +verification. + + +-----------------------------------------------------------------------------+ + | | + | $ wget https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz.sha256 | + | | + | $ sha256sum -c carbs-rootfs.tar.xz.sha256 | + | | + | This should produce the following (or a similar) output: | + | carbs-rootfs.tar.xz: OK | + | | + +-----------------------------------------------------------------------------+ + + +[1.3] Verify the signature +-------------------------------------------------------------------------------- + +It is highly recommended to verify the signature of the tarball. You will need +GPG for this. + + +--------------------------------------------------------------------------+ + | | + | $ wget https://carbslinux.org/releases/carbs-rootfs.tar.xz.sig | + | | + | $ gpg --recv-keys FF484BDFEFCEF8FF | + | | + | $ gpg --verify carbs-rootfs.tar.xz.sig | + | | + +--------------------------------------------------------------------------+ + + +[1.4] Extracting the tarball +-------------------------------------------------------------------------------- + +You will need to extract the tarball to your desired location. For partitioning, +you can follow this guide[1]. This will assume that you will be mounting your +root partition to '/mnt'. + + +--------------------------------------------------------------------------+ + | | + | $ mount /dev/sdx1 /mnt | + | | + | $ tar xf carbs-rootfs.tar.xz -C /mnt | + | | + +--------------------------------------------------------------------------+ + + +[1.5] Obtain the chroot helper +-------------------------------------------------------------------------------- + +You can obtain the cpt-chroot script in order to do a simple chroot into your +new root filesystem. + + +--------------------------------------------------------------------------+ + | | + | $ wget https://dl.carbslinux.org/distfiles/cpt-chroot | + | $ chmod a+x cpt-chroot | + | | + +--------------------------------------------------------------------------+ + + +[2.0] Chroot +-------------------------------------------------------------------------------- + +Chroot into Carbs Linux! + + +--------------------------------------------------------------------------+ + | | + | $ ./cpt-chroot /mnt | + | | + +--------------------------------------------------------------------------+ + + +[2.1] Updating packages (optional) +-------------------------------------------------------------------------------- + +It is good practice to make sure your system is up to date, especially before +building new packages. If there is an update for the package manager you will +need to update twice. + + +--------------------------------------------------------------------------+ + | | + | $ cpt update | + | | + +--------------------------------------------------------------------------+ + | | + | If the package manager is updated, run the same command again. | + | $ cpt update | + | | + +--------------------------------------------------------------------------+ + + +[2.2] Installing packages +-------------------------------------------------------------------------------- + +Since you are operating on a really small base, you might need to build and +install new programs to extend the functionality of your system. In order to +build and install packages new packages in Carbs, you need to execute the +following. + + +--------------------------------------------------------------------------+ + | | + | $ cpt build package | + | $ cpt install package | + | | + +--------------------------------------------------------------------------+ + + +[2.3] Essential software +-------------------------------------------------------------------------------- + +Here is a list of software that you might want to have on your system. + + BOOTLOADERS + - efibootmgr + - grub + FILESYSTEMS + - e2fsprogs + - dosfstools + - ntfs-3g + NETWORKING + - dhcpcd[2] + - wpa_supplicant + TEXT EDITORS + - nano + - vim + - neatvi + - nvi + - emacs + - emacs-nox (terminal-only version of emacs) + - mg (micro gnuemacs) + USER SHELLS + - bash + - dash + - zsh + - 9base (rc shell) + DEVICE MANAGEMENT + - eudev + COREUTILS + - sbase + DOCUMENTATION + - carbs-docs [2.4] + - man-pages + - man-pages-posix + OTHER + - git + + +[2.4] Obtaining the documentation (optional) +-------------------------------------------------------------------------------- + +All the documentation for Carbs Linux (including this installation manual) can +be obtained to be viewed offline. + + +--------------------------------------------------------------------------+ + | | + | Install the documentation. | + | $ cpt b carbs-docs && cpt i carbs-docs | + | | + | 'docs' tool can be used in order to crawl through the documentation. | + | | + | Following command can be used in order to view this installation guide | + | through a pager. | + | | + | $ docs install | + | | + +--------------------------------------------------------------------------+ + + +[3.0] System Configuration +-------------------------------------------------------------------------------- + +After you have finished installing some extra packages, you can configure your +system to your liking. + + +[3.1] Configuring hostname (recommended) +-------------------------------------------------------------------------------- + +You might want to add a hostname, especially in a networked environment. Your +hostname will default to 'carbslinux' unless you set this. + + +--------------------------------------------------------------------------+ + | | + | $ echo your-hostname > /etc/hostname | + | | + +--------------------------------------------------------------------------+ + + +[3.2] Setting up the hosts file (optional) +-------------------------------------------------------------------------------- + +You can edit your /etc/hosts file, which is the static lookup table for host +names. By default, there are two entries for localhost which are OKAY. You can +replace the 'localhost' part of these entries to your hostname. + + +--------------------------------------------------------------------------+ + | | + | 127.0.0.1 localhost.localdomain localhost | + | ::1 localhost.localdomain localhost ip6-localhost | + | | + +--------------------------------------------------------------------------+ + + +[3.3] Generating fstab +-------------------------------------------------------------------------------- + +You can use this POSIX sh variant for genfstab + + +[4.0] Kernel +-------------------------------------------------------------------------------- + +Kernel isn't managed under the main repositories, even though you could package +one for your personal use. Here is an example kernel package, which you will +need to reconfigure for your specific setup if you want to make use of it[3]. + + +[4.1] Obtaining the kernel sources. +-------------------------------------------------------------------------------- + +You can visit the https://kernel.org website to choose a kernel that you want +to install. Though only the latest stable and longterm (LTS) versions are +supported. + + +--------------------------------------------------------------------------+ + | | + | Download the kernel and extract it | + | $ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.6.tar.xz | + | $ tar xf linux-5.7.6.tar.xz | + | | + | Change directory into the kernel sources | + | $ cd linux-5.7.6 | + | | + +--------------------------------------------------------------------------+ + +[4.2] Installing dependencies +-------------------------------------------------------------------------------- + +In order to compile the kernel you will need to install some dependencies. + + +--------------------------------------------------------------------------+ + | | + | You will need libelf to compile the kernel | + | | + | $ cpt b libelf && cpt i libelf | + | | + +--------------------------------------------------------------------------+ + | | + | In order to configure the kernel with a user interface, you will need | + | ncurses to be installed on your system. | + | | + | $ cpt b ncurses && cpt i ncurses | + | | + +--------------------------------------------------------------------------+ + +In the vanilla kernel sources, you need perl to compile the kernel, but it can +be easily patched out. You will need to apply the following patch. Patch was +written by E5ten[4]. + + +--------------------------------------------------------------------------+ + | | + | Obtain the patch by downloading it. | + | | + | $ wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch | + | | + | Apply the patch. | + | | + | $ patch -p1 < kernel-no-perl.patch | + | | + +--------------------------------------------------------------------------+ + + +[4.3] Compiling the kernel +-------------------------------------------------------------------------------- + +Next step is configuring and building the kernel. You can check Gentoo's kernel +configuration guide[5] to learn more about the matter. Overall, Gentoo Wiki is a +good place to learn about configuration according to your hardware. + + +--------------------------------------------------------------------------+ + | Configure and build the kernel | + +--------------------------------------------------------------------------+ + | | + | $ make menuconfig | + | $ make | + | | + +--------------------------------------------------------------------------+ + | Install the kernel | + +--------------------------------------------------------------------------+ + | | + | $ install -Dm755 $(make -s image_name) /boot/vmlinuz-linux | + | | + +--------------------------------------------------------------------------+ + + +[5.0] Making your system bootable +-------------------------------------------------------------------------------- + +In order to be able to boot your fresh system, wou will need an init-daemon, +init-scripts and a bootloader. The init daemon is already provided by busybox, +but you can optionally change it. + + +[5.1] Installing a bootloader +-------------------------------------------------------------------------------- + +In the main repository, there is efibootmgr and grub to serve as bootloaders. +efibootmgr can be used as a standalone bootloader, or can be used to install +grub in a UEFI environment. efibootmgr is needed unless you are using a device +without UEFI support (or you really want to use BIOS for a reason). + + +--------------------------------------------------------------------------+ + | GRUB BIOS installation | + +--------------------------------------------------------------------------+ + | | + | $ cpt b grub && cpt i grub | + | $ grub-install --target=i386-pc /dev/sdX | + | $ grub-mkconfig -o /boot/grub/grub.cfg | + | | + +--------------------------------------------------------------------------+ + | GRUB UEFI installation | + +--------------------------------------------------------------------------+ + | | + | $ cpt b efibootmgr && cpt i efibootmgr | + | $ cpt b grub && cpt i grub | + | | + | $ grub-install --target=x86_64-efi \ | + | --efi-directory=esp \ | + | --bootloader-id=CarbsLinux | + | | + | $ grub-mkconfig -o /boot/grub/grub.cfg | + | | + +--------------------------------------------------------------------------+ + + +[5.2] Installing init scripts +-------------------------------------------------------------------------------- + +Only thing left to do is installing the init-scripts, and now you are ready to +boot your system! + + +--------------------------------------------------------------------------+ + | | + | $ cpt b carbs-init && cpt i carbs-init | + | | + +--------------------------------------------------------------------------+ + + +[6.0] Post-installation +-------------------------------------------------------------------------------- + +The base installation is now complete, you can now fine tune your system +according to your needs. Rest of these instructions are completely optional. + + +[6.1] Acquiring kiss repositories +-------------------------------------------------------------------------------- + +Most kiss repositories can only be obtained through git, but it isn't installed +by default. You'll need to install it: + + +--------------------------------------------------------------------------+ + | | + | $ cpt b git && cpt i git | + | | + +--------------------------------------------------------------------------+ + + +After installing git, you can clone a repository, and add it to your path: + + +--------------------------------------------------------------------------+ + | KISS Community Repository | + +--------------------------------------------------------------------------+ + | | + | $ git clone https://github.com/kisslinux/community | + | $ export CPT_PATH=$CPT_PATH:$PWD/community/community | + | | + | NOTE: There are lots of packages on the KISS community repository that | + | are also on Carbs Linux main repository. I would advise giving | + | lower priority to the KISS community repository as it may affect | + | other packages that you might install. | + | | + +--------------------------------------------------------------------------+ + + +You can also lookup other repositories on GitHub, by searching the 'cpt-repo' +tag, or looking it up on the KISS Wiki page for repositories[6]. + + +Footnotes +-------------------------------------------------------------------------------- +[1]: https://wiki.archlinux.org/index.php/Partitioning +[2]: busybox also provides udhcpc which can be used to configure dynamic IP +[3]: https://github.com/cemkeylan/kiss-repository/tree/master/personal/linux +[4]: https://github.com/E5ten +[5]: https://wiki.gentoo.org/wiki/Kernel/Configuration +[6]: https://k1ss.org/wiki/community/repositories diff --git a/docs/index.html b/docs/index.html index 2639ee6..44a4192 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,29 +1,31 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>index | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>index | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> <p>Carbs Linux is an in-development Linux® distribution with a suckless mindset. The base system consists of only the necessary programs to create a Linux distribution.</p> <h2>Package Manager</h2> -<p>Carbs Linux uses its own fork of the <a href="https://github.com/CarbsLinux/kiss">kiss package manager</a> which is an -extremely flexible package manager.</p> +<p>Carbs Linux uses its own package manager <a href="https://github.com/CarbsLinux/cpt">Carbs Packaging Tools</a>, a POSIX shell +package manager forked from KISS with the tool-based approach of xbps.</p> <h2>Small base</h2> @@ -73,6 +75,13 @@ other system supervision technique along with your own init scripts.</p> <p><a href="/news.xml">RSS Feed</a> | <a href="/news.html">See all news</a></p> +<h2>Jul 27 2020</h2> + +<p>Carbs Linux’s fork of the <code>kiss</code> package manager has been renamed to +<code>Carbs Packaging Tools</code> due to huge amount of changes. Your latest <code>kiss</code> +update will handle the bootstrapping. You will need to rename your <code>KISS-*</code> +variables to <code>CPT-*</code></p> + <h2>Jun 17 2020</h2> <p>A new rootfs tarball including the changes to the core is released and can be @@ -93,15 +102,9 @@ been released. It can be found on the <a href="https://dl.carbslinux.org/release <p>A GCC 10.1.0 change causes a kernel panic for kernels built with GCC 10.1. This issue can be resolved by applying this <a href="https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=f670269a42bfdd2c83a1118cc3d1b475547eac22">patch</a> to your kernel sources.</p> - -<h2>Apr 27 2020</h2> - -<p>A new rootfs tarball has been released! You can -see it on <a href="https://dl.carbslinux.org/releases">https://dl.carbslinux.org/releases</a>!</p> - -<p><strong>EDIT:</strong> A new bug fix release has been made.</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> + <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 index 6635bc7..46ae09e 100644 --- a/docs/index.txt +++ b/docs/index.txt @@ -5,8 +5,8 @@ distribution. Package Manager -------------------------------------------------------------------------------- -Carbs Linux uses its own fork of the [kiss package manager] which is an -extremely flexible package manager. +Carbs Linux uses its own package manager [Carbs Packaging Tools], a POSIX shell +package manager forked from KISS with the tool-based approach of xbps. Small base @@ -43,7 +43,7 @@ other system supervision technique along with your own init scripts. [carbs-init]: https://github.com/CarbsLinux/repository/tree/master/core/carbs-init -[kiss package manager]: https://github.com/CarbsLinux/kiss +[Carbs Packaging Tools]: https://github.com/CarbsLinux/cpt Links -------------------------------------------------------------------------------- @@ -60,6 +60,14 @@ News [RSS Feed](/news.xml) | [See all news](/news.html) +Jul 27 2020 +-------------------------------------------------------------------------------- + +Carbs Linux's fork of the `kiss` package manager has been renamed to +`Carbs Packaging Tools` due to huge amount of changes. Your latest `kiss` +update will handle the bootstrapping. You will need to rename your `KISS-*` +variables to `CPT-*` + Jun 17 2020 -------------------------------------------------------------------------------- @@ -90,11 +98,3 @@ with GCC 10.1. This issue can be resolved by applying this [patch] to your kernel sources. [patch]: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=f670269a42bfdd2c83a1118cc3d1b475547eac22 - -Apr 27 2020 --------------------------------------------------------------------------------- - -A new rootfs tarball has been released! You can -see it on <https://dl.carbslinux.org/releases>! - -**EDIT:** A new bug fix release has been made. diff --git a/docs/mailing-lists.html b/docs/mailing-lists.html index c74f9ae..d1e04f9 100644 --- a/docs/mailing-lists.html +++ b/docs/mailing-lists.html @@ -1,21 +1,23 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>Mailing Lists | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>Mailing Lists | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> <h1>Mailing Lists</h1> <p>We have mailing lists set up at <a href="https://sr.ht">sourcehut</a>. You can subscribe to the mailing @@ -25,8 +27,9 @@ list by sending an empty mail to</p> </code></pre> <p>You can also see the <a href="https://lists.sr.ht/~carbslinux/dev">archives</a>.</p> -<a href="/mailing-lists.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> + <a href="/mailing-lists.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/news.html b/docs/news.html index 9ad57c9..5f182df 100644 --- a/docs/news.html +++ b/docs/news.html @@ -1,21 +1,30 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>news | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>Jul 27 2020 | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> +<h2>Jul 27 2020</h2> + +<p>Carbs Linux’s fork of the <code>kiss</code> package manager has been renamed to +<code>Carbs Packaging Tools</code> due to huge amount of changes. Your latest <code>kiss</code> +update will handle the bootstrapping. You will need to rename your <code>KISS-*</code> +variables to <code>CPT-*</code></p> + <h2>Jun 17 2020</h2> <p>A new rootfs tarball including the changes to the core is released and can be @@ -218,8 +227,9 @@ This is for adding standalone runit/runit-init to the repositories.</p> <h2>Dec 10 2019</h2> <p>First alpha release was made. See the <a href="//dl.carbslinux.org/releases">downloads page</a>.</p> -<a href="/news.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> + <a href="/news.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/news.txt b/docs/news.txt index 91b1ce8..f297a81 100644 --- a/docs/news.txt +++ b/docs/news.txt @@ -1,3 +1,10 @@ +Jul 27 2020 +-------------------------------------------------------------------------------- + +Carbs Linux's fork of the `kiss` package manager has been renamed to +`Carbs Packaging Tools` due to huge amount of changes. Your latest `kiss` +update will handle the bootstrapping. You will need to rename your `KISS-*` +variables to `CPT-*` Jun 17 2020 -------------------------------------------------------------------------------- diff --git a/docs/news.xml b/docs/news.xml index 4ca82dd..f16599b 100644 --- a/docs/news.xml +++ b/docs/news.xml @@ -4,12 +4,24 @@ 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>Jun Sat 2020 20:00</lastBuildDate> + <channel> + <title>Carbs Linux</title> + <description>a simple linux distribution</description> + <link>https://carbslinux.org</link> + <atom:link href="https://carbslinux.org/news.xml" rel="self" type="application/rss+xml" /> + <lastBuildDate>Sun Jul 26 2020 22:00</lastBuildDate> +<item> +<title>Jul 27 2020</title> +<pubDate>Mon, 27 Jul 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><h2>Jul 27 2020</h2> + +<p>Carbs Linux&rsquo;s fork of the <code>kiss</code> package manager has been renamed to +<code>Carbs Packaging Tools</code> due to huge amount of changes. Your latest <code>kiss</code> +update will handle the bootstrapping. You will need to rename your <code>KISS-*</code> +variables to <code>CPT-*</code></p></description> +</item> <item> <title>Jun 17 2020</title> <pubDate>Wed, 17 Jun 2020</pubDate> @@ -322,5 +334,5 @@ This is for adding standalone runit/runit-init to the repositories.</p></d <p>First alpha release was made. See the <a href="//dl.carbslinux.org/releases">downloads page</a>.</p></description> </item> -</channel> + </channel> </rss> diff --git a/docs/people.html b/docs/people.html index dac1b57..3195e2b 100644 --- a/docs/people.html +++ b/docs/people.html @@ -1,29 +1,32 @@ <!DOCTYPE HTML> -<html lan="en"> -<head> -<title>People | Carbs Linux</title> -<link rel="stylesheet" href="/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> +<html lan=en> + <head> + <title>People | Carbs Linux</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/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> + <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/rss.xml b/docs/rss.xml index 5788d02..e10b7b5 100644 --- a/docs/rss.xml +++ b/docs/rss.xml @@ -4,12 +4,12 @@ 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>Jun Sat 2020 20:00</lastBuildDate> + <channel> + <title>Carbs Linux</title> + <description>a simple linux distribution</description> + <link>https://carbslinux.org</link> + <atom:link href="https://carbslinux.org/rss.xml" rel="self" type="application/rss+xml" /> + <lastBuildDate>Sun Jul 26 2020 22:00</lastBuildDate> <item> <title>June Newspost</title> <pubDate>Wed, 17 Jun 2020</pubDate> @@ -388,5 +388,5 @@ 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> + </channel> </rss> diff --git a/index/20191210.news b/index/20191210.news index ffd9237..e8041d9 100644 --- a/index/20191210.news +++ b/index/20191210.news @@ -1,2 +1,5 @@ +Dec 10 2019 +-------------------------------------------------------------------------------- + First alpha release was made. See the [downloads page](//dl.carbslinux.org/releases). diff --git a/index/20191212.news b/index/20191212.news index 2cecad7..fedcd24 100644 --- a/index/20191212.news +++ b/index/20191212.news @@ -1,3 +1,6 @@ +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. diff --git a/index/20191215.news b/index/20191215.news index 774383c..c22fbd1 100644 --- a/index/20191215.news +++ b/index/20191215.news @@ -1,3 +1,6 @@ +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. diff --git a/index/20191217.news b/index/20191217.news index d81e3ea..1fbb081 100644 --- a/index/20191217.news +++ b/index/20191217.news @@ -1,2 +1,5 @@ +Dec 17 2019 +-------------------------------------------------------------------------------- + Installation instruction are now complete. A review would be greatly appreciated! diff --git a/index/20191218.news b/index/20191218.news index 9216ec0..35f1023 100644 --- a/index/20191218.news +++ b/index/20191218.news @@ -1,2 +1,5 @@ +Dec 18 2019 +-------------------------------------------------------------------------------- + carbs-rootfs-20191218.tar.xz was [released](//dl.carbslinux.org/releases) diff --git a/index/20200109.news b/index/20200109.news index 12873c5..7621360 100644 --- a/index/20200109.news +++ b/index/20200109.news @@ -1,3 +1,6 @@ +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. diff --git a/index/20200110.news b/index/20200110.news index bdf0afd..8deacbc 100644 --- a/index/20200110.news +++ b/index/20200110.news @@ -1,2 +1,5 @@ +Jan 10 2020 +-------------------------------------------------------------------------------- + carbs-rootfs-20200110.tar.xz was [released](//dl.carbslinux.org/releases) diff --git a/index/20200113.news b/index/20200113.news index b9139a0..f9c467e 100644 --- a/index/20200113.news +++ b/index/20200113.news @@ -1,3 +1,6 @@ +Jan 13 2020 +-------------------------------------------------------------------------------- + **Busybox update reqires manual intervention** The new busybox package conflicts with the pre-update busybox-init. That's why diff --git a/index/20200115.news b/index/20200115.news index a49aade..dd21908 100644 --- a/index/20200115.news +++ b/index/20200115.news @@ -1,2 +1,5 @@ +Jan 15 2020 +-------------------------------------------------------------------------------- + sinit has been taken to `core`, and is now officially supported diff --git a/index/20200122.news b/index/20200122.news index 76af4d2..f1d7fd3 100644 --- a/index/20200122.news +++ b/index/20200122.news @@ -1,3 +1,6 @@ +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! diff --git a/index/20200128.news b/index/20200128.news index 6589b86..45b373c 100644 --- a/index/20200128.news +++ b/index/20200128.news @@ -1,3 +1,6 @@ +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. diff --git a/index/20200213.news b/index/20200213.news index 13144cd..e901f36 100644 --- a/index/20200213.news +++ b/index/20200213.news @@ -1,3 +1,6 @@ +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 diff --git a/index/20200214.news b/index/20200214.news index 0926126..9fda471 100644 --- a/index/20200214.news +++ b/index/20200214.news @@ -1,3 +1,6 @@ +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 diff --git a/index/20200218.news b/index/20200218.news index 31bc8b3..c6c7d83 100644 --- a/index/20200218.news +++ b/index/20200218.news @@ -1,3 +1,6 @@ +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. diff --git a/index/20200405.news b/index/20200405.news index a51cb6c..d7c52f2 100644 --- a/index/20200405.news +++ b/index/20200405.news @@ -1,3 +1,6 @@ +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>. diff --git a/index/20200406.news b/index/20200406.news index 718c29c..6ce25e8 100644 --- a/index/20200406.news +++ b/index/20200406.news @@ -1,2 +1,5 @@ +Apr 06 2020 +-------------------------------------------------------------------------------- + A new rootfs tarball has been released. See the [downloads](https://dl.carbslinux.org) page diff --git a/index/20200410.news b/index/20200410.news index 3ba8431..9627c7d 100644 --- a/index/20200410.news +++ b/index/20200410.news @@ -1 +1,4 @@ +Apr 10 2020 +-------------------------------------------------------------------------------- + IRC channel can now be accessed from `#carbslinux` at freenode! diff --git a/index/20200427.news b/index/20200427.news index b397afc..a0960ac 100644 --- a/index/20200427.news +++ b/index/20200427.news @@ -1,3 +1,6 @@ +Apr 27 2020 +-------------------------------------------------------------------------------- + A new rootfs tarball has been released! You can see it on <https://dl.carbslinux.org/releases>! diff --git a/index/20200510.news b/index/20200510.news index 8c47fa2..efee43f 100644 --- a/index/20200510.news +++ b/index/20200510.news @@ -1,3 +1,6 @@ +May 10 2020 +-------------------------------------------------------------------------------- + A GCC 10.1.0 change causes a kernel panic for kernels built with GCC 10.1. This issue can be resolved by applying this [patch] to your kernel sources. diff --git a/index/20200519.news b/index/20200519.news index d5084ea..878bf97 100644 --- a/index/20200519.news +++ b/index/20200519.news @@ -1,3 +1,6 @@ +May 19 2020 +-------------------------------------------------------------------------------- + A rootfs tarball targeting the i686 architecture has been released. It can be found on the [downloads page] diff --git a/index/20200526.news b/index/20200526.news index 77fba11..a8e97ce 100644 --- a/index/20200526.news +++ b/index/20200526.news @@ -1,3 +1,6 @@ +May 26 2020 +-------------------------------------------------------------------------------- + An initial version for binary package management is released. It can be found on the [GitHub page]. diff --git a/index/20200617.news b/index/20200617.news index 8b855fd..07b290f 100644 --- a/index/20200617.news +++ b/index/20200617.news @@ -1,2 +1,5 @@ +Jun 17 2020 +-------------------------------------------------------------------------------- + A new rootfs tarball including the changes to the core is released and can be found on the downloads page. diff --git a/index/20200727.news b/index/20200727.news new file mode 100644 index 0000000..d75846d --- /dev/null +++ b/index/20200727.news @@ -0,0 +1,7 @@ +Jul 27 2020 +-------------------------------------------------------------------------------- + +Carbs Linux's fork of the `kiss` package manager has been renamed to +`Carbs Packaging Tools` due to huge amount of changes. Your latest `kiss` +update will handle the bootstrapping. You will need to rename your `KISS-*` +variables to `CPT-*` diff --git a/index/index.md b/index/index.md index aeb85fe..5b8310e 100644 --- a/index/index.md +++ b/index/index.md @@ -5,8 +5,8 @@ distribution. Package Manager -------------------------------------------------------------------------------- -Carbs Linux uses its own fork of the [kiss package manager] which is an -extremely flexible package manager. +Carbs Linux uses its own package manager [Carbs Packaging Tools], a POSIX shell +package manager forked from KISS with the tool-based approach of xbps. Small base @@ -43,7 +43,7 @@ other system supervision technique along with your own init scripts. [carbs-init]: https://github.com/CarbsLinux/repository/tree/master/core/carbs-init -[kiss package manager]: https://github.com/CarbsLinux/kiss +[Carbs Packaging Tools]: https://github.com/CarbsLinux/cpt Links -------------------------------------------------------------------------------- diff --git a/pull-wiki b/pull-wiki deleted file mode 100755 index cb27840..0000000 --- a/pull-wiki +++ /dev/null @@ -1,8 +0,0 @@ -#!/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/ -./build -rm -rf "$TEMP" diff --git a/src/docs b/src/docs new file mode 160000 +Subproject 8b98d178edefd2981e06e72ead837a3c290b4b1 diff --git a/src/index.md b/src/index.md index 6635bc7..46ae09e 100644 --- a/src/index.md +++ b/src/index.md @@ -5,8 +5,8 @@ distribution. Package Manager -------------------------------------------------------------------------------- -Carbs Linux uses its own fork of the [kiss package manager] which is an -extremely flexible package manager. +Carbs Linux uses its own package manager [Carbs Packaging Tools], a POSIX shell +package manager forked from KISS with the tool-based approach of xbps. Small base @@ -43,7 +43,7 @@ other system supervision technique along with your own init scripts. [carbs-init]: https://github.com/CarbsLinux/repository/tree/master/core/carbs-init -[kiss package manager]: https://github.com/CarbsLinux/kiss +[Carbs Packaging Tools]: https://github.com/CarbsLinux/cpt Links -------------------------------------------------------------------------------- @@ -60,6 +60,14 @@ News [RSS Feed](/news.xml) | [See all news](/news.html) +Jul 27 2020 +-------------------------------------------------------------------------------- + +Carbs Linux's fork of the `kiss` package manager has been renamed to +`Carbs Packaging Tools` due to huge amount of changes. Your latest `kiss` +update will handle the bootstrapping. You will need to rename your `KISS-*` +variables to `CPT-*` + Jun 17 2020 -------------------------------------------------------------------------------- @@ -90,11 +98,3 @@ with GCC 10.1. This issue can be resolved by applying this [patch] to your kernel sources. [patch]: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=f670269a42bfdd2c83a1118cc3d1b475547eac22 - -Apr 27 2020 --------------------------------------------------------------------------------- - -A new rootfs tarball has been released! You can -see it on <https://dl.carbslinux.org/releases>! - -**EDIT:** A new bug fix release has been made. diff --git a/src/news.md b/src/news.md index 91b1ce8..f297a81 100644 --- a/src/news.md +++ b/src/news.md @@ -1,3 +1,10 @@ +Jul 27 2020 +-------------------------------------------------------------------------------- + +Carbs Linux's fork of the `kiss` package manager has been renamed to +`Carbs Packaging Tools` due to huge amount of changes. Your latest `kiss` +update will handle the bootstrapping. You will need to rename your `KISS-*` +variables to `CPT-*` Jun 17 2020 -------------------------------------------------------------------------------- diff --git a/src/news.xml b/src/news.xml index 4ca82dd..f16599b 100644 --- a/src/news.xml +++ b/src/news.xml @@ -4,12 +4,24 @@ 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>Jun Sat 2020 20:00</lastBuildDate> + <channel> + <title>Carbs Linux</title> + <description>a simple linux distribution</description> + <link>https://carbslinux.org</link> + <atom:link href="https://carbslinux.org/news.xml" rel="self" type="application/rss+xml" /> + <lastBuildDate>Sun Jul 26 2020 22:00</lastBuildDate> +<item> +<title>Jul 27 2020</title> +<pubDate>Mon, 27 Jul 2020</pubDate> +<dc:creator>Cem Keylan</dc:creator> +<link>https://carbslinux.org/index.html</link> +<description><h2>Jul 27 2020</h2> + +<p>Carbs Linux&rsquo;s fork of the <code>kiss</code> package manager has been renamed to +<code>Carbs Packaging Tools</code> due to huge amount of changes. Your latest <code>kiss</code> +update will handle the bootstrapping. You will need to rename your <code>KISS-*</code> +variables to <code>CPT-*</code></p></description> +</item> <item> <title>Jun 17 2020</title> <pubDate>Wed, 17 Jun 2020</pubDate> @@ -322,5 +334,5 @@ This is for adding standalone runit/runit-init to the repositories.</p></d <p>First alpha release was made. See the <a href="//dl.carbslinux.org/releases">downloads page</a>.</p></description> </item> -</channel> + </channel> </rss> diff --git a/src/rss.xml b/src/rss.xml index 5788d02..e10b7b5 100644 --- a/src/rss.xml +++ b/src/rss.xml @@ -4,12 +4,12 @@ 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>Jun Sat 2020 20:00</lastBuildDate> + <channel> + <title>Carbs Linux</title> + <description>a simple linux distribution</description> + <link>https://carbslinux.org</link> + <atom:link href="https://carbslinux.org/rss.xml" rel="self" type="application/rss+xml" /> + <lastBuildDate>Sun Jul 26 2020 22:00</lastBuildDate> <item> <title>June Newspost</title> <pubDate>Wed, 17 Jun 2020</pubDate> @@ -388,5 +388,5 @@ 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> + </channel> </rss> diff --git a/templates/blog-index b/templates/blog-index new file mode 100644 index 0000000..b00877c --- /dev/null +++ b/templates/blog-index @@ -0,0 +1,8 @@ +Blog Index +================================================================================ + +This is the Carbs Linux Blog Index. You can find every post here. [RSS Feed] + +[RSS Feed]: /rss.xml + + diff --git a/templates/rss.xml b/templates/rss.xml new file mode 100644 index 0000000..cb45b89 --- /dev/null +++ b/templates/rss.xml @@ -0,0 +1,15 @@ +<?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 linux distribution</description> + <link>https://carbslinux.org</link> + <atom:link href="https://carbslinux.org/{{ SRC }}" rel="self" type="application/rss+xml" /> + <lastBuildDate>{{ DATE }}</lastBuildDate> + {{ CONTENT }} + </channel> +</rss> diff --git a/templates/template.html b/templates/template.html new file mode 100644 index 0000000..f6c753c --- /dev/null +++ b/templates/template.html @@ -0,0 +1,27 @@ +<!DOCTYPE HTML> +<html lan=en> + <head> + <title>{{ TITLE }}</title> + <link rel="stylesheet" href="/style.css"> + <meta charset="utf-8"> + <meta name="Description" content="Carbs Linux - a simple linux distribution"> + <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> + </head> + <body> + <p class=header><strong>Carbs Linux - a simple 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='/docs/install.html'>installation</a> + </nav> + </div><div class="border"></div> + {{ CONTENT }} + <a href="{{ SRC }}">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> |