From e7999a032bd888abf3665c501a754dbb922fe7c9 Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Tue, 2 Feb 2021 03:39:56 +0300 Subject: Switch to org-mode for generating the website --- .gitignore | 1 + .gitmodules | 3 + Makefile | 29 + blog/20200128.org | 16 + blog/20200406.org | 58 + blog/20200410.org | 21 + blog/20200508.org | 98 ++ blog/20200528.org | 37 + blog/20200617.org | 67 + blog/20200803.org | 62 + blog/20201210.org | 22 + blog/index.org | 11 + blog/rss.org | 463 +++++ build | 138 -- docs/404.html | 30 - docs/404.txt | 3 - docs/blog/20200128.html | 98 +- docs/blog/20200128.txt | 21 - docs/blog/20200406.html | 217 ++- docs/blog/20200406.txt | 84 - docs/blog/20200410.html | 106 +- docs/blog/20200410.txt | 24 - docs/blog/20200508.html | 328 ++-- docs/blog/20200508.txt | 141 -- docs/blog/20200528.html | 145 +- docs/blog/20200528.txt | 51 - docs/blog/20200617.html | 178 +- docs/blog/20200617.txt | 74 - docs/blog/20200803.html | 186 +- docs/blog/20200803.txt | 77 - docs/blog/20201210.html | 85 +- docs/blog/20201210.txt | 21 - docs/blog/index.html | 89 +- docs/blog/index.txt | 16 - docs/contributing.html | 38 - docs/contributing.txt | 9 - docs/docs.html | 180 +- docs/docs.txt | 105 +- docs/docs/0010.html | 49 - docs/docs/0011.html | 49 - docs/docs/0012.html | 49 - docs/docs/0013.html | 49 - docs/docs/1010.html | 49 - docs/docs/1020.html | 49 - docs/docs/1030.html | 49 - docs/docs/1040.html | 49 - docs/docs/1041.html | 49 - docs/docs/1042.html | 49 - docs/docs/1043.html | 49 - docs/docs/1050.html | 49 - docs/docs/2010.html | 49 - docs/docs/2020.html | 49 - docs/docs/2030.html | 49 - docs/docs/2040.html | 49 - docs/docs/2050.html | 49 - docs/docs/2210.html | 49 - docs/docs/2211.html | 49 - docs/docs/2212.html | 49 - docs/docs/2220.html | 49 - docs/docs/2230.html | 49 - docs/docs/2240.html | 49 - docs/docs/2241.html | 49 - ...How-to-use-this-License-for-your-documents.html | 49 - docs/docs/Bootloader.html | 91 - docs/docs/Building-the-kernel.html | 72 - docs/docs/Changing-Init-Program.html | 86 - docs/docs/Chroot.html | 80 - docs/docs/Configuring-Init.html | 78 - docs/docs/Configuring-hostname.html | 68 - docs/docs/Contribution-Guidelines.html | 70 - docs/docs/Conventions.html | 96 -- docs/docs/Download.html | 71 - docs/docs/Essential-Software.html | 120 -- docs/docs/Extracting-the-tarball.html | 70 - docs/docs/Fstab.html | 70 - docs/docs/GNU-Free-Documentation-License.html | 549 ------ docs/docs/Hosts-file.html | 70 - docs/docs/Init-Hooks.html | 85 - docs/docs/Init-System.html | 73 - docs/docs/Init-scripts.html | 68 - docs/docs/Installation.html | 84 - docs/docs/Installing-packages.html | 71 - docs/docs/KISS-repositories.html | 65 - docs/docs/Kernel-Command-Line.html | 83 - docs/docs/Kernel-dependencies.html | 81 - docs/docs/Kernel.html | 74 - docs/docs/Making-your-system-bootable.html | 74 - docs/docs/Obtain-the-chroot-helper.html | 69 - docs/docs/Obtaining-the-documentation.html | 77 - docs/docs/Obtaining-the-kernel-sources.html | 74 - docs/docs/Post_002dinstallation.html | 70 - docs/docs/Preparing-Environment.html | 88 - docs/docs/Rebooting-after-changing-init.html | 73 - docs/docs/Repository-Conventions.html | 219 --- docs/docs/Setting-up-repositories.html | 117 -- docs/docs/Shell-Conventions.html | 104 -- docs/docs/Signature-verification.html | 70 - docs/docs/System-Configuration.html | 71 - docs/docs/Updating-packages.html | 69 - docs/docs/_002fetc_002finit_002frcconf-file.html | 66 - docs/docs/carbslinux.html | 1786 ++++++++++++++++++++ docs/docs/carbslinux.txt | 1356 +++++++++++++++ docs/docs/carbslinux/0010.html | 50 + docs/docs/carbslinux/0011.html | 50 + docs/docs/carbslinux/0012.html | 50 + docs/docs/carbslinux/0013.html | 50 + docs/docs/carbslinux/1010.html | 50 + docs/docs/carbslinux/1020.html | 50 + docs/docs/carbslinux/1030.html | 50 + docs/docs/carbslinux/1040.html | 50 + docs/docs/carbslinux/1041.html | 50 + docs/docs/carbslinux/1042.html | 50 + docs/docs/carbslinux/1043.html | 50 + docs/docs/carbslinux/1050.html | 50 + docs/docs/carbslinux/2010.html | 50 + docs/docs/carbslinux/2020.html | 50 + docs/docs/carbslinux/2030.html | 50 + docs/docs/carbslinux/2040.html | 50 + docs/docs/carbslinux/2050.html | 50 + docs/docs/carbslinux/2210.html | 50 + docs/docs/carbslinux/2211.html | 50 + docs/docs/carbslinux/2212.html | 50 + docs/docs/carbslinux/2220.html | 50 + docs/docs/carbslinux/2230.html | 50 + docs/docs/carbslinux/2240.html | 50 + docs/docs/carbslinux/2241.html | 50 + ...How-to-use-this-License-for-your-documents.html | 50 + docs/docs/carbslinux/Bootloader.html | 92 + docs/docs/carbslinux/Building-the-kernel.html | 73 + docs/docs/carbslinux/Changing-Init-Program.html | 87 + docs/docs/carbslinux/Chroot.html | 81 + docs/docs/carbslinux/Configuring-Init.html | 79 + docs/docs/carbslinux/Configuring-hostname.html | 69 + docs/docs/carbslinux/Contribution-Guidelines.html | 71 + docs/docs/carbslinux/Conventions.html | 97 ++ docs/docs/carbslinux/Download.html | 72 + docs/docs/carbslinux/Essential-Software.html | 121 ++ docs/docs/carbslinux/Extracting-the-tarball.html | 71 + docs/docs/carbslinux/Fstab.html | 71 + .../carbslinux/GNU-Free-Documentation-License.html | 550 ++++++ docs/docs/carbslinux/Hosts-file.html | 71 + docs/docs/carbslinux/Init-Hooks.html | 86 + docs/docs/carbslinux/Init-System.html | 74 + docs/docs/carbslinux/Init-scripts.html | 69 + docs/docs/carbslinux/Installation.html | 85 + docs/docs/carbslinux/Installing-packages.html | 72 + docs/docs/carbslinux/KISS-repositories.html | 66 + docs/docs/carbslinux/Kernel-Command-Line.html | 84 + docs/docs/carbslinux/Kernel-dependencies.html | 82 + docs/docs/carbslinux/Kernel.html | 75 + .../carbslinux/Making-your-system-bootable.html | 75 + docs/docs/carbslinux/Obtain-the-chroot-helper.html | 70 + .../carbslinux/Obtaining-the-documentation.html | 78 + .../carbslinux/Obtaining-the-kernel-sources.html | 75 + docs/docs/carbslinux/Post_002dinstallation.html | 71 + docs/docs/carbslinux/Preparing-Environment.html | 89 + .../carbslinux/Rebooting-after-changing-init.html | 74 + docs/docs/carbslinux/Repository-Conventions.html | 220 +++ docs/docs/carbslinux/Setting-up-repositories.html | 118 ++ docs/docs/carbslinux/Shell-Conventions.html | 105 ++ docs/docs/carbslinux/Signature-verification.html | 71 + docs/docs/carbslinux/System-Configuration.html | 72 + docs/docs/carbslinux/Updating-packages.html | 70 + .../_002fetc_002finit_002frcconf-file.html | 67 + docs/docs/carbslinux/index.html | 283 ++++ docs/docs/index.html | 282 ---- docs/docs/install.html | 822 --------- docs/docs/install.txt | 485 ------ docs/download.html | 64 + docs/download.txt | 46 + docs/index.html | 247 ++- docs/index.txt | 158 +- docs/install.html | 662 ++++++++ docs/install.txt | 479 ++++++ docs/mailing-lists.html | 78 +- docs/mailing-lists.txt | 21 +- docs/news.html | 248 --- docs/news.txt | 259 --- docs/news.xml | 634 +++---- docs/news/20191210.html | 42 + docs/news/20191210.txt | 13 + docs/news/20191212.html | 43 + docs/news/20191212.txt | 11 + docs/news/20191217.html | 42 + docs/news/20191217.txt | 11 + docs/news/20191218.html | 42 + docs/news/20191218.txt | 10 + docs/news/20200109.html | 55 + docs/news/20200109.txt | 26 + docs/news/20200110.html | 42 + docs/news/20200110.txt | 10 + docs/news/20200113.html | 66 + docs/news/20200113.txt | 30 + docs/news/20200115.html | 42 + docs/news/20200115.txt | 10 + docs/news/20200122.html | 43 + docs/news/20200122.txt | 11 + docs/news/20200128.html | 51 + docs/news/20200128.txt | 16 + docs/news/20200213.html | 44 + docs/news/20200213.txt | 13 + docs/news/20200214.html | 92 + docs/news/20200214.txt | 55 + docs/news/20200218.html | 52 + docs/news/20200218.txt | 17 + docs/news/20200405.html | 55 + docs/news/20200405.txt | 21 + docs/news/20200406.html | 42 + docs/news/20200406.txt | 10 + docs/news/20200410.html | 42 + docs/news/20200410.txt | 10 + docs/news/20200427.html | 47 + docs/news/20200427.txt | 13 + docs/news/20200510.html | 47 + docs/news/20200510.txt | 18 + docs/news/20200519.html | 43 + docs/news/20200519.txt | 11 + docs/news/20200526.html | 43 + docs/news/20200526.txt | 14 + docs/news/20200617.html | 43 + docs/news/20200617.txt | 11 + docs/news/20200727.html | 45 + docs/news/20200727.txt | 13 + docs/news/20200903.html | 44 + docs/news/20200903.txt | 12 + docs/news/20200916.html | 44 + docs/news/20200916.txt | 12 + docs/news/index.html | 237 +++ docs/news/index.txt | 209 +++ docs/people.html | 73 +- docs/people.txt | 6 +- docs/rss.xml | 1122 ++++++------ docs/style.css | 346 ++-- elisp/no-littering.el | 454 +++++ index/20191210.news | 5 - index/20191212.news | 6 - index/20191215.news | 8 - index/20191217.news | 5 - index/20191218.news | 5 - index/20200109.news | 14 - index/20200110.news | 5 - index/20200113.news | 19 - index/20200115.news | 5 - index/20200122.news | 6 - index/20200128.news | 11 - index/20200213.news | 7 - index/20200214.news | 52 - index/20200218.news | 11 - index/20200405.news | 14 - index/20200406.news | 5 - index/20200410.news | 4 - index/20200427.news | 7 - index/20200510.news | 8 - index/20200519.news | 7 - index/20200526.news | 7 - index/20200617.news | 5 - index/20200727.news | 7 - index/20200903.news | 6 - index/20200916.news | 6 - index/index.md | 61 - news/20191210.org | 4 + news/20191212.org | 6 + news/20191217.org | 5 + news/20191218.org | 4 + news/20200109.org | 13 + news/20200110.org | 4 + news/20200113.org | 23 + news/20200115.org | 4 + news/20200122.org | 5 + news/20200128.org | 10 + news/20200213.org | 6 + news/20200214.org | 50 + news/20200218.org | 10 + news/20200405.org | 14 + news/20200406.org | 4 + news/20200410.org | 4 + news/20200427.org | 7 + news/20200510.org | 7 + news/20200519.org | 5 + news/20200526.org | 5 + news/20200617.org | 5 + news/20200727.org | 7 + news/20200903.org | 6 + news/20200916.org | 6 + news/index.org | 107 ++ news/latest-news.org | 19 + news/news.org | 172 ++ org-publish.el | 303 ++++ src/404.md | 3 - src/blog/20200128.md | 21 - src/blog/20200406.md | 84 - src/blog/20200410.md | 24 - src/blog/20200508.md | 141 -- src/blog/20200528.md | 51 - src/blog/20200617.md | 74 - src/blog/20200803.md | 77 - src/blog/20201210.md | 21 - src/blog/index.md | 16 - src/contributing.md | 9 - src/docs.md | 15 - src/docs.org | 60 + src/docs/0010.html | 49 - src/docs/0011.html | 49 - src/docs/0012.html | 49 - src/docs/0013.html | 49 - src/docs/1010.html | 49 - src/docs/1020.html | 49 - src/docs/1030.html | 49 - src/docs/1040.html | 49 - src/docs/1041.html | 49 - src/docs/1042.html | 49 - src/docs/1043.html | 49 - src/docs/1050.html | 49 - src/docs/2010.html | 49 - src/docs/2020.html | 49 - src/docs/2030.html | 49 - src/docs/2040.html | 49 - src/docs/2050.html | 49 - src/docs/2210.html | 49 - src/docs/2211.html | 49 - src/docs/2212.html | 49 - src/docs/2220.html | 49 - src/docs/2230.html | 49 - src/docs/2240.html | 49 - src/docs/2241.html | 49 - ...How-to-use-this-License-for-your-documents.html | 49 - src/docs/Bootloader.html | 91 - src/docs/Building-the-kernel.html | 72 - src/docs/Changing-Init-Program.html | 86 - src/docs/Chroot.html | 80 - src/docs/Configuring-Init.html | 78 - src/docs/Configuring-hostname.html | 68 - src/docs/Contribution-Guidelines.html | 70 - src/docs/Conventions.html | 96 -- src/docs/Download.html | 71 - src/docs/Essential-Software.html | 120 -- src/docs/Extracting-the-tarball.html | 70 - src/docs/Fstab.html | 70 - src/docs/GNU-Free-Documentation-License.html | 549 ------ src/docs/Hosts-file.html | 70 - src/docs/Init-Hooks.html | 85 - src/docs/Init-System.html | 73 - src/docs/Init-scripts.html | 68 - src/docs/Installation.html | 84 - src/docs/Installing-packages.html | 71 - src/docs/KISS-repositories.html | 65 - src/docs/Kernel-Command-Line.html | 83 - src/docs/Kernel-dependencies.html | 81 - src/docs/Kernel.html | 74 - src/docs/Making-your-system-bootable.html | 74 - src/docs/Obtain-the-chroot-helper.html | 69 - src/docs/Obtaining-the-documentation.html | 77 - src/docs/Obtaining-the-kernel-sources.html | 74 - src/docs/Post_002dinstallation.html | 70 - src/docs/Preparing-Environment.html | 88 - src/docs/Rebooting-after-changing-init.html | 73 - src/docs/Repository-Conventions.html | 219 --- src/docs/Setting-up-repositories.html | 117 -- src/docs/Shell-Conventions.html | 104 -- src/docs/Signature-verification.html | 70 - src/docs/System-Configuration.html | 71 - src/docs/Updating-packages.html | 69 - src/docs/_002fetc_002finit_002frcconf-file.html | 66 - src/docs/index.html | 282 ---- src/docs/install.html | 822 --------- src/docs/install.txt | 485 ------ src/download.org | 14 + src/index.md | 97 -- src/index.org | 56 + src/install.org | 4 + src/mailing-lists.md | 12 - src/mailing-lists.org | 6 + src/news.md | 259 --- src/news.xml | 360 ---- src/people.md | 3 - src/people.org | 3 + src/rss.xml | 497 ------ src/style.css | 117 -- style | 1 + templates/blog-index | 8 - templates/blog.org | 3 + templates/postamble.html | 4 + templates/preamble.html | 14 + templates/rss.xml | 15 - templates/template.html | 28 - texidocs | 2 +- 386 files changed, 16357 insertions(+), 17945 deletions(-) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 blog/20200128.org create mode 100644 blog/20200406.org create mode 100644 blog/20200410.org create mode 100644 blog/20200508.org create mode 100644 blog/20200528.org create mode 100644 blog/20200617.org create mode 100644 blog/20200803.org create mode 100644 blog/20201210.org create mode 100644 blog/index.org create mode 100644 blog/rss.org delete mode 100755 build delete mode 100644 docs/404.html delete mode 100644 docs/404.txt delete mode 100644 docs/blog/20200128.txt delete mode 100644 docs/blog/20200406.txt delete mode 100644 docs/blog/20200410.txt delete mode 100644 docs/blog/20200508.txt delete mode 100644 docs/blog/20200528.txt delete mode 100644 docs/blog/20200617.txt delete mode 100644 docs/blog/20200803.txt delete mode 100644 docs/blog/20201210.txt delete mode 100644 docs/blog/index.txt delete mode 100644 docs/contributing.html delete mode 100644 docs/contributing.txt delete mode 100644 docs/docs/0010.html delete mode 100644 docs/docs/0011.html delete mode 100644 docs/docs/0012.html delete mode 100644 docs/docs/0013.html delete mode 100644 docs/docs/1010.html delete mode 100644 docs/docs/1020.html delete mode 100644 docs/docs/1030.html delete mode 100644 docs/docs/1040.html delete mode 100644 docs/docs/1041.html delete mode 100644 docs/docs/1042.html delete mode 100644 docs/docs/1043.html delete mode 100644 docs/docs/1050.html delete mode 100644 docs/docs/2010.html delete mode 100644 docs/docs/2020.html delete mode 100644 docs/docs/2030.html delete mode 100644 docs/docs/2040.html delete mode 100644 docs/docs/2050.html delete mode 100644 docs/docs/2210.html delete mode 100644 docs/docs/2211.html delete mode 100644 docs/docs/2212.html delete mode 100644 docs/docs/2220.html delete mode 100644 docs/docs/2230.html delete mode 100644 docs/docs/2240.html delete mode 100644 docs/docs/2241.html delete mode 100644 docs/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html delete mode 100644 docs/docs/Bootloader.html delete mode 100644 docs/docs/Building-the-kernel.html delete mode 100644 docs/docs/Changing-Init-Program.html delete mode 100644 docs/docs/Chroot.html delete mode 100644 docs/docs/Configuring-Init.html delete mode 100644 docs/docs/Configuring-hostname.html delete mode 100644 docs/docs/Contribution-Guidelines.html delete mode 100644 docs/docs/Conventions.html delete mode 100644 docs/docs/Download.html delete mode 100644 docs/docs/Essential-Software.html delete mode 100644 docs/docs/Extracting-the-tarball.html delete mode 100644 docs/docs/Fstab.html delete mode 100644 docs/docs/GNU-Free-Documentation-License.html delete mode 100644 docs/docs/Hosts-file.html delete mode 100644 docs/docs/Init-Hooks.html delete mode 100644 docs/docs/Init-System.html delete mode 100644 docs/docs/Init-scripts.html delete mode 100644 docs/docs/Installation.html delete mode 100644 docs/docs/Installing-packages.html delete mode 100644 docs/docs/KISS-repositories.html delete mode 100644 docs/docs/Kernel-Command-Line.html delete mode 100644 docs/docs/Kernel-dependencies.html delete mode 100644 docs/docs/Kernel.html delete mode 100644 docs/docs/Making-your-system-bootable.html delete mode 100644 docs/docs/Obtain-the-chroot-helper.html delete mode 100644 docs/docs/Obtaining-the-documentation.html delete mode 100644 docs/docs/Obtaining-the-kernel-sources.html delete mode 100644 docs/docs/Post_002dinstallation.html delete mode 100644 docs/docs/Preparing-Environment.html delete mode 100644 docs/docs/Rebooting-after-changing-init.html delete mode 100644 docs/docs/Repository-Conventions.html delete mode 100644 docs/docs/Setting-up-repositories.html delete mode 100644 docs/docs/Shell-Conventions.html delete mode 100644 docs/docs/Signature-verification.html delete mode 100644 docs/docs/System-Configuration.html delete mode 100644 docs/docs/Updating-packages.html delete mode 100644 docs/docs/_002fetc_002finit_002frcconf-file.html create mode 100644 docs/docs/carbslinux.html create mode 100644 docs/docs/carbslinux.txt create mode 100644 docs/docs/carbslinux/0010.html create mode 100644 docs/docs/carbslinux/0011.html create mode 100644 docs/docs/carbslinux/0012.html create mode 100644 docs/docs/carbslinux/0013.html create mode 100644 docs/docs/carbslinux/1010.html create mode 100644 docs/docs/carbslinux/1020.html create mode 100644 docs/docs/carbslinux/1030.html create mode 100644 docs/docs/carbslinux/1040.html create mode 100644 docs/docs/carbslinux/1041.html create mode 100644 docs/docs/carbslinux/1042.html create mode 100644 docs/docs/carbslinux/1043.html create mode 100644 docs/docs/carbslinux/1050.html create mode 100644 docs/docs/carbslinux/2010.html create mode 100644 docs/docs/carbslinux/2020.html create mode 100644 docs/docs/carbslinux/2030.html create mode 100644 docs/docs/carbslinux/2040.html create mode 100644 docs/docs/carbslinux/2050.html create mode 100644 docs/docs/carbslinux/2210.html create mode 100644 docs/docs/carbslinux/2211.html create mode 100644 docs/docs/carbslinux/2212.html create mode 100644 docs/docs/carbslinux/2220.html create mode 100644 docs/docs/carbslinux/2230.html create mode 100644 docs/docs/carbslinux/2240.html create mode 100644 docs/docs/carbslinux/2241.html create mode 100644 docs/docs/carbslinux/ADDENDUM-How-to-use-this-License-for-your-documents.html create mode 100644 docs/docs/carbslinux/Bootloader.html create mode 100644 docs/docs/carbslinux/Building-the-kernel.html create mode 100644 docs/docs/carbslinux/Changing-Init-Program.html create mode 100644 docs/docs/carbslinux/Chroot.html create mode 100644 docs/docs/carbslinux/Configuring-Init.html create mode 100644 docs/docs/carbslinux/Configuring-hostname.html create mode 100644 docs/docs/carbslinux/Contribution-Guidelines.html create mode 100644 docs/docs/carbslinux/Conventions.html create mode 100644 docs/docs/carbslinux/Download.html create mode 100644 docs/docs/carbslinux/Essential-Software.html create mode 100644 docs/docs/carbslinux/Extracting-the-tarball.html create mode 100644 docs/docs/carbslinux/Fstab.html create mode 100644 docs/docs/carbslinux/GNU-Free-Documentation-License.html create mode 100644 docs/docs/carbslinux/Hosts-file.html create mode 100644 docs/docs/carbslinux/Init-Hooks.html create mode 100644 docs/docs/carbslinux/Init-System.html create mode 100644 docs/docs/carbslinux/Init-scripts.html create mode 100644 docs/docs/carbslinux/Installation.html create mode 100644 docs/docs/carbslinux/Installing-packages.html create mode 100644 docs/docs/carbslinux/KISS-repositories.html create mode 100644 docs/docs/carbslinux/Kernel-Command-Line.html create mode 100644 docs/docs/carbslinux/Kernel-dependencies.html create mode 100644 docs/docs/carbslinux/Kernel.html create mode 100644 docs/docs/carbslinux/Making-your-system-bootable.html create mode 100644 docs/docs/carbslinux/Obtain-the-chroot-helper.html create mode 100644 docs/docs/carbslinux/Obtaining-the-documentation.html create mode 100644 docs/docs/carbslinux/Obtaining-the-kernel-sources.html create mode 100644 docs/docs/carbslinux/Post_002dinstallation.html create mode 100644 docs/docs/carbslinux/Preparing-Environment.html create mode 100644 docs/docs/carbslinux/Rebooting-after-changing-init.html create mode 100644 docs/docs/carbslinux/Repository-Conventions.html create mode 100644 docs/docs/carbslinux/Setting-up-repositories.html create mode 100644 docs/docs/carbslinux/Shell-Conventions.html create mode 100644 docs/docs/carbslinux/Signature-verification.html create mode 100644 docs/docs/carbslinux/System-Configuration.html create mode 100644 docs/docs/carbslinux/Updating-packages.html create mode 100644 docs/docs/carbslinux/_002fetc_002finit_002frcconf-file.html create mode 100644 docs/docs/carbslinux/index.html delete mode 100644 docs/docs/index.html delete mode 100644 docs/docs/install.html delete mode 100644 docs/docs/install.txt create mode 100644 docs/download.html create mode 100644 docs/download.txt create mode 100644 docs/install.html create mode 100644 docs/install.txt delete mode 100644 docs/news.html delete mode 100644 docs/news.txt create mode 100644 docs/news/20191210.html create mode 100644 docs/news/20191210.txt create mode 100644 docs/news/20191212.html create mode 100644 docs/news/20191212.txt create mode 100644 docs/news/20191217.html create mode 100644 docs/news/20191217.txt create mode 100644 docs/news/20191218.html create mode 100644 docs/news/20191218.txt create mode 100644 docs/news/20200109.html create mode 100644 docs/news/20200109.txt create mode 100644 docs/news/20200110.html create mode 100644 docs/news/20200110.txt create mode 100644 docs/news/20200113.html create mode 100644 docs/news/20200113.txt create mode 100644 docs/news/20200115.html create mode 100644 docs/news/20200115.txt create mode 100644 docs/news/20200122.html create mode 100644 docs/news/20200122.txt create mode 100644 docs/news/20200128.html create mode 100644 docs/news/20200128.txt create mode 100644 docs/news/20200213.html create mode 100644 docs/news/20200213.txt create mode 100644 docs/news/20200214.html create mode 100644 docs/news/20200214.txt create mode 100644 docs/news/20200218.html create mode 100644 docs/news/20200218.txt create mode 100644 docs/news/20200405.html create mode 100644 docs/news/20200405.txt create mode 100644 docs/news/20200406.html create mode 100644 docs/news/20200406.txt create mode 100644 docs/news/20200410.html create mode 100644 docs/news/20200410.txt create mode 100644 docs/news/20200427.html create mode 100644 docs/news/20200427.txt create mode 100644 docs/news/20200510.html create mode 100644 docs/news/20200510.txt create mode 100644 docs/news/20200519.html create mode 100644 docs/news/20200519.txt create mode 100644 docs/news/20200526.html create mode 100644 docs/news/20200526.txt create mode 100644 docs/news/20200617.html create mode 100644 docs/news/20200617.txt create mode 100644 docs/news/20200727.html create mode 100644 docs/news/20200727.txt create mode 100644 docs/news/20200903.html create mode 100644 docs/news/20200903.txt create mode 100644 docs/news/20200916.html create mode 100644 docs/news/20200916.txt create mode 100644 docs/news/index.html create mode 100644 docs/news/index.txt create mode 100644 elisp/no-littering.el delete mode 100644 index/20191210.news delete mode 100644 index/20191212.news delete mode 100644 index/20191215.news delete mode 100644 index/20191217.news delete mode 100644 index/20191218.news delete mode 100644 index/20200109.news delete mode 100644 index/20200110.news delete mode 100644 index/20200113.news delete mode 100644 index/20200115.news delete mode 100644 index/20200122.news delete mode 100644 index/20200128.news delete mode 100644 index/20200213.news delete mode 100644 index/20200214.news delete mode 100644 index/20200218.news delete mode 100644 index/20200405.news delete mode 100644 index/20200406.news delete mode 100644 index/20200410.news delete mode 100644 index/20200427.news delete mode 100644 index/20200510.news delete mode 100644 index/20200519.news delete mode 100644 index/20200526.news delete mode 100644 index/20200617.news delete mode 100644 index/20200727.news delete mode 100644 index/20200903.news delete mode 100644 index/20200916.news delete mode 100644 index/index.md create mode 100644 news/20191210.org create mode 100644 news/20191212.org create mode 100644 news/20191217.org create mode 100644 news/20191218.org create mode 100644 news/20200109.org create mode 100644 news/20200110.org create mode 100644 news/20200113.org create mode 100644 news/20200115.org create mode 100644 news/20200122.org create mode 100644 news/20200128.org create mode 100644 news/20200213.org create mode 100644 news/20200214.org create mode 100644 news/20200218.org create mode 100644 news/20200405.org create mode 100644 news/20200406.org create mode 100644 news/20200410.org create mode 100644 news/20200427.org create mode 100644 news/20200510.org create mode 100644 news/20200519.org create mode 100644 news/20200526.org create mode 100644 news/20200617.org create mode 100644 news/20200727.org create mode 100644 news/20200903.org create mode 100644 news/20200916.org create mode 100644 news/index.org create mode 100644 news/latest-news.org create mode 100644 news/news.org create mode 100755 org-publish.el delete mode 100644 src/404.md delete mode 100644 src/blog/20200128.md delete mode 100644 src/blog/20200406.md delete mode 100644 src/blog/20200410.md delete mode 100644 src/blog/20200508.md delete mode 100644 src/blog/20200528.md delete mode 100644 src/blog/20200617.md delete mode 100644 src/blog/20200803.md delete mode 100644 src/blog/20201210.md delete mode 100644 src/blog/index.md delete mode 100644 src/contributing.md delete mode 100644 src/docs.md create mode 100644 src/docs.org delete mode 100644 src/docs/0010.html delete mode 100644 src/docs/0011.html delete mode 100644 src/docs/0012.html delete mode 100644 src/docs/0013.html delete mode 100644 src/docs/1010.html delete mode 100644 src/docs/1020.html delete mode 100644 src/docs/1030.html delete mode 100644 src/docs/1040.html delete mode 100644 src/docs/1041.html delete mode 100644 src/docs/1042.html delete mode 100644 src/docs/1043.html delete mode 100644 src/docs/1050.html delete mode 100644 src/docs/2010.html delete mode 100644 src/docs/2020.html delete mode 100644 src/docs/2030.html delete mode 100644 src/docs/2040.html delete mode 100644 src/docs/2050.html delete mode 100644 src/docs/2210.html delete mode 100644 src/docs/2211.html delete mode 100644 src/docs/2212.html delete mode 100644 src/docs/2220.html delete mode 100644 src/docs/2230.html delete mode 100644 src/docs/2240.html delete mode 100644 src/docs/2241.html delete mode 100644 src/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html delete mode 100644 src/docs/Bootloader.html delete mode 100644 src/docs/Building-the-kernel.html delete mode 100644 src/docs/Changing-Init-Program.html delete mode 100644 src/docs/Chroot.html delete mode 100644 src/docs/Configuring-Init.html delete mode 100644 src/docs/Configuring-hostname.html delete mode 100644 src/docs/Contribution-Guidelines.html delete mode 100644 src/docs/Conventions.html delete mode 100644 src/docs/Download.html delete mode 100644 src/docs/Essential-Software.html delete mode 100644 src/docs/Extracting-the-tarball.html delete mode 100644 src/docs/Fstab.html delete mode 100644 src/docs/GNU-Free-Documentation-License.html delete mode 100644 src/docs/Hosts-file.html delete mode 100644 src/docs/Init-Hooks.html delete mode 100644 src/docs/Init-System.html delete mode 100644 src/docs/Init-scripts.html delete mode 100644 src/docs/Installation.html delete mode 100644 src/docs/Installing-packages.html delete mode 100644 src/docs/KISS-repositories.html delete mode 100644 src/docs/Kernel-Command-Line.html delete mode 100644 src/docs/Kernel-dependencies.html delete mode 100644 src/docs/Kernel.html delete mode 100644 src/docs/Making-your-system-bootable.html delete mode 100644 src/docs/Obtain-the-chroot-helper.html delete mode 100644 src/docs/Obtaining-the-documentation.html delete mode 100644 src/docs/Obtaining-the-kernel-sources.html delete mode 100644 src/docs/Post_002dinstallation.html delete mode 100644 src/docs/Preparing-Environment.html delete mode 100644 src/docs/Rebooting-after-changing-init.html delete mode 100644 src/docs/Repository-Conventions.html delete mode 100644 src/docs/Setting-up-repositories.html delete mode 100644 src/docs/Shell-Conventions.html delete mode 100644 src/docs/Signature-verification.html delete mode 100644 src/docs/System-Configuration.html delete mode 100644 src/docs/Updating-packages.html delete mode 100644 src/docs/_002fetc_002finit_002frcconf-file.html delete mode 100644 src/docs/index.html delete mode 100644 src/docs/install.html delete mode 100644 src/docs/install.txt create mode 100644 src/download.org delete mode 100644 src/index.md create mode 100644 src/index.org create mode 100644 src/install.org delete mode 100644 src/mailing-lists.md create mode 100644 src/mailing-lists.org delete mode 100644 src/news.md delete mode 100644 src/news.xml delete mode 100644 src/people.md create mode 100644 src/people.org delete mode 100644 src/rss.xml delete mode 100644 src/style.css create mode 160000 style delete mode 100644 templates/blog-index create mode 100644 templates/blog.org create mode 100644 templates/postamble.html create mode 100644 templates/preamble.html delete mode 100644 templates/rss.xml delete mode 100644 templates/template.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4dbe29f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/.cache/ diff --git a/.gitmodules b/.gitmodules index 3b74653..d007e5f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "texidocs"] path = texidocs url = git://git.carbslinux.org/docs +[submodule "style"] + path = style + url = git://git.carbslinux.org/carbslinux-style.git diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c366fdd --- /dev/null +++ b/Makefile @@ -0,0 +1,29 @@ +EMACS = emacs + +all: docs style + emacs --batch --script ./org-publish.el + +docs: update-submodules + mkdir -p docs/docs + makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css -o docs/docs/carbslinux texidocs/carbslinux.texi + makeinfo --html --css-ref=https://www.gnu.org/software/gnulib/manual.css --no-split -o docs/docs/carbslinux.html texidocs/carbslinux.texi + cp texidocs/carbslinux.txt docs/docs/carbslinux.txt + +style: update-submodules + mkdir -p docs + cp style/carbslinux.css docs/style.css + +update-submodules: + git submodule update --remote --init --recursive -f + +publish: + ${EMACS} --batch --script ./org-publish.el + +rebuild: + rm -rf .cache/var/timestamps + ${MAKE} all + +clean: + rm -rf ./docs ./.cache/var/timestamps + +.PHONY: all docs style update-submodules publish rebuild clean diff --git a/blog/20200128.org b/blog/20200128.org new file mode 100644 index 0000000..9309a99 --- /dev/null +++ b/blog/20200128.org @@ -0,0 +1,16 @@ +#+TITLE: Switching to New Website +#+DATE: <2020-01-28 Tue> +#+AUTHOR: Cem Keylan + +In case you haven't seen it before, this website was powered by [[http://werc.cat-v.org][werc]]. And even +though I liked it really much, it was too powerful for a small website like +this. + +So I have decided to reimplement this website with my own static generation +scripts. The source will probably be on [[https://git.carbslinux.org/website/log.html][its git repository]] when I decide to +publish the website. + +The generation requires Plan9 programs, although I have used them just for my +enthusiasm. I have built the site with a combination of mk (instead of make), +rc, and POSIX sh. I am not yet exactly familiar with rc, but I will replace the +shell scripts when I feel like I can. diff --git a/blog/20200406.org b/blog/20200406.org new file mode 100644 index 0000000..01a143a --- /dev/null +++ b/blog/20200406.org @@ -0,0 +1,58 @@ +#+TITLE: Roadmap for Carbs +#+AUTHOR: Cem Keylan +#+DATE: <2020-04-06 Mon> + +It has been a busy week. There are lots of changes in direction, and more to +come. I want to talk a little about all of them. + +** Carbs Linux Server Going Down + +It became harder to maintain and pay for the server, and I will be shutting it +down in May. I am currently in the phase of carrying over everything to [[https://github.com/CarbsLinux][Github]]. +The repository and the website is served on Github now. I have also moved the +[[https://github.com/CarbsLinux/wiki/wiki][Wiki]] to Github and anyone can edit it there. There are some outdated posts that +I will be fixing around this week. + +I am not quite sure where to store the downloads page now. But I will be +switching that to a new source as well. (Maybe SourceHut?) + +I feel a little sad for switching, but serving on Github is faster, cheaper, and +hassle-free. + +** Forking KISS + +I had a personal fork of KISS, which I enjoyed thoroughly. I didn't intend to +make it the default when I started it, but it has matured enough to be so. The +package manager can now be found on [[https://github.com/CarbsLinux/kiss][this repository]]. See it for the added +changes. + +This will be a change for the better, as I can develop the package manager as it +fits my views. + +** Small Changes on the Website + +I have made some small changes on the website. The build is not dependent on +Plan9 utilities anymore. It was fun messing around with =rc= and =mk=, but they +are quite limited compared to POSIX shell. + +RSS feeds are finally working as intended, both for the [[https://carbslinux.org/news.xml][news]] section, and the +[[https://carbslinux.org/rss.xml][blog]] section. + +You can see every page's =.txt= output at the end of the page by clicking 'View +Page Source'. Meanwhile, I will be updating some pages to be a little more +'human-readable'. + +** Outsources Repository + +I have opened an =outsource= repository, which I will be pushing this week. I +will add a new post when I am ready to push it. I think it will be interesting, +it will also make more sense about the changes I have added to the package +manager. The now empty repository, can be found [[https://github.com/CarbsLinux/outsource][here]]! + +** New Tarball + +Finally, I have released a new tarball today, which can be obtained from the +[[https://dl.carbslinux.org/releases][downloads page]]. + +I am planning to add more of these update posts as I'm feeling better about the +website structure overall. diff --git a/blog/20200410.org b/blog/20200410.org new file mode 100644 index 0000000..0868c2d --- /dev/null +++ b/blog/20200410.org @@ -0,0 +1,21 @@ +#+TITLE: Outsource Repository Concept +#+AUTHOR: Cem Keylan +#+DATE: <2020-04-10 Fri> + +In April 3rd, I have added submodule support for Carbs Linux's fork of =kiss=. +Now, from that sentence, it really doesn't sound exciting at all. But in +reality, it opens a path to lots of creative output, and a better way to manage +multi-user repositories (such as KISS Community). + +When managing a repository of submodules, the repository maintainer's only job +is to deal with adding packages. A package maintainer doesn't have to wait for +the repository maintainer to update their packages, as they are only making the +changes to their own repositories. + +This way, an end-user can also track from their preferred maintainers, and do +that with the tidyness of a single repository in their =KISS_PATH=. + +Carbs Linux now has an outsource repository for some packages. Firefox and its +dependencies have been purged from the main repository, but can be found on it. + +[[https://github.com/CarbsLinux/outsource]] diff --git a/blog/20200508.org b/blog/20200508.org new file mode 100644 index 0000000..c303634 --- /dev/null +++ b/blog/20200508.org @@ -0,0 +1,98 @@ +#+TITLE: The Relation of Carbs and KISS +#+AUTHOR: Cem Keylan +#+DATE: <2020-05-08 Fri> + +Since I have forked KISS, I have received many questions that can be summarized +as "Why?". I have realized that I never truly answered this question. That's the +reason I am writing this post, to give some background on Carbs, and some +differences between KISS Linux and Carbs Linux for anyone who may be wondering. +Perhaps I could make this a "FAQ" page later on. + +** History + +I had the idea of creating my own Linux distribution since the May of 2019. Back +then, I had my own [[https://linuxfromscratch.org][Linux from Scratch]] build, and I wanted to slim it down my +own way and replace the software (with musl,sbase,etc.). The name Carbs Linux +was in my mind since then. I wanted to write my own package manager, but I +wasn't satisfied with anything I had built. + +I had written some incomplete package managers (all named =fat=) and I quickly +threw them into the trash can, where they honestly belonged. I would want to +share them with you for laughs, but my hard-drive got wiped and I have a problem +of not doing an "initial commit" until a program I write is in a usable state. + +I have obtained the 'carbslinux.org' domain name in September 2019, but then +life got on the way, and I stopped for a long time. + +One day on Reddit, I saw Dylan's post on [[https://reddit.com/r/unixporn][r/unixporn]] about KISS, and I really +thought that it was interesting. Here is my [[https://www.reddit.com/r/unixporn/comments/ducd34/sowm_kiss_d/f7lua7x][comment]] to Dylan on that post. I +checked out the package manager and the repository. The packaging system was +extremely clean and well-thought. I decided to give it a go and fork KISS. + +** Differences between KISS and Carbs + +Now, I still baffle when people ask me this question. My intention was never to +create a distribution with specific differences between KISS. My intention was +being my own BDFL of a distribution I maintain. There are lots of differences +between the main repositories, but they are subtle and not worth talking about. +I personally never even installed KISS Linux on my system. So Carbs, isn't +something like a downstream fork of KISS, it is just a distribution that was +initially based on KISS. + +I try to contribute as much as I can to KISS Linux. I think that it is a +brilliant distribution, and it was a great starting point for Carbs. I am really +grateful to Dylan and all the other contributors. + +** What I'm working on now + +Currently I have a few projects that I'm working on for Carbs. These are, + +A BSD port for Carbs. For a while, I have been working on BSD compatibility on +my fork of the [package manager]. I have tested, without any more issues, on +OpenBSD and FreeBSD. The biggest issues remaining are choosing a vendor for BSD, +packaging the BSD source, and providing a minimal base (like busybox for BSD). +If you aren't familiar with BSD, it has a single source code for all of the +utilities (kernel, command line programs, etc.). Contributions (even chipping in +ideas) are very welcome. + +Adding binary package distribution support natively to the package manager. +Biggest issue in small/old computers are compile times. This feature is for the +bigger packages such as webkit, clang, llvm that take a considerable amount of +time. Some computers with low memories cannot even compile firefox/webkit. + +Adding rsync repository support to the package manager. This is not a current +issue, but rather a futureproofing. As time passes, distribution repositories +grow larger. KISS and Carbs are young distributions without this problem right +now. But in something like 5 years, this size will presumably increase to +hundreds of megabytes. At that point it will be pointless to have the repository +sources unless you specifically need them. + +** What's up with all the init/service daemons? + +If you have ever checked the [[https://github.com/carbslinux/repository][repository]], you may have noticed that there are +lots of init/service related packages. I have had my fair share of time with all +of them, and it is an area that I am really interested in. I have even written +my own [[https://github.com/cemkeylan/shinit][init daemon]] and [[https://github.com/cemkeylan/sysmgr][service supervisor]]. I maintain all those packages on KISS +Community Repository as well with the exception of busybox. Those are, =busybox +init/runit=, =runit=, =sinit=, and =sysmgr=. I would definitely recommend +checking out =shinit= and =sysmgr=. + +** Why I don't publicize Carbs + +There are a couple of reasons I don't publicize Carbs a lot. + +KISS is the better alternative in terms of support and community. I work on +maintaining this distribution just as hard as Dylan, but in the end, Carbs is +based on his original hard work, and I believe that he deserves the recognition +more than I do. + +Since I cannot answer questions like "What is the difference?", I prefer staying +as the silent sibling project of KISS Linux. Plus, there is no point in dividing +the newly-emerging community in half. + +That's not because I don't have ideas for the future of Carbs, I do. I just +think that I will deserve the recognition once those above lists are checked. + +I think that's about it, if you have questions you can send me a mail, ping me +on IRC (my handle is =merakor=), and I will be happy to answer. Maybe your +question fits this post, and I can update it to thoroughly give an explanation. diff --git a/blog/20200528.org b/blog/20200528.org new file mode 100644 index 0000000..ba3a305 --- /dev/null +++ b/blog/20200528.org @@ -0,0 +1,37 @@ +#+TITLE: kiss 2.0.0 and Overall Changes +#+AUTHOR: Cem Keylan +#+DATE: <2020-05-28 Thu> + +Carbs Linux kiss version 2.0.0 has been released which introduces rsync +repositories. + +Git is no longer a mandatory dependency for the package manager, every git +source on the core repository has been replaced with https sources (sbase, +sinit), and rootfs tarballs will no longer ship with git. Repositories in the +upcoming tarball will be rsync repositories. + +Git is now on the =extra= repository and is still (optionally) used in the +package manager. + +The idea behind this change is size reductions and increased speed with rsync. +As I said on the previous post, git repositories get larger and larger over the +time span. Currently my personal copy of the git repository is around 77MB and I +have forked KISS Linux (as a shallow copy) around December. Obviously, I have +commits that I ommitted. I tend to create commits I dislike, which I change with +=git reset --soft HEAD^=, which doesn't actually remove the commits, etc. A user +will have a repository much smaller than mine. + +This is a precaution with the added bonuses of speed and dropping a mandatory +dependency. + +You can see the rest of the changelog [[https://github.com/CarbsLinux/kiss/blob/master/CHANGELOG.md][here]]. + +** Binary Repositories + +A few days ago, I have also published [[https://github.com/CarbsLinux/kiss-bin][kiss-bin]], a first version for managing +binary repositories. Currently, there are some caveats that I'll be fixing along +the way. I decided not to include this in the package manager natively as +managing the source based and binary based packages together adds levels of +complexity that we do not want. Instead, this is an extension for kiss which +sources the package manager as a library. I hope to see it being adopted by +others interested on the matter as well. diff --git a/blog/20200617.org b/blog/20200617.org new file mode 100644 index 0000000..0c91582 --- /dev/null +++ b/blog/20200617.org @@ -0,0 +1,67 @@ +#+TITLE: June Newspost +#+AUTHOR: Cem Keylan +#+DATE: <2020-06-17 Wed> + +This will be an active month for Carbs as major changes to the base and the +package manager will be coming up. + +** Statically linking the base + +For the past couple of weeks I have been trying to simplify the base and +statically link the core (mostly binaries rather than libraries). I usually see +some people extremely opposed to static linking as I also see the opposite on +people. + +I believe that binaries on the core should always be linked statically. This +ensures that an SONAME bump to =libObscure.so= will not break the core +functionality of your system, forcing you to use external resources to recover +from such an issue. As long as you can compile, use core utilities, edit text, +and access the web, you can solve any given issue on your system. + +However, I don't think that removing shared libraries is sensible either. Not +every piece of software out there is good quality enough to be statically +linked. + +** Major changes on the core repository + +There have been drastic changes to the core repository and the base rootfs this +month (with more on the way). Right now changes are as follows. + +*** Removed from Core +- =git= +- =libressl= +- =grub= +- =bison= +- =dhcpcd= +- =ubase= + +*** Added to Core +- =bearssl=, as a =libressl= replacement +- =byacc=, as a =bison= replacement + +*** Statically linked +- =kiss= +- =neatvi= +- =mandoc= +- =byacc= +- =m4= +- =e2fsprogs= +- =make= +- =pkgconf= +- =sbase= +- =libnl= +- =wpa_supplicant= +- =bearssl= + +** Making the wiki available offline + +Soon, all documentation regarding Carbs Linux will be avaialable to be installed +from the core repository in a =carbs-docs= package along with its own document +crawler. Currently, the documentation regarding the installation process is a +little outdated which will also receive some important updates. + +** ISO image for Carbs + +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 =arch-install-scripts=. Let's see how that's going to play out. diff --git a/blog/20200803.org b/blog/20200803.org new file mode 100644 index 0000000..0dcf679 --- /dev/null +++ b/blog/20200803.org @@ -0,0 +1,62 @@ +#+TITLE: August 2020 News Post +#+AUTHOR: Cem Keylan +#+DATE: <2020-08-03 Mon> + +We are having some stalls during this summer, as I am currently working on +university-related stuff. Nonetheless, there are some important changes that I +want to share in this month's post. + +#+TOC: headlines 1 local + +** Carbs Packaging Tools + +This month I have reworked =kiss= into a new package manager, now renamed as +=cpt=. Updating =kiss= will now bootstrap the new package manager, so you don't +have to manually edit your system. If you don't like the idea of this, you can +look up the =post-install= script on =core/kiss= and apply the changes manually. + +You will also need to rename your =KISS_*= variables to =CPT_*=. So, =KISS_PATH= +becomes =CPT_PATH=. + +The rework changes the previous commands on the package manager into standalone +tools, and move the package manager functions to a library. This makes it easier +for a user to import functions and variables from the package manager, and +extend the package manager with their own intended way. Previously this required +ugly hacks and workarounds to use the package manager functions. I will be +making use of these changes to re-implement binary package management functions +as well. + +If you want to use the library on your script you can simply do this: + +#+BEGIN_SRC sh +#!/bin/sh +. cpt-lib +(...) +#+END_SRC + +There are obviously some clean-up and simplifications needed in this new +tool-based package management method. + +** Docs + +I have added documentation for the distribution, and finally updated the guide +for installation. It is now /almost/ complete. These docs can be installed to +your system for online viewing. I will also add a documentation crawler similar +to how werc works (but as an offline viewer). You can find =carbs-docs= from +the repository. Currently, the documentation lacks but I will be adding new +stuff. These will solely be distribution specific documentation and will not be +a wiki-like source. If anyone would like to contribute to a wiki-like +documentation source, I would happily re-open the distribution wiki. You can +find the source on [[https://github.com/CarbsLinux/docs]]. + +** Re-opening the Carbs Linux server + +Back in May, I had shutdown the Carbs Linux server due to financial issues, but +I am slowly reverting to the self-hosted model. Back then, the git repositories +were mirrored to GitHub, and the management was overall much more flexible. The +server used to run Carbs Linux as well (that was fun and horrifying at the same +time). Now, I will be relaunching the git server which will be the upstream +source before August 5. You can switch your remote, but GitHub will stay as a +remote nonetheless. + +*EDIT:* The git-server is up! diff --git a/blog/20201210.org b/blog/20201210.org new file mode 100644 index 0000000..7da78cb --- /dev/null +++ b/blog/20201210.org @@ -0,0 +1,22 @@ +#+TITLE: First Year of Carbs Linux +#+AUTHOR: Cem Keylan +#+DATE: <2020-12-10 Thu> + +December 10, 2020 marks the first year after the initial release of Carbs Linux. +When I forked the KISS Linux repository on the 9th of December, I was fairly new +to package management. Carbs Linux used to be almost identical to KISS Linux. A +lot has changed since then: + +- [2020 Jan 13] Replaced default init system to =sinit= +- [2020 Jan 15] Packaged =WebKit2GTK= +- [2020 May 17] Added =bearssl= on the testing repository +- [2020 May 28] Added =rsync= repository support to kiss +- [2020 Jun 03] Replaced =bison= with =byacc= +- [2020 Jun 11] Replaced =libressl= with =bearssl= +- [2020 Jun 24] Replaced =kiss= with =cpt= + +I have really enjoyed maintaining and developing this distribution, and I want +to thank everyone who was involved in some way or another. While I have slowed +down in development due to college workload, I am still actively maintaining all +the packages on the repository. I do have some ideas that I am thinking of +implementing during the semester break. Hope to see you all in January. diff --git a/blog/index.org b/blog/index.org new file mode 100644 index 0000000..875b133 --- /dev/null +++ b/blog/index.org @@ -0,0 +1,11 @@ +#+TITLE: Blog Index + +This is the Carbs Linux blog index. You can find every post here. [[file:../rss.xml][RSS Feed]] +- [[file:20201210.org][First Year of Carbs Linux]] /posted on 2020-12-10/ +- [[file:20200803.org][August 2020 News Post]] /posted on 2020-08-03/ +- [[file:20200617.org][June Newspost]] /posted on 2020-06-17/ +- [[file:20200528.org][kiss 2.0.0 and Overall Changes]] /posted on 2020-05-28/ +- [[file:20200508.org][The Relation of Carbs and KISS]] /posted on 2020-05-08/ +- [[file:20200410.org][Outsource Repository Concept]] /posted on 2020-04-10/ +- [[file:20200406.org][Roadmap for Carbs]] /posted on 2020-04-06/ +- [[file:20200128.org][Switching to New Website]] /posted on 2020-01-28/ diff --git a/blog/rss.org b/blog/rss.org new file mode 100644 index 0000000..9de4962 --- /dev/null +++ b/blog/rss.org @@ -0,0 +1,463 @@ +#+TITLE: Carbs Linux blog +#+DESCRIPTION: a simple Linux distribution + +* First Year of Carbs Linux +:PROPERTIES: +:RSS_PERMALINK: 20201210.html +:PUBDATE: 2020-12-10 +:ID: 91a73ba0-bd3c-437c-94af-fe767c3dcc02 +:END: +December 10, 2020 marks the first year after the initial release of Carbs Linux. +When I forked the KISS Linux repository on the 9th of December, I was fairly new +to package management. Carbs Linux used to be almost identical to KISS Linux. A +lot has changed since then: + +[2020 Jan 13] Replaced default init system to =sinit= +[2020 Jan 15] Packaged =WebKit2GTK= +[2020 May 17] Added =bearssl= on the testing repository +[2020 May 28] Added =rsync= repository support to kiss +[2020 Jun 03] Replaced =bison= with =byacc= +[2020 Jun 11] Replaced =libressl= with =bearssl= +[2020 Jun 24] Replaced =kiss= with =cpt= + +I have really enjoyed maintaining and developing this distribution, and I want +to thank everyone who was involved in some way or another. While I have slowed +down in development due to college workload, I am still actively maintaining all +the packages on the repository. I do have some ideas that I am thinking of +implementing during the semester break. Hope to see you all in January. +* August 2020 News Post +:PROPERTIES: +:RSS_PERMALINK: 20200803.html +:PUBDATE: 2020-08-03 +:ID: 20184071-45d1-4af3-b679-63610e737f82 +:END: +We are having some stalls during this summer, as I am currently working on +university-related stuff. Nonetheless, there are some important changes that I +want to share in this month's post. + +#+toc: headlines 1 local + +** Carbs Packaging Tools + :PROPERTIES: + :ID: fe405200-c791-40bb-af90-55b14328c901 + :END: + +This month I have reworked =kiss= into a new package manager, now renamed as +=cpt=. Updating =kiss= will now bootstrap the new package manager, so you don't +have to manually edit your system. If you don't like the idea of this, you can +look up the =post-install= script on =core/kiss= and apply the changes manually. + +You will also need to rename your =KISS_*= variables to =CPT_*=. So, =KISS_PATH= +becomes =CPT_PATH=. + +The rework changes the previous commands on the package manager into standalone +tools, and move the package manager functions to a library. This makes it easier +for a user to import functions and variables from the package manager, and +extend the package manager with their own intended way. Previously this required +ugly hacks and workarounds to use the package manager functions. I will be +making use of these changes to re-implement binary package management functions +as well. + +If you want to use the library on your script you can simply do this: + +#+begin_src sh + #!/bin/sh + . cpt-lib + (...) +#+end_src + +There are obviously some clean-up and simplifications needed in this new +tool-based package management method. + +** Docs + :PROPERTIES: + :ID: 9a665dbf-7a5a-4e66-88a6-b95b27fd0f08 + :END: + +I have added documentation for the distribution, and finally updated the guide +for installation. It is now /almost/ complete. These docs can be installed to +your system for online viewing. I will also add a documentation crawler similar +to how werc works (but as an offline viewer). You can find =carbs-docs= from +the repository. Currently, the documentation lacks but I will be adding new +stuff. These will solely be distribution specific documentation and will not be +a wiki-like source. If anyone would like to contribute to a wiki-like +documentation source, I would happily re-open the distribution wiki. You can +find the source on [[https://github.com/CarbsLinux/docs]]. + +** Re-opening the Carbs Linux server + :PROPERTIES: + :ID: d2ede03b-5386-48f9-9349-27ad6972558e + :END: + +Back in May, I had shutdown the Carbs Linux server due to financial issues, but +I am slowly reverting to the self-hosted model. Back then, the git repositories +were mirrored to GitHub, and the management was overall much more flexible. The +server used to run Carbs Linux as well (that was fun and horrifying at the same +time). Now, I will be relaunching the git server which will be the upstream +source before August 5. You can switch your remote, but GitHub will stay as a +remote nonetheless. + +*EDIT:* The git-server is up! +* June Newspost +:PROPERTIES: +:RSS_PERMALINK: 20200617.html +:PUBDATE: 2020-06-17 +:ID: e0ddba22-7d55-4830-895a-5d02e1f41f90 +:END: +This will be an active month for Carbs as major changes to the base and the +package manager will be coming up. + +** Statically linking the base + :PROPERTIES: + :ID: ca2f0783-0484-42d6-8f19-1b16330f474e + :END: + +For the past couple of weeks I have been trying to simplify the base and +statically link the core (mostly binaries rather than libraries). I usually see +some people extremely opposed to static linking as I also see the opposite on +people. + +I believe that binaries on the core should always be linked statically. This +ensures that an SONAME bump to =libObscure.so= will not break the core +functionality of your system, forcing you to use external resources to recover +from such an issue. As long as you can compile, use core utilities, edit text, +and access the web, you can solve any given issue on your system. + +However, I don't think that removing shared libraries is sensible either. Not +every piece of software out there is good quality enough to be statically +linked. + +** Major changes on the core repository + :PROPERTIES: + :ID: 7bcf3f1b-1341-485d-a28a-3dedc24d1eee + :END: + +There have been drastic changes to the core repository and the base rootfs this +month (with more on the way). Right now changes are as follows. + +*** Removed from Core + :PROPERTIES: + :ID: 29d41729-1428-44dc-b315-cd9c3070e7c5 + :END: +=git= +=libressl= +=grub= +=bison= +=dhcpcd= +=ubase= + +*** Added to Core + :PROPERTIES: + :ID: 9935f194-03c4-4e83-b6f1-fd8e35adb51e + :END: +=bearssl=, as a =libressl= replacement +=byacc=, as a =bison= replacement + +*** Statically linked + :PROPERTIES: + :ID: 445af4be-741c-41a4-b983-a1ffb71c3476 + :END: +=kiss= +=neatvi= +=mandoc= +=byacc= +=m4= +=e2fsprogs= +=make= +=pkgconf= +=sbase= +=libnl= +=wpa_supplicant= +=bearssl= + +** Making the wiki available offline + :PROPERTIES: + :ID: 02f68296-e84b-4a60-9af6-efc5b72a262e + :END: + +Soon, all documentation regarding Carbs Linux will be avaialable to be installed +from the core repository in a =carbs-docs= package along with its own document +crawler. Currently, the documentation regarding the installation process is a +little outdated which will also receive some important updates. + +** ISO image for Carbs + :PROPERTIES: + :ID: 503ea473-9001-4080-9073-628f4cddaedc + :END: + +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 =arch-install-scripts=. Let's see how that's going to play out. +* kiss 2.0.0 and Overall Changes +:PROPERTIES: +:RSS_PERMALINK: 20200528.html +:PUBDATE: 2020-05-28 +:ID: 757f34bc-c510-4a93-be60-80ac355ad6d3 +:END: +Carbs Linux kiss version 2.0.0 has been released which introduces rsync +repositories. + +Git is no longer a mandatory dependency for the package manager, every git +source on the core repository has been replaced with https sources (sbase, +sinit), and rootfs tarballs will no longer ship with git. Repositories in the +upcoming tarball will be rsync repositories. + +Git is now on the =extra= repository and is still (optionally) used in the +package manager. + +The idea behind this change is size reductions and increased speed with rsync. +As I said on the previous post, git repositories get larger and larger over the +time span. Currently my personal copy of the git repository is around 77MB and I +have forked KISS Linux (as a shallow copy) around December. Obviously, I have +commits that I ommitted. I tend to create commits I dislike, which I change with +=git reset --soft HEAD^=, which doesn't actually remove the commits, etc. A user +will have a repository much smaller than mine. + +This is a precaution with the added bonuses of speed and dropping a mandatory +dependency. + +You can see the rest of the changelog [[https://github.com/CarbsLinux/kiss/blob/master/CHANGELOG.md][here]]. + +** Binary Repositories + :PROPERTIES: + :ID: d34206ef-dac4-4fa7-8a24-6beeb2376615 + :END: + +A few days ago, I have also published [[https://github.com/CarbsLinux/kiss-bin][kiss-bin]], a first version for managing +binary repositories. Currently, there are some caveats that I'll be fixing along +the way. I decided not to include this in the package manager natively as +managing the source based and binary based packages together adds levels of +complexity that we do not want. Instead, this is an extension for kiss which +sources the package manager as a library. I hope to see it being adopted by +others interested on the matter as well. +* The Relation of Carbs and KISS +:PROPERTIES: +:RSS_PERMALINK: 20200508.html +:PUBDATE: 2020-05-08 +:ID: 258ca25e-b053-4c53-a86d-c067346461e3 +:END: +Since I have forked KISS, I have received many questions that can be summarized +as "Why?". I have realized that I never truly answered this question. That's the +reason I am writing this post, to give some background on Carbs, and some +differences between KISS Linux and Carbs Linux for anyone who may be wondering. +Perhaps I could make this a "FAQ" page later on. + +** History + :PROPERTIES: + :ID: 12457ae2-b958-479d-906c-4ec5c333b7a3 + :END: + +I had the idea of creating my own Linux distribution since the May of 2019. Back +then, I had my own [[https://linuxfromscratch.org][Linux from Scratch]] build, and I wanted to slim it down my +own way and replace the software (with musl,sbase,etc.). The name Carbs Linux +was in my mind since then. I wanted to write my own package manager, but I +wasn't satisfied with anything I had built. + +I had written some incomplete package managers (all named =fat=) and I quickly +threw them into the trash can, where they honestly belonged. I would want to +share them with you for laughs, but my hard-drive got wiped and I have a problem +of not doing an "initial commit" until a program I write is in a usable state. + +I have obtained the 'carbslinux.org' domain name in September 2019, but then +life got on the way, and I stopped for a long time. + +One day on Reddit, I saw Dylan's post on [[https://reddit.com/r/unixporn][r/unixporn]] about KISS, and I really +thought that it was interesting. Here is my [[https://www.reddit.com/r/unixporn/comments/ducd34/sowm_kiss_d/f7lua7x][comment]] to Dylan on that post. I +checked out the package manager and the repository. The packaging system was +extremely clean and well-thought. I decided to give it a go and fork KISS. + +** Differences between KISS and Carbs + :PROPERTIES: + :ID: aa9e4559-0afd-4bdb-8993-006a9f16927c + :END: + +Now, I still baffle when people ask me this question. My intention was never to +create a distribution with specific differences between KISS. My intention was +being my own BDFL of a distribution I maintain. There are lots of differences +between the main repositories, but they are subtle and not worth talking about. +I personally never even installed KISS Linux on my system. So Carbs, isn't +something like a downstream fork of KISS, it is just a distribution that was +initially based on KISS. + +I try to contribute as much as I can to KISS Linux. I think that it is a +brilliant distribution, and it was a great starting point for Carbs. I am really +grateful to Dylan and all the other contributors. + +** What I'm working on now + :PROPERTIES: + :ID: 293684f2-3b65-42a0-8011-8441a963194c + :END: + +Currently I have a few projects that I'm working on for Carbs. These are, + +A BSD port for Carbs. For a while, I have been working on BSD compatibility on +my fork of the [package manager]. I have tested, without any more issues, on +OpenBSD and FreeBSD. The biggest issues remaining are choosing a vendor for BSD, +packaging the BSD source, and providing a minimal base (like busybox for BSD). +If you aren't familiar with BSD, it has a single source code for all of the +utilities (kernel, command line programs, etc.). Contributions (even chipping in +ideas) are very welcome. + +Adding binary package distribution support natively to the package manager. +Biggest issue in small/old computers are compile times. This feature is for the +bigger packages such as webkit, clang, llvm that take a considerable amount of +time. Some computers with low memories cannot even compile firefox/webkit. + +Adding rsync repository support to the package manager. This is not a current +issue, but rather a futureproofing. As time passes, distribution repositories +grow larger. KISS and Carbs are young distributions without this problem right +now. But in something like 5 years, this size will presumably increase to +hundreds of megabytes. At that point it will be pointless to have the repository +sources unless you specifically need them. + +** What's up with all the init/service daemons? + :PROPERTIES: + :ID: 8de3a6dd-b66f-4da3-baae-efb264461a67 + :END: + +If you have ever checked the [[https://github.com/carbslinux/repository][repository]], you may have noticed that there are +lots of init/service related packages. I have had my fair share of time with all +of them, and it is an area that I am really interested in. I have even written +my own [[https://github.com/cemkeylan/shinit][init daemon]] and [[https://github.com/cemkeylan/sysmgr][service supervisor]]. I maintain all those packages on KISS +Community Repository as well with the exception of busybox. Those are, =busybox + init/runit=, =runit=, =sinit=, and =sysmgr=. I would definitely recommend +checking out =shinit= and =sysmgr=. + +** Why I don't publicize Carbs + :PROPERTIES: + :ID: 15a9f5cc-3e2f-495d-8075-3213bcebe237 + :END: + +There are a couple of reasons I don't publicize Carbs a lot. + +KISS is the better alternative in terms of support and community. I work on +maintaining this distribution just as hard as Dylan, but in the end, Carbs is +based on his original hard work, and I believe that he deserves the recognition +more than I do. + +Since I cannot answer questions like "What is the difference?", I prefer staying +as the silent sibling project of KISS Linux. Plus, there is no point in dividing +the newly-emerging community in half. + +That's not because I don't have ideas for the future of Carbs, I do. I just +think that I will deserve the recognition once those above lists are checked. + +I think that's about it, if you have questions you can send me a mail, ping me +on IRC (my handle is =merakor=), and I will be happy to answer. Maybe your +question fits this post, and I can update it to thoroughly give an explanation. +* Outsource Repository Concept +:PROPERTIES: +:RSS_PERMALINK: 20200410.html +:PUBDATE: 2020-04-10 +:ID: b70d712e-dfd8-46ba-8519-2102b0506551 +:END: +In April 3rd, I have added submodule support for Carbs Linux's fork of =kiss=. +Now, from that sentence, it really doesn't sound exciting at all. But in +reality, it opens a path to lots of creative output, and a better way to manage +multi-user repositories (such as KISS Community). + +When managing a repository of submodules, the repository maintainer's only job +is to deal with adding packages. A package maintainer doesn't have to wait for +the repository maintainer to update their packages, as they are only making the +changes to their own repositories. + +This way, an end-user can also track from their preferred maintainers, and do +that with the tidyness of a single repository in their =KISS_PATH=. + +Carbs Linux now has an outsource repository for some packages. Firefox and its +dependencies have been purged from the main repository, but can be found on it. + +[[https://github.com/CarbsLinux/outsource]] +* Roadmap for Carbs +:PROPERTIES: +:RSS_PERMALINK: 20200406.html +:PUBDATE: 2020-04-06 +:ID: ab41c584-5be1-46b0-99e2-4d9eef2091aa +:END: +It has been a busy week. There are lots of changes in direction, and more to +come. I want to talk a little about all of them. + +** Carbs Linux Server Going Down + :PROPERTIES: + :ID: 7b2135a9-122c-495e-9bb0-b79fc39ef098 + :END: + +It became harder to maintain and pay for the server, and I will be shutting it +down in May. I am currently in the phase of carrying over everything to [[https://github.com/CarbsLinux][Github]]. +The repository and the website is served on Github now. I have also moved the +[[https://github.com/CarbsLinux/wiki/wiki][Wiki]] to Github and anyone can edit it there. There are some outdated posts that +I will be fixing around this week. + +I am not quite sure where to store the downloads page now. But I will be +switching that to a new source as well. (Maybe SourceHut?) + +I feel a little sad for switching, but serving on Github is faster, cheaper, and +hassle-free. + +** Forking KISS + :PROPERTIES: + :ID: 037cba41-3be3-4714-9512-ff896d600dae + :END: + +I had a personal fork of KISS, which I enjoyed thoroughly. I didn't intend to +make it the default when I started it, but it has matured enough to be so. The +package manager can now be found on [[https://github.com/CarbsLinux/kiss][this repository]]. See it for the added +changes. + +This will be a change for the better, as I can develop the package manager as it +fits my views. + +** Small Changes on the Website + :PROPERTIES: + :ID: b33e18eb-6f15-49e2-9c2b-473af26030f4 + :END: + +I have made some small changes on the website. The build is not dependent on +Plan9 utilities anymore. It was fun messing around with =rc= and =mk=, but they +are quite limited compared to POSIX shell. + +RSS feeds are finally working as intended, both for the [[https://carbslinux.org/news.xml][news]] section, and the +[[https://carbslinux.org/rss.xml][blog]] section. + +You can see every page's =.txt= output at the end of the page by clicking 'View +Page Source'. Meanwhile, I will be updating some pages to be a little more +'human-readable'. + +** Outsources Repository + :PROPERTIES: + :ID: 1856485d-22c8-4c58-b710-ee4fa4374f9d + :END: + +I have opened an =outsource= repository, which I will be pushing this week. I +will add a new post when I am ready to push it. I think it will be interesting, +it will also make more sense about the changes I have added to the package +manager. The now empty repository, can be found [[https://github.com/CarbsLinux/outsource][here]]! + +** New Tarball + :PROPERTIES: + :ID: 63a8a514-af1b-46d1-a4fe-c4e84d47d256 + :END: + +Finally, I have released a new tarball today, which can be obtained from the +[[https://dl.carbslinux.org/releases][downloads page]]. + +I am planning to add more of these update posts as I'm feeling better about the +website structure overall. +* Switching to New Website +:PROPERTIES: +:RSS_PERMALINK: 20200128.html +:PUBDATE: 2020-01-28 +:ID: b8735f8c-441c-45f2-ba47-73daf7ed511a +:END: +In case you haven't seen it before, this website was powered by [[http://werc.cat-v.org][werc]]. And even +though I liked it really much, it was too powerful for a small website like +this. + +So I have decided to reimplement this website with my own static generation +scripts. The source will probably be on [[https://git.carbslinux.org/website/log.html][its git repository]] when I decide to +publish the website. + +The generation requires Plan9 programs, although I have used them just for my +enthusiasm. I have built the site with a combination of mk (instead of make), +rc, and POSIX sh. I am not yet exactly familiar with rc, but I will replace the +shell scripts when I feel like I can. diff --git a/build b/build deleted file mode 100755 index 116ea89..0000000 --- a/build +++ /dev/null @@ -1,138 +0,0 @@ -#!/bin/sh -e - -ROOT=$PWD - -txt2html() { - printf '
\n'
-
-    # Convert [0-9] to links
-    sed -E 's|(.*[a-z].*)\[([0-9].*)\]|\1[\2]|g' "$1" |
-
-    # Add span id to sections
-    sed -E 's|^\[([0-9].*)\]|[\1]|' |
-
-    # Make links clickable
-    sed -E "s|(http[s]?://[^[:space:]\)]*)|\1|g"
-
-    printf '
\n' -} - -gettitle() { - 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() ( - 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 -) - - -tohtml() { - srcfile=${1#.} srcfile=${srcfile%.*}.txt - case "${1##*.}" in - md) markdown -f footnote -f fencedcode "$1" ;; - txt) txt2html "$1" ;; - esac | - - sed '/{{ CONTENT }}/r /dev/stdin' "$ROOT/templates/template.html" | - - sed "s#{{ TITLE }}#$(gettitle "$1" html)#" | - - sed '/{{ CONTENT }}/d' | - - sed "s|{{ SRC }}|$srcfile|" -} - -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")" \ - "${postdate}.html" - done >> src/blog/index.md -} - -site_index() { - cp index/index.md src/index.md - :> 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() { - find "$1" -type f ! -name index.md | sort -r | while read -r post ; do - postdate="${post##*/}" ; postdate="${postdate%.*}" - cat < -$(gettitle "$post") -$(date --date="$postdate" +%a,\ %d\ %b\ %Y) -Cem Keylan -https://carbslinux.org/${3:-blog/$(printf "${post##*/}" | sed 's/.md/.html/')} -$(grep -v '^Title: ' "$post" | markdown -f cdata) - -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() { - # Recreate docs directory - rm -rf docs; mkdir -p docs - - # Generate the indexes. - site_index; blog_index - - # Generate rss feeds - genrss index news index.html > src/news.xml - genrss src/blog > src/rss.xml - - # Generate documentation - command -v emacs >/dev/null && command -v makeinfo >/dev/null && { - git submodule update --init --remote -f --recursive - HTMLDIR=$PWD/src/docs redo texidocs/htmldocs - } - - # Generate pages - genpages -} - -main "$@" diff --git a/docs/404.html b/docs/404.html deleted file mode 100644 index 821cabf..0000000 --- a/docs/404.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - 404 | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

404

- -

Requested page not found.

- View Page Source -
- - - - diff --git a/docs/404.txt b/docs/404.txt deleted file mode 100644 index afd5166..0000000 --- a/docs/404.txt +++ /dev/null @@ -1,3 +0,0 @@ -# 404 - -Requested page not found. diff --git a/docs/blog/20200128.html b/docs/blog/20200128.html index 5b236a8..9b37a28 100644 --- a/docs/blog/20200128.html +++ b/docs/blog/20200128.html @@ -1,47 +1,59 @@ - - - - Switching to New Website | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

Switching to New Website

+ + + + + + +Switching to New Website + + + + + +
+ +
+
+
+

Switching to New Website

+

posted on 2020-01-28

+

+In case you haven't seen it before, this website was powered by werc. And even +though I liked it really much, it was too powerful for a small website like +this. +

-

In case you haven’t seen it before, this website -was powered by werc. And -even though I liked it really much, it was too -powerful for a small website like this.

+

+So I have decided to reimplement this website with my own static generation +scripts. The source will probably be on its git repository when I decide to +publish the website. +

-

So I have decided to reimplement this website with -my own static generation scripts. The source will -probably be on https://carbslinux.org/git/website/log.html -when I decide to publish the website.

- -

The generation requires Plan9 programs, although -I have used them just for my enthusiasm. I have built -the site with a combination of mk (instead of make), rc, -and POSIX sh. I am not yet exactly familiar with rc, -but I will replace the shell scripts when I feel like -I can.

- View Page Source -
- - - +

+The generation requires Plan9 programs, although I have used them just for my +enthusiasm. I have built the site with a combination of mk (instead of make), +rc, and POSIX sh. I am not yet exactly familiar with rc, but I will replace the +shell scripts when I feel like I can. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/blog/20200128.txt b/docs/blog/20200128.txt deleted file mode 100644 index 5c56b45..0000000 --- a/docs/blog/20200128.txt +++ /dev/null @@ -1,21 +0,0 @@ -Switching to New Website -======================== - -**Date:** Jan 28 2020 - -In case you haven't seen it before, this website -was powered by [werc](http://werc.cat-v.org). And -even though I liked it really much, it was too -powerful for a small website like this. - -So I have decided to reimplement this website with -my own static generation scripts. The source will -probably be on -when I decide to publish the website. - -The generation requires Plan9 programs, although -I have used them just for my enthusiasm. I have built -the site with a combination of mk (instead of make), rc, -and POSIX sh. I am not yet exactly familiar with rc, -but I will replace the shell scripts when I feel like -I can. diff --git a/docs/blog/20200406.html b/docs/blog/20200406.html index 18e0021..c0f3d5a 100644 --- a/docs/blog/20200406.html +++ b/docs/blog/20200406.html @@ -1,87 +1,134 @@ - - - - Roadmap for Carbs | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

Roadmap for Carbs

- -

It has been a busy week. There are lots of changes in -direction, and more to come. I want to talk a little -about all of them.

- -

Carbs Linux Server Going Down

- -

It became harder to maintain and pay for the server, and I will be -shutting it down in May. I am currently in the phase of -carrying over everything to Github. The repository and the -website is served on Github now. I have also moved the Wiki -to Github and anyone can edit it there. There are some outdated -posts that I will be fixing around this week.

- -

I am not quite sure where to store the downloads page now. But I -will be switching that to a new source as well. (Maybe Source Forge?)

- -

I feel a little sad for switching, but serving on Github is faster, -cheaper, and hassle-free.

- -

Forking KISS

- -

I had a personal fork of KISS, which I enjoyed thoroughly. I didn’t -intend to make it the default when I started it, but it has matured -enough to be so. The package manager can now be found on this repository. -See it for the added changes.

- -

This will be a change for the better, as I can develop the package -manager as it fits my views.

- -

Small Changes on the Website

- -

I have made some small changes on the website. The build is not dependent -on Plan9 utilities anymore. It was fun messing around with rc and mk, -but they are quite limited compared to POSIX shell.

- -

RSS feeds are finally working as intended, both for the news section, and -the blog secion.

- -

You can see every page’s .txt output at the end of the page by clicking -‘View Page Source’. Meanwhile, I will be updating some pages to be a little -more ‘human-readable’.

- -

Outsources Repository

- -

I have opened an outsource repository, which I will be pushing this week. -I will add a new post when I am ready to push it. I think it will be interesting, + + + + + + +Roadmap for Carbs + + + + + +

+ +
+
+
+

Roadmap for Carbs

+

posted on 2020-04-06

+

+It has been a busy week. There are lots of changes in direction, and more to +come. I want to talk a little about all of them. +

+ +
+

Carbs Linux Server Going Down

+
+

+It became harder to maintain and pay for the server, and I will be shutting it +down in May. I am currently in the phase of carrying over everything to Github. +The repository and the website is served on Github now. I have also moved the +Wiki to Github and anyone can edit it there. There are some outdated posts that +I will be fixing around this week. +

+ +

+I am not quite sure where to store the downloads page now. But I will be +switching that to a new source as well. (Maybe SourceHut?) +

+ +

+I feel a little sad for switching, but serving on Github is faster, cheaper, and +hassle-free. +

+
+
+ +
+

Forking KISS

+
+

+I had a personal fork of KISS, which I enjoyed thoroughly. I didn't intend to +make it the default when I started it, but it has matured enough to be so. The +package manager can now be found on this repository. See it for the added +changes. +

+ +

+This will be a change for the better, as I can develop the package manager as it +fits my views. +

+
+
+ +
+

Small Changes on the Website

+
+

+I have made some small changes on the website. The build is not dependent on +Plan9 utilities anymore. It was fun messing around with rc and mk, but they +are quite limited compared to POSIX shell. +

+ +

+RSS feeds are finally working as intended, both for the news section, and the +blog section. +

+ +

+You can see every page's .txt output at the end of the page by clicking 'View +Page Source'. Meanwhile, I will be updating some pages to be a little more +'human-readable'. +

+
+
+ +
+

Outsources Repository

+
+

+I have opened an outsource repository, which I will be pushing this week. I +will add a new post when I am ready to push it. I think it will be interesting, it will also make more sense about the changes I have added to the package -manager. The now empty repository, can be found here!

- -

New Tarball

- -

Finally, I have released a new tarball today, which can be obtained from the -downloads page.

- -

I am planning to add more of these update posts as I’m feeling better about -the website structure overall.

- -

- Cem

- View Page Source -
- - - +manager. The now empty repository, can be found here! +

+
+
+ +
+

New Tarball

+
+

+Finally, I have released a new tarball today, which can be obtained from the +downloads page. +

+ +

+I am planning to add more of these update posts as I'm feeling better about the +website structure overall. +

+
+
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/blog/20200406.txt b/docs/blog/20200406.txt deleted file mode 100644 index c695b69..0000000 --- a/docs/blog/20200406.txt +++ /dev/null @@ -1,84 +0,0 @@ -Roadmap for Carbs -================= - -It has been a busy week. There are lots of changes in -direction, and more to come. I want to talk a little -about all of them. - - -Carbs Linux Server Going Down ------------------------------ - -It became harder to maintain and pay for the server, and I will be -shutting it down in May. I am currently in the phase of -carrying over everything to [Github]. The repository and the -website is served on Github now. I have also moved the [Wiki] -to Github and anyone can edit it there. There are some outdated -posts that I will be fixing around this week. - -I am not quite sure where to store the downloads page now. But I -will be switching that to a new source as well. (Maybe Source Forge?) - -I feel a little sad for switching, but serving on Github is faster, -cheaper, and hassle-free. - -[Github]: https://github.com/CarbsLinux -[Wiki]: https://github.com/CarbsLinux/wiki/wiki - - -Forking KISS ------------- - -I had a personal fork of KISS, which I enjoyed thoroughly. I didn't -intend to make it the default when I started it, but it has matured -enough to be so. The package manager can now be found on [this repository]. -See it for the added changes. - -This will be a change for the better, as I can develop the package -manager as it fits my views. - -[this repository]: https://github.com/CarbsLinux/kiss - - -Small Changes on the Website ----------------------------- - -I have made some small changes on the website. The build is not dependent -on Plan9 utilities anymore. It was fun messing around with `rc` and `mk`, -but they are quite limited compared to POSIX shell. - -RSS feeds are finally working as intended, both for the [news] section, and -the [blog] secion. - -You can see every page's `.txt` output at the end of the page by clicking -'View Page Source'. Meanwhile, I will be updating some pages to be a little -more 'human-readable'. - -[news]: https://carbslinux.org/news.xml -[blog]: https://carbslinux.org/rss.xml - - -Outsources Repository ---------------------- - -I have opened an `outsource` repository, which I will be pushing this week. -I will add a new post when I am ready to push it. I think it will be interesting, -it will also make more sense about the changes I have added to the package -manager. The now empty repository, can be found [here]! - -[here]: https://github.com/CarbsLinux/outsource - - -New Tarball ------------ - -Finally, I have released a new tarball today, which can be obtained from the -[downloads page]. - -[downloads page]: https://dl.carbslinux.org/releases - - -I am planning to add more of these update posts as I'm feeling better about -the website structure overall. - -\- Cem diff --git a/docs/blog/20200410.html b/docs/blog/20200410.html index 1a9e638..03578d4 100644 --- a/docs/blog/20200410.html +++ b/docs/blog/20200410.html @@ -1,50 +1,68 @@ - - - - Outsource Repository Concept | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

Outsource Repository Concept

+ + + + + + +Outsource Repository Concept + + + + + +
+ +
+
+
+

Outsource Repository Concept

+

posted on 2020-04-10

+

+In April 3rd, I have added submodule support for Carbs Linux's fork of kiss. +Now, from that sentence, it really doesn't sound exciting at all. But in +reality, it opens a path to lots of creative output, and a better way to manage +multi-user repositories (such as KISS Community). +

-

When managing a repository of submodules, the repository -maintainer’s only job is to deal with adding packages. -A package maintainer doesn’t have to wait for the repository -maintainer to update their packages, as they are only making -the changes to their own repositories.

+

+When managing a repository of submodules, the repository maintainer's only job +is to deal with adding packages. A package maintainer doesn't have to wait for +the repository maintainer to update their packages, as they are only making the +changes to their own repositories. +

-

This way, an end-user can also track from their preferred -maintainers, and do that with the tidyness of a single repository -in their KISS_PATH.

+

+This way, an end-user can also track from their preferred maintainers, and do +that with the tidyness of a single repository in their KISS_PATH. +

-

Carbs Linux now has an outsource repository for some packages. -Firefox and its dependencies have been purged from the main repository, -but can be found on it.

+

+Carbs Linux now has an outsource repository for some packages. Firefox and its +dependencies have been purged from the main repository, but can be found on it. +

-

https://github.com/CarbsLinux/outsource

- View Page Source -
- - - +

+https://github.com/CarbsLinux/outsource +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/blog/20200410.txt b/docs/blog/20200410.txt deleted file mode 100644 index f6edffe..0000000 --- a/docs/blog/20200410.txt +++ /dev/null @@ -1,24 +0,0 @@ -Outsource Repository Concept -============================ - -In April 3rd, I have added submodule support for Carbs -Linux's fork of `kiss`. Now, from that sentence, it really -doesn't sound exciting at all. But in reality, it opens a -path to lots of creative output, and a better way to manage -multi-user repositories (such as KISS Community). - -When managing a repository of submodules, the repository -maintainer's only job is to deal with adding packages. -A package maintainer doesn't have to wait for the repository -maintainer to update their packages, as they are only making -the changes to their own repositories. - -This way, an end-user can also track from their preferred -maintainers, and do that with the tidyness of a single repository -in their `KISS_PATH`. - -Carbs Linux now has an outsource repository for some packages. -Firefox and its dependencies have been purged from the main repository, -but can be found on it. - - diff --git a/docs/blog/20200508.html b/docs/blog/20200508.html index e97b5ff..6bdd7ed 100644 --- a/docs/blog/20200508.html +++ b/docs/blog/20200508.html @@ -1,146 +1,184 @@ - - - - The Relation of Carbs and KISS | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

The Relation of Carbs and KISS

- -

Date: May 08 2020

- -

Since I have forked KISS, I have received many questions -that can be summarized as “Why?”. I have realized that I -never truly answered this question. That’s the reason I am -writing this post, to give some background on Carbs, and -some differences between KISS Linux and Carbs Linux for -anyone who may be wondering. Perhaps I could make this a -“FAQ” page later on.

- -

History

- -

I had the idea of creating my own Linux distribution since -the May of 2019. Back then, I had my own Linux from Scratch -build, and I wanted to slim it down my own way and replace -the software (with musl,sbase,etc.). The name Carbs Linux -was in my mind since then. I wanted to write my own package -manager, but I wasn’t satisfied with anything I had built.

- -

I had written some incomplete package managers (all named fat) -and I quickly threw them into the trash can, where they -honestly belonged. I would want to share them with you for -laughs, but my hard-drive got wiped and I have a problem -of not doing an “initial commit” until a program I write -is in a usable state.

- -

I have obtained the ‘carbslinux.org’ domain name in September -2019, but then life got on the way, and I stopped for a long -time.

- -

One day on Reddit, I saw Dylan’s post on r/unixporn about -KISS, and I really thought that it was interesting. Here is -my comment to Dylan on that post. I checked out the package -manager and the repository. The packaging system was extremely -clean and well-thought. I decided to give it a go and fork -KISS.

- -

Differences between KISS and Carbs

- -

Now, I still baffle when people ask me this question. My -intention was never to create a distribution with specific -differences between KISS. My intention was being my own -BDFL of a distribution I maintain. There are lots of -differences between the main repositories, but they are subtle -and not worth talking about. I personally never even installed -KISS Linux on my system. So Carbs, isn’t something like a -downstream fork of KISS, it is just a distribution that was -initially based on KISS.

- -

I try to contribute as much as I can to KISS Linux. I think -that it is a brilliant distribution, and it was a great starting -point for Carbs. I am really grateful to Dylan and all the -other contributors.

- -

What I’m working on now

- -

Currently I have a few projects that I’m working on for Carbs. -These are,

- -

A BSD port for Carbs. For a while, I have been working on BSD -compatibility on my fork of the package manager. I have tested, -without any more issues, on OpenBSD and FreeBSD. The biggest -issues remaining are choosing a vendor for BSD, packaging the -BSD source, and providing a minimal base (like busybox for BSD). -If you aren’t familiar with BSD, it has a single source code -for all of the utilities (kernel, command line programs, etc.). -Contributions (even chipping in ideas) are very welcome.

- -

Adding binary package distribution support natively to the package -manager. Biggest issue in small/old computers are compile times. -This feature is for the bigger packages such as webkit, clang, -llvm that take a considerable amount of time. Some computers -with low memories cannot even compile firefox/webkit.

- -

Adding rsync repository support to the package manager. This -is not a current issue, but rather a futureproofing. As time -passes, distribution repositories grow larger. KISS and Carbs -are young distributions without this problem right now. But -in something like 5 years, this size will presumably increase -to hundreds of megabytes. At that point it will be pointless -to have the repository sources unless you specifically need them.

- -

What’s up with all the init/service daemons?

- -

If you have ever checked the repository, you may have noticed -that there are lots of init/service related packages. I have had -my fair share of time with all of them, and it is an area that I -am really interested in. I have even written my own init daemon -and service supervisor. I maintain all those packages on KISS -Community Repository as well with the exception of busybox. Those -are, busybox init/runit, runit, sinit, and sysmgr. I would -definitely recommend checking out shinit and sysmgr.

- -

Why I don’t publicize Carbs

- -

There are a couple of reasons I don’t publicize Carbs a lot.

- -

KISS is the better alternative in terms of support and community. -I work on maintaining this distribution just as hard as Dylan, -but in the end, Carbs is based on his original hard work, and I -believe that he deserves the recognition more than I do.

- -

Since I cannot answer questions like “What is the difference?”, I -prefer staying as the silent sibling project of KISS Linux. Plus, -there is no point in dividing the newly-emerging community in half.

- -

That’s not because I don’t have ideas for the future of Carbs, I -do. I just think that I will deserve the recognition once those -above lists are checked.

- -

I think that’s about it, if you have questions you can send me a -mail, ping me on IRC (my handle is merakor), and I will be happy -to answer. Maybe your question fits this post, and I can update it -to thoroughly give an explanation.

- -

Cheers, -Cem

- View Page Source -
- - - + + + + + + +The Relation of Carbs and KISS + + + + + +
+ +
+
+
+

The Relation of Carbs and KISS

+

posted on 2020-05-08

+

+Since I have forked KISS, I have received many questions that can be summarized +as "Why?". I have realized that I never truly answered this question. That's the +reason I am writing this post, to give some background on Carbs, and some +differences between KISS Linux and Carbs Linux for anyone who may be wondering. +Perhaps I could make this a "FAQ" page later on. +

+ +
+

History

+
+

+I had the idea of creating my own Linux distribution since the May of 2019. Back +then, I had my own Linux from Scratch build, and I wanted to slim it down my +own way and replace the software (with musl,sbase,etc.). The name Carbs Linux +was in my mind since then. I wanted to write my own package manager, but I +wasn't satisfied with anything I had built. +

+ +

+I had written some incomplete package managers (all named fat) and I quickly +threw them into the trash can, where they honestly belonged. I would want to +share them with you for laughs, but my hard-drive got wiped and I have a problem +of not doing an "initial commit" until a program I write is in a usable state. +

+ +

+I have obtained the 'carbslinux.org' domain name in September 2019, but then +life got on the way, and I stopped for a long time. +

+ +

+One day on Reddit, I saw Dylan's post on r/unixporn about KISS, and I really +thought that it was interesting. Here is my comment to Dylan on that post. I +checked out the package manager and the repository. The packaging system was +extremely clean and well-thought. I decided to give it a go and fork KISS. +

+
+
+ +
+

Differences between KISS and Carbs

+
+

+Now, I still baffle when people ask me this question. My intention was never to +create a distribution with specific differences between KISS. My intention was +being my own BDFL of a distribution I maintain. There are lots of differences +between the main repositories, but they are subtle and not worth talking about. +I personally never even installed KISS Linux on my system. So Carbs, isn't +something like a downstream fork of KISS, it is just a distribution that was +initially based on KISS. +

+ +

+I try to contribute as much as I can to KISS Linux. I think that it is a +brilliant distribution, and it was a great starting point for Carbs. I am really +grateful to Dylan and all the other contributors. +

+
+
+ +
+

What I'm working on now

+
+

+Currently I have a few projects that I'm working on for Carbs. These are, +

+ +

+A BSD port for Carbs. For a while, I have been working on BSD compatibility on +my fork of the [package manager]. I have tested, without any more issues, on +OpenBSD and FreeBSD. The biggest issues remaining are choosing a vendor for BSD, +packaging the BSD source, and providing a minimal base (like busybox for BSD). +If you aren't familiar with BSD, it has a single source code for all of the +utilities (kernel, command line programs, etc.). Contributions (even chipping in +ideas) are very welcome. +

+ +

+Adding binary package distribution support natively to the package manager. +Biggest issue in small/old computers are compile times. This feature is for the +bigger packages such as webkit, clang, llvm that take a considerable amount of +time. Some computers with low memories cannot even compile firefox/webkit. +

+ +

+Adding rsync repository support to the package manager. This is not a current +issue, but rather a futureproofing. As time passes, distribution repositories +grow larger. KISS and Carbs are young distributions without this problem right +now. But in something like 5 years, this size will presumably increase to +hundreds of megabytes. At that point it will be pointless to have the repository +sources unless you specifically need them. +

+
+
+ +
+

What's up with all the init/service daemons?

+
+

+If you have ever checked the repository, you may have noticed that there are +lots of init/service related packages. I have had my fair share of time with all +of them, and it is an area that I am really interested in. I have even written +my own init daemon and service supervisor. I maintain all those packages on KISS +Community Repository as well with the exception of busybox. Those are, busybox +init/runit, runit, sinit, and sysmgr. I would definitely recommend +checking out shinit and sysmgr. +

+
+
+ +
+

Why I don't publicize Carbs

+
+

+There are a couple of reasons I don't publicize Carbs a lot. +

+ +

+KISS is the better alternative in terms of support and community. I work on +maintaining this distribution just as hard as Dylan, but in the end, Carbs is +based on his original hard work, and I believe that he deserves the recognition +more than I do. +

+ +

+Since I cannot answer questions like "What is the difference?", I prefer staying +as the silent sibling project of KISS Linux. Plus, there is no point in dividing +the newly-emerging community in half. +

+ +

+That's not because I don't have ideas for the future of Carbs, I do. I just +think that I will deserve the recognition once those above lists are checked. +

+ +

+I think that's about it, if you have questions you can send me a mail, ping me +on IRC (my handle is merakor), and I will be happy to answer. Maybe your +question fits this post, and I can update it to thoroughly give an explanation. +

+
+
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/blog/20200508.txt b/docs/blog/20200508.txt deleted file mode 100644 index f1b2cdd..0000000 --- a/docs/blog/20200508.txt +++ /dev/null @@ -1,141 +0,0 @@ -The Relation of Carbs and KISS -============================== - -**Date:** May 08 2020 - -Since I have forked KISS, I have received many questions -that can be summarized as "Why?". I have realized that I -never truly answered this question. That's the reason I am -writing this post, to give some background on Carbs, and -some differences between KISS Linux and Carbs Linux for -anyone who may be wondering. Perhaps I could make this a -"FAQ" page later on. - -History -------- - -I had the idea of creating my own Linux distribution since -the May of 2019. Back then, I had my own [Linux from Scratch] -build, and I wanted to slim it down my own way and replace -the software (with musl,sbase,etc.). The name Carbs Linux -was in my mind since then. I wanted to write my own package -manager, but I wasn't satisfied with anything I had built. - -I had written some incomplete package managers (all named `fat`) -and I quickly threw them into the trash can, where they -honestly belonged. I would want to share them with you for -laughs, but my hard-drive got wiped and I have a problem -of not doing an "initial commit" until a program I write -is in a usable state. - -I have obtained the 'carbslinux.org' domain name in September -2019, but then life got on the way, and I stopped for a long -time. - -One day on Reddit, I saw Dylan's post on [r/unixporn] about -KISS, and I really thought that it was interesting. Here is -my [comment] to Dylan on that post. I checked out the package -manager and the repository. The packaging system was extremely -clean and well-thought. I decided to give it a go and fork -KISS. - -[Linux from Scratch]: https://linuxfromscratch.org -[r/unixporn]: https://reddit.com/r/unixporn -[comment]: https://www.reddit.com/r/unixporn/comments/ducd34/sowm_kiss_d/f7lua7x - - -Differences between KISS and Carbs ----------------------------------- - -Now, I still baffle when people ask me this question. My -intention was never to create a distribution with specific -differences between KISS. My intention was being my own -BDFL of a distribution I maintain. There are lots of -differences between the main repositories, but they are subtle -and not worth talking about. I personally never even installed -KISS Linux on my system. So Carbs, isn't something like a -downstream fork of KISS, it is just a distribution that was -initially based on KISS. - -I try to contribute as much as I can to KISS Linux. I think -that it is a brilliant distribution, and it was a great starting -point for Carbs. I am really grateful to Dylan and all the -other contributors. - - -What I'm working on now ------------------------ - -Currently I have a few projects that I'm working on for Carbs. -These are, - -A BSD port for Carbs. For a while, I have been working on BSD -compatibility on my fork of the [package manager]. I have tested, -without any more issues, on OpenBSD and FreeBSD. The biggest -issues remaining are choosing a vendor for BSD, packaging the -BSD source, and providing a minimal base (like busybox for BSD). -If you aren't familiar with BSD, it has a single source code -for all of the utilities (kernel, command line programs, etc.). -Contributions (even chipping in ideas) are very welcome. - -Adding binary package distribution support natively to the package -manager. Biggest issue in small/old computers are compile times. -This feature is for the bigger packages such as webkit, clang, -llvm that take a considerable amount of time. Some computers -with low memories cannot even compile firefox/webkit. - -Adding rsync repository support to the package manager. This -is not a current issue, but rather a futureproofing. As time -passes, distribution repositories grow larger. KISS and Carbs -are young distributions without this problem right now. But -in something like 5 years, this size will presumably increase -to hundreds of megabytes. At that point it will be pointless -to have the repository sources unless you specifically need them. - - -[package manager]: https://github.com/carbslinux/kiss - - -What's up with all the init/service daemons? --------------------------------------------- - -If you have ever checked the [repository], you may have noticed -that there are lots of init/service related packages. I have had -my fair share of time with all of them, and it is an area that I -am really interested in. I have even written my own [init daemon] -and [service supervisor]. I maintain all those packages on KISS -Community Repository as well with the exception of busybox. Those -are, `busybox init/runit`, `runit`, `sinit`, and `sysmgr`. I would -definitely recommend checking out `shinit` and `sysmgr`. - -[repository]: https://github.com/carbslinux/repository -[init daemon]: https://github.com/cemkeylan/shinit -[service supervisor]: https://github.com/cemkeylan/sysmgr - - -Why I don't publicize Carbs ---------------------------- - -There are a couple of reasons I don't publicize Carbs a lot. - -KISS is the better alternative in terms of support and community. -I work on maintaining this distribution just as hard as Dylan, -but in the end, Carbs is based on his original hard work, and I -believe that he deserves the recognition more than I do. - -Since I cannot answer questions like "What is the difference?", I -prefer staying as the silent sibling project of KISS Linux. Plus, -there is no point in dividing the newly-emerging community in half. - -That's not because I don't have ideas for the future of Carbs, I -do. I just think that I will deserve the recognition once those -above lists are checked. - - -I think that's about it, if you have questions you can send me a -mail, ping me on IRC (my handle is `merakor`), and I will be happy -to answer. Maybe your question fits this post, and I can update it -to thoroughly give an explanation. - -Cheers, -Cem diff --git a/docs/blog/20200528.html b/docs/blog/20200528.html index 0685a87..119a7ea 100644 --- a/docs/blog/20200528.html +++ b/docs/blog/20200528.html @@ -1,70 +1,91 @@ - - - - kiss 2.0.0 and overall changes | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

kiss 2.0.0 and overall changes

+ + + + + + +kiss 2.0.0 and Overall Changes + + + + + +
+ +
+
+
+

kiss 2.0.0 and Overall Changes

+

posted on 2020-05-28

+

+Carbs Linux kiss version 2.0.0 has been released which introduces rsync +repositories. +

-

Git is no longer a mandatory dependency for the package manager, -every git source on the core repository has been replaced with -https sources (sbase, sinit), and rootfs tarballs will no longer -ship with git. Repositories in the upcoming tarball will be rsync -repositories.

+

+Git is no longer a mandatory dependency for the package manager, every git +source on the core repository has been replaced with https sources (sbase, +sinit), and rootfs tarballs will no longer ship with git. Repositories in the +upcoming tarball will be rsync repositories. +

-

Git is now on the extra repository and is still (optionally) -used in the package manager.

+

+Git is now on the extra repository and is still (optionally) used in the +package manager. +

-

The idea behind this change is size reductions and increased -speed with rsync. As I said on the previous post, git repositories -get larger and larger over the time span. Currently my personal -copy of the git repository is around 77MB and I have forked KISS -Linux (as a shallow copy) around December. Obviously, I have commits -that I ommitted. I tend to create commits I dislike, which I change -with ‘git reset –soft HEAD^’, which doesn’t actually remove the -commits, etc. A user will have a repository much smaller than mine.

+

+The idea behind this change is size reductions and increased speed with rsync. +As I said on the previous post, git repositories get larger and larger over the +time span. Currently my personal copy of the git repository is around 77MB and I +have forked KISS Linux (as a shallow copy) around December. Obviously, I have +commits that I ommitted. I tend to create commits I dislike, which I change with +git reset --soft HEAD^, which doesn't actually remove the commits, etc. A user +will have a repository much smaller than mine. +

-

This is a precaution with the added bonuses of speed and dropping a -mandatory dependency.

+

+This is a precaution with the added bonuses of speed and dropping a mandatory +dependency. +

-

You can see the rest of the changelog here.

+

+You can see the rest of the changelog here. +

-

Binary Repositories

- -

A few days ago, I have also published kiss-bin, a first version -for managing binary repositories. Currently, there are some caveats -that I’ll be fixing along the way. I decided not to include this -in the package manager natively as managing the source based and -binary based packages together adds levels of complexity that we -do not want. Instead, this is an extension for kiss which sources -the package manager as a library. I hope to see it being adopted -by others interested on the matter as well.

- -

That’s about it.

- -

Cheers, -Cem

- View Page Source -
- - - +
+

Binary Repositories

+
+

+A few days ago, I have also published kiss-bin, a first version for managing +binary repositories. Currently, there are some caveats that I'll be fixing along +the way. I decided not to include this in the package manager natively as +managing the source based and binary based packages together adds levels of +complexity that we do not want. Instead, this is an extension for kiss which +sources the package manager as a library. I hope to see it being adopted by +others interested on the matter as well. +

+
+
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/blog/20200528.txt b/docs/blog/20200528.txt deleted file mode 100644 index 9ceaec5..0000000 --- a/docs/blog/20200528.txt +++ /dev/null @@ -1,51 +0,0 @@ -kiss 2.0.0 and overall changes -==================================================================== - -Carbs Linux kiss version 2.0.0 has been released which introduces -rsync repositories. - -Git is no longer a mandatory dependency for the package manager, -every git source on the core repository has been replaced with -https sources (sbase, sinit), and rootfs tarballs will no longer -ship with git. Repositories in the upcoming tarball will be rsync -repositories. - -Git is now on the `extra` repository and is still (optionally) -used in the package manager. - -The idea behind this change is size reductions and increased -speed with rsync. As I said on the previous post, git repositories -get larger and larger over the time span. Currently my personal -copy of the git repository is around 77MB and I have forked KISS -Linux (as a shallow copy) around December. Obviously, I have commits -that I ommitted. I tend to create commits I dislike, which I change -with 'git reset --soft HEAD^', which doesn't actually remove the -commits, etc. A user will have a repository much smaller than mine. - -This is a precaution with the added bonuses of speed and dropping a -mandatory dependency. - -You can see the rest of the changelog [here]. - -[here]: https://github.com/CarbsLinux/kiss/blob/master/CHANGELOG.md - - -Binary Repositories -------------------- - -A few days ago, I have also published [kiss-bin], a first version -for managing binary repositories. Currently, there are some caveats -that I'll be fixing along the way. I decided not to include this -in the package manager natively as managing the source based and -binary based packages together adds levels of complexity that we -do not want. Instead, this is an extension for kiss which sources -the package manager as a library. I hope to see it being adopted -by others interested on the matter as well. - - -[kiss-bin]: https://github.com/CarbsLinux/kiss-bin - -That's about it. - -Cheers, -Cem diff --git a/docs/blog/20200617.html b/docs/blog/20200617.html index 8675dae..4373b0e 100644 --- a/docs/blog/20200617.html +++ b/docs/blog/20200617.html @@ -1,54 +1,79 @@ - - - - June Newspost | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

June Newspost

- -

This will be an active month for Carbs as major changes to the base and the -package manager will be coming up.

- -

Statically linking the base

- -

For the past couple of weeks I have been trying to simplify the base and + + + + + + +June Newspost + + + + + +

+ +
+
+
+

June Newspost

+

posted on 2020-06-17

+

+This will be an active month for Carbs as major changes to the base and the +package manager will be coming up. +

+ +
+

Statically linking the base

+
+

+For the past couple of weeks I have been trying to simplify the base and statically link the core (mostly binaries rather than libraries). I usually see some people extremely opposed to static linking as I also see the opposite on -people.

+people. +

-

I believe that binaries on the core should always be linked statically. This +

+I believe that binaries on the core should always be linked statically. This ensures that an SONAME bump to libObscure.so will not break the core functionality of your system, forcing you to use external resources to recover from such an issue. As long as you can compile, use core utilities, edit text, -and access the web, you can solve any given issue on your system.

+and access the web, you can solve any given issue on your system. +

-

However, I don’t think that removing shared libraries is sensible either. Not +

+However, I don't think that removing shared libraries is sensible either. Not every piece of software out there is good quality enough to be statically -linked.

- -

Major changes on the core repository

- -

There have been drastic changes to the core repository and the base rootfs this -month (with more on the way). Right now changes are as follows.

- -

Removed from Core

- -
    +linked. +

    +
+
+ +
+

Major changes on the core repository

+
+

+There have been drastic changes to the core repository and the base rootfs this +month (with more on the way). Right now changes are as follows. +

+
+ +
+

Removed from Core

+
+
  • git
  • libressl
  • grub
  • @@ -56,19 +81,23 @@ month (with more on the way). Right now changes are as follows.

  • dhcpcd
  • ubase
+
+
- -

Added to Core

- -
    +
    +

    Added to Core

    +
    +
    • bearssl, as a libressl replacement
    • byacc, as a bison replacement
    +
    +
    - -

    Statically linked

    - -
      +
      +

      Statically linked

      +
      +
      • kiss
      • neatvi
      • mandoc
      • @@ -82,23 +111,38 @@ month (with more on the way). Right now changes are as follows.

      • wpa_supplicant
      • bearssl
      - - -

      Making the wiki available offline

      - -

      Soon, all documentation regarding Carbs Linux will be avaialable to be installed +

      +
      +
+ +
+

Making the wiki available offline

+
+

+Soon, all documentation regarding Carbs Linux will be avaialable to be installed from the core repository in a carbs-docs package along with its own document crawler. Currently, the documentation regarding the installation process is a -little outdated which will also receive some important updates.

- -

ISO image for Carbs

- -

I am thinking of releasing an ISO image in order to provide a standardized +little outdated which will also receive some important updates. +

+
+
+ +
+

ISO image for Carbs

+
+

+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 arch-install-scripts. Let’s see how that’s going to play out.

- View Page Source -
- - - +of arch-install-scripts. Let's see how that's going to play out. +

+
+
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/blog/20200617.txt b/docs/blog/20200617.txt deleted file mode 100644 index 9938896..0000000 --- a/docs/blog/20200617.txt +++ /dev/null @@ -1,74 +0,0 @@ -June Newspost -================================================================================ - -This will be an active month for Carbs as major changes to the base and the -package manager will be coming up. - - -Statically linking the base --------------------------------------------------------------------------------- - -For the past couple of weeks I have been trying to simplify the base and -statically link the core (mostly binaries rather than libraries). I usually see -some people extremely opposed to static linking as I also see the opposite on -people. - -I believe that binaries on the core should always be linked statically. This -ensures that an SONAME bump to `libObscure.so` will not break the core -functionality of your system, forcing you to use external resources to recover -from such an issue. As long as you can compile, use core utilities, edit text, -and access the web, you can solve any given issue on your system. - -However, I don't think that removing shared libraries is sensible either. Not -every piece of software out there is good quality enough to be statically -linked. - - -Major changes on the core repository --------------------------------------------------------------------------------- - -There have been drastic changes to the core repository and the base rootfs this -month (with more on the way). Right now changes are as follows. - -### Removed from Core -- `git` -- `libressl` -- `grub` -- `bison` -- `dhcpcd` -- `ubase` - -### Added to Core -- `bearssl`, as a `libressl` replacement -- `byacc`, as a `bison` replacement - -### Statically linked -- `kiss` -- `neatvi` -- `mandoc` -- `byacc` -- `m4` -- `e2fsprogs` -- `make` -- `pkgconf` -- `sbase` -- `libnl` -- `wpa_supplicant` -- `bearssl` - - -Making the wiki available offline --------------------------------------------------------------------------------- - -Soon, all documentation regarding Carbs Linux will be avaialable to be installed -from the core repository in a `carbs-docs` package along with its own document -crawler. Currently, the documentation regarding the installation process is a -little outdated which will also receive some important updates. - - -ISO image for Carbs --------------------------------------------------------------------------------- - -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 `arch-install-scripts`. Let's see how that's going to play out. diff --git a/docs/blog/20200803.html b/docs/blog/20200803.html index e715a06..d62214b 100644 --- a/docs/blog/20200803.html +++ b/docs/blog/20200803.html @@ -1,105 +1,133 @@ - - - - August 2020 News Post | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

August 2020 News Post

- -

We are having some stalls during this summer, as I am currently working on + + + + + + +August 2020 News Post + + + + + +

+ +
+
+
+

August 2020 News Post

+

posted on 2020-08-03

+

+We are having some stalls during this summer, as I am currently working on university-related stuff. Nonetheless, there are some important changes that I -want to share in this month’s post.

- -

INDEX

+want to share in this month's post. +

+ - -

Carbs Packaging Tools

- -

This month I have reworked kiss into a new package manager, now renamed as -cpt. Updating kiss will now bootstrap the new package manager, so you don’t -have to manually edit your system. If you don’t like the idea of this, you can -look up the post-install script on core/kiss and apply the changes manually.

- -

You will also need to rename your KISS* variables to CPT*. So, KISS_PATH -becomes CPT_PATH.

- -

The rework changes the previous commands on the package manager into standalone +

+

Carbs Packaging Tools

+
+

+This month I have reworked kiss into a new package manager, now renamed as +cpt. Updating kiss will now bootstrap the new package manager, so you don't +have to manually edit your system. If you don't like the idea of this, you can +look up the post-install script on core/kiss and apply the changes manually. +

+ +

+You will also need to rename your KISS_* variables to CPT_*. So, KISS_PATH +becomes CPT_PATH. +

+ +

+The rework changes the previous commands on the package manager into standalone tools, and move the package manager functions to a library. This makes it easier for a user to import functions and variables from the package manager, and extend the package manager with their own intended way. Previously this required ugly hacks and workarounds to use the package manager functions. I will be making use of these changes to re-implement binary package management functions -as well.

- -

If you want to use the library on your script you can simply do this:

- -
+--------------------------------------------------------------------------+
-|                                                                          |
-| #!/bin/sh                                                                |
-| . cpt-lib                                                                |
-| (...)                                                                    |
-|                                                                          |
-+--------------------------------------------------------------------------+
-
- -

There are obviously some clean-up and simplifications needed in this new -tool-based package management method.

+as well. +

+ +

+If you want to use the library on your script you can simply do this: +

+ +
+
#!/bin/sh
+. cpt-lib
+(...)
+
+
-

Docs

+

+There are obviously some clean-up and simplifications needed in this new +tool-based package management method. +

+
+
-

I have added documentation for the distribution, and finally updated the guide -for installation. It is now almost complete. These docs can be installed to +

+

Docs

+
+

+I have added documentation for the distribution, and finally updated the guide +for installation. It is now almost complete. These docs can be installed to your system for online viewing. I will also add a documentation crawler similar -to how werc1 works (but as an offline viewer). You can find carbs-docs from +to how werc works (but as an offline viewer). You can find carbs-docs from the repository. Currently, the documentation lacks but I will be adding new stuff. These will solely be distribution specific documentation and will not be a wiki-like source. If anyone would like to contribute to a wiki-like documentation source, I would happily re-open the distribution wiki. You can -find the source on https://github.com/CarbsLinux/docs

- -

Re-opening the Carbs Linux server

+find the source on https://github.com/CarbsLinux/docs. +

+
+
-

Back in May, I had shutdown the Carbs Linux server due to financial issues, but +

+

Re-opening the Carbs Linux server

+
+

+Back in May, I had shutdown the Carbs Linux server due to financial issues, but I am slowly reverting to the self-hosted model. Back then, the git repositories were mirrored to GitHub, and the management was overall much more flexible. The server used to run Carbs Linux as well (that was fun and horrifying at the same time). Now, I will be relaunching the git server which will be the upstream source before August 5. You can switch your remote, but GitHub will stay as a -remote nonetheless.

+remote nonetheless. +

-

EDIT: The git-server is up!

-
-
-
    -
  1. -http://werc.cat-v.org
  2. -
+

+EDIT: The git-server is up! +

- - View Page Source -
- - - +
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/blog/20200803.txt b/docs/blog/20200803.txt deleted file mode 100644 index eaee932..0000000 --- a/docs/blog/20200803.txt +++ /dev/null @@ -1,77 +0,0 @@ -August 2020 News Post -================================================================================ - -We are having some stalls during this summer, as I am currently working on -university-related stuff. Nonetheless, there are some important changes that I -want to share in this month's post. - -INDEX --------------------------------------------------------------------------------- - -- [Carbs Packaging Tools](#carbs-packaging-tools) -- [Docs](#docs) -- [Re-opening the Carbs Linux server](#re-opening-the-carbs-linux-server) - - -Carbs Packaging Tools --------------------------------------------------------------------------------- - -This month I have reworked `kiss` into a new package manager, now renamed as -`cpt`. Updating `kiss` will now bootstrap the new package manager, so you don't -have to manually edit your system. If you don't like the idea of this, you can -look up the `post-install` script on `core/kiss` and apply the changes manually. - -You will also need to rename your KISS_* variables to CPT_*. So, KISS_PATH -becomes CPT_PATH. - -The rework changes the previous commands on the package manager into standalone -tools, and move the package manager functions to a library. This makes it easier -for a user to import functions and variables from the package manager, and -extend the package manager with their own intended way. Previously this required -ugly hacks and workarounds to use the package manager functions. I will be -making use of these changes to re-implement binary package management functions -as well. - -If you want to use the library on your script you can simply do this: - - +--------------------------------------------------------------------------+ - | | - | #!/bin/sh | - | . cpt-lib | - | (...) | - | | - +--------------------------------------------------------------------------+ - -There are obviously some clean-up and simplifications needed in this new -tool-based package management method. - - -Docs --------------------------------------------------------------------------------- - -I have added documentation for the distribution, and finally updated the guide -for installation. It is now _almost_ complete. These docs can be installed to -your system for online viewing. I will also add a documentation crawler similar -to how werc[^1] works (but as an offline viewer). You can find `carbs-docs` from -the repository. Currently, the documentation lacks but I will be adding new -stuff. These will solely be distribution specific documentation and will not be -a wiki-like source. If anyone would like to contribute to a wiki-like -documentation source, I would happily re-open the distribution wiki. You can -find the source on https://github.com/CarbsLinux/docs - - -Re-opening the Carbs Linux server --------------------------------------------------------------------------------- - -Back in May, I had shutdown the Carbs Linux server due to financial issues, but -I am slowly reverting to the self-hosted model. Back then, the git repositories -were mirrored to GitHub, and the management was overall much more flexible. The -server used to run Carbs Linux as well (that was fun and horrifying at the same -time). Now, I will be relaunching the git server which will be the upstream -source before August 5. You can switch your remote, but GitHub will stay as a -remote nonetheless. - -EDIT: The git-server is up! - - -[^1]: http://werc.cat-v.org diff --git a/docs/blog/20201210.html b/docs/blog/20201210.html index 71826da..f45a807 100644 --- a/docs/blog/20201210.html +++ b/docs/blog/20201210.html @@ -1,32 +1,43 @@ - - - - First Year of Carbs Linux | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

First Year of Carbs Linux

+ + + + + + +First Year of Carbs Linux + + + + + +
+ +
+
+
+

First Year of Carbs Linux

+

posted on 2020-12-10

+

+December 10, 2020 marks the first year after the initial release of Carbs Linux. +When I forked the KISS Linux repository on the 9th of December, I was fairly new +to package management. Carbs Linux used to be almost identical to KISS Linux. A +lot has changed since then: +

-
    +
    • [2020 Jan 13] Replaced default init system to sinit
    • [2020 Jan 15] Packaged WebKit2GTK
    • [2020 May 17] Added bearssl on the testing repository
    • @@ -36,15 +47,19 @@ KISS Linux. A lot has changed since then:

    • [2020 Jun 24] Replaced kiss with cpt
    - -

    I have really enjoyed maintaining and developing this distribution, and I want +

    +I have really enjoyed maintaining and developing this distribution, and I want to thank everyone who was involved in some way or another. While I have slowed down in development due to college workload, I am still actively maintaining all the packages on the repository. I do have some ideas that I am thinking of -implementing during the semester break. Hope to see you all in January.

    - View Page Source -
    - - - +implementing during the semester break. Hope to see you all in January. +

    +
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/blog/20201210.txt b/docs/blog/20201210.txt deleted file mode 100644 index d4ef484..0000000 --- a/docs/blog/20201210.txt +++ /dev/null @@ -1,21 +0,0 @@ -First Year of Carbs Linux -================================================================================ - -December 10, 2020 marks the first year after the initial release of Carbs -Linux. When I forked the KISS Linux repository on the 9th of December, I was -fairly new to package management. Carbs Linux used to be almost identical to -KISS Linux. A lot has changed since then: - -- [2020 Jan 13] Replaced default init system to `sinit` -- [2020 Jan 15] Packaged `WebKit2GTK` -- [2020 May 17] Added `bearssl` on the testing repository -- [2020 May 28] Added `rsync` repository support to kiss -- [2020 Jun 03] Replaced `bison` with `byacc` -- [2020 Jun 11] Replaced `libressl` with `bearssl` -- [2020 Jun 24] Replaced `kiss` with `cpt` - -I have really enjoyed maintaining and developing this distribution, and I want -to thank everyone who was involved in some way or another. While I have slowed -down in development due to college workload, I am still actively maintaining all -the packages on the repository. I do have some ideas that I am thinking of -implementing during the semester break. Hope to see you all in January. diff --git a/docs/blog/index.html b/docs/blog/index.html index 6e0e471..1585eb8 100644 --- a/docs/blog/index.html +++ b/docs/blog/index.html @@ -1,42 +1,53 @@ - - - - Blog Index | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

Blog Index

+ + + + + + +Blog Index + + + + + +
+ +
+
+
+

Blog Index

+

+This is the Carbs Linux blog index. You can find every post here. RSS Feed +

+ - - View Page Source -
- - - +
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/blog/index.txt b/docs/blog/index.txt deleted file mode 100644 index 347ef61..0000000 --- a/docs/blog/index.txt +++ /dev/null @@ -1,16 +0,0 @@ -Blog Index -================================================================================ - -This is the Carbs Linux Blog Index. You can find every post here. [RSS Feed] - -[RSS Feed]: /rss.xml - - -* Dec 10 2020 - [First Year of Carbs Linux](20201210.html) -* Aug 03 2020 - [August 2020 News Post](20200803.html) -* Jun 17 2020 - [June Newspost](20200617.html) -* May 28 2020 - [kiss 2.0.0 and overall changes](20200528.html) -* May 08 2020 - [The Relation of Carbs and KISS](20200508.html) -* Apr 10 2020 - [Outsource Repository Concept](20200410.html) -* Apr 06 2020 - [Roadmap for Carbs](20200406.html) -* Jan 28 2020 - [Switching to New Website](20200128.html) diff --git a/docs/contributing.html b/docs/contributing.html deleted file mode 100644 index ef769ca..0000000 --- a/docs/contributing.html +++ /dev/null @@ -1,38 +0,0 @@ - - - - Contribute to the Carbs Linux Project | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

Contribute to the Carbs Linux Project

- -

This is a small project made possible by volunteers. There are -ways you can help this project stay alive.

- - - - View Page Source -
- - - - diff --git a/docs/contributing.txt b/docs/contributing.txt deleted file mode 100644 index 3fe71ce..0000000 --- a/docs/contributing.txt +++ /dev/null @@ -1,9 +0,0 @@ -Contribute to the Carbs Linux Project -===================================== - -This is a small project made possible by volunteers. There are -ways you can help this project stay alive. - -* Contribute to the [Carbs Linux repository](http://git.carbslinux.org/repository/log.html) -* Contribute to the [KISS community repository](https://github.com/kisslinux/community) -* Contribute to the [wiki](//wiki.carbslinux.org) diff --git a/docs/docs.html b/docs/docs.html index 596a0bb..aa861fc 100644 --- a/docs/docs.html +++ b/docs/docs.html @@ -1,40 +1,142 @@ - - - - Carbs Linux documentation | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

Carbs Linux documentation

- -

Welcome to the Carbs Linux source of documentation! You can install these to -your system for viewing offline:

- -
+--------------------------------------------------------------------------+
-|                                                                          |
-| $ cpt-build carbs-docs && cpt-install carbs-docs                         |
-|                                                                          |
-+--------------------------------------------------------------------------+
-
- -

Documentation Index

- View Page Source -
- - - + + + + + + +Documentation + + + + + +
+ +
+
+
+

Documentation

+

+Below are sources of documentation regarding Carbs Linux and tools surrounding +it. +

+ +
+

User Manual

+
+

+Carbs Linux User Manual aims to be a general-purpose explanation of the +distribution, from the installation steps to the style guide of the project. It +can be accessed or otherwise obtained with various methods: +

+
+ +
+

HTML

+
+

+You can view the Manual from your browser. The Manual can be viewed as +

+ + +
+
+ +
+

Plain text

+
+

+You can download carbslinux.txt in order to view the Manual from your preferred +pager. +

+ +
+
curl -LO https://carbslinux.org/docs/carbslinux.txt
+less carbslinux.txt
+
+
+
+
+ +
+

Info

+
+

+You can install the carbs-docs package and either texinfo or info packages +to view the Manual offline. +

+ +
+
cpt bi info carbs-docs
+info carbslinux
+
+
+
+
+ +
+

Source

+
+

+You can also acquire the source for generating the Manual, which requires +emacs for exporting the Org-mode documentation and texinfo for generating +html/info pages. +

+ +
+
git clone git://git.carbslinux.org/docs
+
+
+
+
+
+ +
+

Installation Instructions

+
+

+Installation Manual is part of the User Manual, but it can also be obtained +separately: +

+ + +
+
+ +
+

Carbs Packaging Tools

+
+

+The user manual for CPT is not complete yet, but will be released with the 6.0.0 +release. You can see the repository in order to check its status. +

+
+
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/docs.txt b/docs/docs.txt index a481cf0..385ad92 100644 --- a/docs/docs.txt +++ b/docs/docs.txt @@ -1,15 +1,98 @@ -Carbs Linux documentation -================================================================================ + _______________ -Welcome to the Carbs Linux source of documentation! You can install these to -your system for viewing offline: + DOCUMENTATION + _______________ - +--------------------------------------------------------------------------+ - | | - | $ cpt-build carbs-docs && cpt-install carbs-docs | - | | - +--------------------------------------------------------------------------+ +Below are sources of documentation regarding Carbs Linux and tools +surrounding it. -Documentation Index --------------------------------------------------------------------------------- + +User Manual +=========== + + Carbs Linux User Manual aims to be a general-purpose explanation of + the distribution, from the installation steps to the style guide of + the project. It can be accessed or otherwise obtained with various + methods: + + +HTML +~~~~ + + You can view the Manual from your browser. The Manual can be viewed as + + - [One HTML page per node] + - [Single HTML page] + + +[One HTML page per node] + +[Single HTML page] + + +Plain text +~~~~~~~~~~ + + You can download [carbslinux.txt] in order to view the Manual from + your preferred pager. + + ,---- + | curl -LO https://carbslinux.org/docs/carbslinux.txt + | less carbslinux.txt + `---- + + +[carbslinux.txt] + + +Info +~~~~ + + You can install the `carbs-docs' package and either `texinfo' or + `info' packages to view the Manual offline. + + ,---- + | cpt bi info carbs-docs + | info carbslinux + `---- + + +Source +~~~~~~ + + You can also acquire the source for generating the Manual, which + requires `emacs' for exporting the Org-mode documentation and + `texinfo' for generating html/info pages. + + ,---- + | git clone git://git.carbslinux.org/docs + `---- + + +Installation Instructions +========================= + + Installation Manual is part of the [User Manual], but it can also be + obtained separately: + + - [HTML] + - [Plaintext] + + +[User Manual] See section User Manual + +[HTML] + +[Plaintext] + + +Carbs Packaging Tools +===================== + + The user manual for CPT is not complete yet, but will be released with + the 6.0.0 release. You can see the [repository] in order to check its + status. + + +[repository] diff --git a/docs/docs/0010.html b/docs/docs/0010.html deleted file mode 100644 index fad5ef3..0000000 --- a/docs/docs/0010.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -0010 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 0010.

- diff --git a/docs/docs/0011.html b/docs/docs/0011.html deleted file mode 100644 index ab45257..0000000 --- a/docs/docs/0011.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -0011 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 0011.

- diff --git a/docs/docs/0012.html b/docs/docs/0012.html deleted file mode 100644 index 32dca75..0000000 --- a/docs/docs/0012.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -0012 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 0012.

- diff --git a/docs/docs/0013.html b/docs/docs/0013.html deleted file mode 100644 index 27102b1..0000000 --- a/docs/docs/0013.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -0013 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 0013.

- diff --git a/docs/docs/1010.html b/docs/docs/1010.html deleted file mode 100644 index a9635e8..0000000 --- a/docs/docs/1010.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1010 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1010.

- diff --git a/docs/docs/1020.html b/docs/docs/1020.html deleted file mode 100644 index 2f73bac..0000000 --- a/docs/docs/1020.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1020 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1020.

- diff --git a/docs/docs/1030.html b/docs/docs/1030.html deleted file mode 100644 index bb51640..0000000 --- a/docs/docs/1030.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1030 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1030.

- diff --git a/docs/docs/1040.html b/docs/docs/1040.html deleted file mode 100644 index ae10d79..0000000 --- a/docs/docs/1040.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1040 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1040.

- diff --git a/docs/docs/1041.html b/docs/docs/1041.html deleted file mode 100644 index a75e629..0000000 --- a/docs/docs/1041.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1041 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1041.

- diff --git a/docs/docs/1042.html b/docs/docs/1042.html deleted file mode 100644 index c9e5426..0000000 --- a/docs/docs/1042.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1042 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1042.

- diff --git a/docs/docs/1043.html b/docs/docs/1043.html deleted file mode 100644 index 32807ad..0000000 --- a/docs/docs/1043.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1043 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1043.

- diff --git a/docs/docs/1050.html b/docs/docs/1050.html deleted file mode 100644 index c913527..0000000 --- a/docs/docs/1050.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1050 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1050.

- diff --git a/docs/docs/2010.html b/docs/docs/2010.html deleted file mode 100644 index 482ddf3..0000000 --- a/docs/docs/2010.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2010 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2010.

- diff --git a/docs/docs/2020.html b/docs/docs/2020.html deleted file mode 100644 index dab5be2..0000000 --- a/docs/docs/2020.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2020 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2020.

- diff --git a/docs/docs/2030.html b/docs/docs/2030.html deleted file mode 100644 index 353fd6f..0000000 --- a/docs/docs/2030.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2030 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2030.

- diff --git a/docs/docs/2040.html b/docs/docs/2040.html deleted file mode 100644 index 84e108a..0000000 --- a/docs/docs/2040.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2040 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2040.

- diff --git a/docs/docs/2050.html b/docs/docs/2050.html deleted file mode 100644 index a8b2a70..0000000 --- a/docs/docs/2050.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2050 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2050.

- diff --git a/docs/docs/2210.html b/docs/docs/2210.html deleted file mode 100644 index 1304a27..0000000 --- a/docs/docs/2210.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2210 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2210.

- diff --git a/docs/docs/2211.html b/docs/docs/2211.html deleted file mode 100644 index 9d2f2b3..0000000 --- a/docs/docs/2211.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2211 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2211.

- diff --git a/docs/docs/2212.html b/docs/docs/2212.html deleted file mode 100644 index e14d231..0000000 --- a/docs/docs/2212.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2212 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2212.

- diff --git a/docs/docs/2220.html b/docs/docs/2220.html deleted file mode 100644 index 4012c71..0000000 --- a/docs/docs/2220.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2220 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2220.

- diff --git a/docs/docs/2230.html b/docs/docs/2230.html deleted file mode 100644 index b03a69c..0000000 --- a/docs/docs/2230.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2230 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2230.

- diff --git a/docs/docs/2240.html b/docs/docs/2240.html deleted file mode 100644 index c8e98f2..0000000 --- a/docs/docs/2240.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2240 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2240.

- diff --git a/docs/docs/2241.html b/docs/docs/2241.html deleted file mode 100644 index dba5354..0000000 --- a/docs/docs/2241.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2241 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2241.

- diff --git a/docs/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html b/docs/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html deleted file mode 100644 index b3423c8..0000000 --- a/docs/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -ADDENDUM How to use this License for your documents (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at ADDENDUM How to use this License for your documents.

- diff --git a/docs/docs/Bootloader.html b/docs/docs/Bootloader.html deleted file mode 100644 index 6f23a5b..0000000 --- a/docs/docs/Bootloader.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - -Bootloader (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.5.1 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). -

-
    -
  1. GRUB BIOS installation - - -
    -
    cpt b grub && cpt i grub
    -grub-install --target=i386-pc /dev/sdX
    -grub-mkconfig -o /boot/grub/grub.cfg
    -
    - -
  2. 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
    -
    -
- - - - - - diff --git a/docs/docs/Building-the-kernel.html b/docs/docs/Building-the-kernel.html deleted file mode 100644 index e0f5ee2..0000000 --- a/docs/docs/Building-the-kernel.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - -Building the kernel (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Kernel   [Contents]

-
-
-

1.4.3 Building the kernel

- -

Next step is configuring and building the kernel. You can check Gentoo’s -kernel configuration guide to learn more about the matter. Overall, Gentoo Wiki -is a good place to learn about configuration according to your hardware. The -following will assume a monolithic kernel. -

-
-
make menuconfig
-make
-install -Dm755 $(make -s image_name) /boot/vmlinuz-linux
-
- - - - - - diff --git a/docs/docs/Changing-Init-Program.html b/docs/docs/Changing-Init-Program.html deleted file mode 100644 index d1cc7ce..0000000 --- a/docs/docs/Changing-Init-Program.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - -Changing Init Program (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Init System   [Contents]

-
-
-

2.2 Changing Init Program

- -

By default, Carbs Linux comes preinstalled with ‘busybox-init’, but this can -easily be replaced without any issues. Currently, available init systems are: -

-
    -
  • sinit’ -
  • busybox’ -
  • runit’ -
  • shinit’ -
- -

This example is for runit, but it will work with all init systems packaged in the -distribution repositories. See the ‘cpt-alternatives(1)’ manual page for more -details. -

-
-
cpt a runit /usr/bin/init
-cpt a runit /usr/bin/poweroff
-cpt a runit /usr/bin/reboot
-
- - - - - - - - - - diff --git a/docs/docs/Chroot.html b/docs/docs/Chroot.html deleted file mode 100644 index c648361..0000000 --- a/docs/docs/Chroot.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - -Chroot (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.2 Chroot

- -

Chroot into Carbs Linux! -

-
-
./cpt-chroot /mnt
-
- - - - - - - - - - - - - - diff --git a/docs/docs/Configuring-Init.html b/docs/docs/Configuring-Init.html deleted file mode 100644 index 93f7f35..0000000 --- a/docs/docs/Configuring-Init.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - -Configuring Init (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

2.1 Configuring Init

- -

There are three ways you can change the behaviour of the init system. Those are: -

-
    -
  • Kernel Command Line -
  • /etc/init/rc.conf’ file -
  • Init Hooks -
- - - - - - - - - - - - diff --git a/docs/docs/Configuring-hostname.html b/docs/docs/Configuring-hostname.html deleted file mode 100644 index f4d4bee..0000000 --- a/docs/docs/Configuring-hostname.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -Configuring hostname (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.3.1 Configuring hostname

- -

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
-
- - - - - - diff --git a/docs/docs/Contribution-Guidelines.html b/docs/docs/Contribution-Guidelines.html deleted file mode 100644 index 5b2c7cf..0000000 --- a/docs/docs/Contribution-Guidelines.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Contribution Guidelines (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Top   [Contents]

-
-
-

3 Contribution Guidelines

- -

Thanks for taking your time to contribute! To maintain stylistic behaviour -throughout the repositories, one must adhere to these conventions. Exceptions -and changes may occur with good reasoning. -

- - - - - - - - - diff --git a/docs/docs/Conventions.html b/docs/docs/Conventions.html deleted file mode 100644 index e1b3ac6..0000000 --- a/docs/docs/Conventions.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - -Conventions (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

3.1 Conventions

- - - -
-
[0010]
-

Try to keep the file readable. -

-
[0011]
-

Characters on a line shouldn’t exceed 100 characters. -

-
[0012]
-

Make sure you don’t have code commented out during -commit. Uncomment them or remove them completely. -

-
[0013]
-

Do not add comments following the code, add them to the -top of the code. It makes it harder to read, and lines longer. Here is an example: -

-
- -
-
# Good way of commenting.
-your code goes here
-
-your code goes here  # Avoid this way of commenting.
-
-
-
- - - - - - - - - - - diff --git a/docs/docs/Download.html b/docs/docs/Download.html deleted file mode 100644 index 5d2a595..0000000 --- a/docs/docs/Download.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - -Download (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.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’. We are setting this in a URL variable so that we don’t have to -write it every time. -

-
-
wget $URL/carbs-rootfs.tar.xz.sha256
-sha256sum -c carbs-rootfs.tar.xz.sha256
-
- - - - - - diff --git a/docs/docs/Essential-Software.html b/docs/docs/Essential-Software.html deleted file mode 100644 index 3910e9b..0000000 --- a/docs/docs/Essential-Software.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -Essential Software (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.2.4 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 -
  • wpa_supplicant -
- -

TEXT EDITORS -

-
    -
  • nano -
  • vim -
  • neatvi -
  • emacs -
  • emacs-nox (terminal-only version of emacs) -
- -

USER SHELLS -

-
    -
  • bash -
  • zsh -
  • oksh -
  • rc -
- -

POSIX BASE UTILITIES -

-
    -
  • busybox -
  • sbase -
  • coreutils -
- -

DOCUMENTATION -

-
    -
  • carbs-docs -
  • man-pages -
  • man-pages-posix -
- - - - - - diff --git a/docs/docs/Extracting-the-tarball.html b/docs/docs/Extracting-the-tarball.html deleted file mode 100644 index 8659608..0000000 --- a/docs/docs/Extracting-the-tarball.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Extracting the tarball (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.1.3 Extracting the tarball

- -

You will need to extract the tarball to your desired location. For partitioning, -you can follow this guide. 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
-
- - - - - - diff --git a/docs/docs/Fstab.html b/docs/docs/Fstab.html deleted file mode 100644 index d4573ec..0000000 --- a/docs/docs/Fstab.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Fstab (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.5.3 Fstab

- -

You can now manually edit your fstab entry, or you can use the genfstab tool. -If you want to use the tool, exit the chroot and run the following: -

-
-
wget https://github.com/cemkeylan/genfstab/raw/master/genfstab
-chmod +x genfstab
-./genfstab -U /mnt >> /mnt/etc/fstab
-
- - - - - - diff --git a/docs/docs/GNU-Free-Documentation-License.html b/docs/docs/GNU-Free-Documentation-License.html deleted file mode 100644 index 4fb6747..0000000 --- a/docs/docs/GNU-Free-Documentation-License.html +++ /dev/null @@ -1,549 +0,0 @@ - - - - - - -GNU Free Documentation License (Carbs Linux User Manual) - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Top   [Contents]

-
-
-

Appendix A GNU Free Documentation License

- -
Version 1.3, 3 November 2008 -
-
-
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-http://fsf.org/
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
- -
    -
  1. PREAMBLE - -

    The purpose of this License is to make a manual, textbook, or other -functional and useful document free -in the sense of freedom: to assure everyone the effective freedom -to copy and redistribute it, with or without modifying it, either -commercially or noncommercially. Secondarily, this License -preserves for the author and publisher a way to get credit for -their work, while not being considered responsible for -modifications made by others. -

    -

    This License is a kind of "copyleft", which means that derivative -works of the document must themselves be free in the same sense. -It complements the GNU General Public License, which is a copyleft -license designed for free software. -

    -

    We have designed this License in order to use it for manuals for -free software, because free software needs free documentation: -a free program should come with manuals providing the same freedoms -that the software does. But this License is not limited to -software manuals; it can be used for any textual work, regardless -of subject matter or whether it is published as a printed book. We -recommend this License principally for works whose purpose is -instruction or reference. -

    -
  2. APPLICABILITY AND DEFINITIONS - -

    This License applies to any manual or other work, in any medium, -that contains a notice placed by the copyright holder saying it can -be distributed under the terms of this License. Such a notice -grants a world-wide, royalty-free license, unlimited in duration, -to use that work under the conditions stated herein. The -"Document", below, refers to any such manual or work. Any member -of the public is a licensee, and is addressed as "you". You accept -the license if you copy, modify or distribute the work in a way -requiring permission under copyright law. -

    -

    A "Modified Version" of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. -

    -

    A "Secondary Section" is a named appendix or a front-matter section -of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document’s overall -subject (or to related matters) and contains nothing that could -fall directly within that overall subject. (Thus, if the Document -is in part a textbook of mathematics, a Secondary Section may not -explain any mathematics.) The relationship could be a matter of -historical connection with the subject or with related matters, or -of legal, commercial, philosophical, ethical or political position -regarding them. -

    -

    The "Invariant Sections" are certain Secondary Sections whose -titles are designated, as being those of Invariant Sections, in the -notice that says that the Document is released under this License. -If a section does not fit the above definition of Secondary then it -is not allowed to be designated as Invariant. The Document may -contain zero Invariant Sections. If the Document does not identify -any Invariant Sections then there are none. -

    -

    The "Cover Texts" are certain short passages of text that are -listed, as Front-Cover Texts or Back-Cover Texts, in the notice -that says that the Document is released under this License. -A Front-Cover Text may be at most 5 words, and a Back-Cover Text -may be at most 25 words. -

    -

    A "Transparent" copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed -of pixels) generic paint programs or (for drawings) some widely -available drawing editor, and that is suitable for input to text -formatters or for automatic translation to a variety of formats -suitable for input to text formatters. A copy made in an otherwise -Transparent file format whose markup, or absence of markup, has -been arranged to thwart or discourage subsequent modification by -readers is not Transparent. An image format is not Transparent if -used for any substantial amount of text. A copy that is not -"Transparent" is called "Opaque". -

    -

    Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input format, -SGML or XML using a publicly available DTD, and standard-conforming -simple HTML, PostScript or PDF designed for human modification. -Examples of transparent image formats include PNG, XCF and JPG. -Opaque formats include proprietary formats that can be read and -edited only by proprietary word processors, SGML or XML for which -the DTD and/or processing tools are not generally available, and -the machine-generated HTML, PostScript or PDF produced by some word -processors for output purposes only. -

    -

    The "Title Page" means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the -material this License requires to appear in the title page. For -works in formats which do not have any title page as such, "Title -Page" means the text near the most prominent appearance of the -work’s title, preceding the beginning of the body of the text. -

    -

    The "publisher" means any person or entity that distributes copies -of the Document to the public. -

    -

    A section "Entitled XYZ" means a named subunit of the Document -whose title either is precisely XYZ or contains XYZ in parentheses -following text that translates XYZ in another language. (Here XYZ -stands for a specific section name mentioned below, such as -"Acknowledgements", "Dedications", "Endorsements", or "History".) -To "Preserve the Title" of such a section when you modify the -Document means that it remains a section "Entitled XYZ" according -to this definition. -

    -

    The Document may include Warranty Disclaimers next to the notice -which states that this License applies to the Document. These -Warranty Disclaimers are considered to be included by reference in -this License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and -has no effect on the meaning of this License. -

    -
  3. VERBATIM COPYING - -

    You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License -applies to the Document are reproduced in all copies, and that you -add no other conditions whatsoever to those of this License. You -may not use technical measures to obstruct or control the reading -or further copying of the copies you make or distribute. However, -you may accept compensation in exchange for copies. If you -distribute a large enough number of copies you must also follow the -conditions in section 3. -

    -

    You may also lend copies, under the same conditions stated above, -and you may publicly display copies. -

    -
  4. COPYING IN QUANTITY - -

    If you publish printed copies (or copies in media that commonly -have printed covers) of the Document, numbering more than 100, and -the Document’s license notice requires Cover Texts, you must -enclose the copies in covers that carry, clearly and legibly, all -these Cover Texts: Front-Cover Texts on the front cover, and -Back-Cover Texts on the back cover. Both covers must also clearly -and legibly identify you as the publisher of these copies. The -front cover must present the full title with all words of the title -equally prominent and visible. You may add other material on the -covers in addition. Copying with changes limited to the covers, as -long as they preserve the title of the Document and satisfy these -conditions, can be treated as verbatim copying in other respects. -

    -

    If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto -adjacent pages. -

    -

    If you publish or distribute Opaque copies of the Document -numbering more than 100, you must either include a machine-readable -Transparent copy along with each Opaque copy, or state in or with -each Opaque copy a computer-network location from which the general -network-using public has access to download using public-standard -network protocols a complete Transparent copy of the Document, free -of added material. If you use the latter option, you must take -reasonably prudent steps, when you begin distribution of Opaque -copies in quantity, to ensure that this Transparent copy will -remain thus accessible at the stated location until at least one -year after the last time you distribute an Opaque copy (directly or -through your agents or retailers) of that edition to the public. -

    -

    It is requested, but not required, that you contact the authors of -the Document well before redistributing any large number of copies, -to give them a chance to provide you with an updated version of the -Document. -

    -
  5. MODIFICATIONS - -

    You may copy and distribute a Modified Version of the Document -under the conditions of sections 2 and 3 above, provided that you -release the Modified Version under precisely this License, with the -Modified Version filling the role of the Document, thus licensing -distribution and modification of the Modified Version to whoever -possesses a copy of it. In addition, you must do these things in -the Modified Version: -

    -
      -
    1. Use in the Title Page (and on the covers, if any) a title -distinct from that of the Document, and from those of previous -versions (which should, if there were any, be listed in the -History section of the Document). You may use the same title as -a previous version if the original publisher of that version -gives permission. - -
    2. List on the Title Page, as authors, one or more persons or -entities responsible for authorship of the modifications in the -Modified Version, together with at least five of the principal -authors of the Document (all of its principal authors, if it has -fewer than five), unless they release you from this requirement. - -
    3. State on the Title page the name of the publisher of the -Modified Version, as the publisher. - -
    4. Preserve all the copyright notices of the Document. - -
    5. Add an appropriate copyright notice for your modifications -adjacent to the other copyright notices. - -
    6. Include, immediately after the copyright notices, a license -notice giving the public permission to use the Modified Version -under the terms of this License, in the form shown in the -Addendum below. - -
    7. Preserve in that license notice the full lists of Invariant -Sections and required Cover Texts given in the Document’s -license notice. - -
    8. Include an unaltered copy of this License. - -
    9. Preserve the section Entitled "History", Preserve its Title, and -add to it an item stating at least the title, year, new authors, -and publisher of the Modified Version as given on the Title -Page. If there is no section Entitled "History" in the Document, -create one stating the title, year, authors, and publisher of -the Document as given on its Title Page, then add an item -describing the Modified Version as stated in the previous -sentence. - -
    10. Preserve the network location, if any, given in the Document -for public access to a Transparent copy of the Document, and -likewise the network locations given in the Document for -previous versions it was based on. These may be placed in the -"History" section. You may omit a network location for a work -that was published at least four years before the Document -itself, or if the original publisher of the version it refers -to gives permission. - -
    11. For any section Entitled "Acknowledgements" or "Dedications", -Preserve the Title of the section, and preserve in the section -all the substance and tone of each of the contributor -acknowledgements and/or dedications given therein. - -
    12. Preserve all the Invariant Sections of the Document, unaltered -in their text and in their titles. Section numbers or the -equivalent are not considered part of the section titles. - -
    13. Delete any section Entitled "Endorsements". Such a section may -not be included in the Modified Version. - -
    14. Do not retitle any existing section to be Entitled -"Endorsements" or to conflict in title with any Invariant -Section. - -
    15. Preserve any Warranty Disclaimers. -
    - -

    If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version’s license notice. -These titles must be distinct from any other section titles. -

    -

    You may add a section Entitled "Endorsements", provided it contains -nothing but endorsements of your Modified Version by various -parties—for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. -

    -

    You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. -

    -

    The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. -

    -
  6. COMBINING DOCUMENTS - -

    You may combine the Document with other documents released under -this License, under the terms defined in section 4 above for -modified versions, provided that you include in the combination all -of the Invariant Sections of all of the original documents, -unmodified, and list them all as Invariant Sections of your -combined work in its license notice, and that you preserve all -their Warranty Disclaimers. -

    -

    The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name -but different contents, make the title of each such section unique -by adding at the end of it, in parentheses, the name of the -original author or publisher of that section if known, or else -a unique number. Make the same adjustment to the section titles in -the list of Invariant Sections in the license notice of the -combined work. -

    -

    In the combination, you must combine any sections Entitled -"History" in the various original documents, forming one section -Entitled "History"; likewise combine any sections Entitled -"Acknowledgements", and any sections Entitled "Dedications". You -must delete all sections Entitled "Endorsements." -

    -
  7. COLLECTIONS OF DOCUMENTS - -

    You may make a collection consisting of the Document and other -documents released under this License, and replace the individual -copies of this License in the various documents with a single copy -that is included in the collection, provided that you follow the -rules of this License for verbatim copying of each of the documents -in all other respects. -

    -

    You may extract a single document from such a collection, and -distribute it individually under this License, provided you insert -a copy of this License into the extracted document, and follow this -License in all other respects regarding verbatim copying of that -document. -

    -
  8. AGGREGATION WITH INDEPENDENT WORKS - -

    A compilation of the Document or its derivatives with other -separate and independent documents or works, in or on a volume of -a storage or distribution medium, is called an "aggregate" if the -copyright resulting from the compilation is not used to limit the -legal rights of the compilation’s users beyond what the individual -works permit. When the Document is included in an aggregate, this -License does not apply to the other works in the aggregate which -are not themselves derivative works of the Document. -

    -

    If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half -of the entire aggregate, the Document’s Cover Texts may be placed -on covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic -form. Otherwise they must appear on printed covers that bracket -the whole aggregate. -

    -
  9. TRANSLATION - -

    Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of -section 4. Replacing Invariant Sections with translations requires -special permission from their copyright holders, but you may -include translations of some or all Invariant Sections in addition -to the original versions of these Invariant Sections. You may -include a translation of this License, and all the license notices -in the Document, and any Warranty Disclaimers, provided that you -also include the original English version of this License and the -original versions of those notices and disclaimers. In case of -a disagreement between the translation and the original version of -this License or a notice or disclaimer, the original version will -prevail. -

    -

    If a section in the Document is Entitled "Acknowledgements", -"Dedications", or "History", the requirement (section 4) to -Preserve its Title (section 1) will typically require changing the -actual title. -

    -
  10. TERMINATION - -

    You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, -and will automatically terminate your rights under this License. -

    -

    However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the -copyright holder fails to notify you of the violation by some -reasonable means prior to 60 days after the cessation. -

    -

    Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from -that copyright holder, and you cure the violation prior to 30 days -after your receipt of the notice. -

    -

    Termination of your rights under this section does not terminate -the licenses of parties who have received copies or rights from you -under this License. If your rights have been terminated and not -permanently reinstated, receipt of a copy of some or all of the -same material does not give you any rights to use it. -

    -
  11. FUTURE REVISIONS OF THIS LICENSE - -

    The Free Software Foundation may publish new, revised versions of -the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -http://www.gnu.org/copyleft/. -

    -

    Each version of the License is given a distinguishing version -number. If the Document specifies that a particular numbered -version of this License "or any later version" applies to it, you -have the option of following the terms and conditions either of -that specified version or of any later version that has been -published (not as a draft) by the Free Software Foundation. If -the Document does not specify a version number of this License, -you may choose any version ever published (not as a draft) by the -Free Software Foundation. If the Document specifies that a proxy -can decide which future versions of this License can be used, that -proxy’s public statement of acceptance of a version permanently -authorizes you to choose that version for the Document. -

    -
  12. RELICENSING - -

    "Massive Multiauthor Collaboration Site" (or "MMC Site") means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. -A public wiki that anybody can edit is an example of such -a server. A "Massive Multiauthor Collaboration" (or "MMC") -contained in the site means any set of copyrightable works thus -published on the MMC site. -

    -

    "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, -a not-for-profit corporation with a principal place of business in -San Francisco, California, as well as future copyleft versions of -that license published by that same organization. -

    -

    "Incorporate" means to publish or republish a Document, in whole -or in part, as part of another Document. -

    -

    An MMC is "eligible for relicensing" if it is licensed under this -License, and if all works that were first published under this -License somewhere other than this MMC, and subsequently -incorporated in whole or in part into the MMC, (1) had no cover -texts or invariant sections, and (2) were thus incorporated prior -to November 1, 2008. -

    -

    The operator of an MMC Site may republish an MMC contained in the -site under CC-BY-SA on the same site at any time before August 1, -2009, provided the MMC is eligible for relicensing. -

- - -

A.1 ADDENDUM: How to use this License for your documents

- -

To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: -

-
-
Copyright (C)  YEAR  YOUR NAME.
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3
-or any later version published by the Free Software Foundation;
-with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-Texts.  A copy of the license is included in the section entitled ``GNU
-Free Documentation License''.
-
- -

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the "with…Texts." line with this: -

-
-
with the Invariant Sections being LIST THEIR TITLES, with
-the Front-Cover Texts being LIST, and with the Back-Cover Texts
-being LIST.
-
- -

If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. -

-

If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, to -permit their use in free software. -

-
-
-

-Previous: , Up: Top   [Contents]

-
- - - - - diff --git a/docs/docs/Hosts-file.html b/docs/docs/Hosts-file.html deleted file mode 100644 index ed26d62..0000000 --- a/docs/docs/Hosts-file.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Hosts file (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.3.2 Hosts file

- -

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
-
- - - - - - diff --git a/docs/docs/Init-Hooks.html b/docs/docs/Init-Hooks.html deleted file mode 100644 index 52e2e84..0000000 --- a/docs/docs/Init-Hooks.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -Init Hooks (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

2.1.3 Init Hooks

- -

Init hooks are for custom personal commands that the user may want to add to -alter their boot. These can be used to load kernel modules, modify interfaces, -and lot more. Those hooks are added to the ‘/etc/init’ directory with the -hook name as the suffix. For example, a boot script will be placed as -‘/etc/init/my-hook.boot’. Currently, there are 4 hooks that the user can use. -

-
-
early-boot
-

Run after pseudo-filesystems are mounted. -

-
boot
-

Run before the boot stage is completed. -

-
pre.shutdown
-

Run first when shutting down. -

-
umount
-

Run just before filesystems are unmounted. -

-
post.shutdown
-

Run just before the system is halted. -

-
- - - - - - diff --git a/docs/docs/Init-System.html b/docs/docs/Init-System.html deleted file mode 100644 index 3d23ab0..0000000 --- a/docs/docs/Init-System.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - -Init System (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Top   [Contents]

-
-
-

2 Init System

- -

Carbs Linux init scripts are run by the init daemon (‘busybox’ by default) on -boot and shutdown processes. It also provides its own halting program named -shalt. This provides a portable method that doesn’t rely on non-POSIX external -programs. -

- - - - - - - - - - diff --git a/docs/docs/Init-scripts.html b/docs/docs/Init-scripts.html deleted file mode 100644 index bd5a32a..0000000 --- a/docs/docs/Init-scripts.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -Init scripts (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Making your system bootable   [Contents]

-
-
-

1.5.2 Init scripts

- -

Only thing left to do is installing the init-scripts, and now you are almost -ready to boot your system! -

-
-
cpt b carbs-init && cpt i carbs-init
-
- - - - - - diff --git a/docs/docs/Installation.html b/docs/docs/Installation.html deleted file mode 100644 index d088c4d..0000000 --- a/docs/docs/Installation.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -Installation (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Top   [Contents]

-
-
-

1 Installation

- -

These are the step-by-step instructions for installing Carbs Linux. It can be -acquired as plain-text to be viewed offline with a pager from -https://carbslinux.org/docs/install.txt. -

-
-
curl -sL https://carbslinux.org/docs/install.txt | less
-
- - - - - - - - - - - - - - - diff --git a/docs/docs/Installing-packages.html b/docs/docs/Installing-packages.html deleted file mode 100644 index 2a2e342..0000000 --- a/docs/docs/Installing-packages.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - -Installing packages (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Chroot   [Contents]

-
-
-

1.2.3 Installing packages

- -

Since you are operating on a really small base, you might need to build and -install new programs to extend the functionality of your system. In order to -build and install packages new packages in Carbs, you need to execute the -following. "Package" is not actually a package and is given as an example. -

-
-
cpt-build   package
-cpt-install package
-
- - - - - - diff --git a/docs/docs/KISS-repositories.html b/docs/docs/KISS-repositories.html deleted file mode 100644 index 3824e9e..0000000 --- a/docs/docs/KISS-repositories.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - -KISS repositories (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.6.1 KISS repositories

- -

While not 100% compatible with cpt, you can use kiss repositories in your -system the same way you are using the distribution repositories. Here is an -example for the KISS Linux Community repository. -

- - - - - diff --git a/docs/docs/Kernel-Command-Line.html b/docs/docs/Kernel-Command-Line.html deleted file mode 100644 index a099dc8..0000000 --- a/docs/docs/Kernel-Command-Line.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - -Kernel Command Line (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

2.1.1 Kernel Command Line

- -

On GRUB, you can edit the kernel command line parameters, which will be parsed -as variables on the init system. Not all of the parameters will be acted upon, -but all of them will be set as variables on the init script. For example an -example command line, and how it is interpreted. -

-
-
BOOT_IMAGE=/boot/vmlinuz root=/dev/sda2 rw loglevel=3 quiet
-
- -

This command line will be parsed to set the following variables: -

-
-
BOOT_IMAGE=/boot/vmlinuz
-root=/dev/sda2
-rw=1
-loglevel=3
-quiet=1
-
- -

Some of these variables, such as ‘rw=/=ro’, ‘loglevel’, and ‘quiet’, will be -used by the init system to change the behaviour of the startup. -

- - - - - diff --git a/docs/docs/Kernel-dependencies.html b/docs/docs/Kernel-dependencies.html deleted file mode 100644 index 192479b..0000000 --- a/docs/docs/Kernel-dependencies.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - -Kernel dependencies (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.4.2 Kernel dependencies

- -

In order to compile the kernel you will need to install some dependencies. You -will need ‘libelf’ to compile the kernel. If you want to configure using the -menu interface you will also need ‘ncurses’. -

-
-
# The package manager asks to install if you are building more than one package,
-# so no need to run 'cpt i ...'
-cpt b libelf ncurses
-
- -

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. You will need to obtain and apply the patch in the kernel -source directory. -

-
-
wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch
-patch -p1 < kernel-no-perl.patch
-
- - - - - - diff --git a/docs/docs/Kernel.html b/docs/docs/Kernel.html deleted file mode 100644 index 10f3945..0000000 --- a/docs/docs/Kernel.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - -Kernel (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.4 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. -

- - - - - - - - - - - diff --git a/docs/docs/Making-your-system-bootable.html b/docs/docs/Making-your-system-bootable.html deleted file mode 100644 index 2e3a759..0000000 --- a/docs/docs/Making-your-system-bootable.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - -Making your system bootable (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Installation   [Contents]

-
-
-

1.5 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. -

- - - - - - - - - - - diff --git a/docs/docs/Obtain-the-chroot-helper.html b/docs/docs/Obtain-the-chroot-helper.html deleted file mode 100644 index e5fc1d3..0000000 --- a/docs/docs/Obtain-the-chroot-helper.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - -Obtain the chroot helper (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.1.4 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
-
- - - - - - diff --git a/docs/docs/Obtaining-the-documentation.html b/docs/docs/Obtaining-the-documentation.html deleted file mode 100644 index 03739b5..0000000 --- a/docs/docs/Obtaining-the-documentation.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -Obtaining the documentation (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Chroot   [Contents]

-
-
-

1.2.5 Obtaining the documentation

- -

All the documentation for Carbs Linux can be found on a single info manual to be -viewed offline. You can obtain texinfo or the info (standalone) package in order -to view the documentation. -

-
-
# Install the documentation.
-cpt b carbs-docs && cpt i carbs-docs
-
-# Install either texinfo or the info package. We will be installing standalone info
-# as it doesn't need perl.
-cpt b info && cpt i info
-
-# You can then run info and navigate through the documentation.
-info carbslinux
-
- - - - - - diff --git a/docs/docs/Obtaining-the-kernel-sources.html b/docs/docs/Obtaining-the-kernel-sources.html deleted file mode 100644 index 5acdb26..0000000 --- a/docs/docs/Obtaining-the-kernel-sources.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - -Obtaining the kernel sources (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Up: Kernel   [Contents]

-
-
-

1.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.9.1.tar.xz
-tar xf linux-5.9.1.tar.xz
-
-# Change directory into the kernel sources
-cd linux-5.9.1
-
- - - - - - diff --git a/docs/docs/Post_002dinstallation.html b/docs/docs/Post_002dinstallation.html deleted file mode 100644 index da1dc05..0000000 --- a/docs/docs/Post_002dinstallation.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Post-installation (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.6 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. -You can check the rest of the documentation to learn more about the system. -

- - - - - - - - - diff --git a/docs/docs/Preparing-Environment.html b/docs/docs/Preparing-Environment.html deleted file mode 100644 index 89fc029..0000000 --- a/docs/docs/Preparing-Environment.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -Preparing Environment (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Up: Installation   [Contents]

-
-
-

1.1 Preparing Environment

- -

To install Carbs Linux, you will need a Live Linux ISO. For that purpose, you -can obtain a Gentoo or Void Linux live image. You can follow their instructions -to boot and setup your network. -

-

You will need the following programs in order to install Carbs Linux: -

-
    -
  • tar -
  • wget -
  • xz -
  • some form of base utilities (coreutils, sbase, busybox, etc.) -
- -

Rest of these instructions will assume that you have set all of these up, and -will continue on that point. -

- - - - - - - - - - - - diff --git a/docs/docs/Rebooting-after-changing-init.html b/docs/docs/Rebooting-after-changing-init.html deleted file mode 100644 index 85d02cf..0000000 --- a/docs/docs/Rebooting-after-changing-init.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - -Rebooting after changing init (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

2.2.1 Rebooting after changing init

- -

After switching init systems, your running init system may not accept the -new poweroff commands. You will need to reboot/poweroff using the running init’s -utilities for the new utilities to work. These commands are for the init system -currently running on your system and not the one you are switching to. -

- - - - - -
ProgramCommand
busyboxbusybox reboot
runitrunit-init 6
shinit/sinitkill -s INT 1
- - - - - - diff --git a/docs/docs/Repository-Conventions.html b/docs/docs/Repository-Conventions.html deleted file mode 100644 index 598cc7a..0000000 --- a/docs/docs/Repository-Conventions.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - -Repository Conventions (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Conventions   [Contents]

-
-
-

3.1.2 Repository Conventions

- -

Repository conventions are important in order to ensure every package resemble -themselves. Here are the things to keep in mind: -

-
-
[2010]
-

Prefer tarballs over git packages unless there is a -sensible reason. Here are some: -

    -
  • Every patch is a new release. (See vim) -
  • There are no releases. (See sbase) -
  • Following a development branch. -
  • There has been a long time since the latest release, but upstream is far -ahead. -
-
-
[2020]
-

Prefer sources without a dependency to ‘automake’. There -are usually distribution tarballs that are ‘autoconf’’ed. Don’t submit tarballs -with an automake dependency unless you are ‘sure’ there is no alternative. -

-
[2030]
-

Avoid these packages: -

-
dbus
-

Usually can be disabled by --disable-dbus. -

-
gettext
-

Usually can be disabled by --disable-nls. -

-
-
-
[2040]
-
    -
  • Always install a package to the ‘/usr’ prefix. -
  • All binaries should go to ‘/usr/bin’, not ‘/usr/sbin’ or any other directory. -
  • All libraries should go to ‘/usr/lib’. -
-
-
[2050]
-

All build files on the repository should be a POSIX -shell script, and must start with #!/bin/sh -e. -

-
- -

The next section is about package templates that should be used in order to -ensure stylistic consistency. Note that the option configurations shouldn’t be -taken literally, they are meant as examples. -

-
    -
  1. Make [2210] - - -
    -
    #!/bin/sh -e
    -
    -make
    -make DESTDIR="$1" PREFIX=/usr install
    -
    - -
  2. Configure/Make [2211] - - -
    -
    #!/bin/sh -e
    -
    -./configure \
    -    --prefix=/usr \
    -    --disable-option \
    -    --enable-option
    -
    -make
    -make DESTDIR="$1" install
    -
    - -
  3. Autoconf/Automake [2212] - - -

    See 2020 -

    -
    -
    #!/bin/sh -e
    -
    -autoreconf -fi
    -
    -./configure \
    -    --prefix=/usr \
    -    --disable-option \
    -    --enable-option
    -
    -make
    -make DESTDIR="$1" install
    -
    - -
  4. Meson [2220] - - -
    -
    #!/bin/sh -e
    -
    -export DESTDIR=$1
    -
    -meson \
    -    --prefix=/usr \
    -    -Doption=false \
    -    -Doption2=true \
    -    . output
    -
    -ninja -C output
    -ninja -C output install
    -
    - -
  5. Cmake [2230] - - -
    -
    #!/bin/sh -e
    -
    -export DESTDIR=$1
    -
    -cmake -B build \
    -    -DCMAKE_INSTALL_PREFIX=/usr \
    -    -DCMAKE_BUILD_TYPE=Release \
    -    -DOPTION=ON
    -
    -cmake --build   build
    -cmake --install build
    -
    - -
  6. Go [2240] - - -
    -
    #!/bin/sh -e
    -
    -export GOPATH=$PWD/gopath
    -trap "go clean -modcache" EXIT INT
    -go mod vendor
    -
    -go build
    -install -Dm755 program "$1/usr/bin/program"
    -
    - -
  7. Python [2241] - - -
    -
    #!/bin/sh -e
    -
    -python setup.py build
    -python setup.py install --prefix=/usr --root="$1"
    -
    -
- -
-
-

-Previous: , Up: Conventions   [Contents]

-
- - - - - diff --git a/docs/docs/Setting-up-repositories.html b/docs/docs/Setting-up-repositories.html deleted file mode 100644 index 44360ab..0000000 --- a/docs/docs/Setting-up-repositories.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - -Setting up repositories (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Up: Chroot   [Contents]

-
-
-

1.2.1 Setting up repositories

- -

Newest tarballs do not come with repositories, so you will need to manually -obtain them, and set your ‘CPT_PATH’ environment variable. Carbs Linux -repositories can either be obtained by ‘git’ or ‘rsync’. While rsync -repositories are overall faster and smaller, git offers the whole history of the -repository and a means to manipulate your repository as you like it. If you want -to obtain the git repository, you will need to install ‘git’ itself. -

-

The following guide will assume that you put the repositories into ‘~/repos/’ -directory, but you can put the repositories into any directory you want. So go -ahead and create that directory: -

-
-
mkdir -p $HOME/repos
-
- -
    -
  1. Obtaining from git - - -

    Carbs Linux git repositories can be found both from the main server and GitHub -(mirror). Here are both their repository links. You can clone any of them. -

    - - -
    -
    git clone git://git.carbslinux.org/repository $HOME/repos/carbs
    -
    - -
  2. Obtaining from rsync - - -

    Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In -order to obtain it, run the following: -

    -
    -
    rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
    -
    - -
  3. Making the package manager use the repositories - - -

    In your shell’s configuration file, or in your ‘~/.profile’ file, add the -following lines: -

    -
    -
    CPT_PATH=$HOME/repos/carbs/core
    -CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra
    -CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg
    -CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community
    -export CPT_PATH
    -
    -
- - - - - - diff --git a/docs/docs/Shell-Conventions.html b/docs/docs/Shell-Conventions.html deleted file mode 100644 index dd841de..0000000 --- a/docs/docs/Shell-Conventions.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -Shell Conventions (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

3.1.1 Shell Conventions

- -

Shell is central to Carbs Linux projects. Most of the tools and packages are -written in POSIX sh. -

-
-
[1010]
-

Use 4 spaces for indentation, don’t use tabs. -

-
[1020]
-

Make sure you don’t use bash-specific code. -

-
[1030]
-

Make sure you lint your code with ‘shellcheck’ and if -you are new to POSIX sh, use ‘checkbashisms’. -

-
[1040]
-

Don’t spawn new processes if you don’t absolutely need -to, especially during string manipulation. -

-
[1041]
-

Never use a program for text manupilation that isn’t -defined in the POSIX standard. This includes ‘gawk’ and ‘perl’. -

-
[1042]
-

Instead of $(basename $file), use ${file##*}. -

-
[1043]
-

Instead of $(dirname $file), use ${file%/*}. -

-
- -
-
# This is the same thing as basename /path/to/test.asc .asc
-
-$ file=/path/to/test.asc file=${file##*/} file=${file%.asc}
-$ echo $file
-test
-
-
-
[1050]
-

Instead of backticks, use $(..). -

-
- - - - - - diff --git a/docs/docs/Signature-verification.html b/docs/docs/Signature-verification.html deleted file mode 100644 index 8dccbe3..0000000 --- a/docs/docs/Signature-verification.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Signature verification (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.1.2 Signature verification

- -

It is highly recommended to verify the signature of the tarball. You will need -GPG for this. -

-
-
wget $URL/carbs-rootfs.tar.xz.sig
-gpg --recv-keys FF484BDFEFCEF8FF
-gpg --verify carbs-rootfs.tar.xz.sig
-
- - - - - - diff --git a/docs/docs/System-Configuration.html b/docs/docs/System-Configuration.html deleted file mode 100644 index 76cf410..0000000 --- a/docs/docs/System-Configuration.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - -System Configuration (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Installation   [Contents]

-
-
-

1.3 System Configuration

- -

After you have finished installing some extra packages, you can configure your -system to your liking. -

- - - - - - - - - - diff --git a/docs/docs/Updating-packages.html b/docs/docs/Updating-packages.html deleted file mode 100644 index 0c65553..0000000 --- a/docs/docs/Updating-packages.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - -Updating packages (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.2.2 Updating packages

- -

It is good practice to make sure your system is up to date, especially before -building new packages. If there is an update for the package manager you will -need to update twice. -

-
-
cpt-update && cpt-update
-
- - - - - - diff --git a/docs/docs/_002fetc_002finit_002frcconf-file.html b/docs/docs/_002fetc_002finit_002frcconf-file.html deleted file mode 100644 index 5f33c04..0000000 --- a/docs/docs/_002fetc_002finit_002frcconf-file.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -/etc/init/rcconf file (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Configuring Init   [Contents]

-
-
-

2.1.2 ‘/etc/init/rc.conf’ file

- -

However, the kernel command line isn’t the only place to set your boot -parameters. You can specify variables here as well, although note that the -kernel command line always gets the priority for these variables since they can -be set just before boot. -

- - - - - diff --git a/docs/docs/carbslinux.html b/docs/docs/carbslinux.html new file mode 100644 index 0000000..e50d6f4 --- /dev/null +++ b/docs/docs/carbslinux.html @@ -0,0 +1,1786 @@ + + + + + + +Carbs Linux User Manual + + + + + + + + + + + + + + + +

Carbs Linux User Manual

+ + + + + +

Table of Contents

+ + + + +
+

+Next:   [Contents]

+
+

Carbs Linux User Manual

+ +

This is the full documentation of Carbs Linux, from the details of the +distribution, installation, to the package manager. It is not yet complete. +

+ +

This documentation is also available in the distribution by the +carbs-docs package, which can be read by either running +info carbslinux or reading /usr/share/doc/carbslinux.txt with your +favorite pager. You can install either the info or texinfo +for doing the first. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+Next: , Previous: , Up: Top   [Contents]

+
+

1 Installation

+ +

These are the step-by-step instructions for installing Carbs Linux. It can be +acquired as plain-text to be viewed offline with a pager from +https://carbslinux.org/install.txt. +

+
+
curl -sL https://carbslinux.org/install.txt | less
+
+ + + + + + + + + + +
+
+

+Next: , Up: Installation   [Contents]

+
+

1.1 Preparing Environment

+ +

To install Carbs Linux, you will need a Live Linux ISO. For that purpose, you +can obtain a Gentoo or Void Linux live image. You can follow their instructions +to boot and setup your network. +

+

You will need the following programs in order to install Carbs Linux: +

+
    +
  • tar +
  • wget +
  • xz +
  • some form of base utilities (coreutils, sbase, busybox, etc.) +
+ +

Rest of these instructions will assume that you have set all of these up, and +will continue on that point. +

+ + + + + + + +
+ +

1.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’. We are setting this in a URL variable so that we don’t have to +write it every time. +

+
+
wget $URL/carbs-rootfs.tar.xz.sha256
+sha256sum -c carbs-rootfs.tar.xz.sha256
+
+ +
+ +

1.1.2 Signature verification

+ +

It is highly recommended to verify the signature of the tarball. You will need +GPG for this. +

+
+
wget $URL/carbs-rootfs.tar.xz.sig
+gpg --recv-keys FF484BDFEFCEF8FF
+gpg --verify carbs-rootfs.tar.xz.sig
+
+ +
+ +

1.1.3 Extracting the tarball

+ +

You will need to extract the tarball to your desired location. For partitioning, +you can follow this guide. 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.1.4 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
+
+ +
+ +

1.2 Chroot

+ +

Chroot into Carbs Linux! +

+
+
./cpt-chroot /mnt
+
+ + + + + + + + + +
+
+

+Next: , Up: Chroot   [Contents]

+
+

1.2.1 Setting up repositories

+ +

Newest tarballs do not come with repositories, so you will need to manually +obtain them, and set your ‘CPT_PATH’ environment variable. Carbs Linux +repositories can either be obtained by ‘git’ or ‘rsync’. While rsync +repositories are overall faster and smaller, git offers the whole history of the +repository and a means to manipulate your repository as you like it. If you want +to obtain the git repository, you will need to install ‘git’ itself. +

+

The following guide will assume that you put the repositories into ‘~/repos/’ +directory, but you can put the repositories into any directory you want. So go +ahead and create that directory: +

+
+
mkdir -p $HOME/repos
+
+ +
    +
  1. Obtaining from git + + +

    Carbs Linux git repositories can be found both from the main server and GitHub +(mirror). Here are both their repository links. You can clone any of them. +

    + + +
    +
    git clone git://git.carbslinux.org/repository $HOME/repos/carbs
    +
    + +
  2. Obtaining from rsync + + +

    Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In +order to obtain it, run the following: +

    +
    +
    rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
    +
    + +
  3. Making the package manager use the repositories + + +

    In your shell’s configuration file, or in your ‘~/.profile’ file, add the +following lines: +

    +
    +
    CPT_PATH=$HOME/repos/carbs/core
    +CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra
    +CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg
    +CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community
    +export CPT_PATH
    +
    +
+ +
+ +

1.2.2 Updating packages

+ +

It is good practice to make sure your system is up to date, especially before +building new packages. If there is an update for the package manager you will +need to update twice. +

+
+
cpt-update && cpt-update
+
+ +
+
+

+Next: , Previous: , Up: Chroot   [Contents]

+
+

1.2.3 Installing packages

+ +

Since you are operating on a really small base, you might need to build and +install new programs to extend the functionality of your system. In order to +build and install packages new packages in Carbs, you need to execute the +following. "Package" is not actually a package and is given as an example. +

+
+
cpt-build   package
+cpt-install package
+
+ +
+ +

1.2.4 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 +
  • wpa_supplicant +
+ +

TEXT EDITORS +

+
    +
  • nano +
  • vim +
  • neatvi +
  • emacs +
  • emacs-nox (terminal-only version of emacs) +
+ +

USER SHELLS +

+
    +
  • bash +
  • zsh +
  • oksh +
  • rc +
+ +

POSIX BASE UTILITIES +

+
    +
  • busybox +
  • sbase +
  • coreutils +
+ +

DOCUMENTATION +

+
    +
  • carbs-docs +
  • man-pages +
  • man-pages-posix +
+ +
+
+

+Previous: , Up: Chroot   [Contents]

+
+

1.2.5 Obtaining the documentation

+ +

All the documentation for Carbs Linux can be found on a single info manual to be +viewed offline. You can obtain texinfo or the info (standalone) package in order +to view the documentation. +

+
+
# Install the documentation.
+cpt b carbs-docs && cpt i carbs-docs
+
+# Install either texinfo or the info package. We will be installing standalone info
+# as it doesn't need perl.
+cpt b info && cpt i info
+
+# You can then run info and navigate through the documentation.
+info carbslinux
+
+ +
+
+

+Next: , Previous: , Up: Installation   [Contents]

+
+

1.3 System Configuration

+ +

After you have finished installing some extra packages, you can configure your +system to your liking. +

+ + + + + +
+ +

1.3.1 Configuring hostname

+ +

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
+
+ +
+ +

1.3.2 Hosts file

+ +

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
+
+ +
+ +

1.4 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. +

+ + + + + + +
+
+

+Next: , Up: Kernel   [Contents]

+
+

1.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.9.1.tar.xz
+tar xf linux-5.9.1.tar.xz
+
+# Change directory into the kernel sources
+cd linux-5.9.1
+
+ +
+ +

1.4.2 Kernel dependencies

+ +

In order to compile the kernel you will need to install some dependencies. You +will need ‘libelf’, and ‘bison’ to compile the kernel. If you want to configure +using the menu interface you will also need ‘ncurses’. +

+
+
# The package manager asks to install if you are building more than one package,
+# so no need to run 'cpt i ...'
+cpt b libelf ncurses
+
+ +

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. You will need to obtain and apply the patch in the kernel +source directory. +

+
+
wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch
+patch -p1 < kernel-no-perl.patch
+
+ +
+
+

+Previous: , Up: Kernel   [Contents]

+
+

1.4.3 Building the kernel

+ +

Next step is configuring and building the kernel. You can check Gentoo’s +kernel configuration guide to learn more about the matter. Overall, Gentoo Wiki +is a good place to learn about configuration according to your hardware. The +following will assume a monolithic kernel. +

+
+
make menuconfig
+make
+install -Dm755 $(make -s image_name) /boot/vmlinuz-linux
+
+ +
+
+

+Next: , Previous: , Up: Installation   [Contents]

+
+

1.5 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. +

+ + + + + + +
+ +

1.5.1 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). +

+
    +
  1. GRUB BIOS installation + + +
    +
    cpt b grub && cpt i grub
    +grub-install --target=i386-pc /dev/sdX
    +grub-mkconfig -o /boot/grub/grub.cfg
    +
    + +
  2. 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
    +
    +
+ +
+
+

+Next: , Previous: , Up: Making your system bootable   [Contents]

+
+

1.5.2 Init scripts

+ +

Only thing left to do is installing the init-scripts, and now you are almost +ready to boot your system! +

+
+
cpt b carbs-init && cpt i carbs-init
+
+ +
+ +

1.5.3 Fstab

+ +

You can now manually edit your fstab entry, or you can use the genfstab tool. +If you want to use the tool, exit the chroot and run the following: +

+
+
wget https://github.com/cemkeylan/genfstab/raw/master/genfstab
+chmod +x genfstab
+./genfstab -U /mnt >> /mnt/etc/fstab
+
+ +
+ +

1.6 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. +You can check the rest of the documentation to learn more about the system. +

+ + + + +
+ +

1.6.1 KISS repositories

+ +

While not 100% compatible with cpt, you can use kiss repositories in your +system the same way you are using the distribution repositories. Here is an +example for the KISS Linux Community repository. +

+
+
+

+Next: , Previous: , Up: Top   [Contents]

+
+

2 Init System

+ +

Carbs Linux init scripts are run by the init daemon (‘busybox’ by default) on +boot and shutdown processes. It also provides its own halting program named +shalt. This provides a portable method that doesn’t rely on non-POSIX external +programs. +

+ + + + + +
+ +

2.1 Configuring Init

+ +

There are three ways you can change the behaviour of the init system. Those are: +

+
    +
  • Kernel Command Line +
  • /etc/init/rc.conf’ file +
  • Init Hooks +
+ + + + + + + +
+ +

2.1.1 Kernel Command Line

+ +

On GRUB, you can edit the kernel command line parameters, which will be parsed +as variables on the init system. Not all of the parameters will be acted upon, +but all of them will be set as variables on the init script. For example an +example command line, and how it is interpreted. +

+
+
BOOT_IMAGE=/boot/vmlinuz root=/dev/sda2 rw loglevel=3 quiet
+
+ +

This command line will be parsed to set the following variables: +

+
+
BOOT_IMAGE=/boot/vmlinuz
+root=/dev/sda2
+rw=1
+loglevel=3
+quiet=1
+
+ +

Some of these variables, such as ‘rw=/=ro’, ‘loglevel’, and ‘quiet’, will be +used by the init system to change the behaviour of the startup. +

+
+
+

+Next: , Previous: , Up: Configuring Init   [Contents]

+
+

2.1.2 ‘/etc/init/rc.conf’ file

+ +

However, the kernel command line isn’t the only place to set your boot +parameters. You can specify variables here as well, although note that the +kernel command line always gets the priority for these variables since they can +be set just before boot. +

+
+ +

2.1.3 Init Hooks

+ +

Init hooks are for custom personal commands that the user may want to add to +alter their boot. These can be used to load kernel modules, modify interfaces, +and lot more. Those hooks are added to the ‘/etc/init’ directory with the +hook name as the suffix. For example, a boot script will be placed as +‘/etc/init/my-hook.boot’. Currently, there are 4 hooks that the user can use. +

+
+
early-boot
+

Run after pseudo-filesystems are mounted. +

+
boot
+

Run before the boot stage is completed. +

+
pre.shutdown
+

Run first when shutting down. +

+
umount
+

Run just before filesystems are unmounted. +

+
post.shutdown
+

Run just before the system is halted. +

+
+ +
+
+

+Previous: , Up: Init System   [Contents]

+
+

2.2 Changing Init Program

+ +

By default, Carbs Linux comes preinstalled with ‘busybox-init’, but this can +easily be replaced without any issues. Currently, available init systems are: +

+
    +
  • sinit’ +
  • busybox’ +
  • runit’ +
  • shinit’ +
+ +

This example is for runit, but it will work with all init systems packaged in the +distribution repositories. See the ‘cpt-alternatives(1)’ manual page for more +details. +

+
+
cpt a runit /usr/bin/init
+cpt a runit /usr/bin/poweroff
+cpt a runit /usr/bin/reboot
+
+ + + + + +
+ +

2.2.1 Rebooting after changing init

+ +

After switching init systems, your running init system may not accept the +new poweroff commands. You will need to reboot/poweroff using the running init’s +utilities for the new utilities to work. These commands are for the init system +currently running on your system and not the one you are switching to. +

+ + + + + +
ProgramCommand
busyboxbusybox reboot
runitrunit-init 6
shinit/sinitkill -s INT 1
+ +
+
+

+Next: , Previous: , Up: Top   [Contents]

+
+

3 Contribution Guidelines

+ +

Thanks for taking your time to contribute! To maintain stylistic behaviour +throughout the repositories, one must adhere to these conventions. Exceptions +and changes may occur with good reasoning. +

+ + + + +
+ +

3.1 Conventions

+ + + +
+
[0010]
+

Try to keep the file readable. +

+
[0011]
+

Characters on a line shouldn’t exceed 100 characters. +

+
[0012]
+

Make sure you don’t have code commented out during +commit. Uncomment them or remove them completely. +

+
[0013]
+

Do not add comments following the code, add them to the +top of the code. It makes it harder to read, and lines longer. Here is an example: +

+
+ +
+
# Good way of commenting.
+your code goes here
+
+your code goes here  # Avoid this way of commenting.
+
+
+
+ + + + + + +
+ +

3.1.1 Shell Conventions

+ +

Shell is central to Carbs Linux projects. Most of the tools and packages are +written in POSIX sh. +

+
+
[1010]
+

Use 4 spaces for indentation, don’t use tabs. +

+
[1020]
+

Make sure you don’t use bash-specific code. +

+
[1030]
+

Make sure you lint your code with ‘shellcheck’ and if +you are new to POSIX sh, use ‘checkbashisms’. +

+
[1040]
+

Don’t spawn new processes if you don’t absolutely need +to, especially during string manipulation. +

+
[1041]
+

Never use a program for text manupilation that isn’t +defined in the POSIX standard. This includes ‘gawk’ and ‘perl’. +

+
[1042]
+

Instead of $(basename $file), use ${file##*}. +

+
[1043]
+

Instead of $(dirname $file), use ${file%/*}. +

+
+ +
+
# This is the same thing as basename /path/to/test.asc .asc
+
+$ file=/path/to/test.asc file=${file##*/} file=${file%.asc}
+$ echo $file
+test
+
+
+
[1050]
+

Instead of backticks, use $(..). +

+
+ +
+
+

+Previous: , Up: Conventions   [Contents]

+
+

3.1.2 Repository Conventions

+ +

Repository conventions are important in order to ensure every package resemble +themselves. Here are the things to keep in mind: +

+
+
[2010]
+

Prefer tarballs over git packages unless there is a +sensible reason. Here are some: +

    +
  • Every patch is a new release. (See vim) +
  • There are no releases. (See sbase) +
  • Following a development branch. +
  • There has been a long time since the latest release, but upstream is far +ahead. +
+
+
[2020]
+

Prefer sources without a dependency to ‘automake’. There +are usually distribution tarballs that are ‘autoconf’’ed. Don’t submit tarballs +with an automake dependency unless you are ‘sure’ there is no alternative. +

+
[2030]
+

Avoid these packages: +

+
dbus
+

Usually can be disabled by --disable-dbus. +

+
gettext
+

Usually can be disabled by --disable-nls. +

+
+
+
[2040]
+
    +
  • Always install a package to the ‘/usr’ prefix. +
  • All binaries should go to ‘/usr/bin’, not ‘/usr/sbin’ or any other directory. +
  • All libraries should go to ‘/usr/lib’. +
+
+
[2050]
+

All build files on the repository should be a POSIX +shell script, and must start with #!/bin/sh -e. +

+
+ +

The next section is about package templates that should be used in order to +ensure stylistic consistency. Note that the option configurations shouldn’t be +taken literally, they are meant as examples. +

+
    +
  1. Make [2210] + + +
    +
    #!/bin/sh -e
    +
    +make
    +make DESTDIR="$1" PREFIX=/usr install
    +
    + +
  2. Configure/Make [2211] + + +
    +
    #!/bin/sh -e
    +
    +./configure \
    +    --prefix=/usr \
    +    --disable-option \
    +    --enable-option
    +
    +make
    +make DESTDIR="$1" install
    +
    + +
  3. Autoconf/Automake [2212] + + +

    See 2020 +

    +
    +
    #!/bin/sh -e
    +
    +autoreconf -fi
    +
    +./configure \
    +    --prefix=/usr \
    +    --disable-option \
    +    --enable-option
    +
    +make
    +make DESTDIR="$1" install
    +
    + +
  4. Meson [2220] + + +
    +
    #!/bin/sh -e
    +
    +export DESTDIR=$1
    +
    +meson \
    +    --prefix=/usr \
    +    -Doption=false \
    +    -Doption2=true \
    +    . output
    +
    +ninja -C output
    +ninja -C output install
    +
    + +
  5. Cmake [2230] + + +
    +
    #!/bin/sh -e
    +
    +export DESTDIR=$1
    +
    +cmake -B build \
    +    -DCMAKE_INSTALL_PREFIX=/usr \
    +    -DCMAKE_BUILD_TYPE=Release \
    +    -DOPTION=ON
    +
    +cmake --build   build
    +cmake --install build
    +
    + +
  6. Go [2240] + + +
    +
    #!/bin/sh -e
    +
    +export GOPATH=$PWD/gopath
    +trap "go clean -modcache" EXIT INT
    +go mod vendor
    +
    +go build
    +install -Dm755 program "$1/usr/bin/program"
    +
    + +
  7. Python [2241] + + +
    +
    #!/bin/sh -e
    +
    +python setup.py build
    +python setup.py install --prefix=/usr --root="$1"
    +
    +
+ +
+
+

+Previous: , Up: Top   [Contents]

+
+

Appendix A GNU Free Documentation License

+ +
Version 1.3, 3 November 2008 +
+
+
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+http://fsf.org/
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+ +
    +
  1. PREAMBLE + +

    The purpose of this License is to make a manual, textbook, or other +functional and useful document free +in the sense of freedom: to assure everyone the effective freedom +to copy and redistribute it, with or without modifying it, either +commercially or noncommercially. Secondarily, this License +preserves for the author and publisher a way to get credit for +their work, while not being considered responsible for +modifications made by others. +

    +

    This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. +It complements the GNU General Public License, which is a copyleft +license designed for free software. +

    +

    We have designed this License in order to use it for manuals for +free software, because free software needs free documentation: +a free program should come with manuals providing the same freedoms +that the software does. But this License is not limited to +software manuals; it can be used for any textual work, regardless +of subject matter or whether it is published as a printed book. We +recommend this License principally for works whose purpose is +instruction or reference. +

    +
  2. APPLICABILITY AND DEFINITIONS + +

    This License applies to any manual or other work, in any medium, +that contains a notice placed by the copyright holder saying it can +be distributed under the terms of this License. Such a notice +grants a world-wide, royalty-free license, unlimited in duration, +to use that work under the conditions stated herein. The +"Document", below, refers to any such manual or work. Any member +of the public is a licensee, and is addressed as "you". You accept +the license if you copy, modify or distribute the work in a way +requiring permission under copyright law. +

    +

    A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. +

    +

    A "Secondary Section" is a named appendix or a front-matter section +of the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document’s overall +subject (or to related matters) and contains nothing that could +fall directly within that overall subject. (Thus, if the Document +is in part a textbook of mathematics, a Secondary Section may not +explain any mathematics.) The relationship could be a matter of +historical connection with the subject or with related matters, or +of legal, commercial, philosophical, ethical or political position +regarding them. +

    +

    The "Invariant Sections" are certain Secondary Sections whose +titles are designated, as being those of Invariant Sections, in the +notice that says that the Document is released under this License. +If a section does not fit the above definition of Secondary then it +is not allowed to be designated as Invariant. The Document may +contain zero Invariant Sections. If the Document does not identify +any Invariant Sections then there are none. +

    +

    The "Cover Texts" are certain short passages of text that are +listed, as Front-Cover Texts or Back-Cover Texts, in the notice +that says that the Document is released under this License. +A Front-Cover Text may be at most 5 words, and a Back-Cover Text +may be at most 25 words. +

    +

    A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed +of pixels) generic paint programs or (for drawings) some widely +available drawing editor, and that is suitable for input to text +formatters or for automatic translation to a variety of formats +suitable for input to text formatters. A copy made in an otherwise +Transparent file format whose markup, or absence of markup, has +been arranged to thwart or discourage subsequent modification by +readers is not Transparent. An image format is not Transparent if +used for any substantial amount of text. A copy that is not +"Transparent" is called "Opaque". +

    +

    Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, +SGML or XML using a publicly available DTD, and standard-conforming +simple HTML, PostScript or PDF designed for human modification. +Examples of transparent image formats include PNG, XCF and JPG. +Opaque formats include proprietary formats that can be read and +edited only by proprietary word processors, SGML or XML for which +the DTD and/or processing tools are not generally available, and +the machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. +

    +

    The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the +material this License requires to appear in the title page. For +works in formats which do not have any title page as such, "Title +Page" means the text near the most prominent appearance of the +work’s title, preceding the beginning of the body of the text. +

    +

    The "publisher" means any person or entity that distributes copies +of the Document to the public. +

    +

    A section "Entitled XYZ" means a named subunit of the Document +whose title either is precisely XYZ or contains XYZ in parentheses +following text that translates XYZ in another language. (Here XYZ +stands for a specific section name mentioned below, such as +"Acknowledgements", "Dedications", "Endorsements", or "History".) +To "Preserve the Title" of such a section when you modify the +Document means that it remains a section "Entitled XYZ" according +to this definition. +

    +

    The Document may include Warranty Disclaimers next to the notice +which states that this License applies to the Document. These +Warranty Disclaimers are considered to be included by reference in +this License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and +has no effect on the meaning of this License. +

    +
  3. VERBATIM COPYING + +

    You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License +applies to the Document are reproduced in all copies, and that you +add no other conditions whatsoever to those of this License. You +may not use technical measures to obstruct or control the reading +or further copying of the copies you make or distribute. However, +you may accept compensation in exchange for copies. If you +distribute a large enough number of copies you must also follow the +conditions in section 3. +

    +

    You may also lend copies, under the same conditions stated above, +and you may publicly display copies. +

    +
  4. COPYING IN QUANTITY + +

    If you publish printed copies (or copies in media that commonly +have printed covers) of the Document, numbering more than 100, and +the Document’s license notice requires Cover Texts, you must +enclose the copies in covers that carry, clearly and legibly, all +these Cover Texts: Front-Cover Texts on the front cover, and +Back-Cover Texts on the back cover. Both covers must also clearly +and legibly identify you as the publisher of these copies. The +front cover must present the full title with all words of the title +equally prominent and visible. You may add other material on the +covers in addition. Copying with changes limited to the covers, as +long as they preserve the title of the Document and satisfy these +conditions, can be treated as verbatim copying in other respects. +

    +

    If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto +adjacent pages. +

    +

    If you publish or distribute Opaque copies of the Document +numbering more than 100, you must either include a machine-readable +Transparent copy along with each Opaque copy, or state in or with +each Opaque copy a computer-network location from which the general +network-using public has access to download using public-standard +network protocols a complete Transparent copy of the Document, free +of added material. If you use the latter option, you must take +reasonably prudent steps, when you begin distribution of Opaque +copies in quantity, to ensure that this Transparent copy will +remain thus accessible at the stated location until at least one +year after the last time you distribute an Opaque copy (directly or +through your agents or retailers) of that edition to the public. +

    +

    It is requested, but not required, that you contact the authors of +the Document well before redistributing any large number of copies, +to give them a chance to provide you with an updated version of the +Document. +

    +
  5. MODIFICATIONS + +

    You may copy and distribute a Modified Version of the Document +under the conditions of sections 2 and 3 above, provided that you +release the Modified Version under precisely this License, with the +Modified Version filling the role of the Document, thus licensing +distribution and modification of the Modified Version to whoever +possesses a copy of it. In addition, you must do these things in +the Modified Version: +

    +
      +
    1. Use in the Title Page (and on the covers, if any) a title +distinct from that of the Document, and from those of previous +versions (which should, if there were any, be listed in the +History section of the Document). You may use the same title as +a previous version if the original publisher of that version +gives permission. + +
    2. List on the Title Page, as authors, one or more persons or +entities responsible for authorship of the modifications in the +Modified Version, together with at least five of the principal +authors of the Document (all of its principal authors, if it has +fewer than five), unless they release you from this requirement. + +
    3. State on the Title page the name of the publisher of the +Modified Version, as the publisher. + +
    4. Preserve all the copyright notices of the Document. + +
    5. Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. + +
    6. Include, immediately after the copyright notices, a license +notice giving the public permission to use the Modified Version +under the terms of this License, in the form shown in the +Addendum below. + +
    7. Preserve in that license notice the full lists of Invariant +Sections and required Cover Texts given in the Document’s +license notice. + +
    8. Include an unaltered copy of this License. + +
    9. Preserve the section Entitled "History", Preserve its Title, and +add to it an item stating at least the title, year, new authors, +and publisher of the Modified Version as given on the Title +Page. If there is no section Entitled "History" in the Document, +create one stating the title, year, authors, and publisher of +the Document as given on its Title Page, then add an item +describing the Modified Version as stated in the previous +sentence. + +
    10. Preserve the network location, if any, given in the Document +for public access to a Transparent copy of the Document, and +likewise the network locations given in the Document for +previous versions it was based on. These may be placed in the +"History" section. You may omit a network location for a work +that was published at least four years before the Document +itself, or if the original publisher of the version it refers +to gives permission. + +
    11. For any section Entitled "Acknowledgements" or "Dedications", +Preserve the Title of the section, and preserve in the section +all the substance and tone of each of the contributor +acknowledgements and/or dedications given therein. + +
    12. Preserve all the Invariant Sections of the Document, unaltered +in their text and in their titles. Section numbers or the +equivalent are not considered part of the section titles. + +
    13. Delete any section Entitled "Endorsements". Such a section may +not be included in the Modified Version. + +
    14. Do not retitle any existing section to be Entitled +"Endorsements" or to conflict in title with any Invariant +Section. + +
    15. Preserve any Warranty Disclaimers. +
    + +

    If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version’s license notice. +These titles must be distinct from any other section titles. +

    +

    You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties—for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. +

    +

    You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. +

    +

    The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. +

    +
  6. COMBINING DOCUMENTS + +

    You may combine the Document with other documents released under +this License, under the terms defined in section 4 above for +modified versions, provided that you include in the combination all +of the Invariant Sections of all of the original documents, +unmodified, and list them all as Invariant Sections of your +combined work in its license notice, and that you preserve all +their Warranty Disclaimers. +

    +

    The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name +but different contents, make the title of each such section unique +by adding at the end of it, in parentheses, the name of the +original author or publisher of that section if known, or else +a unique number. Make the same adjustment to the section titles in +the list of Invariant Sections in the license notice of the +combined work. +

    +

    In the combination, you must combine any sections Entitled +"History" in the various original documents, forming one section +Entitled "History"; likewise combine any sections Entitled +"Acknowledgements", and any sections Entitled "Dedications". You +must delete all sections Entitled "Endorsements." +

    +
  7. COLLECTIONS OF DOCUMENTS + +

    You may make a collection consisting of the Document and other +documents released under this License, and replace the individual +copies of this License in the various documents with a single copy +that is included in the collection, provided that you follow the +rules of this License for verbatim copying of each of the documents +in all other respects. +

    +

    You may extract a single document from such a collection, and +distribute it individually under this License, provided you insert +a copy of this License into the extracted document, and follow this +License in all other respects regarding verbatim copying of that +document. +

    +
  8. AGGREGATION WITH INDEPENDENT WORKS + +

    A compilation of the Document or its derivatives with other +separate and independent documents or works, in or on a volume of +a storage or distribution medium, is called an "aggregate" if the +copyright resulting from the compilation is not used to limit the +legal rights of the compilation’s users beyond what the individual +works permit. When the Document is included in an aggregate, this +License does not apply to the other works in the aggregate which +are not themselves derivative works of the Document. +

    +

    If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half +of the entire aggregate, the Document’s Cover Texts may be placed +on covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic +form. Otherwise they must appear on printed covers that bracket +the whole aggregate. +

    +
  9. TRANSLATION + +

    Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of +section 4. Replacing Invariant Sections with translations requires +special permission from their copyright holders, but you may +include translations of some or all Invariant Sections in addition +to the original versions of these Invariant Sections. You may +include a translation of this License, and all the license notices +in the Document, and any Warranty Disclaimers, provided that you +also include the original English version of this License and the +original versions of those notices and disclaimers. In case of +a disagreement between the translation and the original version of +this License or a notice or disclaimer, the original version will +prevail. +

    +

    If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to +Preserve its Title (section 1) will typically require changing the +actual title. +

    +
  10. TERMINATION + +

    You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, +and will automatically terminate your rights under this License. +

    +

    However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the +copyright holder fails to notify you of the violation by some +reasonable means prior to 60 days after the cessation. +

    +

    Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from +that copyright holder, and you cure the violation prior to 30 days +after your receipt of the notice. +

    +

    Termination of your rights under this section does not terminate +the licenses of parties who have received copies or rights from you +under this License. If your rights have been terminated and not +permanently reinstated, receipt of a copy of some or all of the +same material does not give you any rights to use it. +

    +
  11. FUTURE REVISIONS OF THIS LICENSE + +

    The Free Software Foundation may publish new, revised versions of +the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. +

    +

    Each version of the License is given a distinguishing version +number. If the Document specifies that a particular numbered +version of this License "or any later version" applies to it, you +have the option of following the terms and conditions either of +that specified version or of any later version that has been +published (not as a draft) by the Free Software Foundation. If +the Document does not specify a version number of this License, +you may choose any version ever published (not as a draft) by the +Free Software Foundation. If the Document specifies that a proxy +can decide which future versions of this License can be used, that +proxy’s public statement of acceptance of a version permanently +authorizes you to choose that version for the Document. +

    +
  12. RELICENSING + +

    "Massive Multiauthor Collaboration Site" (or "MMC Site") means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. +A public wiki that anybody can edit is an example of such +a server. A "Massive Multiauthor Collaboration" (or "MMC") +contained in the site means any set of copyrightable works thus +published on the MMC site. +

    +

    "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, +a not-for-profit corporation with a principal place of business in +San Francisco, California, as well as future copyleft versions of +that license published by that same organization. +

    +

    "Incorporate" means to publish or republish a Document, in whole +or in part, as part of another Document. +

    +

    An MMC is "eligible for relicensing" if it is licensed under this +License, and if all works that were first published under this +License somewhere other than this MMC, and subsequently +incorporated in whole or in part into the MMC, (1) had no cover +texts or invariant sections, and (2) were thus incorporated prior +to November 1, 2008. +

    +

    The operator of an MMC Site may republish an MMC contained in the +site under CC-BY-SA on the same site at any time before August 1, +2009, provided the MMC is eligible for relicensing. +

+ + +

A.1 ADDENDUM: How to use this License for your documents

+ +

To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: +

+
+
Copyright (C)  YEAR  YOUR NAME.
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+Texts.  A copy of the license is included in the section entitled ``GNU
+Free Documentation License''.
+
+ +

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with…Texts." line with this: +

+
+
with the Invariant Sections being LIST THEIR TITLES, with
+the Front-Cover Texts being LIST, and with the Back-Cover Texts
+being LIST.
+
+ +

If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. +

+

If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, to +permit their use in free software. +

+
+ + + + + diff --git a/docs/docs/carbslinux.txt b/docs/docs/carbslinux.txt new file mode 100644 index 0000000..a969c74 --- /dev/null +++ b/docs/docs/carbslinux.txt @@ -0,0 +1,1356 @@ + _________________________ + + CARBS LINUX USER MANUAL + + Cem Keylan + _________________________ + + +Table of Contents +_________________ + +1. Copying +2. Installation +.. 1. Preparing Environment +..... 1. Download +..... 2. Signature verification +..... 3. Extracting the tarball +..... 4. Obtain the chroot helper +.. 2. Chroot +..... 1. Setting up repositories +..... 2. Updating packages +..... 3. Installing packages +..... 4. Essential Software +..... 5. Obtaining the documentation +.. 3. System Configuration +..... 1. Configuring hostname +..... 2. Hosts file +.. 4. Kernel +..... 1. Obtaining the kernel sources +..... 2. Kernel dependencies +..... 3. Building the kernel +.. 5. Making your system bootable +..... 1. Bootloader +..... 2. Init scripts +..... 3. Fstab +.. 6. Post-installation +..... 1. KISS repositories +3. Init System +.. 1. Configuring Init +..... 1. Kernel Command Line +..... 2. `/etc/init/rc.conf' file +..... 3. Init Hooks +.. 2. Changing Init Program +..... 1. Rebooting after changing init +4. Contribution Guidelines +.. 1. Conventions +..... 1. Shell Conventions +..... 2. Repository Conventions +5. GNU Free Documentation License + + +This is the full documentation of [Carbs Linux], from the details of the +distribution, installation, to the package manager. It is not yet +complete. + +You can build and install the 'info' package in order to view this documentation +with the info reader. It is divided into sections and easier to read. + + +[Carbs Linux] + + +1 Copying +========= + + Copyright (c) 2020 Cem Keylan + + Permission is granted to copy, distribute and/or modify + this document under the terms of the GNU Free + Documentation License, Version 1.3 or any later version + published by the Free Software Foundation; with no + Invariant Sections, with no Front-Cover Texts and no + Back-Cover Texts. A copy of the license is included in + the section entitled "GNU Free Documentation License." + + +2 Installation +============== + + These are the step-by-step instructions for installing Carbs Linux. It + can be acquired as plain-text to be viewed offline with a pager from + . + + ,---- + | curl -sL https://carbslinux.org/install.txt | less + `---- + + .. 1. Preparing Environment + ..... 1. Download + ..... 2. Signature verification + ..... 3. Extracting the tarball + ..... 4. Obtain the chroot helper + .. 2. Chroot + ..... 1. Setting up repositories + ..... 2. Updating packages + ..... 3. Installing packages + ..... 4. Essential Software + ..... 5. Obtaining the documentation + .. 3. System Configuration + ..... 1. Configuring hostname + ..... 2. Hosts file + .. 4. Kernel + ..... 1. Obtaining the kernel sources + ..... 2. Kernel dependencies + ..... 3. Building the kernel + .. 5. Making your system bootable + ..... 1. Bootloader + ..... 2. Init scripts + ..... 3. Fstab + .. 6. Post-installation + ..... 1. KISS repositories + + +2.1 Preparing Environment +~~~~~~~~~~~~~~~~~~~~~~~~~ + + To install Carbs Linux, you will need a Live Linux ISO. For that + purpose, you can obtain a Gentoo or Void Linux live image. You can + follow their instructions to boot and setup your network. + + You will need the following programs in order to install Carbs Linux: + + - tar + - wget + - xz + - some form of base utilities (coreutils, sbase, busybox, etc.) + + Rest of these instructions will assume that you have set all of these + up, and will continue on that point. + + +2.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'. We are setting this in a + URL variable so that we don't have to write it every time. + + ,---- + | wget $URL/carbs-rootfs.tar.xz.sha256 + | sha256sum -c carbs-rootfs.tar.xz.sha256 + `---- + + +2.1.2 Signature verification +---------------------------- + + It is highly recommended to verify the signature of the tarball. You + will need GPG for this. + + ,---- + | wget $URL/carbs-rootfs.tar.xz.sig + | gpg --recv-keys FF484BDFEFCEF8FF + | gpg --verify carbs-rootfs.tar.xz.sig + `---- + + +2.1.3 Extracting the tarball +---------------------------- + + You will need to extract the tarball to your desired location. For + partitioning, you can follow [this guide]. 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 + `---- + + +[this guide] + + +2.1.4 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.2 Chroot +~~~~~~~~~~ + + Chroot into Carbs Linux! + + ,---- + | ./cpt-chroot /mnt + `---- + + +2.2.1 Setting up repositories +----------------------------- + + Newest tarballs do not come with repositories, so you will need to + manually obtain them, and set your `CPT_PATH' environment + variable. Carbs Linux repositories can either be obtained by `git' or + `rsync'. While rsync repositories are overall faster and smaller, git + offers the whole history of the repository and a means to manipulate + your repository as you like it. If you want to obtain the git + repository, you will need to install `git' itself. + + The following guide will assume that you put the repositories into + `~/repos/' directory, but you can put the repositories into any + directory you want. So go ahead and create that directory: + + ,---- + | mkdir -p $HOME/repos + `---- + + +* 2.2.1.1 Obtaining from git + + Carbs Linux git repositories can be found both from the main server + and GitHub (mirror). Here are both their repository links. You can + clone any of them. + + - git://git.carbslinux.org/repository + - + + ,---- + | git clone git://git.carbslinux.org/repository $HOME/repos/carbs + `---- + + +* 2.2.1.2 Obtaining from rsync + + Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In + order to obtain it, run the following: + + ,---- + | rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs + `---- + + +* 2.2.1.3 Making the package manager use the repositories + + In your shell's configuration file, or in your `~/.profile' file, add + the following lines: + + ,---- + | CPT_PATH=$HOME/repos/carbs/core + | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra + | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg + | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community + | export CPT_PATH + `---- + + +2.2.2 Updating packages +----------------------- + + It is good practice to make sure your system is up to date, especially + before building new packages. If there is an update for the package + manager you will need to update twice. + + ,---- + | cpt-update && cpt-update + `---- + + +2.2.3 Installing packages +------------------------- + + Since you are operating on a really small base, you might need to + build and install new programs to extend the functionality of your + system. In order to build and install packages new packages in Carbs, + you need to execute the following. "Package" is not actually a package + and is given as an example. + + ,---- + | cpt-build package + | cpt-install package + `---- + + +2.2.4 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 + - wpa_supplicant + + *TEXT EDITORS* + + - nano + - vim + - neatvi + - emacs + - emacs-nox (terminal-only version of emacs) + + *USER SHELLS* + + - bash + - zsh + - oksh + - rc + + *POSIX BASE UTILITIES* + + - busybox + - sbase + - coreutils + + *DOCUMENTATION* + + - carbs-docs + - man-pages + - man-pages-posix + + +2.2.5 Obtaining the documentation +--------------------------------- + + All the documentation for Carbs Linux can be found on a single info + manual to be viewed offline. You can obtain texinfo or the info + (standalone) package in order to view the documentation. + + ,---- + | # Install the documentation. + | cpt b carbs-docs && cpt i carbs-docs + | + | # Install either texinfo or the info package. We will be installing standalone info + | # as it doesn't need perl. + | cpt b info && cpt i info + | + | # You can then run info and navigate through the documentation. + | info carbslinux + `---- + + +2.3 System Configuration +~~~~~~~~~~~~~~~~~~~~~~~~ + + After you have finished installing some extra packages, you can + configure your system to your liking. + + +2.3.1 Configuring hostname +-------------------------- + + 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 + `---- + + +2.3.2 Hosts file +---------------- + + 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 + `---- + + +2.4 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. + + +[example kernel package] + + +2.4.1 Obtaining the kernel sources +---------------------------------- + + You can visit the 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.9.1.tar.xz + | tar xf linux-5.9.1.tar.xz + | + | # Change directory into the kernel sources + | cd linux-5.9.1 + `---- + + +2.4.2 Kernel dependencies +------------------------- + + In order to compile the kernel you will need to install some + dependencies. You will need `libelf', and `bison' to compile the + kernel. If you want to configure using the menu interface you will + also need `ncurses'. + + ,---- + | # The package manager asks to install if you are building more than one package, + | # so no need to run 'cpt i ...' + | cpt b libelf ncurses + `---- + + 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]. You will need to obtain and apply + the patch in the kernel source directory. + + ,---- + | wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch + | patch -p1 < kernel-no-perl.patch + `---- + + +[E5ten] + + +2.4.3 Building the kernel +------------------------- + + Next step is configuring and building the kernel. You can check + Gentoo's [kernel configuration guide] to learn more about the + matter. Overall, Gentoo Wiki is a good place to learn about + configuration according to your hardware. The following will assume a + monolithic kernel. + + ,---- + | make menuconfig + | make + | install -Dm755 $(make -s image_name) /boot/vmlinuz-linux + `---- + + +[kernel configuration guide] + + + +2.5 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. + + +2.5.1 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). + + +* 2.5.1.1 GRUB BIOS installation + + ,---- + | cpt b grub && cpt i grub + | grub-install --target=i386-pc /dev/sdX + | grub-mkconfig -o /boot/grub/grub.cfg + `---- + + +* 2.5.1.2 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 + `---- + + +2.5.2 Init scripts +------------------ + + Only thing left to do is installing the init-scripts, and now you are + almost ready to boot your system! + + ,---- + | cpt b carbs-init && cpt i carbs-init + `---- + + +2.5.3 Fstab +----------- + + You can now manually edit your fstab entry, or you can use the + genfstab tool. If you want to use the tool, exit the chroot and run + the following: + + ,---- + | wget https://github.com/cemkeylan/genfstab/raw/master/genfstab + | chmod +x genfstab + | ./genfstab -U /mnt >> /mnt/etc/fstab + `---- + + +2.6 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. You can check the rest of the documentation to + learn more about the system. + + +2.6.1 KISS repositories +----------------------- + + While not 100% compatible with cpt, you can use kiss repositories in + your system the same way you are using the distribution + repositories. Here is an example for the KISS Linux Community + repository. + + +3 Init System +============= + + Carbs Linux init scripts are run by the init daemon (`busybox' by + default) on boot and shutdown processes. It also provides its own + halting program named shalt. This provides a portable method that + doesn't rely on non-POSIX external programs. + + +3.1 Configuring Init +~~~~~~~~~~~~~~~~~~~~ + + There are three ways you can change the behaviour of the init + system. Those are: + + - Kernel Command Line + - `/etc/init/rc.conf' file + - Init Hooks + + +3.1.1 Kernel Command Line +------------------------- + + On GRUB, you can edit the kernel command line parameters, which will + be parsed as variables on the init system. Not all of the parameters + will be acted upon, but all of them will be set as variables on the + init script. For example an example command line, and how it is + interpreted. + + ,---- + | BOOT_IMAGE=/boot/vmlinuz root=/dev/sda2 rw loglevel=3 quiet + `---- + + This command line will be parsed to set the following variables: + + ,---- + | BOOT_IMAGE=/boot/vmlinuz + | root=/dev/sda2 + | rw=1 + | loglevel=3 + | quiet=1 + `---- + + Some of these variables, such as `rw=/=ro', `loglevel', and `quiet', + will be used by the init system to change the behaviour of the + startup. + + +3.1.2 `/etc/init/rc.conf' file +------------------------------ + + However, the kernel command line isn't the only place to set your boot + parameters. You can specify variables here as well, although note that + the kernel command line always gets the priority for these variables + since they can be set just before boot. + + +3.1.3 Init Hooks +---------------- + + Init hooks are for custom personal commands that the user may want to + add to alter their boot. These can be used to load kernel modules, + modify interfaces, and lot more. Those hooks are added to the + `/etc/init' directory with the hook name as the suffix. For example, a + boot script will be placed as `/etc/init/my-hook.boot'. Currently, + there are 4 hooks that the user can use. + + early-boot + Run after pseudo-filesystems are mounted. + boot + Run before the boot stage is completed. + pre.shutdown + Run first when shutting down. + umount + Run just before filesystems are unmounted. + post.shutdown + Run just before the system is halted. + + +3.2 Changing Init Program +~~~~~~~~~~~~~~~~~~~~~~~~~ + + By default, Carbs Linux comes preinstalled with `busybox-init', but + this can easily be replaced without any issues. Currently, available + init systems are: + + - `sinit' + - `busybox' + - `runit' + - `shinit' + + This example is for runit, but it will work with all init systems + packaged in the distribution repositories. See the + `cpt-alternatives(1)' manual page for more details. + + ,---- + | cpt a runit /usr/bin/init + | cpt a runit /usr/bin/poweroff + | cpt a runit /usr/bin/reboot + `---- + + +3.2.1 Rebooting after changing init +----------------------------------- + + After switching init systems, your running init system may not accept + the new poweroff commands. You will need to reboot/poweroff using the + running init's utilities for the new utilities to work. These commands + are for the init system currently running on your system and not the + one you are switching to. + + Program Command + -------------------------------- + busybox `busybox reboot' + runit `runit-init 6' + shinit/sinit `kill -s INT 1' + + +4 Contribution Guidelines +========================= + + Thanks for taking your time to contribute! To maintain stylistic + behaviour throughout the repositories, one must adhere to these + conventions. Exceptions and changes may occur with good reasoning. + + +4.1 Conventions +~~~~~~~~~~~~~~~ + + [0010] + Try to keep the file readable. + [0011] + Characters on a line shouldn't exceed 100 characters. + [0012] + Make sure you don't have code commented out during + commit. Uncomment them or remove them completely. + [0013] + Do not add comments following the code, add them to the + top of the code. It makes it harder to read, and lines + longer. Here is an example: + + ,---- + | # Good way of commenting. + | your code goes here + | + | your code goes here # Avoid this way of commenting. + `---- + + +4.1.1 Shell Conventions +----------------------- + + Shell is central to Carbs Linux projects. Most of the tools and + packages are written in POSIX sh. + + [1010] + Use 4 spaces for indentation, don't use tabs. + [1020] + Make sure you don't use bash-specific code. + [1030] + Make sure you lint your code with `shellcheck' and if you are + new to POSIX sh, use `checkbashisms'. + [1040] + Don't spawn new processes if you don't absolutely need to, + especially during string manipulation. + [1041] + Never use a program for text manupilation that isn't + defined in the POSIX standard. This includes `gawk' and + `perl'. + [1042] + Instead of `$(basename $file)', use `${file##*}'. + [1043] + Instead of `$(dirname $file)', use `${file%/*}'. + + ,---- + | # This is the same thing as basename /path/to/test.asc .asc + | + | $ file=/path/to/test.asc file=${file##*/} file=${file%.asc} + | $ echo $file + | test + `---- + [1050] + Instead of backticks, use `$(..)'. + + +4.1.2 Repository Conventions +---------------------------- + + Repository conventions are important in order to ensure every package + resemble themselves. Here are the things to keep in mind: + + [2010] + Prefer tarballs over git packages unless there is a sensible + reason. Here are some: + - Every patch is a new release. (See [vim]) + - There are no releases. (See [sbase]) + - Following a development branch. + - There has been a long time since the latest release, but + upstream is far ahead. + [2020] + Prefer sources without a dependency to `automake'. There are + usually distribution tarballs that are `autoconf''ed. Don't + submit tarballs with an automake dependency unless you are + `sure' there is no alternative. + [2030] + Avoid these packages: + dbus + Usually can be disabled by `--disable-dbus'. + gettext + Usually can be disabled by `--disable-nls'. + [2040] + - Always install a package to the `/usr' prefix. + - All binaries should go to `/usr/bin', not `/usr/sbin' or any + other directory. + - All libraries should go to `/usr/lib'. + [2050] + All build files on the repository should be a POSIX shell + script, and must start with `#!/bin/sh -e'. + + The next section is about package templates that should be used in + order to ensure stylistic consistency. Note that the option + configurations shouldn't be taken literally, they are meant as + examples. + + +[vim] + +[sbase] + +* 4.1.2.1 Make [2210] + + ,---- + | #!/bin/sh -e + | + | make + | make DESTDIR="$1" PREFIX=/usr install + `---- + + +* 4.1.2.2 Configure/Make [2211] + + ,---- + | #!/bin/sh -e + | + | ./configure \ + | --prefix=/usr \ + | --disable-option \ + | --enable-option + | + | make + | make DESTDIR="$1" install + `---- + + +* 4.1.2.3 Autoconf/Automake [2212] + + ,---- + | #!/bin/sh -e + | + | autoreconf -fi + | + | ./configure \ + | --prefix=/usr \ + | --disable-option \ + | --enable-option + | + | make + | make DESTDIR="$1" install + `---- + + +* 4.1.2.4 Meson [2220] + + ,---- + | #!/bin/sh -e + | + | export DESTDIR=$1 + | + | meson \ + | --prefix=/usr \ + | -Doption=false \ + | -Doption2=true \ + | . output + | + | ninja -C output + | ninja -C output install + `---- + + +* 4.1.2.5 Cmake [2230] + + ,---- + | #!/bin/sh -e + | + | export DESTDIR=$1 + | + | cmake -B build \ + | -DCMAKE_INSTALL_PREFIX=/usr \ + | -DCMAKE_BUILD_TYPE=Release \ + | -DOPTION=ON + | + | cmake --build build + | cmake --install build + `---- + + +* 4.1.2.6 Go [2240] + + ,---- + | #!/bin/sh -e + | + | export GOPATH=$PWD/gopath + | trap "go clean -modcache" EXIT INT + | go mod vendor + | + | go build + | install -Dm755 program "$1/usr/bin/program" + `---- + + +* 4.1.2.7 Python [2241] + + ,---- + | #!/bin/sh -e + | + | python setup.py build + | python setup.py install --prefix=/usr --root="$1" + `---- + + +5 GNU Free Documentation License +================================ + + Version 1.3, 3 November 2008 + + Copyright (c) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. + + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + 0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or other + functional and useful document free in the sense of freedom: to + assure everyone the effective freedom to copy and redistribute it, + with or without modifying it, either commercially or + noncommercially. Secondarily, this License preserves for the author + and publisher a way to get credit for their work, while not being + considered responsible for modifications made by others. + + This License is a kind of "copyleft", which means that derivative + works of the document must themselves be free in the same sense. + It complements the GNU General Public License, which is a copyleft + license designed for free software. + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same freedoms + that the software does. But this License is not limited to + software manuals; it can be used for any textual work, regardless + of subject matter or whether it is published as a printed book. We + recommend this License principally for works whose purpose is + instruction or reference. + + 1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work, in any medium, + that contains a notice placed by the copyright holder saying it can + be distributed under the terms of this License. Such a notice + grants a world-wide, royalty-free license, unlimited in duration, + to use that work under the conditions stated herein. The + "Document", below, refers to any such manual or work. Any member + of the public is a licensee, and is addressed as "you". You accept + the license if you copy, modify or distribute the work in a way + requiring permission under copyright law. + + A "Modified Version" of the Document means any work containing the + Document or a portion of it, either copied verbatim, or with + modifications and/or translated into another language. + + A "Secondary Section" is a named appendix or a front-matter section + of the Document that deals exclusively with the relationship of the + publishers or authors of the Document to the Document's overall + subject (or to related matters) and contains nothing that could + fall directly within that overall subject. (Thus, if the Document + is in part a textbook of mathematics, a Secondary Section may not + explain any mathematics.) The relationship could be a matter of + historical connection with the subject or with related matters, or + of legal, commercial, philosophical, ethical or political position + regarding them. + + The "Invariant Sections" are certain Secondary Sections whose + titles are designated, as being those of Invariant Sections, in the + notice that says that the Document is released under this License. + If a section does not fit the above definition of Secondary then it + is not allowed to be designated as Invariant. The Document may + contain zero Invariant Sections. If the Document does not identify + any Invariant Sections then there are none. + + The "Cover Texts" are certain short passages of text that are + listed, as Front-Cover Texts or Back-Cover Texts, in the notice + that says that the Document is released under this License. A + Front-Cover Text may be at most 5 words, and a Back-Cover Text may + be at most 25 words. + + A "Transparent" copy of the Document means a machine-readable copy, + represented in a format whose specification is available to the + general public, that is suitable for revising the document + straightforwardly with generic text editors or (for images composed + of pixels) generic paint programs or (for drawings) some widely + available drawing editor, and that is suitable for input to text + formatters or for automatic translation to a variety of formats + suitable for input to text formatters. A copy made in an otherwise + Transparent file format whose markup, or absence of markup, has + been arranged to thwart or discourage subsequent modification by + readers is not Transparent. An image format is not Transparent if + used for any substantial amount of text. A copy that is not + "Transparent" is called "Opaque". + + Examples of suitable formats for Transparent copies include plain + ASCII without markup, Texinfo input format, LaTeX input format, + SGML or XML using a publicly available DTD, and standard-conforming + simple HTML, PostScript or PDF designed for human modification. + Examples of transparent image formats include PNG, XCF and JPG. + Opaque formats include proprietary formats that can be read and + edited only by proprietary word processors, SGML or XML for which + the DTD and/or processing tools are not generally available, and + the machine-generated HTML, PostScript or PDF produced by some word + processors for output purposes only. + + The "Title Page" means, for a printed book, the title page itself, + plus such following pages as are needed to hold, legibly, the + material this License requires to appear in the title page. For + works in formats which do not have any title page as such, "Title + Page" means the text near the most prominent appearance of the + work's title, preceding the beginning of the body of the text. + + The "publisher" means any person or entity that distributes copies + of the Document to the public. + + A section "Entitled XYZ" means a named subunit of the Document + whose title either is precisely XYZ or contains XYZ in parentheses + following text that translates XYZ in another language. (Here XYZ + stands for a specific section name mentioned below, such as + "Acknowledgements", "Dedications", "Endorsements", or "History".) + To "Preserve the Title" of such a section when you modify the + Document means that it remains a section "Entitled XYZ" according + to this definition. + + The Document may include Warranty Disclaimers next to the notice + which states that this License applies to the Document. These + Warranty Disclaimers are considered to be included by reference in + this License, but only as regards disclaiming warranties: any other + implication that these Warranty Disclaimers may have is void and + has no effect on the meaning of this License. + + 2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that you + add no other conditions whatsoever to those of this License. You + may not use technical measures to obstruct or control the reading + or further copying of the copies you make or distribute. However, + you may accept compensation in exchange for copies. If you + distribute a large enough number of copies you must also follow the + conditions in section 3. + + You may also lend copies, under the same conditions stated above, + and you may publicly display copies. + + 3. COPYING IN QUANTITY + + If you publish printed copies (or copies in media that commonly + have printed covers) of the Document, numbering more than 100, and + the Document's license notice requires Cover Texts, you must + enclose the copies in covers that carry, clearly and legibly, all + these Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also clearly + and legibly identify you as the publisher of these copies. The + front cover must present the full title with all words of the title + equally prominent and visible. You may add other material on the + covers in addition. Copying with changes limited to the covers, as + long as they preserve the title of the Document and satisfy these + conditions, can be treated as verbatim copying in other respects. + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + If you publish or distribute Opaque copies of the Document + numbering more than 100, you must either include a machine-readable + Transparent copy along with each Opaque copy, or state in or with + each Opaque copy a computer-network location from which the general + network-using public has access to download using public-standard + network protocols a complete Transparent copy of the Document, free + of added material. If you use the latter option, you must take + reasonably prudent steps, when you begin distribution of Opaque + copies in quantity, to ensure that this Transparent copy will + remain thus accessible at the stated location until at least one + year after the last time you distribute an Opaque copy (directly or + through your agents or retailers) of that edition to the public. + + It is requested, but not required, that you contact the authors of + the Document well before redistributing any large number of copies, + to give them a chance to provide you with an updated version of the + Document. + + 4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document + under the conditions of sections 2 and 3 above, provided that you + release the Modified Version under precisely this License, with the + Modified Version filling the role of the Document, thus licensing + distribution and modification of the Modified Version to whoever + possesses a copy of it. In addition, you must do these things in + the Modified Version: + + 1. Use in the Title Page (and on the covers, if any) a title + distinct from that of the Document, and from those of previous + versions (which should, if there were any, be listed in the + History section of the Document). You may use the same title as + a previous version if the original publisher of that version + gives permission. + + 2. List on the Title Page, as authors, one or more persons or + entities responsible for authorship of the modifications in the + Modified Version, together with at least five of the principal + authors of the Document (all of its principal authors, if it has + fewer than five), unless they release you from this requirement. + + 3. State on the Title page the name of the publisher of the + Modified Version, as the publisher. + + 4. Preserve all the copyright notices of the Document. + + 5. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + 6. Include, immediately after the copyright notices, a license + notice giving the public permission to use the Modified Version + under the terms of this License, in the form shown in the + Addendum below. + + 7. Preserve in that license notice the full lists of Invariant + Sections and required Cover Texts given in the Document's + license notice. + + 8. Include an unaltered copy of this License. + + 9. Preserve the section Entitled "History", Preserve its Title, and + add to it an item stating at least the title, year, new authors, + and publisher of the Modified Version as given on the Title + Page. If there is no section Entitled "History" in the Document, + create one stating the title, year, authors, and publisher of + the Document as given on its Title Page, then add an item + describing the Modified Version as stated in the previous + sentence. + + 10. Preserve the network location, if any, given in the Document + for public access to a Transparent copy of the Document, and + likewise the network locations given in the Document for + previous versions it was based on. These may be placed in the + "History" section. You may omit a network location for a work + that was published at least four years before the Document + itself, or if the original publisher of the version it refers + to gives permission. + + 11. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section + all the substance and tone of each of the contributor + acknowledgements and/or dedications given therein. + + 12. Preserve all the Invariant Sections of the Document, unaltered + in their text and in their titles. Section numbers or the + equivalent are not considered part of the section titles. + + 13. Delete any section Entitled "Endorsements". Such a section may + not be included in the Modified Version. + + 14. Do not retitle any existing section to be Entitled + "Endorsements" or to conflict in title with any Invariant + Section. + + 15. Preserve any Warranty Disclaimers. + + If the Modified Version includes new front-matter sections or + appendices that qualify as Secondary Sections and contain no + material copied from the Document, you may at your option designate + some or all of these sections as invariant. To do this, add their + titles to the list of Invariant Sections in the Modified Version's + license notice. These titles must be distinct from any other + section titles. + + You may add a section Entitled "Endorsements", provided it contains + nothing but endorsements of your Modified Version by various + parties---for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + You may add a passage of up to five words as a Front-Cover Text, + and a passage of up to 25 words as a Back-Cover Text, to the end of + the list of Cover Texts in the Modified Version. Only one passage + of Front-Cover Text and one of Back-Cover Text may be added by (or + through arrangements made by) any one entity. If the Document + already includes a cover text for the same cover, previously added + by you or by arrangement made by the same entity you are acting on + behalf of, you may not add another; but you may replace the old + one, on explicit permission from the previous publisher that added + the old one. + + The author(s) and publisher(s) of the Document do not by this + License give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version. + + 5. COMBINING DOCUMENTS + + You may combine the Document with other documents released under + this License, under the terms defined in section 4 above for + modified versions, provided that you include in the combination all + of the Invariant Sections of all of the original documents, + unmodified, and list them all as Invariant Sections of your + combined work in its license notice, and that you preserve all + their Warranty Disclaimers. + + The combined work need only contain one copy of this License, and + multiple identical Invariant Sections may be replaced with a single + copy. If there are multiple Invariant Sections with the same name + but different contents, make the title of each such section unique + by adding at the end of it, in parentheses, the name of the + original author or publisher of that section if known, or else a + unique number. Make the same adjustment to the section titles in + the list of Invariant Sections in the license notice of the + combined work. + + In the combination, you must combine any sections Entitled + "History" in the various original documents, forming one section + Entitled "History"; likewise combine any sections Entitled + "Acknowledgements", and any sections Entitled "Dedications". You + must delete all sections Entitled "Endorsements." + + 6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other + documents released under this License, and replace the individual + copies of this License in the various documents with a single copy + that is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the documents + in all other respects. + + You may extract a single document from such a collection, and + distribute it individually under this License, provided you insert + a copy of this License into the extracted document, and follow this + License in all other respects regarding verbatim copying of that + document. + + 7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with other + separate and independent documents or works, in or on a volume of a + storage or distribution medium, is called an "aggregate" if the + copyright resulting from the compilation is not used to limit the + legal rights of the compilation's users beyond what the individual + works permit. When the Document is included in an aggregate, this + License does not apply to the other works in the aggregate which + are not themselves derivative works of the Document. + + If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one half + of the entire aggregate, the Document's Cover Texts may be placed + on covers that bracket the Document within the aggregate, or the + electronic equivalent of covers if the Document is in electronic + form. Otherwise they must appear on printed covers that bracket + the whole aggregate. + + 8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section + 4. Replacing Invariant Sections with translations requires special + permission from their copyright holders, but you may include + translations of some or all Invariant Sections in addition to the + original versions of these Invariant Sections. You may include a + translation of this License, and all the license notices in the + Document, and any Warranty Disclaimers, provided that you also + include the original English version of this License and the + original versions of those notices and disclaimers. In case of a + disagreement between the translation and the original version of + this License or a notice or disclaimer, the original version will + prevail. + + If a section in the Document is Entitled "Acknowledgements", + "Dedications", or "History", the requirement (section 4) to + Preserve its Title (section 1) will typically require changing the + actual title. + + 9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document + except as expressly provided under this License. Any attempt + otherwise to copy, modify, sublicense, or distribute it is void, + and will automatically terminate your rights under this License. + + However, if you cease all violation of this License, then your + license from a particular copyright holder is reinstated (a) + provisionally, unless and until the copyright holder explicitly and + finally terminates your license, and (b) permanently, if the + copyright holder fails to notify you of the violation by some + reasonable means prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is + reinstated permanently if the copyright holder notifies you of the + violation by some reasonable means, this is the first time you have + received notice of violation of this License (for any work) from + that copyright holder, and you cure the violation prior to 30 days + after your receipt of the notice. + + Termination of your rights under this section does not terminate + the licenses of parties who have received copies or rights from you + under this License. If your rights have been terminated and not + permanently reinstated, receipt of a copy of some or all of the + same material does not give you any rights to use it. + + 10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software Foundation may publish new, revised versions of + the GNU Free Documentation License from time to time. Such new + versions will be similar in spirit to the present version, but may + differ in detail to address new problems or concerns. See + . + + Each version of the License is given a distinguishing version + number. If the Document specifies that a particular numbered + version of this License "or any later version" applies to it, you + have the option of following the terms and conditions either of + that specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If + the Document does not specify a version number of this License, + you may choose any version ever published (not as a draft) by the + Free Software Foundation. If the Document specifies that a proxy + can decide which future versions of this License can be used, that + proxy's public statement of acceptance of a version permanently + authorizes you to choose that version for the Document. + + 11. RELICENSING + + "Massive Multiauthor Collaboration Site" (or "MMC Site") means any + World Wide Web server that publishes copyrightable works and also + provides prominent facilities for anybody to edit those works. A + public wiki that anybody can edit is an example of such a server. + A "Massive Multiauthor Collaboration" (or "MMC") contained in the + site means any set of copyrightable works thus published on the + MMC site. + + "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 + license published by Creative Commons Corporation, a + not-for-profit corporation with a principal place of business in + San Francisco, California, as well as future copyleft versions of + that license published by that same organization. + + "Incorporate" means to publish or republish a Document, in whole + or in part, as part of another Document. + + An MMC is "eligible for relicensing" if it is licensed under this + License, and if all works that were first published under this + License somewhere other than this MMC, and subsequently + incorporated in whole or in part into the MMC, (1) had no cover + texts or invariant sections, and (2) were thus incorporated prior + to November 1, 2008. + + The operator of an MMC Site may republish an MMC contained in the + site under CC-BY-SA on the same site at any time before August 1, + 2009, provided the MMC is eligible for relicensing. + + +ADDENDUM: How to use this License for your documents +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + To use this License in a document you have written, include a copy of + the License in the document and put the following copyright and + license notices just after the title page: + + ,---- + | Copyright (C) YEAR YOUR NAME. + | Permission is granted to copy, distribute and/or modify this document + | under the terms of the GNU Free Documentation License, Version 1.3 + | or any later version published by the Free Software Foundation; + | with no Invariant Sections, no Front-Cover Texts, and no Back-Cover + | Texts. A copy of the license is included in the section entitled ``GNU + | Free Documentation License''. + `---- + + If you have Invariant Sections, Front-Cover Texts and Back-Cover + Texts, replace the "with...Texts." line with this: + + ,---- + | with the Invariant Sections being LIST THEIR TITLES, with + | the Front-Cover Texts being LIST, and with the Back-Cover Texts + | being LIST. + `---- + + If you have Invariant Sections without Cover Texts, or some other + combination of the three, merge those two alternatives to suit the + situation. + + If your document contains nontrivial examples of program code, we + recommend releasing these examples in parallel under your choice of + free software license, such as the GNU General Public License, to + permit their use in free software. diff --git a/docs/docs/carbslinux/0010.html b/docs/docs/carbslinux/0010.html new file mode 100644 index 0000000..fa3dd1b --- /dev/null +++ b/docs/docs/carbslinux/0010.html @@ -0,0 +1,50 @@ + + + + + + + +0010 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 0010.

+ diff --git a/docs/docs/carbslinux/0011.html b/docs/docs/carbslinux/0011.html new file mode 100644 index 0000000..69daf27 --- /dev/null +++ b/docs/docs/carbslinux/0011.html @@ -0,0 +1,50 @@ + + + + + + + +0011 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 0011.

+ diff --git a/docs/docs/carbslinux/0012.html b/docs/docs/carbslinux/0012.html new file mode 100644 index 0000000..e2bed83 --- /dev/null +++ b/docs/docs/carbslinux/0012.html @@ -0,0 +1,50 @@ + + + + + + + +0012 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 0012.

+ diff --git a/docs/docs/carbslinux/0013.html b/docs/docs/carbslinux/0013.html new file mode 100644 index 0000000..5551717 --- /dev/null +++ b/docs/docs/carbslinux/0013.html @@ -0,0 +1,50 @@ + + + + + + + +0013 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 0013.

+ diff --git a/docs/docs/carbslinux/1010.html b/docs/docs/carbslinux/1010.html new file mode 100644 index 0000000..fd3abcf --- /dev/null +++ b/docs/docs/carbslinux/1010.html @@ -0,0 +1,50 @@ + + + + + + + +1010 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 1010.

+ diff --git a/docs/docs/carbslinux/1020.html b/docs/docs/carbslinux/1020.html new file mode 100644 index 0000000..6c23536 --- /dev/null +++ b/docs/docs/carbslinux/1020.html @@ -0,0 +1,50 @@ + + + + + + + +1020 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 1020.

+ diff --git a/docs/docs/carbslinux/1030.html b/docs/docs/carbslinux/1030.html new file mode 100644 index 0000000..ca4c4f1 --- /dev/null +++ b/docs/docs/carbslinux/1030.html @@ -0,0 +1,50 @@ + + + + + + + +1030 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 1030.

+ diff --git a/docs/docs/carbslinux/1040.html b/docs/docs/carbslinux/1040.html new file mode 100644 index 0000000..783086a --- /dev/null +++ b/docs/docs/carbslinux/1040.html @@ -0,0 +1,50 @@ + + + + + + + +1040 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 1040.

+ diff --git a/docs/docs/carbslinux/1041.html b/docs/docs/carbslinux/1041.html new file mode 100644 index 0000000..0105a70 --- /dev/null +++ b/docs/docs/carbslinux/1041.html @@ -0,0 +1,50 @@ + + + + + + + +1041 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 1041.

+ diff --git a/docs/docs/carbslinux/1042.html b/docs/docs/carbslinux/1042.html new file mode 100644 index 0000000..433eef2 --- /dev/null +++ b/docs/docs/carbslinux/1042.html @@ -0,0 +1,50 @@ + + + + + + + +1042 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 1042.

+ diff --git a/docs/docs/carbslinux/1043.html b/docs/docs/carbslinux/1043.html new file mode 100644 index 0000000..d15d15c --- /dev/null +++ b/docs/docs/carbslinux/1043.html @@ -0,0 +1,50 @@ + + + + + + + +1043 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 1043.

+ diff --git a/docs/docs/carbslinux/1050.html b/docs/docs/carbslinux/1050.html new file mode 100644 index 0000000..8908db4 --- /dev/null +++ b/docs/docs/carbslinux/1050.html @@ -0,0 +1,50 @@ + + + + + + + +1050 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 1050.

+ diff --git a/docs/docs/carbslinux/2010.html b/docs/docs/carbslinux/2010.html new file mode 100644 index 0000000..a6b7f67 --- /dev/null +++ b/docs/docs/carbslinux/2010.html @@ -0,0 +1,50 @@ + + + + + + + +2010 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2010.

+ diff --git a/docs/docs/carbslinux/2020.html b/docs/docs/carbslinux/2020.html new file mode 100644 index 0000000..28febe7 --- /dev/null +++ b/docs/docs/carbslinux/2020.html @@ -0,0 +1,50 @@ + + + + + + + +2020 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2020.

+ diff --git a/docs/docs/carbslinux/2030.html b/docs/docs/carbslinux/2030.html new file mode 100644 index 0000000..451a74c --- /dev/null +++ b/docs/docs/carbslinux/2030.html @@ -0,0 +1,50 @@ + + + + + + + +2030 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2030.

+ diff --git a/docs/docs/carbslinux/2040.html b/docs/docs/carbslinux/2040.html new file mode 100644 index 0000000..8263dbc --- /dev/null +++ b/docs/docs/carbslinux/2040.html @@ -0,0 +1,50 @@ + + + + + + + +2040 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2040.

+ diff --git a/docs/docs/carbslinux/2050.html b/docs/docs/carbslinux/2050.html new file mode 100644 index 0000000..38e5164 --- /dev/null +++ b/docs/docs/carbslinux/2050.html @@ -0,0 +1,50 @@ + + + + + + + +2050 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2050.

+ diff --git a/docs/docs/carbslinux/2210.html b/docs/docs/carbslinux/2210.html new file mode 100644 index 0000000..a48998d --- /dev/null +++ b/docs/docs/carbslinux/2210.html @@ -0,0 +1,50 @@ + + + + + + + +2210 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2210.

+ diff --git a/docs/docs/carbslinux/2211.html b/docs/docs/carbslinux/2211.html new file mode 100644 index 0000000..018f16b --- /dev/null +++ b/docs/docs/carbslinux/2211.html @@ -0,0 +1,50 @@ + + + + + + + +2211 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2211.

+ diff --git a/docs/docs/carbslinux/2212.html b/docs/docs/carbslinux/2212.html new file mode 100644 index 0000000..8937bda --- /dev/null +++ b/docs/docs/carbslinux/2212.html @@ -0,0 +1,50 @@ + + + + + + + +2212 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2212.

+ diff --git a/docs/docs/carbslinux/2220.html b/docs/docs/carbslinux/2220.html new file mode 100644 index 0000000..505b409 --- /dev/null +++ b/docs/docs/carbslinux/2220.html @@ -0,0 +1,50 @@ + + + + + + + +2220 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2220.

+ diff --git a/docs/docs/carbslinux/2230.html b/docs/docs/carbslinux/2230.html new file mode 100644 index 0000000..36319c1 --- /dev/null +++ b/docs/docs/carbslinux/2230.html @@ -0,0 +1,50 @@ + + + + + + + +2230 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2230.

+ diff --git a/docs/docs/carbslinux/2240.html b/docs/docs/carbslinux/2240.html new file mode 100644 index 0000000..44b3647 --- /dev/null +++ b/docs/docs/carbslinux/2240.html @@ -0,0 +1,50 @@ + + + + + + + +2240 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2240.

+ diff --git a/docs/docs/carbslinux/2241.html b/docs/docs/carbslinux/2241.html new file mode 100644 index 0000000..73d123e --- /dev/null +++ b/docs/docs/carbslinux/2241.html @@ -0,0 +1,50 @@ + + + + + + + +2241 (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at 2241.

+ diff --git a/docs/docs/carbslinux/ADDENDUM-How-to-use-this-License-for-your-documents.html b/docs/docs/carbslinux/ADDENDUM-How-to-use-this-License-for-your-documents.html new file mode 100644 index 0000000..0664ccd --- /dev/null +++ b/docs/docs/carbslinux/ADDENDUM-How-to-use-this-License-for-your-documents.html @@ -0,0 +1,50 @@ + + + + + + + +ADDENDUM How to use this License for your documents (Carbs Linux User Manual) + + + + + + + + + + + + + + + +

The node you are looking for is at ADDENDUM How to use this License for your documents.

+ diff --git a/docs/docs/carbslinux/Bootloader.html b/docs/docs/carbslinux/Bootloader.html new file mode 100644 index 0000000..8b52d9d --- /dev/null +++ b/docs/docs/carbslinux/Bootloader.html @@ -0,0 +1,92 @@ + + + + + + +Bootloader (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.5.1 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). +

+
    +
  1. GRUB BIOS installation + + +
    +
    cpt b grub && cpt i grub
    +grub-install --target=i386-pc /dev/sdX
    +grub-mkconfig -o /boot/grub/grub.cfg
    +
    + +
  2. 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
    +
    +
+ + + + + + diff --git a/docs/docs/carbslinux/Building-the-kernel.html b/docs/docs/carbslinux/Building-the-kernel.html new file mode 100644 index 0000000..250925d --- /dev/null +++ b/docs/docs/carbslinux/Building-the-kernel.html @@ -0,0 +1,73 @@ + + + + + + +Building the kernel (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Previous: , Up: Kernel   [Contents]

+
+
+

1.4.3 Building the kernel

+ +

Next step is configuring and building the kernel. You can check Gentoo’s +kernel configuration guide to learn more about the matter. Overall, Gentoo Wiki +is a good place to learn about configuration according to your hardware. The +following will assume a monolithic kernel. +

+
+
make menuconfig
+make
+install -Dm755 $(make -s image_name) /boot/vmlinuz-linux
+
+ + + + + + diff --git a/docs/docs/carbslinux/Changing-Init-Program.html b/docs/docs/carbslinux/Changing-Init-Program.html new file mode 100644 index 0000000..41568f9 --- /dev/null +++ b/docs/docs/carbslinux/Changing-Init-Program.html @@ -0,0 +1,87 @@ + + + + + + +Changing Init Program (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Previous: , Up: Init System   [Contents]

+
+
+

2.2 Changing Init Program

+ +

By default, Carbs Linux comes preinstalled with ‘busybox-init’, but this can +easily be replaced without any issues. Currently, available init systems are: +

+
    +
  • sinit’ +
  • busybox’ +
  • runit’ +
  • shinit’ +
+ +

This example is for runit, but it will work with all init systems packaged in the +distribution repositories. See the ‘cpt-alternatives(1)’ manual page for more +details. +

+
+
cpt a runit /usr/bin/init
+cpt a runit /usr/bin/poweroff
+cpt a runit /usr/bin/reboot
+
+ + + + + + + + + + diff --git a/docs/docs/carbslinux/Chroot.html b/docs/docs/carbslinux/Chroot.html new file mode 100644 index 0000000..02749c4 --- /dev/null +++ b/docs/docs/carbslinux/Chroot.html @@ -0,0 +1,81 @@ + + + + + + +Chroot (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.2 Chroot

+ +

Chroot into Carbs Linux! +

+
+
./cpt-chroot /mnt
+
+ + + + + + + + + + + + + + diff --git a/docs/docs/carbslinux/Configuring-Init.html b/docs/docs/carbslinux/Configuring-Init.html new file mode 100644 index 0000000..d8fe8fd --- /dev/null +++ b/docs/docs/carbslinux/Configuring-Init.html @@ -0,0 +1,79 @@ + + + + + + +Configuring Init (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

2.1 Configuring Init

+ +

There are three ways you can change the behaviour of the init system. Those are: +

+
    +
  • Kernel Command Line +
  • /etc/init/rc.conf’ file +
  • Init Hooks +
+ + + + + + + + + + + + diff --git a/docs/docs/carbslinux/Configuring-hostname.html b/docs/docs/carbslinux/Configuring-hostname.html new file mode 100644 index 0000000..b3c2a29 --- /dev/null +++ b/docs/docs/carbslinux/Configuring-hostname.html @@ -0,0 +1,69 @@ + + + + + + +Configuring hostname (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.3.1 Configuring hostname

+ +

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
+
+ + + + + + diff --git a/docs/docs/carbslinux/Contribution-Guidelines.html b/docs/docs/carbslinux/Contribution-Guidelines.html new file mode 100644 index 0000000..df6c4b1 --- /dev/null +++ b/docs/docs/carbslinux/Contribution-Guidelines.html @@ -0,0 +1,71 @@ + + + + + + +Contribution Guidelines (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Next: , Previous: , Up: Top   [Contents]

+
+
+

3 Contribution Guidelines

+ +

Thanks for taking your time to contribute! To maintain stylistic behaviour +throughout the repositories, one must adhere to these conventions. Exceptions +and changes may occur with good reasoning. +

+ + + + + + + + + diff --git a/docs/docs/carbslinux/Conventions.html b/docs/docs/carbslinux/Conventions.html new file mode 100644 index 0000000..b91b9a7 --- /dev/null +++ b/docs/docs/carbslinux/Conventions.html @@ -0,0 +1,97 @@ + + + + + + +Conventions (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

3.1 Conventions

+ + + +
+
[0010]
+

Try to keep the file readable. +

+
[0011]
+

Characters on a line shouldn’t exceed 100 characters. +

+
[0012]
+

Make sure you don’t have code commented out during +commit. Uncomment them or remove them completely. +

+
[0013]
+

Do not add comments following the code, add them to the +top of the code. It makes it harder to read, and lines longer. Here is an example: +

+
+ +
+
# Good way of commenting.
+your code goes here
+
+your code goes here  # Avoid this way of commenting.
+
+
+
+ + + + + + + + + + + diff --git a/docs/docs/carbslinux/Download.html b/docs/docs/carbslinux/Download.html new file mode 100644 index 0000000..ef12617 --- /dev/null +++ b/docs/docs/carbslinux/Download.html @@ -0,0 +1,72 @@ + + + + + + +Download (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.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’. We are setting this in a URL variable so that we don’t have to +write it every time. +

+
+
wget $URL/carbs-rootfs.tar.xz.sha256
+sha256sum -c carbs-rootfs.tar.xz.sha256
+
+ + + + + + diff --git a/docs/docs/carbslinux/Essential-Software.html b/docs/docs/carbslinux/Essential-Software.html new file mode 100644 index 0000000..2c24ed7 --- /dev/null +++ b/docs/docs/carbslinux/Essential-Software.html @@ -0,0 +1,121 @@ + + + + + + +Essential Software (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.2.4 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 +
  • wpa_supplicant +
+ +

TEXT EDITORS +

+
    +
  • nano +
  • vim +
  • neatvi +
  • emacs +
  • emacs-nox (terminal-only version of emacs) +
+ +

USER SHELLS +

+
    +
  • bash +
  • zsh +
  • oksh +
  • rc +
+ +

POSIX BASE UTILITIES +

+
    +
  • busybox +
  • sbase +
  • coreutils +
+ +

DOCUMENTATION +

+
    +
  • carbs-docs +
  • man-pages +
  • man-pages-posix +
+ + + + + + diff --git a/docs/docs/carbslinux/Extracting-the-tarball.html b/docs/docs/carbslinux/Extracting-the-tarball.html new file mode 100644 index 0000000..a562feb --- /dev/null +++ b/docs/docs/carbslinux/Extracting-the-tarball.html @@ -0,0 +1,71 @@ + + + + + + +Extracting the tarball (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.1.3 Extracting the tarball

+ +

You will need to extract the tarball to your desired location. For partitioning, +you can follow this guide. 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
+
+ + + + + + diff --git a/docs/docs/carbslinux/Fstab.html b/docs/docs/carbslinux/Fstab.html new file mode 100644 index 0000000..43ab331 --- /dev/null +++ b/docs/docs/carbslinux/Fstab.html @@ -0,0 +1,71 @@ + + + + + + +Fstab (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.5.3 Fstab

+ +

You can now manually edit your fstab entry, or you can use the genfstab tool. +If you want to use the tool, exit the chroot and run the following: +

+
+
wget https://github.com/cemkeylan/genfstab/raw/master/genfstab
+chmod +x genfstab
+./genfstab -U /mnt >> /mnt/etc/fstab
+
+ + + + + + diff --git a/docs/docs/carbslinux/GNU-Free-Documentation-License.html b/docs/docs/carbslinux/GNU-Free-Documentation-License.html new file mode 100644 index 0000000..bda1afd --- /dev/null +++ b/docs/docs/carbslinux/GNU-Free-Documentation-License.html @@ -0,0 +1,550 @@ + + + + + + +GNU Free Documentation License (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + +
+

+Previous: , Up: Top   [Contents]

+
+
+

Appendix A GNU Free Documentation License

+ +
Version 1.3, 3 November 2008 +
+
+
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+http://fsf.org/
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+
+ +
    +
  1. PREAMBLE + +

    The purpose of this License is to make a manual, textbook, or other +functional and useful document free +in the sense of freedom: to assure everyone the effective freedom +to copy and redistribute it, with or without modifying it, either +commercially or noncommercially. Secondarily, this License +preserves for the author and publisher a way to get credit for +their work, while not being considered responsible for +modifications made by others. +

    +

    This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. +It complements the GNU General Public License, which is a copyleft +license designed for free software. +

    +

    We have designed this License in order to use it for manuals for +free software, because free software needs free documentation: +a free program should come with manuals providing the same freedoms +that the software does. But this License is not limited to +software manuals; it can be used for any textual work, regardless +of subject matter or whether it is published as a printed book. We +recommend this License principally for works whose purpose is +instruction or reference. +

    +
  2. APPLICABILITY AND DEFINITIONS + +

    This License applies to any manual or other work, in any medium, +that contains a notice placed by the copyright holder saying it can +be distributed under the terms of this License. Such a notice +grants a world-wide, royalty-free license, unlimited in duration, +to use that work under the conditions stated herein. The +"Document", below, refers to any such manual or work. Any member +of the public is a licensee, and is addressed as "you". You accept +the license if you copy, modify or distribute the work in a way +requiring permission under copyright law. +

    +

    A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. +

    +

    A "Secondary Section" is a named appendix or a front-matter section +of the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document’s overall +subject (or to related matters) and contains nothing that could +fall directly within that overall subject. (Thus, if the Document +is in part a textbook of mathematics, a Secondary Section may not +explain any mathematics.) The relationship could be a matter of +historical connection with the subject or with related matters, or +of legal, commercial, philosophical, ethical or political position +regarding them. +

    +

    The "Invariant Sections" are certain Secondary Sections whose +titles are designated, as being those of Invariant Sections, in the +notice that says that the Document is released under this License. +If a section does not fit the above definition of Secondary then it +is not allowed to be designated as Invariant. The Document may +contain zero Invariant Sections. If the Document does not identify +any Invariant Sections then there are none. +

    +

    The "Cover Texts" are certain short passages of text that are +listed, as Front-Cover Texts or Back-Cover Texts, in the notice +that says that the Document is released under this License. +A Front-Cover Text may be at most 5 words, and a Back-Cover Text +may be at most 25 words. +

    +

    A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed +of pixels) generic paint programs or (for drawings) some widely +available drawing editor, and that is suitable for input to text +formatters or for automatic translation to a variety of formats +suitable for input to text formatters. A copy made in an otherwise +Transparent file format whose markup, or absence of markup, has +been arranged to thwart or discourage subsequent modification by +readers is not Transparent. An image format is not Transparent if +used for any substantial amount of text. A copy that is not +"Transparent" is called "Opaque". +

    +

    Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, +SGML or XML using a publicly available DTD, and standard-conforming +simple HTML, PostScript or PDF designed for human modification. +Examples of transparent image formats include PNG, XCF and JPG. +Opaque formats include proprietary formats that can be read and +edited only by proprietary word processors, SGML or XML for which +the DTD and/or processing tools are not generally available, and +the machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. +

    +

    The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the +material this License requires to appear in the title page. For +works in formats which do not have any title page as such, "Title +Page" means the text near the most prominent appearance of the +work’s title, preceding the beginning of the body of the text. +

    +

    The "publisher" means any person or entity that distributes copies +of the Document to the public. +

    +

    A section "Entitled XYZ" means a named subunit of the Document +whose title either is precisely XYZ or contains XYZ in parentheses +following text that translates XYZ in another language. (Here XYZ +stands for a specific section name mentioned below, such as +"Acknowledgements", "Dedications", "Endorsements", or "History".) +To "Preserve the Title" of such a section when you modify the +Document means that it remains a section "Entitled XYZ" according +to this definition. +

    +

    The Document may include Warranty Disclaimers next to the notice +which states that this License applies to the Document. These +Warranty Disclaimers are considered to be included by reference in +this License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and +has no effect on the meaning of this License. +

    +
  3. VERBATIM COPYING + +

    You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License +applies to the Document are reproduced in all copies, and that you +add no other conditions whatsoever to those of this License. You +may not use technical measures to obstruct or control the reading +or further copying of the copies you make or distribute. However, +you may accept compensation in exchange for copies. If you +distribute a large enough number of copies you must also follow the +conditions in section 3. +

    +

    You may also lend copies, under the same conditions stated above, +and you may publicly display copies. +

    +
  4. COPYING IN QUANTITY + +

    If you publish printed copies (or copies in media that commonly +have printed covers) of the Document, numbering more than 100, and +the Document’s license notice requires Cover Texts, you must +enclose the copies in covers that carry, clearly and legibly, all +these Cover Texts: Front-Cover Texts on the front cover, and +Back-Cover Texts on the back cover. Both covers must also clearly +and legibly identify you as the publisher of these copies. The +front cover must present the full title with all words of the title +equally prominent and visible. You may add other material on the +covers in addition. Copying with changes limited to the covers, as +long as they preserve the title of the Document and satisfy these +conditions, can be treated as verbatim copying in other respects. +

    +

    If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto +adjacent pages. +

    +

    If you publish or distribute Opaque copies of the Document +numbering more than 100, you must either include a machine-readable +Transparent copy along with each Opaque copy, or state in or with +each Opaque copy a computer-network location from which the general +network-using public has access to download using public-standard +network protocols a complete Transparent copy of the Document, free +of added material. If you use the latter option, you must take +reasonably prudent steps, when you begin distribution of Opaque +copies in quantity, to ensure that this Transparent copy will +remain thus accessible at the stated location until at least one +year after the last time you distribute an Opaque copy (directly or +through your agents or retailers) of that edition to the public. +

    +

    It is requested, but not required, that you contact the authors of +the Document well before redistributing any large number of copies, +to give them a chance to provide you with an updated version of the +Document. +

    +
  5. MODIFICATIONS + +

    You may copy and distribute a Modified Version of the Document +under the conditions of sections 2 and 3 above, provided that you +release the Modified Version under precisely this License, with the +Modified Version filling the role of the Document, thus licensing +distribution and modification of the Modified Version to whoever +possesses a copy of it. In addition, you must do these things in +the Modified Version: +

    +
      +
    1. Use in the Title Page (and on the covers, if any) a title +distinct from that of the Document, and from those of previous +versions (which should, if there were any, be listed in the +History section of the Document). You may use the same title as +a previous version if the original publisher of that version +gives permission. + +
    2. List on the Title Page, as authors, one or more persons or +entities responsible for authorship of the modifications in the +Modified Version, together with at least five of the principal +authors of the Document (all of its principal authors, if it has +fewer than five), unless they release you from this requirement. + +
    3. State on the Title page the name of the publisher of the +Modified Version, as the publisher. + +
    4. Preserve all the copyright notices of the Document. + +
    5. Add an appropriate copyright notice for your modifications +adjacent to the other copyright notices. + +
    6. Include, immediately after the copyright notices, a license +notice giving the public permission to use the Modified Version +under the terms of this License, in the form shown in the +Addendum below. + +
    7. Preserve in that license notice the full lists of Invariant +Sections and required Cover Texts given in the Document’s +license notice. + +
    8. Include an unaltered copy of this License. + +
    9. Preserve the section Entitled "History", Preserve its Title, and +add to it an item stating at least the title, year, new authors, +and publisher of the Modified Version as given on the Title +Page. If there is no section Entitled "History" in the Document, +create one stating the title, year, authors, and publisher of +the Document as given on its Title Page, then add an item +describing the Modified Version as stated in the previous +sentence. + +
    10. Preserve the network location, if any, given in the Document +for public access to a Transparent copy of the Document, and +likewise the network locations given in the Document for +previous versions it was based on. These may be placed in the +"History" section. You may omit a network location for a work +that was published at least four years before the Document +itself, or if the original publisher of the version it refers +to gives permission. + +
    11. For any section Entitled "Acknowledgements" or "Dedications", +Preserve the Title of the section, and preserve in the section +all the substance and tone of each of the contributor +acknowledgements and/or dedications given therein. + +
    12. Preserve all the Invariant Sections of the Document, unaltered +in their text and in their titles. Section numbers or the +equivalent are not considered part of the section titles. + +
    13. Delete any section Entitled "Endorsements". Such a section may +not be included in the Modified Version. + +
    14. Do not retitle any existing section to be Entitled +"Endorsements" or to conflict in title with any Invariant +Section. + +
    15. Preserve any Warranty Disclaimers. +
    + +

    If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version’s license notice. +These titles must be distinct from any other section titles. +

    +

    You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties—for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. +

    +

    You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. +

    +

    The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. +

    +
  6. COMBINING DOCUMENTS + +

    You may combine the Document with other documents released under +this License, under the terms defined in section 4 above for +modified versions, provided that you include in the combination all +of the Invariant Sections of all of the original documents, +unmodified, and list them all as Invariant Sections of your +combined work in its license notice, and that you preserve all +their Warranty Disclaimers. +

    +

    The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name +but different contents, make the title of each such section unique +by adding at the end of it, in parentheses, the name of the +original author or publisher of that section if known, or else +a unique number. Make the same adjustment to the section titles in +the list of Invariant Sections in the license notice of the +combined work. +

    +

    In the combination, you must combine any sections Entitled +"History" in the various original documents, forming one section +Entitled "History"; likewise combine any sections Entitled +"Acknowledgements", and any sections Entitled "Dedications". You +must delete all sections Entitled "Endorsements." +

    +
  7. COLLECTIONS OF DOCUMENTS + +

    You may make a collection consisting of the Document and other +documents released under this License, and replace the individual +copies of this License in the various documents with a single copy +that is included in the collection, provided that you follow the +rules of this License for verbatim copying of each of the documents +in all other respects. +

    +

    You may extract a single document from such a collection, and +distribute it individually under this License, provided you insert +a copy of this License into the extracted document, and follow this +License in all other respects regarding verbatim copying of that +document. +

    +
  8. AGGREGATION WITH INDEPENDENT WORKS + +

    A compilation of the Document or its derivatives with other +separate and independent documents or works, in or on a volume of +a storage or distribution medium, is called an "aggregate" if the +copyright resulting from the compilation is not used to limit the +legal rights of the compilation’s users beyond what the individual +works permit. When the Document is included in an aggregate, this +License does not apply to the other works in the aggregate which +are not themselves derivative works of the Document. +

    +

    If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half +of the entire aggregate, the Document’s Cover Texts may be placed +on covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic +form. Otherwise they must appear on printed covers that bracket +the whole aggregate. +

    +
  9. TRANSLATION + +

    Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of +section 4. Replacing Invariant Sections with translations requires +special permission from their copyright holders, but you may +include translations of some or all Invariant Sections in addition +to the original versions of these Invariant Sections. You may +include a translation of this License, and all the license notices +in the Document, and any Warranty Disclaimers, provided that you +also include the original English version of this License and the +original versions of those notices and disclaimers. In case of +a disagreement between the translation and the original version of +this License or a notice or disclaimer, the original version will +prevail. +

    +

    If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to +Preserve its Title (section 1) will typically require changing the +actual title. +

    +
  10. TERMINATION + +

    You may not copy, modify, sublicense, or distribute the Document +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense, or distribute it is void, +and will automatically terminate your rights under this License. +

    +

    However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the +copyright holder fails to notify you of the violation by some +reasonable means prior to 60 days after the cessation. +

    +

    Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from +that copyright holder, and you cure the violation prior to 30 days +after your receipt of the notice. +

    +

    Termination of your rights under this section does not terminate +the licenses of parties who have received copies or rights from you +under this License. If your rights have been terminated and not +permanently reinstated, receipt of a copy of some or all of the +same material does not give you any rights to use it. +

    +
  11. FUTURE REVISIONS OF THIS LICENSE + +

    The Free Software Foundation may publish new, revised versions of +the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. +

    +

    Each version of the License is given a distinguishing version +number. If the Document specifies that a particular numbered +version of this License "or any later version" applies to it, you +have the option of following the terms and conditions either of +that specified version or of any later version that has been +published (not as a draft) by the Free Software Foundation. If +the Document does not specify a version number of this License, +you may choose any version ever published (not as a draft) by the +Free Software Foundation. If the Document specifies that a proxy +can decide which future versions of this License can be used, that +proxy’s public statement of acceptance of a version permanently +authorizes you to choose that version for the Document. +

    +
  12. RELICENSING + +

    "Massive Multiauthor Collaboration Site" (or "MMC Site") means any +World Wide Web server that publishes copyrightable works and also +provides prominent facilities for anybody to edit those works. +A public wiki that anybody can edit is an example of such +a server. A "Massive Multiauthor Collaboration" (or "MMC") +contained in the site means any set of copyrightable works thus +published on the MMC site. +

    +

    "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 +license published by Creative Commons Corporation, +a not-for-profit corporation with a principal place of business in +San Francisco, California, as well as future copyleft versions of +that license published by that same organization. +

    +

    "Incorporate" means to publish or republish a Document, in whole +or in part, as part of another Document. +

    +

    An MMC is "eligible for relicensing" if it is licensed under this +License, and if all works that were first published under this +License somewhere other than this MMC, and subsequently +incorporated in whole or in part into the MMC, (1) had no cover +texts or invariant sections, and (2) were thus incorporated prior +to November 1, 2008. +

    +

    The operator of an MMC Site may republish an MMC contained in the +site under CC-BY-SA on the same site at any time before August 1, +2009, provided the MMC is eligible for relicensing. +

+ + +

A.1 ADDENDUM: How to use this License for your documents

+ +

To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: +

+
+
Copyright (C)  YEAR  YOUR NAME.
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3
+or any later version published by the Free Software Foundation;
+with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+Texts.  A copy of the license is included in the section entitled ``GNU
+Free Documentation License''.
+
+ +

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with…Texts." line with this: +

+
+
with the Invariant Sections being LIST THEIR TITLES, with
+the Front-Cover Texts being LIST, and with the Back-Cover Texts
+being LIST.
+
+ +

If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. +

+

If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, to +permit their use in free software. +

+
+
+

+Previous: , Up: Top   [Contents]

+
+ + + + + diff --git a/docs/docs/carbslinux/Hosts-file.html b/docs/docs/carbslinux/Hosts-file.html new file mode 100644 index 0000000..8ca871d --- /dev/null +++ b/docs/docs/carbslinux/Hosts-file.html @@ -0,0 +1,71 @@ + + + + + + +Hosts file (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.3.2 Hosts file

+ +

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
+
+ + + + + + diff --git a/docs/docs/carbslinux/Init-Hooks.html b/docs/docs/carbslinux/Init-Hooks.html new file mode 100644 index 0000000..03ea867 --- /dev/null +++ b/docs/docs/carbslinux/Init-Hooks.html @@ -0,0 +1,86 @@ + + + + + + +Init Hooks (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

2.1.3 Init Hooks

+ +

Init hooks are for custom personal commands that the user may want to add to +alter their boot. These can be used to load kernel modules, modify interfaces, +and lot more. Those hooks are added to the ‘/etc/init’ directory with the +hook name as the suffix. For example, a boot script will be placed as +‘/etc/init/my-hook.boot’. Currently, there are 4 hooks that the user can use. +

+
+
early-boot
+

Run after pseudo-filesystems are mounted. +

+
boot
+

Run before the boot stage is completed. +

+
pre.shutdown
+

Run first when shutting down. +

+
umount
+

Run just before filesystems are unmounted. +

+
post.shutdown
+

Run just before the system is halted. +

+
+ + + + + + diff --git a/docs/docs/carbslinux/Init-System.html b/docs/docs/carbslinux/Init-System.html new file mode 100644 index 0000000..bbba51f --- /dev/null +++ b/docs/docs/carbslinux/Init-System.html @@ -0,0 +1,74 @@ + + + + + + +Init System (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Next: , Previous: , Up: Top   [Contents]

+
+
+

2 Init System

+ +

Carbs Linux init scripts are run by the init daemon (‘busybox’ by default) on +boot and shutdown processes. It also provides its own halting program named +shalt. This provides a portable method that doesn’t rely on non-POSIX external +programs. +

+ + + + + + + + + + diff --git a/docs/docs/carbslinux/Init-scripts.html b/docs/docs/carbslinux/Init-scripts.html new file mode 100644 index 0000000..6b81ed0 --- /dev/null +++ b/docs/docs/carbslinux/Init-scripts.html @@ -0,0 +1,69 @@ + + + + + + +Init scripts (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Next: , Previous: , Up: Making your system bootable   [Contents]

+
+
+

1.5.2 Init scripts

+ +

Only thing left to do is installing the init-scripts, and now you are almost +ready to boot your system! +

+
+
cpt b carbs-init && cpt i carbs-init
+
+ + + + + + diff --git a/docs/docs/carbslinux/Installation.html b/docs/docs/carbslinux/Installation.html new file mode 100644 index 0000000..64dd231 --- /dev/null +++ b/docs/docs/carbslinux/Installation.html @@ -0,0 +1,85 @@ + + + + + + +Installation (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Next: , Previous: , Up: Top   [Contents]

+
+
+

1 Installation

+ +

These are the step-by-step instructions for installing Carbs Linux. It can be +acquired as plain-text to be viewed offline with a pager from +https://carbslinux.org/install.txt. +

+
+
curl -sL https://carbslinux.org/install.txt | less
+
+ + + + + + + + + + + + + + + diff --git a/docs/docs/carbslinux/Installing-packages.html b/docs/docs/carbslinux/Installing-packages.html new file mode 100644 index 0000000..3838155 --- /dev/null +++ b/docs/docs/carbslinux/Installing-packages.html @@ -0,0 +1,72 @@ + + + + + + +Installing packages (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Next: , Previous: , Up: Chroot   [Contents]

+
+
+

1.2.3 Installing packages

+ +

Since you are operating on a really small base, you might need to build and +install new programs to extend the functionality of your system. In order to +build and install packages new packages in Carbs, you need to execute the +following. "Package" is not actually a package and is given as an example. +

+
+
cpt-build   package
+cpt-install package
+
+ + + + + + diff --git a/docs/docs/carbslinux/KISS-repositories.html b/docs/docs/carbslinux/KISS-repositories.html new file mode 100644 index 0000000..755007d --- /dev/null +++ b/docs/docs/carbslinux/KISS-repositories.html @@ -0,0 +1,66 @@ + + + + + + +KISS repositories (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.6.1 KISS repositories

+ +

While not 100% compatible with cpt, you can use kiss repositories in your +system the same way you are using the distribution repositories. Here is an +example for the KISS Linux Community repository. +

+ + + + + diff --git a/docs/docs/carbslinux/Kernel-Command-Line.html b/docs/docs/carbslinux/Kernel-Command-Line.html new file mode 100644 index 0000000..2f73ec9 --- /dev/null +++ b/docs/docs/carbslinux/Kernel-Command-Line.html @@ -0,0 +1,84 @@ + + + + + + +Kernel Command Line (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

2.1.1 Kernel Command Line

+ +

On GRUB, you can edit the kernel command line parameters, which will be parsed +as variables on the init system. Not all of the parameters will be acted upon, +but all of them will be set as variables on the init script. For example an +example command line, and how it is interpreted. +

+
+
BOOT_IMAGE=/boot/vmlinuz root=/dev/sda2 rw loglevel=3 quiet
+
+ +

This command line will be parsed to set the following variables: +

+
+
BOOT_IMAGE=/boot/vmlinuz
+root=/dev/sda2
+rw=1
+loglevel=3
+quiet=1
+
+ +

Some of these variables, such as ‘rw=/=ro’, ‘loglevel’, and ‘quiet’, will be +used by the init system to change the behaviour of the startup. +

+ + + + + diff --git a/docs/docs/carbslinux/Kernel-dependencies.html b/docs/docs/carbslinux/Kernel-dependencies.html new file mode 100644 index 0000000..f5ee8b0 --- /dev/null +++ b/docs/docs/carbslinux/Kernel-dependencies.html @@ -0,0 +1,82 @@ + + + + + + +Kernel dependencies (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.4.2 Kernel dependencies

+ +

In order to compile the kernel you will need to install some dependencies. You +will need ‘libelf’, and ‘bison’ to compile the kernel. If you want to configure +using the menu interface you will also need ‘ncurses’. +

+
+
# The package manager asks to install if you are building more than one package,
+# so no need to run 'cpt i ...'
+cpt b libelf ncurses
+
+ +

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. You will need to obtain and apply the patch in the kernel +source directory. +

+
+
wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch
+patch -p1 < kernel-no-perl.patch
+
+ + + + + + diff --git a/docs/docs/carbslinux/Kernel.html b/docs/docs/carbslinux/Kernel.html new file mode 100644 index 0000000..fe31cd7 --- /dev/null +++ b/docs/docs/carbslinux/Kernel.html @@ -0,0 +1,75 @@ + + + + + + +Kernel (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.4 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. +

+ + + + + + + + + + + diff --git a/docs/docs/carbslinux/Making-your-system-bootable.html b/docs/docs/carbslinux/Making-your-system-bootable.html new file mode 100644 index 0000000..43c369d --- /dev/null +++ b/docs/docs/carbslinux/Making-your-system-bootable.html @@ -0,0 +1,75 @@ + + + + + + +Making your system bootable (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Next: , Previous: , Up: Installation   [Contents]

+
+
+

1.5 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. +

+ + + + + + + + + + + diff --git a/docs/docs/carbslinux/Obtain-the-chroot-helper.html b/docs/docs/carbslinux/Obtain-the-chroot-helper.html new file mode 100644 index 0000000..3a29294 --- /dev/null +++ b/docs/docs/carbslinux/Obtain-the-chroot-helper.html @@ -0,0 +1,70 @@ + + + + + + +Obtain the chroot helper (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.1.4 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
+
+ + + + + + diff --git a/docs/docs/carbslinux/Obtaining-the-documentation.html b/docs/docs/carbslinux/Obtaining-the-documentation.html new file mode 100644 index 0000000..c9ff1c8 --- /dev/null +++ b/docs/docs/carbslinux/Obtaining-the-documentation.html @@ -0,0 +1,78 @@ + + + + + + +Obtaining the documentation (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Previous: , Up: Chroot   [Contents]

+
+
+

1.2.5 Obtaining the documentation

+ +

All the documentation for Carbs Linux can be found on a single info manual to be +viewed offline. You can obtain texinfo or the info (standalone) package in order +to view the documentation. +

+
+
# Install the documentation.
+cpt b carbs-docs && cpt i carbs-docs
+
+# Install either texinfo or the info package. We will be installing standalone info
+# as it doesn't need perl.
+cpt b info && cpt i info
+
+# You can then run info and navigate through the documentation.
+info carbslinux
+
+ + + + + + diff --git a/docs/docs/carbslinux/Obtaining-the-kernel-sources.html b/docs/docs/carbslinux/Obtaining-the-kernel-sources.html new file mode 100644 index 0000000..34c92ed --- /dev/null +++ b/docs/docs/carbslinux/Obtaining-the-kernel-sources.html @@ -0,0 +1,75 @@ + + + + + + +Obtaining the kernel sources (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Next: , Up: Kernel   [Contents]

+
+
+

1.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.9.1.tar.xz
+tar xf linux-5.9.1.tar.xz
+
+# Change directory into the kernel sources
+cd linux-5.9.1
+
+ + + + + + diff --git a/docs/docs/carbslinux/Post_002dinstallation.html b/docs/docs/carbslinux/Post_002dinstallation.html new file mode 100644 index 0000000..9dcfed8 --- /dev/null +++ b/docs/docs/carbslinux/Post_002dinstallation.html @@ -0,0 +1,71 @@ + + + + + + +Post-installation (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.6 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. +You can check the rest of the documentation to learn more about the system. +

+ + + + + + + + + diff --git a/docs/docs/carbslinux/Preparing-Environment.html b/docs/docs/carbslinux/Preparing-Environment.html new file mode 100644 index 0000000..a6c2ce8 --- /dev/null +++ b/docs/docs/carbslinux/Preparing-Environment.html @@ -0,0 +1,89 @@ + + + + + + +Preparing Environment (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Next: , Up: Installation   [Contents]

+
+
+

1.1 Preparing Environment

+ +

To install Carbs Linux, you will need a Live Linux ISO. For that purpose, you +can obtain a Gentoo or Void Linux live image. You can follow their instructions +to boot and setup your network. +

+

You will need the following programs in order to install Carbs Linux: +

+
    +
  • tar +
  • wget +
  • xz +
  • some form of base utilities (coreutils, sbase, busybox, etc.) +
+ +

Rest of these instructions will assume that you have set all of these up, and +will continue on that point. +

+ + + + + + + + + + + + diff --git a/docs/docs/carbslinux/Rebooting-after-changing-init.html b/docs/docs/carbslinux/Rebooting-after-changing-init.html new file mode 100644 index 0000000..d586bbd --- /dev/null +++ b/docs/docs/carbslinux/Rebooting-after-changing-init.html @@ -0,0 +1,74 @@ + + + + + + +Rebooting after changing init (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

2.2.1 Rebooting after changing init

+ +

After switching init systems, your running init system may not accept the +new poweroff commands. You will need to reboot/poweroff using the running init’s +utilities for the new utilities to work. These commands are for the init system +currently running on your system and not the one you are switching to. +

+ + + + + +
ProgramCommand
busyboxbusybox reboot
runitrunit-init 6
shinit/sinitkill -s INT 1
+ + + + + + diff --git a/docs/docs/carbslinux/Repository-Conventions.html b/docs/docs/carbslinux/Repository-Conventions.html new file mode 100644 index 0000000..79b7eec --- /dev/null +++ b/docs/docs/carbslinux/Repository-Conventions.html @@ -0,0 +1,220 @@ + + + + + + +Repository Conventions (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Previous: , Up: Conventions   [Contents]

+
+
+

3.1.2 Repository Conventions

+ +

Repository conventions are important in order to ensure every package resemble +themselves. Here are the things to keep in mind: +

+
+
[2010]
+

Prefer tarballs over git packages unless there is a +sensible reason. Here are some: +

    +
  • Every patch is a new release. (See vim) +
  • There are no releases. (See sbase) +
  • Following a development branch. +
  • There has been a long time since the latest release, but upstream is far +ahead. +
+
+
[2020]
+

Prefer sources without a dependency to ‘automake’. There +are usually distribution tarballs that are ‘autoconf’’ed. Don’t submit tarballs +with an automake dependency unless you are ‘sure’ there is no alternative. +

+
[2030]
+

Avoid these packages: +

+
dbus
+

Usually can be disabled by --disable-dbus. +

+
gettext
+

Usually can be disabled by --disable-nls. +

+
+
+
[2040]
+
    +
  • Always install a package to the ‘/usr’ prefix. +
  • All binaries should go to ‘/usr/bin’, not ‘/usr/sbin’ or any other directory. +
  • All libraries should go to ‘/usr/lib’. +
+
+
[2050]
+

All build files on the repository should be a POSIX +shell script, and must start with #!/bin/sh -e. +

+
+ +

The next section is about package templates that should be used in order to +ensure stylistic consistency. Note that the option configurations shouldn’t be +taken literally, they are meant as examples. +

+
    +
  1. Make [2210] + + +
    +
    #!/bin/sh -e
    +
    +make
    +make DESTDIR="$1" PREFIX=/usr install
    +
    + +
  2. Configure/Make [2211] + + +
    +
    #!/bin/sh -e
    +
    +./configure \
    +    --prefix=/usr \
    +    --disable-option \
    +    --enable-option
    +
    +make
    +make DESTDIR="$1" install
    +
    + +
  3. Autoconf/Automake [2212] + + +

    See 2020 +

    +
    +
    #!/bin/sh -e
    +
    +autoreconf -fi
    +
    +./configure \
    +    --prefix=/usr \
    +    --disable-option \
    +    --enable-option
    +
    +make
    +make DESTDIR="$1" install
    +
    + +
  4. Meson [2220] + + +
    +
    #!/bin/sh -e
    +
    +export DESTDIR=$1
    +
    +meson \
    +    --prefix=/usr \
    +    -Doption=false \
    +    -Doption2=true \
    +    . output
    +
    +ninja -C output
    +ninja -C output install
    +
    + +
  5. Cmake [2230] + + +
    +
    #!/bin/sh -e
    +
    +export DESTDIR=$1
    +
    +cmake -B build \
    +    -DCMAKE_INSTALL_PREFIX=/usr \
    +    -DCMAKE_BUILD_TYPE=Release \
    +    -DOPTION=ON
    +
    +cmake --build   build
    +cmake --install build
    +
    + +
  6. Go [2240] + + +
    +
    #!/bin/sh -e
    +
    +export GOPATH=$PWD/gopath
    +trap "go clean -modcache" EXIT INT
    +go mod vendor
    +
    +go build
    +install -Dm755 program "$1/usr/bin/program"
    +
    + +
  7. Python [2241] + + +
    +
    #!/bin/sh -e
    +
    +python setup.py build
    +python setup.py install --prefix=/usr --root="$1"
    +
    +
+ +
+
+

+Previous: , Up: Conventions   [Contents]

+
+ + + + + diff --git a/docs/docs/carbslinux/Setting-up-repositories.html b/docs/docs/carbslinux/Setting-up-repositories.html new file mode 100644 index 0000000..1c7310e --- /dev/null +++ b/docs/docs/carbslinux/Setting-up-repositories.html @@ -0,0 +1,118 @@ + + + + + + +Setting up repositories (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Next: , Up: Chroot   [Contents]

+
+
+

1.2.1 Setting up repositories

+ +

Newest tarballs do not come with repositories, so you will need to manually +obtain them, and set your ‘CPT_PATH’ environment variable. Carbs Linux +repositories can either be obtained by ‘git’ or ‘rsync’. While rsync +repositories are overall faster and smaller, git offers the whole history of the +repository and a means to manipulate your repository as you like it. If you want +to obtain the git repository, you will need to install ‘git’ itself. +

+

The following guide will assume that you put the repositories into ‘~/repos/’ +directory, but you can put the repositories into any directory you want. So go +ahead and create that directory: +

+
+
mkdir -p $HOME/repos
+
+ +
    +
  1. Obtaining from git + + +

    Carbs Linux git repositories can be found both from the main server and GitHub +(mirror). Here are both their repository links. You can clone any of them. +

    + + +
    +
    git clone git://git.carbslinux.org/repository $HOME/repos/carbs
    +
    + +
  2. Obtaining from rsync + + +

    Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In +order to obtain it, run the following: +

    +
    +
    rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
    +
    + +
  3. Making the package manager use the repositories + + +

    In your shell’s configuration file, or in your ‘~/.profile’ file, add the +following lines: +

    +
    +
    CPT_PATH=$HOME/repos/carbs/core
    +CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra
    +CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg
    +CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community
    +export CPT_PATH
    +
    +
+ + + + + + diff --git a/docs/docs/carbslinux/Shell-Conventions.html b/docs/docs/carbslinux/Shell-Conventions.html new file mode 100644 index 0000000..5902238 --- /dev/null +++ b/docs/docs/carbslinux/Shell-Conventions.html @@ -0,0 +1,105 @@ + + + + + + +Shell Conventions (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

3.1.1 Shell Conventions

+ +

Shell is central to Carbs Linux projects. Most of the tools and packages are +written in POSIX sh. +

+
+
[1010]
+

Use 4 spaces for indentation, don’t use tabs. +

+
[1020]
+

Make sure you don’t use bash-specific code. +

+
[1030]
+

Make sure you lint your code with ‘shellcheck’ and if +you are new to POSIX sh, use ‘checkbashisms’. +

+
[1040]
+

Don’t spawn new processes if you don’t absolutely need +to, especially during string manipulation. +

+
[1041]
+

Never use a program for text manupilation that isn’t +defined in the POSIX standard. This includes ‘gawk’ and ‘perl’. +

+
[1042]
+

Instead of $(basename $file), use ${file##*}. +

+
[1043]
+

Instead of $(dirname $file), use ${file%/*}. +

+
+ +
+
# This is the same thing as basename /path/to/test.asc .asc
+
+$ file=/path/to/test.asc file=${file##*/} file=${file%.asc}
+$ echo $file
+test
+
+
+
[1050]
+

Instead of backticks, use $(..). +

+
+ + + + + + diff --git a/docs/docs/carbslinux/Signature-verification.html b/docs/docs/carbslinux/Signature-verification.html new file mode 100644 index 0000000..9eb486d --- /dev/null +++ b/docs/docs/carbslinux/Signature-verification.html @@ -0,0 +1,71 @@ + + + + + + +Signature verification (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.1.2 Signature verification

+ +

It is highly recommended to verify the signature of the tarball. You will need +GPG for this. +

+
+
wget $URL/carbs-rootfs.tar.xz.sig
+gpg --recv-keys FF484BDFEFCEF8FF
+gpg --verify carbs-rootfs.tar.xz.sig
+
+ + + + + + diff --git a/docs/docs/carbslinux/System-Configuration.html b/docs/docs/carbslinux/System-Configuration.html new file mode 100644 index 0000000..aed313d --- /dev/null +++ b/docs/docs/carbslinux/System-Configuration.html @@ -0,0 +1,72 @@ + + + + + + +System Configuration (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Next: , Previous: , Up: Installation   [Contents]

+
+
+

1.3 System Configuration

+ +

After you have finished installing some extra packages, you can configure your +system to your liking. +

+ + + + + + + + + + diff --git a/docs/docs/carbslinux/Updating-packages.html b/docs/docs/carbslinux/Updating-packages.html new file mode 100644 index 0000000..47e186c --- /dev/null +++ b/docs/docs/carbslinux/Updating-packages.html @@ -0,0 +1,70 @@ + + + + + + +Updating packages (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + + +
+

1.2.2 Updating packages

+ +

It is good practice to make sure your system is up to date, especially before +building new packages. If there is an update for the package manager you will +need to update twice. +

+
+
cpt-update && cpt-update
+
+ + + + + + diff --git a/docs/docs/carbslinux/_002fetc_002finit_002frcconf-file.html b/docs/docs/carbslinux/_002fetc_002finit_002frcconf-file.html new file mode 100644 index 0000000..1a34d8f --- /dev/null +++ b/docs/docs/carbslinux/_002fetc_002finit_002frcconf-file.html @@ -0,0 +1,67 @@ + + + + + + +/etc/init/rcconf file (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + + +
+

+Next: , Previous: , Up: Configuring Init   [Contents]

+
+
+

2.1.2 ‘/etc/init/rc.conf’ file

+ +

However, the kernel command line isn’t the only place to set your boot +parameters. You can specify variables here as well, although note that the +kernel command line always gets the priority for these variables since they can +be set just before boot. +

+ + + + + diff --git a/docs/docs/carbslinux/index.html b/docs/docs/carbslinux/index.html new file mode 100644 index 0000000..2a4bbbe --- /dev/null +++ b/docs/docs/carbslinux/index.html @@ -0,0 +1,283 @@ + + + + + + +Top (Carbs Linux User Manual) + + + + + + + + + + + + + + + + +

Carbs Linux User Manual

+ + + + + +

Table of Contents

+ + + + +
+

+Next:   [Contents]

+
+
+

Carbs Linux User Manual

+ +

This is the full documentation of Carbs Linux, from the details of the +distribution, installation, to the package manager. It is not yet complete. +

+ +

This documentation is also available in the distribution by the +carbs-docs package, which can be read by either running +info carbslinux or reading /usr/share/doc/carbslinux.txt with your +favorite pager. You can install either the info or texinfo +for doing the first. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

+Next:   [Contents]

+
+ + + + + diff --git a/docs/docs/index.html b/docs/docs/index.html deleted file mode 100644 index 68cef39..0000000 --- a/docs/docs/index.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - -Top (Carbs Linux User Manual) - - - - - - - - - - - - - - - -

Carbs Linux User Manual

- - - - - -

Table of Contents

- - - - -
-

-Next:   [Contents]

-
-
-

Carbs Linux User Manual

- -

This is the full documentation of Carbs Linux, from the details of the -distribution, installation, to the package manager. It is not yet complete. -

- -

This documentation is also available in the distribution by the -carbs-docs package, which can be read by either running -info carbslinux or reading /usr/share/doc/carbslinux.txt with your -favorite pager. You can install either the info or texinfo -for doing the first. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-

-Next:   [Contents]

-
- - - - - diff --git a/docs/docs/install.html b/docs/docs/install.html deleted file mode 100644 index 176aacd..0000000 --- a/docs/docs/install.html +++ /dev/null @@ -1,822 +0,0 @@ - - - - - - - -Carbs Linux Installation Guide - - - - - -
-

Carbs Linux Installation Guide

- -

-These are the step-by-step instructions for installing Carbs Linux. It can be -acquired as plain-text to be viewed offline with a pager from -https://carbslinux.org/docs/install.txt. -

- -
-

1 Preparing Environment

-
-

-To install Carbs Linux, you will need a Live Linux ISO. For that purpose, you -can obtain a Gentoo or Void Linux live image. You can follow their instructions -to boot and setup your network. -

- -

-You will need the following programs in order to install Carbs Linux: -

- -
    -
  • tar
  • -
  • wget
  • -
  • xz
  • -
  • some form of base utilities (coreutils, sbase, busybox, etc.)
  • -
- -

-Rest of these instructions will 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. We are setting this in a URL variable so that we don't have to -write it every time. -

- -
-
wget $URL/carbs-rootfs.tar.xz.sha256
-sha256sum -c carbs-rootfs.tar.xz.sha256
-
-
-
-
- -
-

1.2 Signature verification

-
-

-It is highly recommended to verify the signature of the tarball. You will need -GPG for this. -

- -
-
wget $URL/carbs-rootfs.tar.xz.sig
-gpg --recv-keys FF484BDFEFCEF8FF
-gpg --verify carbs-rootfs.tar.xz.sig
-
-
-
-
- -
-

1.3 Extracting the tarball

-
-

-You will need to extract the tarball to your desired location. For partitioning, -you can follow this guide. 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.4 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 Chroot

-
-

-Chroot into Carbs Linux! -

- -
-
./cpt-chroot /mnt
-
-
-
- -
-

2.1 Setting up repositories

-
-

-Newest tarballs do not come with repositories, so you will need to manually -obtain them, and set your CPT_PATH environment variable. Carbs Linux -repositories can either be obtained by git or rsync. While rsync -repositories are overall faster and smaller, git offers the whole history of the -repository and a means to manipulate your repository as you like it. If you want -to obtain the git repository, you will need to install git itself. -

- -

-The following guide will assume that you put the repositories into ~/repos/ -directory, but you can put the repositories into any directory you want. So go -ahead and create that directory: -

- -
-
mkdir -p $HOME/repos
-
-
-
- -
-

2.1.1 Obtaining from git

-
-

-Carbs Linux git repositories can be found both from the main server and GitHub -(mirror). Here are both their repository links. You can clone any of them. -

- - - -
-
git clone git://git.carbslinux.org/repository $HOME/repos/carbs
-
-
-
-
- -
-

2.1.2 Obtaining from rsync

-
-

-Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In -order to obtain it, run the following: -

- -
-
rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
-
-
-
-
- -
-

2.1.3 Making the package manager use the repositories

-
-

-In your shell's configuration file, or in your ~/.profile file, add the -following lines: -

- -
-
CPT_PATH=$HOME/repos/carbs/core
-CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra
-CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg
-CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community
-export CPT_PATH
-
-
-
-
-
- -
-

2.2 Updating packages

-
-

-It is good practice to make sure your system is up to date, especially before -building new packages. If there is an update for the package manager you will -need to update twice. -

- -
-
cpt-update && cpt-update
-
-
-
-
- -
-

2.3 Installing packages

-
-

-Since you are operating on a really small base, you might need to build and -install new programs to extend the functionality of your system. In order to -build and install packages new packages in Carbs, you need to execute the -following. "Package" is not actually a package and is given as an example. -

- -
-
cpt-build   package
-cpt-install package
-
-
-
-
- -
-

2.4 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
  • -
  • wpasupplicant
  • -
- -

-TEXT EDITORS -

- -
    -
  • nano
  • -
  • vim
  • -
  • neatvi
  • -
  • emacs
  • -
  • emacs-nox (terminal-only version of emacs)
  • -
- -

-USER SHELLS -

- -
    -
  • bash
  • -
  • zsh
  • -
  • oksh
  • -
  • rc
  • -
- -

-POSIX BASE UTILITIES -

- -
    -
  • busybox
  • -
  • sbase
  • -
  • coreutils
  • -
- -

-DOCUMENTATION -

- -
    -
  • carbs-docs
  • -
  • man-pages
  • -
  • man-pages-posix
  • -
-
-
- -
-

2.5 Obtaining the documentation

-
-

-All the documentation for Carbs Linux can be found on a single info manual to be -viewed offline. You can obtain texinfo or the info (standalone) package in order -to view the documentation. -

- -
-
# Install the documentation.
-cpt b carbs-docs && cpt i carbs-docs
-
-# Install either texinfo or the info package. We will be installing standalone info
-# as it doesn't need perl.
-cpt b info && cpt i info
-
-# You can then run info and navigate through the documentation.
-info carbslinux
-
-
-
-
-
- -
-

3 System Configuration

-
-

-After you have finished installing some extra packages, you can configure your -system to your liking. -

-
- -
-

3.1 Configuring hostname

-
-

-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 Hosts file

-
-

-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
-
-
-
-
- -
-

4 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. -

-
- -
-

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.9.1.tar.xz
-tar xf linux-5.9.1.tar.xz
-
-# Change directory into the kernel sources
-cd linux-5.9.1
-
-
-
-
- -
-

4.2 Kernel dependencies

-
-

-In order to compile the kernel you will need to install some dependencies. You -will need libelf to compile the kernel. If you want to configure using the -menu interface you will also need ncurses. -

- -
-
# The package manager asks to install if you are building more than one package,
-# so no need to run 'cpt i ...'
-cpt b libelf ncurses
-
-
- -

-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. You will need to obtain and apply the patch in the kernel -source directory. -

- -
-
wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch
-patch -p1 < kernel-no-perl.patch
-
-
-
-
- -
-

4.3 Building the kernel

-
-

-Next step is configuring and building the kernel. You can check Gentoo's -kernel configuration guide to learn more about the matter. Overall, Gentoo Wiki -is a good place to learn about configuration according to your hardware. The -following will assume a monolithic kernel. -

- -
-
make menuconfig
-make
-install -Dm755 $(make -s image_name) /boot/vmlinuz-linux
-
-
-
-
-
- -
-

5 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 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). -

-
- -
-

5.1.1 GRUB BIOS installation

-
-
-
cpt b grub && cpt i grub
-grub-install --target=i386-pc /dev/sdX
-grub-mkconfig -o /boot/grub/grub.cfg
-
-
-
-
- -
-

5.1.2 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 Init scripts

-
-

-Only thing left to do is installing the init-scripts, and now you are almost -ready to boot your system! -

- -
-
cpt b carbs-init && cpt i carbs-init
-
-
-
-
- -
-

5.3 Fstab

-
-

-You can now manually edit your fstab entry, or you can use the genfstab tool. -If you want to use the tool, exit the chroot and run the following: -

- -
-
wget https://github.com/cemkeylan/genfstab/raw/master/genfstab
-chmod +x genfstab
-./genfstab -U /mnt >> /mnt/etc/fstab
-
-
-
-
-
- -
-

6 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. -You can check the rest of the documentation to learn more about the system. -

-
- -
-

6.1 KISS repositories

-
-

-While not 100% compatible with cpt, you can use kiss repositories in your -system the same way you are using the distribution repositories. Here is an -example for the KISS Linux Community repository. -

-
-
-
-
- - diff --git a/docs/docs/install.txt b/docs/docs/install.txt deleted file mode 100644 index 6f51fa8..0000000 --- a/docs/docs/install.txt +++ /dev/null @@ -1,485 +0,0 @@ - ________________________________ - - CARBS LINUX INSTALLATION GUIDE - - Cem Keylan - ________________________________ - - -Table of Contents -_________________ - -1. Preparing Environment -.. 1. Download -.. 2. Signature verification -.. 3. Extracting the tarball -.. 4. Obtain the chroot helper -2. Chroot -.. 1. Setting up repositories -..... 1. Obtaining from git -..... 2. Obtaining from rsync -..... 3. Making the package manager use the repositories -.. 2. Updating packages -.. 3. Installing packages -.. 4. Essential Software -.. 5. Obtaining the documentation -3. System Configuration -.. 1. Configuring hostname -.. 2. Hosts file -4. Kernel -.. 1. Obtaining the kernel sources -.. 2. Kernel dependencies -.. 3. Building the kernel -5. Making your system bootable -.. 1. Bootloader -..... 1. GRUB BIOS installation -..... 2. GRUB UEFI installation -.. 2. Init scripts -.. 3. Fstab -6. Post-installation -.. 1. KISS repositories - - -These are the step-by-step instructions for installing Carbs Linux. It -can be acquired as plain-text to be viewed offline with a pager from -. - -,---- -| curl -sL https://carbslinux.org/docs/install.txt | less -`---- - - -1 Preparing Environment -======================= - - To install Carbs Linux, you will need a Live Linux ISO. For that - purpose, you can obtain a Gentoo or Void Linux live image. You can - follow their instructions to boot and setup your network. - - You will need the following programs in order to install Carbs Linux: - - - tar - - wget - - xz - - some form of base utilities (coreutils, sbase, busybox, etc.) - - Rest of these instructions will 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'. We are setting this in a - URL variable so that we don't have to write it every time. - - ,---- - | wget $URL/carbs-rootfs.tar.xz.sha256 - | sha256sum -c carbs-rootfs.tar.xz.sha256 - `---- - - -1.2 Signature verification -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - It is highly recommended to verify the signature of the tarball. You - will need GPG for this. - - ,---- - | wget $URL/carbs-rootfs.tar.xz.sig - | gpg --recv-keys FF484BDFEFCEF8FF - | gpg --verify carbs-rootfs.tar.xz.sig - `---- - - -1.3 Extracting the tarball -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - You will need to extract the tarball to your desired location. For - partitioning, you can follow [this guide]. 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 - `---- - - -[this guide] - - -1.4 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 Chroot -======== - - Chroot into Carbs Linux! - - ,---- - | ./cpt-chroot /mnt - `---- - - -2.1 Setting up repositories -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Newest tarballs do not come with repositories, so you will need to - manually obtain them, and set your `CPT_PATH' environment - variable. Carbs Linux repositories can either be obtained by `git' or - `rsync'. While rsync repositories are overall faster and smaller, git - offers the whole history of the repository and a means to manipulate - your repository as you like it. If you want to obtain the git - repository, you will need to install `git' itself. - - The following guide will assume that you put the repositories into - `~/repos/' directory, but you can put the repositories into any - directory you want. So go ahead and create that directory: - - ,---- - | mkdir -p $HOME/repos - `---- - - -2.1.1 Obtaining from git ------------------------- - - Carbs Linux git repositories can be found both from the main server - and GitHub (mirror). Here are both their repository links. You can - clone any of them. - - - git://git.carbslinux.org/repository - - - - ,---- - | git clone git://git.carbslinux.org/repository $HOME/repos/carbs - `---- - - -2.1.2 Obtaining from rsync --------------------------- - - Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In - order to obtain it, run the following: - - ,---- - | rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs - `---- - - -2.1.3 Making the package manager use the repositories ------------------------------------------------------ - - In your shell's configuration file, or in your `~/.profile' file, add - the following lines: - - ,---- - | CPT_PATH=$HOME/repos/carbs/core - | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra - | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg - | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community - | export CPT_PATH - `---- - - -2.2 Updating packages -~~~~~~~~~~~~~~~~~~~~~ - - It is good practice to make sure your system is up to date, especially - before building new packages. If there is an update for the package - manager you will need to update twice. - - ,---- - | cpt-update && cpt-update - `---- - - -2.3 Installing packages -~~~~~~~~~~~~~~~~~~~~~~~ - - Since you are operating on a really small base, you might need to - build and install new programs to extend the functionality of your - system. In order to build and install packages new packages in Carbs, - you need to execute the following. "Package" is not actually a package - and is given as an example. - - ,---- - | cpt-build package - | cpt-install package - `---- - - -2.4 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 - - wpa_supplicant - - *TEXT EDITORS* - - - nano - - vim - - neatvi - - emacs - - emacs-nox (terminal-only version of emacs) - - *USER SHELLS* - - - bash - - zsh - - oksh - - rc - - *POSIX BASE UTILITIES* - - - busybox - - sbase - - coreutils - - *DOCUMENTATION* - - - carbs-docs - - man-pages - - man-pages-posix - - -2.5 Obtaining the documentation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - All the documentation for Carbs Linux can be found on a single info - manual to be viewed offline. You can obtain texinfo or the info - (standalone) package in order to view the documentation. - - ,---- - | # Install the documentation. - | cpt b carbs-docs && cpt i carbs-docs - | - | # Install either texinfo or the info package. We will be installing standalone info - | # as it doesn't need perl. - | cpt b info && cpt i info - | - | # You can then run info and navigate through the documentation. - | info carbslinux - `---- - - -3 System Configuration -====================== - - After you have finished installing some extra packages, you can - configure your system to your liking. - - -3.1 Configuring hostname -~~~~~~~~~~~~~~~~~~~~~~~~ - - 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 Hosts file -~~~~~~~~~~~~~~ - - 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 - `---- - - -4 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. - - -[example kernel package] - - -4.1 Obtaining the kernel sources -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - You can visit the 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.9.1.tar.xz - | tar xf linux-5.9.1.tar.xz - | - | # Change directory into the kernel sources - | cd linux-5.9.1 - `---- - - -4.2 Kernel dependencies -~~~~~~~~~~~~~~~~~~~~~~~ - - In order to compile the kernel you will need to install some - dependencies. You will need `libelf' to compile the kernel. If you - want to configure using the menu interface you will also need - `ncurses'. - - ,---- - | # The package manager asks to install if you are building more than one package, - | # so no need to run 'cpt i ...' - | cpt b libelf ncurses - `---- - - 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]. You will need to obtain and apply - the patch in the kernel source directory. - - ,---- - | wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch - | patch -p1 < kernel-no-perl.patch - `---- - - -[E5ten] - - -4.3 Building the kernel -~~~~~~~~~~~~~~~~~~~~~~~ - - Next step is configuring and building the kernel. You can check - Gentoo's [kernel configuration guide] to learn more about the - matter. Overall, Gentoo Wiki is a good place to learn about - configuration according to your hardware. The following will assume a - monolithic kernel. - - ,---- - | make menuconfig - | make - | install -Dm755 $(make -s image_name) /boot/vmlinuz-linux - `---- - - -[kernel configuration guide] - - - -5 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 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). - - -5.1.1 GRUB BIOS installation ----------------------------- - - ,---- - | cpt b grub && cpt i grub - | grub-install --target=i386-pc /dev/sdX - | grub-mkconfig -o /boot/grub/grub.cfg - `---- - - -5.1.2 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 Init scripts -~~~~~~~~~~~~~~~~ - - Only thing left to do is installing the init-scripts, and now you are - almost ready to boot your system! - - ,---- - | cpt b carbs-init && cpt i carbs-init - `---- - - -5.3 Fstab -~~~~~~~~~ - - You can now manually edit your fstab entry, or you can use the - genfstab tool. If you want to use the tool, exit the chroot and run - the following: - - ,---- - | wget https://github.com/cemkeylan/genfstab/raw/master/genfstab - | chmod +x genfstab - | ./genfstab -U /mnt >> /mnt/etc/fstab - `---- - - -6 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. You can check the rest of the documentation to - learn more about the system. - - -6.1 KISS repositories -~~~~~~~~~~~~~~~~~~~~~ - - While not 100% compatible with cpt, you can use kiss repositories in - your system the same way you are using the distribution - repositories. Here is an example for the KISS Linux Community - repository. diff --git a/docs/download.html b/docs/download.html new file mode 100644 index 0000000..5f26b60 --- /dev/null +++ b/docs/download.html @@ -0,0 +1,64 @@ + + + + + + +Download Carbs Linux + + + + + +
+ +
+
+
+

Download Carbs Linux

+

+Below are the latest tarballs for the x86_64 and i686 architectures. You can +visit https://dl.carbslinux.org/releases for all downloads. Follow the +Installation guide to learn more about verifying the releases, and the required +steps for installing the system. +

+ +
+

x86-64

+ +
+ + +
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/download.txt b/docs/download.txt new file mode 100644 index 0000000..8364fdd --- /dev/null +++ b/docs/download.txt @@ -0,0 +1,46 @@ + ______________________ + + DOWNLOAD CARBS LINUX + ______________________ + + +Below are the latest tarballs for the `x86_64' and `i686' +architectures. You can visit for +all downloads. Follow the [Installation guide] to learn more about +verifying the releases, and the required steps for installing the +system. + + +[Installation guide] + + +x86-64 +====== + + [carbs-rootfs.tar.xz] | [SHA256SUM] | [Signature] + + +[carbs-rootfs.tar.xz] + + +[SHA256SUM] + + +[Signature] + + + +i686 +==== + + [carbs-rootfs.tar.xz] | [SHA256SUM] | [Signature] + + +[carbs-rootfs.tar.xz] + + +[SHA256SUM] + + +[Signature] + diff --git a/docs/index.html b/docs/index.html index 6397956..904339a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,112 +1,177 @@ - - - - index | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

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.

- -

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

- -

By default, Carbs Linux comes with busybox for coreutils, bearssl for its + + + + + + +Carbs Linux + + + + + + +

+ +
+
+

+Carbs Linux is a source-based Linux® distribution that aims to be simple, +flexible and extensible while staying as pragmatic and practical as possible. +The system can consist of as much or as little as its user can intend to. +

+ +
+

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

+
+

+By default, Carbs Linux comes with busybox for coreutils, bearssl for its crypto library, musl libc, and other basic utilities that are required for -building new software. The majority of the base packages are statically linked.

+building new software. The majority of the base packages are statically linked. +

+
+
-

Multiple Init Support

-

Carbs Linux has support for multiple init systems and service supervisors. In -the main repository are

+
+

Multiple Init Support

+
+

+Carbs Linux has support for multiple init systems and service supervisors. In +the main repository are +

-
    +
    • sinit
    • busybox-init (SysVinit clone)
    • runit-init
    +

    +for init systems, and +

    -

    for init systems, and

    - -
      +
      • sysmgr
      • busybox-runit
      • runit
      - -

      for service supervisors. The carbs-init package is the collection of init +

      +for service supervisors. The carbs-init package is the collection of init scripts that ensure the interoperability of these init and service systems, and make it easier for the user to switch to their preferred combinations of system -supervision.

      - -

      Nothing holds you back, however, from ditching any of these and packaging some -other system supervision technique along with your own init scripts.

      - -

      Links

      - -
        -
      • IRC - #carbslinux on freenode
      • -
      • Reddit - /r/carbslinux
      • -
      • Mailing Lists
      • +supervision. +

        + +

        +Nothing holds you back, however, from ditching any of these and packaging some +other system supervision technique along with your own init scripts. +

        +
+
+ + +
+

Links

+
+ - - -

News

- -

RSS Feed | See all news

- -

Sep 16 2020

- -

The libressl “revert” was reverted. System update will replace libressl +

+
+ +
+

News

+ + +
+

Sep 16, 2020

+
+

+The libressl "revert" was reverted. System update will replace libressl dependencies with bearssl. You may choose to keep or remove bearssl after the -update.

- -

Sep 03 2020

- -

The default TLS provider has been reverted to ‘libressl’. System update will +update. +

+
+
+
+

Sep 03, 2020

+
+

+The default TLS provider has been reverted to libressl. System update will replace bearssl dependencies with libressl. You may choose to keep or remove -bearssl after the update.

- -

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

- -

A new rootfs tarball including the changes to the core is released and can be -found on the downloads page.

- -

May 26 2020

- -

An initial version for binary package management is released. -It can be found on the GitHub page.

- View Page Source -
- - - +bearssl after the update. +

+
+
+
+

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

+
+

+A new rootfs tarball including the changes to the core is released and can be +found on the downloads page. +

+
+
+
+

May 26, 2020

+
+

+An initial version for binary package management is released. It can be found on +the GitHub page. +

+
+
+
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/index.txt b/docs/index.txt index 9c3fa4d..50c04b2 100644 --- a/docs/index.txt +++ b/docs/index.txt @@ -1,97 +1,133 @@ -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. +Carbs Linux is a source-based Linux(r) distribution that aims to be +simple, flexible and extensible while staying as pragmatic and practical +as possible. The system can consist of as much or as little as its user +can intend to. + 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. + -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. +[Carbs Packaging Tools] Small base --------------------------------------------------------------------------------- +========== -By default, Carbs Linux comes with busybox for coreutils, bearssl for its -crypto library, musl libc, and other basic utilities that are required for -building new software. The majority of the base packages are statically linked. + By default, Carbs Linux comes with busybox for coreutils, bearssl for + its crypto library, musl libc, and other basic utilities that are + required for building new software. The majority of the base packages + are statically linked. Multiple Init Support --------------------------------------------------------------------------------- +===================== -Carbs Linux has support for multiple init systems and service supervisors. In -the main repository are + Carbs Linux has support for multiple init systems and service + supervisors. In the main repository are -- `sinit` -- `busybox-init` (SysVinit clone) -- `runit-init` + - `sinit' + - `busybox-init' (SysVinit clone) + - `runit-init' -for init systems, and + for init systems, and -- `sysmgr` -- `busybox-runit` -- `runit` + - `sysmgr' + - `busybox-runit' + - `runit' -for service supervisors. The [carbs-init] package is the collection of init -scripts that ensure the interoperability of these init and service systems, and -make it easier for the user to switch to their preferred combinations of system -supervision. + for service supervisors. The [carbs-init] package is the collection of + init scripts that ensure the interoperability of these init and + service systems, and make it easier for the user to switch to their + preferred combinations of system supervision. -Nothing holds you back, however, from ditching any of these and packaging some -other system supervision technique along with your own init scripts. + Nothing holds you back, however, from ditching any of these and + packaging some other system supervision technique along with your own + init scripts. -[carbs-init]: https://github.com/CarbsLinux/repository/tree/master/core/carbs-init -[Carbs Packaging Tools]: https://github.com/CarbsLinux/cpt +[carbs-init] + + Links --------------------------------------------------------------------------------- +===== + + - IRC - `#carbslinux' on freenode + - Reddit - [r/carbslinux] + - [Mailing Lists] + -* IRC - `#carbslinux` on freenode -* Reddit - [/r/carbslinux] -* [Mailing Lists] +[r/carbslinux] + +[Mailing Lists] -[/r/carbslinux]: http://reddit.com/r/carbslinux -[Mailing Lists]: /mailing-lists.html News --------------------------------------------------------------------------------- +==== + + [RSS Feed] | [See all news] + + +[RSS Feed] + +[See all news] + +[Sep 16, 2020] +~~~~~~~~~~~~~~ + + The libressl "revert" was reverted. System update will replace + libressl dependencies with bearssl. You may choose to keep or remove + bearssl after the update. + + +[Sep 16, 2020] + + +[Sep 03, 2020] +~~~~~~~~~~~~~~ + + The default TLS provider has been reverted to `libressl'. System + update will replace bearssl dependencies with libressl. You may choose + to keep or remove bearssl after the update. + + +[Sep 03, 2020] + + +[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-*'. + -[RSS Feed](/news.xml) | [See all news](/news.html) +[Jul 27, 2020] -Sep 16 2020 --------------------------------------------------------------------------------- -The libressl "revert" was reverted. System update will replace libressl -dependencies with bearssl. You may choose to keep or remove bearssl after the -update. +[Jun 17, 2020] +~~~~~~~~~~~~~~ -Sep 03 2020 --------------------------------------------------------------------------------- + A new rootfs tarball including the changes to the core is released and + can be found on the downloads page. -The default TLS provider has been reverted to 'libressl'. System update will -replace bearssl dependencies with libressl. You may choose to keep or remove -bearssl after the update. -Jul 27 2020 --------------------------------------------------------------------------------- +[Jun 17, 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 --------------------------------------------------------------------------------- +[May 26, 2020] +~~~~~~~~~~~~~~ -A new rootfs tarball including the changes to the core is released and can be -found on the downloads page. + An initial version for binary package management is released. It can + be found on the [GitHub page]. -May 26 2020 --------------------------------------------------------------------------------- -An initial version for binary package management is released. -It can be found on the [GitHub page]. +[May 26, 2020] -[GitHub page]: https://github.com/CarbsLinux/kiss-bin +[GitHub page] diff --git a/docs/install.html b/docs/install.html new file mode 100644 index 0000000..8f6e2a0 --- /dev/null +++ b/docs/install.html @@ -0,0 +1,662 @@ + + + + + + +Installation Guide + + + + + +
+ +
+
+
+

Installation Guide

+

+These are the step-by-step instructions for installing Carbs Linux. It can be +acquired as plain-text to be viewed offline with a pager from +https://carbslinux.org/install.txt. +

+ +
+
curl -sL https://carbslinux.org/install.txt | less
+
+
+ + +
+

1 Preparing Environment

+
+

+To install Carbs Linux, you will need a Live Linux ISO. For that purpose, you +can obtain a Gentoo or Void Linux live image. You can follow their instructions +to boot and setup your network. +

+ +

+You will need the following programs in order to install Carbs Linux: +

+ +
    +
  • tar
  • +
  • wget
  • +
  • xz
  • +
  • some form of base utilities (coreutils, sbase, busybox, etc.)
  • +
+ +

+Rest of these instructions will 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. We are setting this in a URL variable so that we don't have to +write it every time. +

+ +
+
wget $URL/carbs-rootfs.tar.xz.sha256
+sha256sum -c carbs-rootfs.tar.xz.sha256
+
+
+
+
+ +
+

1.2 Signature verification

+
+

+It is highly recommended to verify the signature of the tarball. You will need +GPG for this. +

+ +
+
wget $URL/carbs-rootfs.tar.xz.sig
+gpg --recv-keys FF484BDFEFCEF8FF
+gpg --verify carbs-rootfs.tar.xz.sig
+
+
+
+
+ +
+

1.3 Extracting the tarball

+
+

+You will need to extract the tarball to your desired location. For partitioning, +you can follow this guide. 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.4 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 Chroot

+
+

+Chroot into Carbs Linux! +

+ +
+
./cpt-chroot /mnt
+
+
+
+ +
+

2.1 Setting up repositories

+
+

+Newest tarballs do not come with repositories, so you will need to manually +obtain them, and set your CPT_PATH environment variable. Carbs Linux +repositories can either be obtained by git or rsync. While rsync +repositories are overall faster and smaller, git offers the whole history of the +repository and a means to manipulate your repository as you like it. If you want +to obtain the git repository, you will need to install git itself. +

+ +

+The following guide will assume that you put the repositories into ~/repos/ +directory, but you can put the repositories into any directory you want. So go +ahead and create that directory: +

+ +
+
mkdir -p $HOME/repos
+
+
+
+ +
+

2.1.1 Obtaining from git

+
+

+Carbs Linux git repositories can be found both from the main server and GitHub +(mirror). Here are both their repository links. You can clone any of them. +

+ + + +
+
git clone git://git.carbslinux.org/repository $HOME/repos/carbs
+
+
+
+
+ +
+

2.1.2 Obtaining from rsync

+
+

+Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In +order to obtain it, run the following: +

+ +
+
rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
+
+
+
+
+ +
+

2.1.3 Making the package manager use the repositories

+
+

+In your shell's configuration file, or in your ~/.profile file, add the +following lines: +

+ +
+
CPT_PATH=$HOME/repos/carbs/core
+CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra
+CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg
+CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community
+export CPT_PATH
+
+
+
+
+
+ +
+

2.2 Updating packages

+
+

+It is good practice to make sure your system is up to date, especially before +building new packages. If there is an update for the package manager you will +need to update twice. +

+ +
+
cpt-update && cpt-update
+
+
+
+
+ +
+

2.3 Installing packages

+
+

+Since you are operating on a really small base, you might need to build and +install new programs to extend the functionality of your system. In order to +build and install packages new packages in Carbs, you need to execute the +following. "Package" is not actually a package and is given as an example. +

+ +
+
cpt-build   package
+cpt-install package
+
+
+
+
+ +
+

2.4 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
  • +
  • wpasupplicant
  • +
+ +

+TEXT EDITORS +

+ +
    +
  • nano
  • +
  • vim
  • +
  • neatvi
  • +
  • emacs
  • +
  • emacs-nox (terminal-only version of emacs)
  • +
+ +

+USER SHELLS +

+ +
    +
  • bash
  • +
  • zsh
  • +
  • oksh
  • +
  • rc
  • +
+ +

+POSIX BASE UTILITIES +

+ +
    +
  • busybox
  • +
  • sbase
  • +
  • coreutils
  • +
+ +

+DOCUMENTATION +

+ +
    +
  • carbs-docs
  • +
  • man-pages
  • +
  • man-pages-posix
  • +
+
+
+ +
+

2.5 Obtaining the documentation

+
+

+All the documentation for Carbs Linux can be found on a single info manual to be +viewed offline. You can obtain texinfo or the info (standalone) package in order +to view the documentation. +

+ +
+
# Install the documentation.
+cpt b carbs-docs && cpt i carbs-docs
+
+# Install either texinfo or the info package. We will be installing standalone info
+# as it doesn't need perl.
+cpt b info && cpt i info
+
+# You can then run info and navigate through the documentation.
+info carbslinux
+
+
+
+
+
+ +
+

3 System Configuration

+
+

+After you have finished installing some extra packages, you can configure your +system to your liking. +

+
+ +
+

3.1 Configuring hostname

+
+

+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 Hosts file

+
+

+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
+
+
+
+
+ +
+

4 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. +

+
+ +
+

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.9.1.tar.xz
+tar xf linux-5.9.1.tar.xz
+
+# Change directory into the kernel sources
+cd linux-5.9.1
+
+
+
+
+ +
+

4.2 Kernel dependencies

+
+

+In order to compile the kernel you will need to install some dependencies. You +will need libelf, and bison to compile the kernel. If you want to configure +using the menu interface you will also need ncurses. +

+ +
+
# The package manager asks to install if you are building more than one package,
+# so no need to run 'cpt i ...'
+cpt b libelf ncurses
+
+
+ +

+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. You will need to obtain and apply the patch in the kernel +source directory. +

+ +
+
wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch
+patch -p1 < kernel-no-perl.patch
+
+
+
+
+ +
+

4.3 Building the kernel

+
+

+Next step is configuring and building the kernel. You can check Gentoo's +kernel configuration guide to learn more about the matter. Overall, Gentoo Wiki +is a good place to learn about configuration according to your hardware. The +following will assume a monolithic kernel. +

+ +
+
make menuconfig
+make
+install -Dm755 $(make -s image_name) /boot/vmlinuz-linux
+
+
+
+
+
+ +
+

5 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 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). +

+
+ +
+

5.1.1 GRUB BIOS installation

+
+
+
cpt b grub && cpt i grub
+grub-install --target=i386-pc /dev/sdX
+grub-mkconfig -o /boot/grub/grub.cfg
+
+
+
+
+ +
+

5.1.2 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 Init scripts

+
+

+Only thing left to do is installing the init-scripts, and now you are almost +ready to boot your system! +

+ +
+
cpt b carbs-init && cpt i carbs-init
+
+
+
+
+ +
+

5.3 Fstab

+
+

+You can now manually edit your fstab entry, or you can use the genfstab tool. +If you want to use the tool, exit the chroot and run the following: +

+ +
+
wget https://github.com/cemkeylan/genfstab/raw/master/genfstab
+chmod +x genfstab
+./genfstab -U /mnt >> /mnt/etc/fstab
+
+
+
+
+
+ +
+

6 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. +You can check the rest of the documentation to learn more about the system. +

+
+ +
+

6.1 KISS repositories

+
+

+While not 100% compatible with cpt, you can use kiss repositories in your +system the same way you are using the distribution repositories. Here is an +example for the KISS Linux Community repository. +

+
+
+
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/install.txt b/docs/install.txt new file mode 100644 index 0000000..ba1899c --- /dev/null +++ b/docs/install.txt @@ -0,0 +1,479 @@ + ____________________ + + INSTALLATION GUIDE + ____________________ + + +These are the step-by-step instructions for installing Carbs Linux. It +can be acquired as plain-text to be viewed offline with a pager from +. + +,---- +| curl -sL https://carbslinux.org/install.txt | less +`---- + +1. Preparing Environment +.. 1. Download +.. 2. Signature verification +.. 3. Extracting the tarball +.. 4. Obtain the chroot helper +2. Chroot +.. 1. Setting up repositories +..... 1. Obtaining from git +..... 2. Obtaining from rsync +..... 3. Making the package manager use the repositories +.. 2. Updating packages +.. 3. Installing packages +.. 4. Essential Software +.. 5. Obtaining the documentation +3. System Configuration +.. 1. Configuring hostname +.. 2. Hosts file +4. Kernel +.. 1. Obtaining the kernel sources +.. 2. Kernel dependencies +.. 3. Building the kernel +5. Making your system bootable +.. 1. Bootloader +..... 1. GRUB BIOS installation +..... 2. GRUB UEFI installation +.. 2. Init scripts +.. 3. Fstab +6. Post-installation +.. 1. KISS repositories + + +1 Preparing Environment +======================= + + To install Carbs Linux, you will need a Live Linux ISO. For that + purpose, you can obtain a Gentoo or Void Linux live image. You can + follow their instructions to boot and setup your network. + + You will need the following programs in order to install Carbs Linux: + + - tar + - wget + - xz + - some form of base utilities (coreutils, sbase, busybox, etc.) + + Rest of these instructions will 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'. We are setting this in a + URL variable so that we don't have to write it every time. + + ,---- + | wget $URL/carbs-rootfs.tar.xz.sha256 + | sha256sum -c carbs-rootfs.tar.xz.sha256 + `---- + + +1.2 Signature verification +~~~~~~~~~~~~~~~~~~~~~~~~~~ + + It is highly recommended to verify the signature of the tarball. You + will need GPG for this. + + ,---- + | wget $URL/carbs-rootfs.tar.xz.sig + | gpg --recv-keys FF484BDFEFCEF8FF + | gpg --verify carbs-rootfs.tar.xz.sig + `---- + + +1.3 Extracting the tarball +~~~~~~~~~~~~~~~~~~~~~~~~~~ + + You will need to extract the tarball to your desired location. For + partitioning, you can follow [this guide]. 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 + `---- + + +[this guide] + + +1.4 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 Chroot +======== + + Chroot into Carbs Linux! + + ,---- + | ./cpt-chroot /mnt + `---- + + +2.1 Setting up repositories +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Newest tarballs do not come with repositories, so you will need to + manually obtain them, and set your `CPT_PATH' environment + variable. Carbs Linux repositories can either be obtained by `git' or + `rsync'. While rsync repositories are overall faster and smaller, git + offers the whole history of the repository and a means to manipulate + your repository as you like it. If you want to obtain the git + repository, you will need to install `git' itself. + + The following guide will assume that you put the repositories into + `~/repos/' directory, but you can put the repositories into any + directory you want. So go ahead and create that directory: + + ,---- + | mkdir -p $HOME/repos + `---- + + +2.1.1 Obtaining from git +------------------------ + + Carbs Linux git repositories can be found both from the main server + and GitHub (mirror). Here are both their repository links. You can + clone any of them. + + - git://git.carbslinux.org/repository + - + + ,---- + | git clone git://git.carbslinux.org/repository $HOME/repos/carbs + `---- + + +2.1.2 Obtaining from rsync +-------------------------- + + Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In + order to obtain it, run the following: + + ,---- + | rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs + `---- + + +2.1.3 Making the package manager use the repositories +----------------------------------------------------- + + In your shell's configuration file, or in your `~/.profile' file, add + the following lines: + + ,---- + | CPT_PATH=$HOME/repos/carbs/core + | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra + | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg + | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community + | export CPT_PATH + `---- + + +2.2 Updating packages +~~~~~~~~~~~~~~~~~~~~~ + + It is good practice to make sure your system is up to date, especially + before building new packages. If there is an update for the package + manager you will need to update twice. + + ,---- + | cpt-update && cpt-update + `---- + + +2.3 Installing packages +~~~~~~~~~~~~~~~~~~~~~~~ + + Since you are operating on a really small base, you might need to + build and install new programs to extend the functionality of your + system. In order to build and install packages new packages in Carbs, + you need to execute the following. "Package" is not actually a package + and is given as an example. + + ,---- + | cpt-build package + | cpt-install package + `---- + + +2.4 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 + - wpa_supplicant + + *TEXT EDITORS* + + - nano + - vim + - neatvi + - emacs + - emacs-nox (terminal-only version of emacs) + + *USER SHELLS* + + - bash + - zsh + - oksh + - rc + + *POSIX BASE UTILITIES* + + - busybox + - sbase + - coreutils + + *DOCUMENTATION* + + - carbs-docs + - man-pages + - man-pages-posix + + +2.5 Obtaining the documentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + All the documentation for Carbs Linux can be found on a single info + manual to be viewed offline. You can obtain texinfo or the info + (standalone) package in order to view the documentation. + + ,---- + | # Install the documentation. + | cpt b carbs-docs && cpt i carbs-docs + | + | # Install either texinfo or the info package. We will be installing standalone info + | # as it doesn't need perl. + | cpt b info && cpt i info + | + | # You can then run info and navigate through the documentation. + | info carbslinux + `---- + + +3 System Configuration +====================== + + After you have finished installing some extra packages, you can + configure your system to your liking. + + +3.1 Configuring hostname +~~~~~~~~~~~~~~~~~~~~~~~~ + + 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 Hosts file +~~~~~~~~~~~~~~ + + 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 + `---- + + +4 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. + + +[example kernel package] + + +4.1 Obtaining the kernel sources +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + You can visit the 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.9.1.tar.xz + | tar xf linux-5.9.1.tar.xz + | + | # Change directory into the kernel sources + | cd linux-5.9.1 + `---- + + +4.2 Kernel dependencies +~~~~~~~~~~~~~~~~~~~~~~~ + + In order to compile the kernel you will need to install some + dependencies. You will need `libelf', and `bison' to compile the + kernel. If you want to configure using the menu interface you will + also need `ncurses'. + + ,---- + | # The package manager asks to install if you are building more than one package, + | # so no need to run 'cpt i ...' + | cpt b libelf ncurses + `---- + + 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]. You will need to obtain and apply + the patch in the kernel source directory. + + ,---- + | wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch + | patch -p1 < kernel-no-perl.patch + `---- + + +[E5ten] + + +4.3 Building the kernel +~~~~~~~~~~~~~~~~~~~~~~~ + + Next step is configuring and building the kernel. You can check + Gentoo's [kernel configuration guide] to learn more about the + matter. Overall, Gentoo Wiki is a good place to learn about + configuration according to your hardware. The following will assume a + monolithic kernel. + + ,---- + | make menuconfig + | make + | install -Dm755 $(make -s image_name) /boot/vmlinuz-linux + `---- + + +[kernel configuration guide] + + + +5 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 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). + + +5.1.1 GRUB BIOS installation +---------------------------- + + ,---- + | cpt b grub && cpt i grub + | grub-install --target=i386-pc /dev/sdX + | grub-mkconfig -o /boot/grub/grub.cfg + `---- + + +5.1.2 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 Init scripts +~~~~~~~~~~~~~~~~ + + Only thing left to do is installing the init-scripts, and now you are + almost ready to boot your system! + + ,---- + | cpt b carbs-init && cpt i carbs-init + `---- + + +5.3 Fstab +~~~~~~~~~ + + You can now manually edit your fstab entry, or you can use the + genfstab tool. If you want to use the tool, exit the chroot and run + the following: + + ,---- + | wget https://github.com/cemkeylan/genfstab/raw/master/genfstab + | chmod +x genfstab + | ./genfstab -U /mnt >> /mnt/etc/fstab + `---- + + +6 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. You can check the rest of the documentation to + learn more about the system. + + +6.1 KISS repositories +~~~~~~~~~~~~~~~~~~~~~ + + While not 100% compatible with cpt, you can use kiss repositories in + your system the same way you are using the distribution + repositories. Here is an example for the KISS Linux Community + repository. diff --git a/docs/mailing-lists.html b/docs/mailing-lists.html index 82772da..b157045 100644 --- a/docs/mailing-lists.html +++ b/docs/mailing-lists.html @@ -1,36 +1,48 @@ - - - - Mailing Lists | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

Mailing Lists

+ + + + + + +Mailing Lists + + + + + +
+ +
+
+
+

Mailing Lists

+

+We have mailing lists set up at SourceHut. You can subscribe to the mailing +list by sending an empty mail to ~carbslinux/dev+subscribe@lists.sr.ht. +

-
~carbslinux/dev+subscribe@lists.sr.ht
-
- -

You can also see the archives.

- View Page Source -
- - - +

+You can also see the archives. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/mailing-lists.txt b/docs/mailing-lists.txt index baa97a7..35773e9 100644 --- a/docs/mailing-lists.txt +++ b/docs/mailing-lists.txt @@ -1,12 +1,19 @@ -Mailing Lists -================================================================================ + _______________ -We have mailing lists set up at [sourcehut]. You can subscribe to the mailing -list by sending an empty mail to + MAILING LISTS + _______________ - ~carbslinux/dev+subscribe@lists.sr.ht + +We have mailing lists set up at [SourceHut]. You can subscribe to the +mailing list by sending an empty mail to +[~carbslinux/dev+subscribe@lists.sr.ht]. You can also see the [archives]. -[sourcehut]: https://sr.ht -[archives]: https://lists.sr.ht/~carbslinux/dev + +[SourceHut] + +[~carbslinux/dev+subscribe@lists.sr.ht] + + +[archives] diff --git a/docs/news.html b/docs/news.html deleted file mode 100644 index 6e047b0..0000000 --- a/docs/news.html +++ /dev/null @@ -1,248 +0,0 @@ - - - - Sep 16 2020 | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

Sep 16 2020

- -

The libressl “revert” was reverted. System update will replace libressl -dependencies with bearssl. You may choose to keep or remove bearssl after the -update.

- -

Sep 03 2020

- -

The default TLS provider has been reverted to ‘libressl’. System update will -replace bearssl dependencies with libressl. You may choose to keep or remove -bearssl after the update.

- -

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

- -

A new rootfs tarball including the changes to the core is released and can be -found on the downloads page.

- -

May 26 2020

- -

An initial version for binary package management is released. -It can be found on the GitHub page.

- -

May 19 2020

- -

A rootfs tarball targeting the i686 architecture has -been released. It can be found on the downloads page

- -

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.

- -

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.

- -

Apr 10 2020

- -

IRC channel can now be accessed from #carbslinux at freenode!

- -

Apr 06 2020

- -

A new rootfs tarball has been released. See the -downloads page

- -

Apr 05 2020

- -

Carbs Linux repositories will be hosted only on Github. Commits will be -pushed there, and not the repository. You have until -May 4, 2020 Monday to switch your remotes to https://github.com/CarbsLinux/repository. -The git repository will continue to be served until then (without additional -commits).

- -

You can switch your remote by executing the following command on your -repository directory.

- -
git remote set-url origin https://github.com/CarbsLinux/repository
-
- -

Feb 18 2020

- -

A new tarball is released. It can be found on https://dl.carbslinux.org.

- -

edit: I have removed the tarball because of a bootstrapping issue. -I will be re-adding it later today.

- -

edit 2: I have added a tarball (20200219) to reflect my recent -changes on Busybox.

- -

Feb 14 2020

- -

IMPORTANT! Carbs-init update to be released on 17th of February -will require manual intervention. I am holding this update back so -people can see it before they update their system (even though the -update will show the same message as this). The rationale for the -update is explained below the intervention.

- -
# There is an explanation for each init
-# You only need to follow the instructions
-# for your own init-system
-
-## busybox-init
-# If you did not edit your inittab simply 
-# move inittab.new to inittab
--> mv /etc/inittab.new /etc/inittab
-
-# If you did edit your inittab you can use
-# a simple sed command to remove the necessary lines
--> sed -i '/getty/d;/runsvdir/d' /etc/inittab
-
-
-## runit
-# same as busybox-init, if you did not edit
-# /etc/runit/2 move 2.new to 2
--> mv /etc/runit/2.new /etc/runit/2
-
-# else
--> vim /etc/runit/2
-# open your 2 file and remove the for loop containing
-# getty commands. If you are using runit, it is recommended
-# to comment out /etc/init/runit.boot
-
-## sinit/minit
-# If you did not edit your {sinit-,}launch-services.boot
-# you can simply remove it.
--> rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot
-
-# This should leave you without any issues, and you can safely reboot.
-
- -

Carbs-init update is to make sure init systems do not clash, and do -not have to use different files. This is a sensible update both for -the user user and for the maintainer side.

- -

To give an example, before this update busybox-init was managing getty -through inittab, runit was managing through /etc/runit/2, and -minit/sinit were launching from /etc/init/launch-services.boot. This -is a configuration nightmare for everyone, and since I am maintaining -and constantly testing those init providers, a huge nightmare for me. -This is a Quality of Life update.

- -

Feb 13 2020

- -

Runit is now released on the core repository! You can now replace -busybox-init with runit-init. You can also replace the busybox runit -utilities with the actual runit. This will reduce the dependency on -busybox greatly.

- -

Jan 28 2020

- -

Web Server is now on a Carbs Linux server. It is not complete yet, -but I will be adding a little more for the intended functionality. -Downtimes can be expected.

- -

UPDATE: ssl is now working.

- -

UPDATE2: downloads are back again.

- -

Jan 22 2020

- -

Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating -this web server to my Carbs Linux server!

- -

Jan 15 2020

- -

sinit has been taken to core, and is now officially supported

- -

Jan 13 2020

- -

Busybox update reqires manual intervention

- -

The new busybox package conflicts with the pre-update busybox-init. That’s why -you should rebuild and install busybox-init before doing the update.

- -
# Do a kiss update first (but don't actually update it yet), or manually pull the git repository
-$ kiss u  # Cancel this operation after it asks for you to confirm the update
-
-# Install the busybox-init package
-$ kiss b busybox-init && kiss i busybox-init
-
-# Continue your update as you normally would.
-$ kiss u
-
- -

I have moved runit and logging utilities from the busybox-init package to the busybox -package, which is the cause of these conflicts.

- -

Jan 10 2020

- -

carbs-rootfs-20200110.tar.xz was released

- -

Jan 09 2020

- -

Happy new year, everyone! I am back after some long silence. I was unable to commit for a -while, but I have pulled some new updates from the KISS repository, added some of my own. -This week I will be changing/adding some things.

- -

Important things are,

- -
    -
  • Carbs-init was updated to 0.3.
  • -
  • I will be adding an implementation of suckless.org’s sinit as carbs-sinit
  • -
  • Carbs Repository was added to repology.org
  • -
  • A new rootfs tarball will be coming up tomorrow.
  • -
- - -

Dec 18 2019

- -

carbs-rootfs-20191218.tar.xz was released

- -

Dec 17 2019

- -

Installation instruction are now complete. A review would be greatly appreciated!

- -

Dec 15 2019

- -

Carbs Linux Wiki is now available to be edited and updated by the users go -to the wiki to obtain more information.

- -

February 2020 EDIT: Changed link for wiki

- -

Dec 12 2019

- -

Busybox and Busybox-init has been seperated into two different packages. -This is for adding standalone runit/runit-init to the repositories.

- -

Dec 10 2019

- -

First alpha release was made. See the downloads page.

- View Page Source -
- - - - diff --git a/docs/news.txt b/docs/news.txt deleted file mode 100644 index 67d1788..0000000 --- a/docs/news.txt +++ /dev/null @@ -1,259 +0,0 @@ -Sep 16 2020 --------------------------------------------------------------------------------- - -The libressl "revert" was reverted. System update will replace libressl -dependencies with bearssl. You may choose to keep or remove bearssl after the -update. - -Sep 03 2020 --------------------------------------------------------------------------------- - -The default TLS provider has been reverted to 'libressl'. System update will -replace bearssl dependencies with libressl. You may choose to keep or remove -bearssl after the update. - -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 --------------------------------------------------------------------------------- - -A new rootfs tarball including the changes to the core is released and can be -found on the downloads page. - -May 26 2020 --------------------------------------------------------------------------------- - -An initial version for binary package management is released. -It can be found on the [GitHub page]. - -[GitHub page]: https://github.com/CarbsLinux/kiss-bin - -May 19 2020 --------------------------------------------------------------------------------- - -A rootfs tarball targeting the i686 architecture has -been released. It can be found on the [downloads page] - -[downloads page]: https://dl.carbslinux.org/releases/i686 - -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. - -[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 ! - -**EDIT:** A new bug fix release has been made. - -Apr 10 2020 --------------------------------------------------------------------------------- - -IRC channel can now be accessed from `#carbslinux` at freenode! - -Apr 06 2020 --------------------------------------------------------------------------------- - -A new rootfs tarball has been released. See the -[downloads](https://dl.carbslinux.org) page - -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 . -The git repository will continue to be served until then (without additional -commits). - -You can switch your remote by executing the following command on your -repository directory. - - git remote set-url origin https://github.com/CarbsLinux/repository - - -Feb 18 2020 --------------------------------------------------------------------------------- - -A new tarball is released. It can be found on . - -**edit:** I have removed the tarball because of a bootstrapping issue. -I will be re-adding it later today. - -**edit 2:** I have added a tarball (20200219) to reflect my recent -changes on Busybox. - - -Feb 14 2020 --------------------------------------------------------------------------------- - -**IMPORTANT!** Carbs-init update to be released on 17th of February -will require manual intervention. I am holding this update back so -people can see it before they update their system (even though the -update will show the same message as this). The rationale for the -update is explained below the intervention. - - # There is an explanation for each init - # You only need to follow the instructions - # for your own init-system - - ## busybox-init - # If you did not edit your inittab simply - # move inittab.new to inittab - -> mv /etc/inittab.new /etc/inittab - - # If you did edit your inittab you can use - # a simple sed command to remove the necessary lines - -> sed -i '/getty/d;/runsvdir/d' /etc/inittab - - - ## runit - # same as busybox-init, if you did not edit - # /etc/runit/2 move 2.new to 2 - -> mv /etc/runit/2.new /etc/runit/2 - - # else - -> vim /etc/runit/2 - # open your 2 file and remove the for loop containing - # getty commands. If you are using runit, it is recommended - # to comment out /etc/init/runit.boot - - ## sinit/minit - # If you did not edit your {sinit-,}launch-services.boot - # you can simply remove it. - -> rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot - - # This should leave you without any issues, and you can safely reboot. - -Carbs-init update is to make sure init systems do not clash, and do -not have to use different files. This is a sensible update both for -the user user and for the maintainer side. - -To give an example, before this update busybox-init was managing getty -through `inittab`, runit was managing through `/etc/runit/2`, and -minit/sinit were launching from `/etc/init/launch-services.boot`. This -is a configuration nightmare for everyone, and since I am maintaining -and constantly testing those init providers, a huge nightmare for me. -This is a Quality of Life update. - - -Feb 13 2020 --------------------------------------------------------------------------------- - -Runit is now released on the core repository! You can now replace -busybox-init with runit-init. You can also replace the busybox runit -utilities with the actual runit. This will reduce the dependency on -busybox greatly. - -Jan 28 2020 --------------------------------------------------------------------------------- - -Web Server is now on a Carbs Linux server. It is not complete yet, -but I will be adding a little more for the intended functionality. -Downtimes can be expected. - -UPDATE: ssl is now working. - -UPDATE2: downloads are back again. - - -Jan 22 2020 --------------------------------------------------------------------------------- - -Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating -this web server to my Carbs Linux server! - - -Jan 15 2020 --------------------------------------------------------------------------------- - -sinit has been taken to `core`, and is now officially supported - - -Jan 13 2020 --------------------------------------------------------------------------------- - -**Busybox update reqires manual intervention** - -The new busybox package conflicts with the pre-update busybox-init. That's why -you should rebuild and install `busybox-init` before doing the update. - - # Do a kiss update first (but don't actually update it yet), or manually pull the git repository - $ kiss u # Cancel this operation after it asks for you to confirm the update - - # Install the busybox-init package - $ kiss b busybox-init && kiss i busybox-init - - # Continue your update as you normally would. - $ kiss u - -I have moved runit and logging utilities from the busybox-init package to the busybox -package, which is the cause of these conflicts. - -Jan 10 2020 --------------------------------------------------------------------------------- - -carbs-rootfs-20200110.tar.xz was [released](//dl.carbslinux.org/releases) - - -Jan 09 2020 --------------------------------------------------------------------------------- - -Happy new year, everyone! I am back after some long silence. I was unable to commit for a -while, but I have pulled some new updates from the KISS repository, added some of my own. -This week I will be changing/adding some things. - -Important things are, - -* Carbs-init was updated to 0.3. -* I will be adding an implementation of suckless.org's [sinit](//core.suckless.org/sinit) as `carbs-sinit` -* Carbs Repository was added to [repology.org](//repology.org/repository/carbs) -* A new rootfs tarball will be coming up tomorrow. - - -Dec 18 2019 --------------------------------------------------------------------------------- - -carbs-rootfs-20191218.tar.xz was [released](//dl.carbslinux.org/releases) - - -Dec 17 2019 --------------------------------------------------------------------------------- - -Installation instruction are now complete. A review would be greatly appreciated! - - -Dec 15 2019 --------------------------------------------------------------------------------- - -Carbs Linux Wiki is now available to be edited and updated by the users go -to the [wiki](//carbslinux.org/wiki) to obtain more information. - -**February 2020 EDIT:** Changed link for wiki - - -Dec 12 2019 --------------------------------------------------------------------------------- - -Busybox and Busybox-init has been seperated into two different packages. -This is for adding standalone runit/runit-init to the repositories. - - -Dec 10 2019 --------------------------------------------------------------------------------- - -First alpha release was made. See the [downloads page](//dl.carbslinux.org/releases). - diff --git a/docs/news.xml b/docs/news.xml index 0db7bba..b27bdf9 100644 --- a/docs/news.xml +++ b/docs/news.xml @@ -1,360 +1,278 @@ - + - - Carbs Linux - a simple linux distribution - https://carbslinux.org - - Thu Jan 07 2021 11:00 - -Sep 16 2020 -Wed, 16 Sep 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Sep 16 2020</h2> - -<p>The libressl &ldquo;revert&rdquo; was reverted. System update will replace libressl -dependencies with bearssl. You may choose to keep or remove bearssl after the -update.</p> - - -Sep 03 2020 -Thu, 03 Sep 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Sep 03 2020</h2> - -<p>The default TLS provider has been reverted to &lsquo;libressl&rsquo;. System update will -replace bearssl dependencies with libressl. You may choose to keep or remove -bearssl after the update.</p> - - -Jul 27 2020 -Mon, 27 Jul 2020 -Cem Keylan -https://carbslinux.org/index.html -<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> - - -Jun 17 2020 -Wed, 17 Jun 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jun 17 2020</h2> - -<p>A new rootfs tarball including the changes to the core is released and can be -found on the downloads page.</p> - - -May 26 2020 -Tue, 26 May 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>May 26 2020</h2> - -<p>An initial version for binary package management is released. -It can be found on the <a href="https://github.com/CarbsLinux/kiss-bin">GitHub page</a>.</p> - - -May 19 2020 -Tue, 19 May 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>May 19 2020</h2> - -<p>A rootfs tarball targeting the i686 architecture has -been released. It can be found on the <a href="https://dl.carbslinux.org/releases/i686">downloads page</a></p> - - -May 10 2020 -Sun, 10 May 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>May 10 2020</h2> - -<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> - - -Apr 27 2020 -Mon, 27 Apr 2020 -Cem Keylan -https://carbslinux.org/index.html -<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> - - -Apr 10 2020 -Fri, 10 Apr 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Apr 10 2020</h2> - -<p>IRC channel can now be accessed from <code>#carbslinux</code> at freenode!</p> - - -Apr 06 2020 -Mon, 06 Apr 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Apr 06 2020</h2> - -<p>A new rootfs tarball has been released. See the -<a href="https://dl.carbslinux.org">downloads</a> page</p> - - -Apr 05 2020 -Sun, 05 Apr 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Apr 05 2020</h2> - -<p>Carbs Linux repositories will be hosted only on Github. Commits will be -pushed there, and not the repository. You have until -May 4, 2020 Monday to switch your remotes to <a href="https://github.com/CarbsLinux/repository">https://github.com/CarbsLinux/repository</a>. -The git repository will continue to be served until then (without additional -commits).</p> - -<p>You can switch your remote by executing the following command on your -repository directory.</p> - -<pre><code>git remote set-url origin https://github.com/CarbsLinux/repository -</code></pre> - - -Feb 18 2020 -Tue, 18 Feb 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Feb 18 2020</h2> - -<p>A new tarball is released. It can be found on <a href="https://dl.carbslinux.org">https://dl.carbslinux.org</a>.</p> - -<p><strong>edit:</strong> I have removed the tarball because of a bootstrapping issue. -I will be re-adding it later today.</p> - -<p><strong>edit 2:</strong> I have added a tarball (20200219) to reflect my recent -changes on Busybox.</p> - - -Feb 14 2020 -Fri, 14 Feb 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Feb 14 2020</h2> - -<p><strong>IMPORTANT!</strong> Carbs-init update to be released on 17th of February -will require manual intervention. I am holding this update back so -people can see it before they update their system (even though the -update will show the same message as this). The rationale for the -update is explained below the intervention.</p> - -<pre><code># There is an explanation for each init -# You only need to follow the instructions -# for your own init-system - -## busybox-init -# If you did not edit your inittab simply -# move inittab.new to inittab --&gt; mv /etc/inittab.new /etc/inittab - -# If you did edit your inittab you can use -# a simple sed command to remove the necessary lines --&gt; sed -i '/getty/d;/runsvdir/d' /etc/inittab - - -## runit -# same as busybox-init, if you did not edit -# /etc/runit/2 move 2.new to 2 --&gt; mv /etc/runit/2.new /etc/runit/2 - -# else --&gt; vim /etc/runit/2 -# open your 2 file and remove the for loop containing -# getty commands. If you are using runit, it is recommended -# to comment out /etc/init/runit.boot - -## sinit/minit -# If you did not edit your {sinit-,}launch-services.boot -# you can simply remove it. --&gt; rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot - -# This should leave you without any issues, and you can safely reboot. -</code></pre> - -<p>Carbs-init update is to make sure init systems do not clash, and do -not have to use different files. This is a sensible update both for -the user user and for the maintainer side.</p> - -<p>To give an example, before this update busybox-init was managing getty -through <code>inittab</code>, runit was managing through <code>/etc/runit/2</code>, and -minit/sinit were launching from <code>/etc/init/launch-services.boot</code>. This -is a configuration nightmare for everyone, and since I am maintaining -and constantly testing those init providers, a huge nightmare for me. -This is a Quality of Life update.</p> - - -Feb 13 2020 -Thu, 13 Feb 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Feb 13 2020</h2> - -<p>Runit is now released on the core repository! You can now replace -busybox-init with runit-init. You can also replace the busybox runit -utilities with the actual runit. This will reduce the dependency on -busybox greatly.</p> - - -Jan 28 2020 -Tue, 28 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 28 2020</h2> - -<p>Web Server is now on a Carbs Linux server. It is not complete yet, -but I will be adding a little more for the intended functionality. -Downtimes can be expected.</p> - -<p>UPDATE: ssl is now working.</p> - -<p>UPDATE2: downloads are back again.</p> - - -Jan 22 2020 -Wed, 22 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 22 2020</h2> - -<p>Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating -this web server to my Carbs Linux server!</p> - - -Jan 15 2020 -Wed, 15 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 15 2020</h2> - -<p>sinit has been taken to <code>core</code>, and is now officially supported</p> - - -Jan 13 2020 -Mon, 13 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 13 2020</h2> - -<p><strong>Busybox update reqires manual intervention</strong></p> - -<p>The new busybox package conflicts with the pre-update busybox-init. That&rsquo;s why -you should rebuild and install <code>busybox-init</code> before doing the update.</p> - -<pre><code># Do a kiss update first (but don't actually update it yet), or manually pull the git repository -$ kiss u # Cancel this operation after it asks for you to confirm the update - -# Install the busybox-init package -$ kiss b busybox-init &amp;&amp; kiss i busybox-init - -# Continue your update as you normally would. -$ kiss u -</code></pre> - -<p>I have moved runit and logging utilities from the busybox-init package to the busybox -package, which is the cause of these conflicts.</p> - - -Jan 10 2020 -Fri, 10 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 10 2020</h2> - -<p>carbs-rootfs-20200110.tar.xz was <a href="//dl.carbslinux.org/releases">released</a></p> - - -Jan 09 2020 -Thu, 09 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 09 2020</h2> - -<p>Happy new year, everyone! I am back after some long silence. I was unable to commit for a -while, but I have pulled some new updates from the KISS repository, added some of my own. -This week I will be changing/adding some things.</p> - -<p>Important things are,</p> - -<ul> -<li>Carbs-init was updated to 0.3.</li> -<li>I will be adding an implementation of suckless.org&rsquo;s <a href="//core.suckless.org/sinit">sinit</a> as <code>carbs-sinit</code></li> -<li>Carbs Repository was added to <a href="//repology.org/repository/carbs">repology.org</a></li> -<li>A new rootfs tarball will be coming up tomorrow.</li> -</ul> - - -Dec 18 2019 -Wed, 18 Dec 2019 -Cem Keylan -https://carbslinux.org/index.html -<h2>Dec 18 2019</h2> - -<p>carbs-rootfs-20191218.tar.xz was <a href="//dl.carbslinux.org/releases">released</a></p> - - -Dec 17 2019 -Tue, 17 Dec 2019 -Cem Keylan -https://carbslinux.org/index.html -<h2>Dec 17 2019</h2> - -<p>Installation instruction are now complete. A review would be greatly appreciated!</p> - - -Dec 15 2019 -Sun, 15 Dec 2019 -Cem Keylan -https://carbslinux.org/index.html -<h2>Dec 15 2019</h2> - -<p>Carbs Linux Wiki is now available to be edited and updated by the users go -to the <a href="//carbslinux.org/wiki">wiki</a> to obtain more information.</p> - -<p><strong>February 2020 EDIT:</strong> Changed link for wiki</p> - - -Dec 12 2019 -Thu, 12 Dec 2019 -Cem Keylan -https://carbslinux.org/index.html -<h2>Dec 12 2019</h2> - -<p>Busybox and Busybox-init has been seperated into two different packages. -This is for adding standalone runit/runit-init to the repositories.</p> - - -Dec 10 2019 -Tue, 10 Dec 2019 -Cem Keylan -https://carbslinux.org/index.html -<h2>Dec 10 2019</h2> - -<p>First alpha release was made. See the <a href="//dl.carbslinux.org/releases">downloads page</a>.</p> - - + xmlns:content="http://purl.org/rss/1.0/modules/content/" + xmlns:wfw="http://wellformedweb.org/CommentAPI/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" + xmlns:slash="http://purl.org/rss/1.0/modules/slash/" + xmlns:georss="http://www.georss.org/georss" + xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" + xmlns:media="http://search.yahoo.com/mrss/"> + Carbs Linux news + + https://carbslinux.org/news + + en + Tue, 02 Feb 2021 03:33:00 +0300 + Tue, 02 Feb 2021 03:33:00 +0300 + Emacs 27.1 Org-mode 9.4.4 + root@carbslinux.org (Cem Keylan) + + https://orgmode.org/img/org-mode-unicorn-logo.png + Carbs Linux news + https://carbslinux.org/news + + + + + + https://carbslinux.org/news/20200916.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200916.html + Wed, 16 Sep 2020 00:00:00 +0300 + + + The libressl "revert" was reverted. System update will replace libressl + dependencies with bearssl. You may choose to keep or remove bearssl after the + update. +

+ ]]>
+
+ + + https://carbslinux.org/news/20200903.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200903.html + Thu, 03 Sep 2020 00:00:00 +0300 + + + The default TLS provider has been reverted to libressl. System update will + replace bearssl dependencies with libressl. You may choose to keep or remove + bearssl after the update. +

+ ]]>
+
+ + + https://carbslinux.org/news/20200727.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200727.html + Mon, 27 Jul 2020 00:00:00 +0300 + + + 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-*. +

+ ]]>
+
+ + + https://carbslinux.org/news/20200617.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200617.html + Wed, 17 Jun 2020 00:00:00 +0300 + + + A new rootfs tarball including the changes to the core is released and can be + found on the downloads page. +

+ ]]>
+
+ + + https://carbslinux.org/news/20200526.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200526.html + Tue, 26 May 2020 00:00:00 +0300 + + + An initial version for binary package management is released. It can be found on + the GitHub page. +

+ ]]>
+
+ + + https://carbslinux.org/news/20200519.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200519.html + Tue, 19 May 2020 00:00:00 +0300 + + + A rootfs tarball targeting the i686 architecture has been released. It can be + found on the downloads page. +

+ ]]>
+
+ + + https://carbslinux.org/news/20200510.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200510.html + Sun, 10 May 2020 00:00:00 +0300 + + + 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. +

+ +

+ EDIT: The patch is no longer necessary. +

+ ]]>
+
+ + + https://carbslinux.org/news/20200427.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200427.html + Mon, 27 Apr 2020 00:00:00 +0300 + + + 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. +

+ ]]>
+
+ + + https://carbslinux.org/news/20200410.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200410.html + Fri, 10 Apr 2020 00:00:00 +0300 + + + IRC channel can now be accessed from #carbslinux at freenode! +

+ ]]>
+
+ + + https://carbslinux.org/news/20200406.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200406.html + Mon, 06 Apr 2020 00:00:00 +0300 + + + A new rootfs tarball has been released. See the downloads page. +

+ ]]>
+
+ + + https://carbslinux.org/news/20200405.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200405.html + Sun, 05 Apr 2020 00:00:00 +0300 + + + Carbs Linux repositories will be hosted only on Github. Commits will be pushed + there, and not the repository. You have until May 4, 2020 Monday to switch your + remotes to https://github.com/CarbsLinux/repository. The git repository will + continue to be served until then (without additional commits). +

+ +

+ You can switch your remote by executing the following command on your repository + directory. +

+ +
+
git remote set-url origin https://github.com/CarbsLinux/repository
+    
+
+ ]]>
+
+ + + https://carbslinux.org/news/20200218.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200218.html + Tue, 18 Feb 2020 00:00:00 +0300 + + + A new tarball is released. It can be found on https://dl.carbslinux.org. +

+ +

+ edit: I have removed the tarball because of a bootstrapping issue. I will be + re-adding it later today. +

+ +

+ edit 2: I have added a tarball (20200219) to reflect my recent changes on + Busybox. +

+ ]]>
+
+ + + https://carbslinux.org/news/20200214.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/news/20200214.html + Fri, 14 Feb 2020 00:00:00 +0300 + + + IMPORTANT! Carbs-init update to be released on 17th of February + will require manual intervention. I am holding this update back so + people can see it before they update their system (even though the + update will show the same message as this). The rationale for the + update is explained below the intervention. +

+ +
+
# There is an explanation for each init You only need to follow the instructions
+    # for your own init-system
+
+    ## busybox-init
+    # If you did not edit your inittab simply move inittab.new to inittab
+    mv /etc/inittab.new /etc/inittab
+
+    # If you did edit your inittab you can use a simple sed command to remove the
+    # necessary lines
+    sed -i '/getty/d;/runsvdir/d' /etc/inittab
+
+
+    ## runit
+    # same as busybox-init, if you did not edit /etc/runit/2 move 2.new to 2
+    mv /etc/runit/2.new /etc/runit/2
+
+    # else
+    vim /etc/runit/2
+    # open your 2 file and remove the for loop containing getty commands. If you are
+    # using runit, it is recommended to comment out /etc/init/runit.boot
+
+    ## sinit/minit
+    # If you did not edit your {sinit-,}launch-services.boot you can simply remove
+    # it.
+    rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot
+
+    # This should leave you without any issues, and you can safely reboot.
+    
+
+ +

+ Carbs-init update is to make sure init systems do not clash, and do + not have to use different files. This is a sensible update both for + the user user and for the maintainer side. +

+ +

+ To give an example, before this update busybox-init was managing getty + through inittab, runit was managing through /etc/runit/2, and + minit/sinit were launching from /etc/init/launch-services.boot. This + is a configuration nightmare for everyone, and since I am maintaining + and constantly testing those init providers, a huge nightmare for me. + This is a Quality of Life update. +

+ ]]>
+
+
diff --git a/docs/news/20191210.html b/docs/news/20191210.html new file mode 100644 index 0000000..e94cba1 --- /dev/null +++ b/docs/news/20191210.html @@ -0,0 +1,42 @@ + + + + + + +Dec 10, 2019 + + + + +
+ +
+
+
+

Dec 10, 2019

+

+First alpha release was made. See the downloads page. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20191210.txt b/docs/news/20191210.txt new file mode 100644 index 0000000..379c42b --- /dev/null +++ b/docs/news/20191210.txt @@ -0,0 +1,13 @@ + ______________ + + DEC 10, 2019 + ______________ + + + <2019-12-10 Tue> + + +First alpha release was made. See the [downloads page]. + + +[downloads page] diff --git a/docs/news/20191212.html b/docs/news/20191212.html new file mode 100644 index 0000000..81ec884 --- /dev/null +++ b/docs/news/20191212.html @@ -0,0 +1,43 @@ + + + + + + +Dec 12, 2019 + + + + +
+ +
+
+
+

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. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20191212.txt b/docs/news/20191212.txt new file mode 100644 index 0000000..c07ad48 --- /dev/null +++ b/docs/news/20191212.txt @@ -0,0 +1,11 @@ + ______________ + + DEC 12, 2019 + ______________ + + + <2019-12-12 Thu> + + +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/docs/news/20191217.html b/docs/news/20191217.html new file mode 100644 index 0000000..a194962 --- /dev/null +++ b/docs/news/20191217.html @@ -0,0 +1,42 @@ + + + + + + +Dec 17, 2019 + + + + +
+ +
+
+
+

Dec 17, 2019

+

+Installation instruction are now complete. A review would be greatly appreciated! +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20191217.txt b/docs/news/20191217.txt new file mode 100644 index 0000000..f12e258 --- /dev/null +++ b/docs/news/20191217.txt @@ -0,0 +1,11 @@ + ______________ + + DEC 17, 2019 + ______________ + + + <2019-12-17 Tue> + + +Installation instruction are now complete. A review would be greatly +appreciated! diff --git a/docs/news/20191218.html b/docs/news/20191218.html new file mode 100644 index 0000000..ca11ce1 --- /dev/null +++ b/docs/news/20191218.html @@ -0,0 +1,42 @@ + + + + + + +Dec 18, 2019 + + + + +
+ +
+
+
+

Dec 18, 2019

+

+carbs-rootfs-20191218.tar.xz was released. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20191218.txt b/docs/news/20191218.txt new file mode 100644 index 0000000..b82fbc8 --- /dev/null +++ b/docs/news/20191218.txt @@ -0,0 +1,10 @@ + ______________ + + DEC 18, 2019 + ______________ + + + <2019-12-18 Wed> + + +carbs-rootfs-20191218.tar.xz was released. diff --git a/docs/news/20200109.html b/docs/news/20200109.html new file mode 100644 index 0000000..dc23cf6 --- /dev/null +++ b/docs/news/20200109.html @@ -0,0 +1,55 @@ + + + + + + +Jan 09, 2020 + + + + +
+ +
+
+
+

Jan 09, 2020

+

+Happy new year, everyone! I am back after some long silence. I was unable to commit for a +while, but I have pulled some new updates from the KISS repository, added some of my own. +This week I will be changing/adding some things. +

+ +

+Important things are, +

+ +
    +
  • Carbs-init was updated to 0.3.
  • +
  • I will be adding an implementation of suckless.org's sinit as carbs-sinit
  • +
  • Carbs Repository was added to repology.org
  • +
  • A new rootfs tarball will be coming up tomorrow.
  • +
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200109.txt b/docs/news/20200109.txt new file mode 100644 index 0000000..cdd37b4 --- /dev/null +++ b/docs/news/20200109.txt @@ -0,0 +1,26 @@ + ______________ + + JAN 09, 2020 + ______________ + + + <2020-01-09 Thu> + + +Happy new year, everyone! I am back after some long silence. I was +unable to commit for a while, but I have pulled some new updates from +the KISS repository, added some of my own. This week I will be +changing/adding some things. + +Important things are, + +- Carbs-init was updated to 0.3. +- I will be adding an implementation of suckless.org's [sinit] as + `carbs-sinit' +- Carbs Repository was added to [repology.org] +- A new rootfs tarball will be coming up tomorrow. + + +[sinit] + +[repology.org] diff --git a/docs/news/20200110.html b/docs/news/20200110.html new file mode 100644 index 0000000..60cf02c --- /dev/null +++ b/docs/news/20200110.html @@ -0,0 +1,42 @@ + + + + + + +Jan 10, 2020 + + + + +
+ +
+
+
+

Jan 10, 2020

+

+carbs-rootfs-20200110.tar.xz was released. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200110.txt b/docs/news/20200110.txt new file mode 100644 index 0000000..4963520 --- /dev/null +++ b/docs/news/20200110.txt @@ -0,0 +1,10 @@ + ______________ + + JAN 10, 2020 + ______________ + + + <2020-01-10 Fri> + + +carbs-rootfs-20200110.tar.xz was released. diff --git a/docs/news/20200113.html b/docs/news/20200113.html new file mode 100644 index 0000000..99d8fd5 --- /dev/null +++ b/docs/news/20200113.html @@ -0,0 +1,66 @@ + + + + + + +Jan 13, 2020 + + + + +
+ +
+
+
+

Jan 13, 2020

+

+Busybox update reqires manual intervention +

+ +

+The new busybox package conflicts with the pre-update busybox-init. That's why +you should rebuild and install `busybox-init` before doing the update. +

+ +
+
# Do a kiss update first (but don't actually update it yet), or manually pull
+# the git repository
+kiss u  # Cancel this operation after it asks for you to confirm the update
+
+# Install the busybox-init package
+kiss b busybox-init && kiss i busybox-init
+
+# Continue your update as you normally would.
+kiss u
+
+
+
+ +

+I have moved runit and logging utilities from the busybox-init package to the busybox +package, which is the cause of these conflicts. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200113.txt b/docs/news/20200113.txt new file mode 100644 index 0000000..a5a44a8 --- /dev/null +++ b/docs/news/20200113.txt @@ -0,0 +1,30 @@ + ______________ + + JAN 13, 2020 + ______________ + + + <2020-01-13 Mon> + + +**Busybox update reqires manual intervention** + +The new busybox package conflicts with the pre-update +busybox-init. That's why you should rebuild and install `busybox-init` +before doing the update. + +,---- +| # Do a kiss update first (but don't actually update it yet), or manually pull +| # the git repository +| kiss u # Cancel this operation after it asks for you to confirm the update +| +| # Install the busybox-init package +| kiss b busybox-init && kiss i busybox-init +| +| # Continue your update as you normally would. +| kiss u +| +`---- + +I have moved runit and logging utilities from the busybox-init package +to the busybox package, which is the cause of these conflicts. diff --git a/docs/news/20200115.html b/docs/news/20200115.html new file mode 100644 index 0000000..8204bcf --- /dev/null +++ b/docs/news/20200115.html @@ -0,0 +1,42 @@ + + + + + + +Jan 15, 2020 + + + + +
+ +
+
+
+

Jan 15, 2020

+

+sinit has been taken to core, and is now officially supported +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200115.txt b/docs/news/20200115.txt new file mode 100644 index 0000000..9c2ec17 --- /dev/null +++ b/docs/news/20200115.txt @@ -0,0 +1,10 @@ + ______________ + + JAN 15, 2020 + ______________ + + + <2020-01-15 Wed> + + +sinit has been taken to `core', and is now officially supported diff --git a/docs/news/20200122.html b/docs/news/20200122.html new file mode 100644 index 0000000..7bbd859 --- /dev/null +++ b/docs/news/20200122.html @@ -0,0 +1,43 @@ + + + + + + +Jan 22, 2020 + + + + +
+ +
+
+
+

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! +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200122.txt b/docs/news/20200122.txt new file mode 100644 index 0000000..f7930d0 --- /dev/null +++ b/docs/news/20200122.txt @@ -0,0 +1,11 @@ + ______________ + + JAN 22, 2020 + ______________ + + + <2020-01-22 Wed> + + +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/docs/news/20200128.html b/docs/news/20200128.html new file mode 100644 index 0000000..6b96518 --- /dev/null +++ b/docs/news/20200128.html @@ -0,0 +1,51 @@ + + + + + + +Jan 28, 2020 + + + + +
+ +
+
+
+

Jan 28, 2020

+

+Web Server is now on a Carbs Linux server. It is not complete yet, but I will be +adding a little more for the intended functionality. Downtimes can be expected. +

+ +

+UPDATE: ssl is now working. +

+ +

+UPDATE2: downloads are back again. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200128.txt b/docs/news/20200128.txt new file mode 100644 index 0000000..f504343 --- /dev/null +++ b/docs/news/20200128.txt @@ -0,0 +1,16 @@ + ______________ + + JAN 28, 2020 + ______________ + + + <2020-01-28 Tue> + + +Web Server is now on a Carbs Linux server. It is not complete yet, but I +will be adding a little more for the intended functionality. Downtimes +can be expected. + +UPDATE: ssl is now working. + +UPDATE2: downloads are back again. diff --git a/docs/news/20200213.html b/docs/news/20200213.html new file mode 100644 index 0000000..b53011f --- /dev/null +++ b/docs/news/20200213.html @@ -0,0 +1,44 @@ + + + + + + +Feb 13, 2020 + + + + +
+ +
+
+
+

Feb 13, 2020

+

+Runit is now released on the core repository! You can now replace busybox-init +with runit-init. You can also replace the busybox runit utilities with the +actual runit. This will reduce the dependency on busybox greatly. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200213.txt b/docs/news/20200213.txt new file mode 100644 index 0000000..6422bc7 --- /dev/null +++ b/docs/news/20200213.txt @@ -0,0 +1,13 @@ + ______________ + + FEB 13, 2020 + ______________ + + + <2020-02-13 Thu> + + +Runit is now released on the core repository! You can now replace +busybox-init with runit-init. You can also replace the busybox runit +utilities with the actual runit. This will reduce the dependency on +busybox greatly. diff --git a/docs/news/20200214.html b/docs/news/20200214.html new file mode 100644 index 0000000..53d60b3 --- /dev/null +++ b/docs/news/20200214.html @@ -0,0 +1,92 @@ + + + + + + +Feb 14, 2020 + + + + +
+ +
+
+
+

Feb 14, 2020

+

+IMPORTANT! Carbs-init update to be released on 17th of February +will require manual intervention. I am holding this update back so +people can see it before they update their system (even though the +update will show the same message as this). The rationale for the +update is explained below the intervention. +

+ +
+
# There is an explanation for each init You only need to follow the instructions
+# for your own init-system
+
+## busybox-init
+# If you did not edit your inittab simply move inittab.new to inittab
+mv /etc/inittab.new /etc/inittab
+
+# If you did edit your inittab you can use a simple sed command to remove the
+# necessary lines
+sed -i '/getty/d;/runsvdir/d' /etc/inittab
+
+
+## runit
+# same as busybox-init, if you did not edit /etc/runit/2 move 2.new to 2
+mv /etc/runit/2.new /etc/runit/2
+
+# else
+vim /etc/runit/2
+# open your 2 file and remove the for loop containing getty commands. If you are
+# using runit, it is recommended to comment out /etc/init/runit.boot
+
+## sinit/minit
+# If you did not edit your {sinit-,}launch-services.boot you can simply remove
+# it.
+rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot
+
+# This should leave you without any issues, and you can safely reboot.
+
+
+ +

+Carbs-init update is to make sure init systems do not clash, and do +not have to use different files. This is a sensible update both for +the user user and for the maintainer side. +

+ +

+To give an example, before this update busybox-init was managing getty +through inittab, runit was managing through /etc/runit/2, and +minit/sinit were launching from /etc/init/launch-services.boot. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200214.txt b/docs/news/20200214.txt new file mode 100644 index 0000000..e585cff --- /dev/null +++ b/docs/news/20200214.txt @@ -0,0 +1,55 @@ + ______________ + + FEB 14, 2020 + ______________ + + + <2020-02-14 Fri> + + +**IMPORTANT!** Carbs-init update to be released on 17th of February will +require manual intervention. I am holding this update back so people can +see it before they update their system (even though the update will show +the same message as this). The rationale for the update is explained +below the intervention. + +,---- +| # There is an explanation for each init You only need to follow the instructions +| # for your own init-system +| +| ## busybox-init +| # If you did not edit your inittab simply move inittab.new to inittab +| mv /etc/inittab.new /etc/inittab +| +| # If you did edit your inittab you can use a simple sed command to remove the +| # necessary lines +| sed -i '/getty/d;/runsvdir/d' /etc/inittab +| +| +| ## runit +| # same as busybox-init, if you did not edit /etc/runit/2 move 2.new to 2 +| mv /etc/runit/2.new /etc/runit/2 +| +| # else +| vim /etc/runit/2 +| # open your 2 file and remove the for loop containing getty commands. If you are +| # using runit, it is recommended to comment out /etc/init/runit.boot +| +| ## sinit/minit +| # If you did not edit your {sinit-,}launch-services.boot you can simply remove +| # it. +| rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot +| +| # This should leave you without any issues, and you can safely reboot. +`---- + +Carbs-init update is to make sure init systems do not clash, and do not +have to use different files. This is a sensible update both for the user +user and for the maintainer side. + +To give an example, before this update busybox-init was managing getty +through `inittab', runit was managing through `/etc/runit/2', and +minit/sinit were launching from `/etc/init/launch-services.boot'. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update. diff --git a/docs/news/20200218.html b/docs/news/20200218.html new file mode 100644 index 0000000..5943bc5 --- /dev/null +++ b/docs/news/20200218.html @@ -0,0 +1,52 @@ + + + + + + +Feb 18, 2020 + + + + +
+ +
+
+
+

Feb 18, 2020

+

+A new tarball is released. It can be found on https://dl.carbslinux.org. +

+ +

+edit: I have removed the tarball because of a bootstrapping issue. I will be +re-adding it later today. +

+ +

+edit 2: I have added a tarball (20200219) to reflect my recent changes on +Busybox. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200218.txt b/docs/news/20200218.txt new file mode 100644 index 0000000..d954d7d --- /dev/null +++ b/docs/news/20200218.txt @@ -0,0 +1,17 @@ + ______________ + + FEB 18, 2020 + ______________ + + + <2020-02-18 Tue> + + +A new tarball is released. It can be found on +. + +**edit:** I have removed the tarball because of a bootstrapping issue. I +will be re-adding it later today. + +**edit 2:** I have added a tarball (20200219) to reflect my recent +changes on Busybox. diff --git a/docs/news/20200405.html b/docs/news/20200405.html new file mode 100644 index 0000000..adf0656 --- /dev/null +++ b/docs/news/20200405.html @@ -0,0 +1,55 @@ + + + + + + +Apr 05, 2020 + + + + +
+ +
+
+
+

Apr 05, 2020

+

+Carbs Linux repositories will be hosted only on Github. Commits will be pushed +there, and not the repository. You have until May 4, 2020 Monday to switch your +remotes to https://github.com/CarbsLinux/repository. The git repository will +continue to be served until then (without additional commits). +

+ +

+You can switch your remote by executing the following command on your repository +directory. +

+ +
+
git remote set-url origin https://github.com/CarbsLinux/repository
+
+
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200405.txt b/docs/news/20200405.txt new file mode 100644 index 0000000..e46d328 --- /dev/null +++ b/docs/news/20200405.txt @@ -0,0 +1,21 @@ + ______________ + + APR 05, 2020 + ______________ + + + <2020-04-05 Sun> + + +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 +. The git repository will +continue to be served until then (without additional commits). + +You can switch your remote by executing the following command on your +repository directory. + +,---- +| git remote set-url origin https://github.com/CarbsLinux/repository +`---- diff --git a/docs/news/20200406.html b/docs/news/20200406.html new file mode 100644 index 0000000..be02f6d --- /dev/null +++ b/docs/news/20200406.html @@ -0,0 +1,42 @@ + + + + + + +Apr 06, 2020 + + + + +
+ +
+
+
+

Apr 06, 2020

+

+A new rootfs tarball has been released. See the downloads page. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200406.txt b/docs/news/20200406.txt new file mode 100644 index 0000000..7cca6f7 --- /dev/null +++ b/docs/news/20200406.txt @@ -0,0 +1,10 @@ + ______________ + + APR 06, 2020 + ______________ + + + <2020-04-06 Mon> + + +A new rootfs tarball has been released. See the downloads page. diff --git a/docs/news/20200410.html b/docs/news/20200410.html new file mode 100644 index 0000000..303a64c --- /dev/null +++ b/docs/news/20200410.html @@ -0,0 +1,42 @@ + + + + + + +Apr 10, 2020 + + + + +
+ +
+
+
+

Apr 10, 2020

+

+IRC channel can now be accessed from #carbslinux at freenode! +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200410.txt b/docs/news/20200410.txt new file mode 100644 index 0000000..0c1befc --- /dev/null +++ b/docs/news/20200410.txt @@ -0,0 +1,10 @@ + ______________ + + APR 10, 2020 + ______________ + + + <2020-04-10 Fri> + + +IRC channel can now be accessed from `#carbslinux' at freenode! diff --git a/docs/news/20200427.html b/docs/news/20200427.html new file mode 100644 index 0000000..d9e7289 --- /dev/null +++ b/docs/news/20200427.html @@ -0,0 +1,47 @@ + + + + + + +Apr 27, 2020 + + + + +
+ +
+
+
+

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. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200427.txt b/docs/news/20200427.txt new file mode 100644 index 0000000..6f7815f --- /dev/null +++ b/docs/news/20200427.txt @@ -0,0 +1,13 @@ + ______________ + + APR 27, 2020 + ______________ + + + <2020-04-27 Mon> + + +A new rootfs tarball has been released! You can see it on +! + +**EDIT:** A new bug fix release has been made. diff --git a/docs/news/20200510.html b/docs/news/20200510.html new file mode 100644 index 0000000..67cb339 --- /dev/null +++ b/docs/news/20200510.html @@ -0,0 +1,47 @@ + + + + + + +May 10, 2020 + + + + +
+ +
+
+
+

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. +

+ +

+EDIT: The patch is no longer necessary. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200510.txt b/docs/news/20200510.txt new file mode 100644 index 0000000..394585e --- /dev/null +++ b/docs/news/20200510.txt @@ -0,0 +1,18 @@ + ______________ + + MAY 10, 2020 + ______________ + + + <2020-05-10 Sun> + + +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. + +**EDIT:** The patch is no longer necessary. + + +[patch] + diff --git a/docs/news/20200519.html b/docs/news/20200519.html new file mode 100644 index 0000000..ccb5df3 --- /dev/null +++ b/docs/news/20200519.html @@ -0,0 +1,43 @@ + + + + + + +May 19, 2020 + + + + +
+ +
+
+
+

May 19, 2020

+

+A rootfs tarball targeting the i686 architecture has been released. It can be +found on the downloads page. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200519.txt b/docs/news/20200519.txt new file mode 100644 index 0000000..2f3ef90 --- /dev/null +++ b/docs/news/20200519.txt @@ -0,0 +1,11 @@ + ______________ + + MAY 19, 2020 + ______________ + + + <2020-05-19 Tue> + + +A rootfs tarball targeting the i686 architecture has been released. It +can be found on the downloads page. diff --git a/docs/news/20200526.html b/docs/news/20200526.html new file mode 100644 index 0000000..5438904 --- /dev/null +++ b/docs/news/20200526.html @@ -0,0 +1,43 @@ + + + + + + +May 26, 2020 + + + + +
+ +
+
+
+

May 26, 2020

+

+An initial version for binary package management is released. It can be found on +the GitHub page. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200526.txt b/docs/news/20200526.txt new file mode 100644 index 0000000..7ad092b --- /dev/null +++ b/docs/news/20200526.txt @@ -0,0 +1,14 @@ + ______________ + + MAY 26, 2020 + ______________ + + + <2020-05-26 Tue> + + +An initial version for binary package management is released. It can be +found on the [GitHub page]. + + +[GitHub page] diff --git a/docs/news/20200617.html b/docs/news/20200617.html new file mode 100644 index 0000000..ed8b62d --- /dev/null +++ b/docs/news/20200617.html @@ -0,0 +1,43 @@ + + + + + + +Jun 17, 2020 + + + + +
+ +
+
+
+

Jun 17, 2020

+

+A new rootfs tarball including the changes to the core is released and can be +found on the downloads page. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200617.txt b/docs/news/20200617.txt new file mode 100644 index 0000000..2515111 --- /dev/null +++ b/docs/news/20200617.txt @@ -0,0 +1,11 @@ + ______________ + + JUN 17, 2020 + ______________ + + + <2020-06-17 Wed> + + +A new rootfs tarball including the changes to the core is released and +can be found on the downloads page. diff --git a/docs/news/20200727.html b/docs/news/20200727.html new file mode 100644 index 0000000..0c36e31 --- /dev/null +++ b/docs/news/20200727.html @@ -0,0 +1,45 @@ + + + + + + +Jul 27, 2020 + + + + +
+ +
+
+
+

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-*. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200727.txt b/docs/news/20200727.txt new file mode 100644 index 0000000..eaf0544 --- /dev/null +++ b/docs/news/20200727.txt @@ -0,0 +1,13 @@ + ______________ + + JUL 27, 2020 + ______________ + + + <2020-07-27 Mon> + + +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/docs/news/20200903.html b/docs/news/20200903.html new file mode 100644 index 0000000..b7835a7 --- /dev/null +++ b/docs/news/20200903.html @@ -0,0 +1,44 @@ + + + + + + +Sep 03, 2020 + + + + +
+ +
+
+
+

Sep 03, 2020

+

+The default TLS provider has been reverted to libressl. System update will +replace bearssl dependencies with libressl. You may choose to keep or remove +bearssl after the update. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200903.txt b/docs/news/20200903.txt new file mode 100644 index 0000000..816c61c --- /dev/null +++ b/docs/news/20200903.txt @@ -0,0 +1,12 @@ + ______________ + + SEP 03, 2020 + ______________ + + + <2020-09-03 Thu> + + +The default TLS provider has been reverted to `libressl'. System update +will replace bearssl dependencies with libressl. You may choose to keep +or remove bearssl after the update. diff --git a/docs/news/20200916.html b/docs/news/20200916.html new file mode 100644 index 0000000..fd784a5 --- /dev/null +++ b/docs/news/20200916.html @@ -0,0 +1,44 @@ + + + + + + +Sep 16, 2020 + + + + +
+ +
+
+
+

Sep 16, 2020

+

+The libressl "revert" was reverted. System update will replace libressl +dependencies with bearssl. You may choose to keep or remove bearssl after the +update. +

+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/20200916.txt b/docs/news/20200916.txt new file mode 100644 index 0000000..b0a7925 --- /dev/null +++ b/docs/news/20200916.txt @@ -0,0 +1,12 @@ + ______________ + + SEP 16, 2020 + ______________ + + + <2020-09-16 Wed> + + +The libressl "revert" was reverted. System update will replace libressl +dependencies with bearssl. You may choose to keep or remove bearssl +after the update. diff --git a/docs/news/index.html b/docs/news/index.html new file mode 100644 index 0000000..aa27f39 --- /dev/null +++ b/docs/news/index.html @@ -0,0 +1,237 @@ + + + + + + +News Index + + + + +
+ +
+
+
+

News Index

+
+
+

Sep 16, 2020

+
+

+The libressl "revert" was reverted. System update will replace libressl +dependencies with bearssl. You may choose to keep or remove bearssl after the +update. +

+
+
+
+

Sep 03, 2020

+
+

+The default TLS provider has been reverted to libressl. System update will +replace bearssl dependencies with libressl. You may choose to keep or remove +bearssl after the update. +

+
+
+
+

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

+
+

+A new rootfs tarball including the changes to the core is released and can be +found on the downloads page. +

+
+
+
+

May 26, 2020

+
+

+An initial version for binary package management is released. It can be found on +the GitHub page. +

+
+
+
+

May 19, 2020

+
+

+A rootfs tarball targeting the i686 architecture has been released. It can be +found on the downloads page. +

+
+
+
+

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. +

+ +

+EDIT: The patch is no longer necessary. +

+
+
+
+

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. +

+
+
+
+

Apr 10, 2020

+
+

+IRC channel can now be accessed from #carbslinux at freenode! +

+
+
+
+

Apr 06, 2020

+
+

+A new rootfs tarball has been released. See the downloads page. +

+
+
+
+

Apr 05, 2020

+
+

+Carbs Linux repositories will be hosted only on Github. Commits will be pushed +there, and not the repository. You have until May 4, 2020 Monday to switch your +remotes to https://github.com/CarbsLinux/repository. The git repository will +continue to be served until then (without additional commits). +

+ +

+You can switch your remote by executing the following command on your repository +directory. +

+ +
+
git remote set-url origin https://github.com/CarbsLinux/repository
+
+
+
+
+
+

Feb 18, 2020

+
+

+A new tarball is released. It can be found on https://dl.carbslinux.org. +

+ +

+edit: I have removed the tarball because of a bootstrapping issue. I will be +re-adding it later today. +

+ +

+edit 2: I have added a tarball (20200219) to reflect my recent changes on +Busybox. +

+
+
+
+

Feb 14, 2020

+
+

+IMPORTANT! Carbs-init update to be released on 17th of February +will require manual intervention. I am holding this update back so +people can see it before they update their system (even though the +update will show the same message as this). The rationale for the +update is explained below the intervention. +

+ +
+
# There is an explanation for each init You only need to follow the instructions
+# for your own init-system
+
+## busybox-init
+# If you did not edit your inittab simply move inittab.new to inittab
+mv /etc/inittab.new /etc/inittab
+
+# If you did edit your inittab you can use a simple sed command to remove the
+# necessary lines
+sed -i '/getty/d;/runsvdir/d' /etc/inittab
+
+
+## runit
+# same as busybox-init, if you did not edit /etc/runit/2 move 2.new to 2
+mv /etc/runit/2.new /etc/runit/2
+
+# else
+vim /etc/runit/2
+# open your 2 file and remove the for loop containing getty commands. If you are
+# using runit, it is recommended to comment out /etc/init/runit.boot
+
+## sinit/minit
+# If you did not edit your {sinit-,}launch-services.boot you can simply remove
+# it.
+rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot
+
+# This should leave you without any issues, and you can safely reboot.
+
+
+ +

+Carbs-init update is to make sure init systems do not clash, and do +not have to use different files. This is a sensible update both for +the user user and for the maintainer side. +

+ +

+To give an example, before this update busybox-init was managing getty +through inittab, runit was managing through /etc/runit/2, and +minit/sinit were launching from /etc/init/launch-services.boot. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update. +

+
+
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ + diff --git a/docs/news/index.txt b/docs/news/index.txt new file mode 100644 index 0000000..3f1a3b9 --- /dev/null +++ b/docs/news/index.txt @@ -0,0 +1,209 @@ + ____________ + + NEWS INDEX + ____________ + + + + + +[Sep 16, 2020] +============== + + The libressl "revert" was reverted. System update will replace + libressl dependencies with bearssl. You may choose to keep or remove + bearssl after the update. + + +[Sep 16, 2020] + + +[Sep 03, 2020] +============== + + The default TLS provider has been reverted to `libressl'. System + update will replace bearssl dependencies with libressl. You may choose + to keep or remove bearssl after the update. + + +[Sep 03, 2020] + + +[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-*'. + + +[Jul 27, 2020] + + +[Jun 17, 2020] +============== + + A new rootfs tarball including the changes to the core is released and + can be found on the downloads page. + + +[Jun 17, 2020] + + +[May 26, 2020] +============== + + An initial version for binary package management is released. It can + be found on the [GitHub page]. + + +[May 26, 2020] + +[GitHub page] + + +[May 19, 2020] +============== + + A rootfs tarball targeting the i686 architecture has been released. It + can be found on the downloads page. + + +[May 19, 2020] + + +[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. + + **EDIT:** The patch is no longer necessary. + + +[May 10, 2020] + +[patch] + + + +[Apr 27, 2020] +============== + + A new rootfs tarball has been released! You can see it on + ! + + **EDIT:** A new bug fix release has been made. + + +[Apr 27, 2020] + + +[Apr 10, 2020] +============== + + IRC channel can now be accessed from `#carbslinux' at freenode! + + +[Apr 10, 2020] + + +[Apr 06, 2020] +============== + + A new rootfs tarball has been released. See the downloads page. + + +[Apr 06, 2020] + + +[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 + . The git repository will + continue to be served until then (without additional commits). + + You can switch your remote by executing the following command on your + repository directory. + + ,---- + | git remote set-url origin https://github.com/CarbsLinux/repository + `---- + + +[Apr 05, 2020] + + +[Feb 18, 2020] +============== + + A new tarball is released. It can be found on + . + + **edit:** I have removed the tarball because of a bootstrapping + issue. I will be re-adding it later today. + + **edit 2:** I have added a tarball (20200219) to reflect my recent + changes on Busybox. + + +[Feb 18, 2020] + + +[Feb 14, 2020] +============== + + **IMPORTANT!** Carbs-init update to be released on 17th of February + will require manual intervention. I am holding this update back so + people can see it before they update their system (even though the + update will show the same message as this). The rationale for the + update is explained below the intervention. + + ,---- + | # There is an explanation for each init You only need to follow the instructions + | # for your own init-system + | + | ## busybox-init + | # If you did not edit your inittab simply move inittab.new to inittab + | mv /etc/inittab.new /etc/inittab + | + | # If you did edit your inittab you can use a simple sed command to remove the + | # necessary lines + | sed -i '/getty/d;/runsvdir/d' /etc/inittab + | + | + | ## runit + | # same as busybox-init, if you did not edit /etc/runit/2 move 2.new to 2 + | mv /etc/runit/2.new /etc/runit/2 + | + | # else + | vim /etc/runit/2 + | # open your 2 file and remove the for loop containing getty commands. If you are + | # using runit, it is recommended to comment out /etc/init/runit.boot + | + | ## sinit/minit + | # If you did not edit your {sinit-,}launch-services.boot you can simply remove + | # it. + | rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot + | + | # This should leave you without any issues, and you can safely reboot. + `---- + + Carbs-init update is to make sure init systems do not clash, and do + not have to use different files. This is a sensible update both for + the user user and for the maintainer side. + + To give an example, before this update busybox-init was managing getty + through `inittab', runit was managing through `/etc/runit/2', and + minit/sinit were launching from `/etc/init/launch-services.boot'. This + is a configuration nightmare for everyone, and since I am maintaining + and constantly testing those init providers, a huge nightmare for me. + This is a Quality of Life update. + + +[Feb 14, 2020] diff --git a/docs/people.html b/docs/people.html index cb72ab5..669a923 100644 --- a/docs/people.html +++ b/docs/people.html @@ -1,33 +1,46 @@ - - - - People | Carbs Linux - - - - - - -

Carbs Linux - a simple linux distribution

-
-

People

+ + + + + + + + + + + + +
+ +
+
+
+

People

+
+ - - View Page Source -
- - - +
+
+
+
+
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
+
+ diff --git a/docs/people.txt b/docs/people.txt index 4d7c7af..9d17718 100644 --- a/docs/people.txt +++ b/docs/people.txt @@ -1,3 +1,7 @@ People ====== -* Cem Keylan - Founder [cem@ckyln.com](mailto:cem@ckyln.com) + + - Cem Keylan - Founder [cem@carbslinux.org] + + +[cem@carbslinux.org] diff --git a/docs/rss.xml b/docs/rss.xml index e1f5cf2..76b18f0 100644 --- a/docs/rss.xml +++ b/docs/rss.xml @@ -1,497 +1,655 @@ - + - - Carbs Linux - a simple linux distribution - https://carbslinux.org - - Thu Jan 07 2021 11:00 - -First Year of Carbs Linux -Thu, 10 Dec 2020 -Cem Keylan -https://carbslinux.org/blog/20201210.html -<h1>First Year of Carbs Linux</h1> - -<p>December 10, 2020 marks the first year after the initial release of Carbs -Linux. When I forked the KISS Linux repository on the 9th of December, I was -fairly new to package management. Carbs Linux used to be almost identical to -KISS Linux. A lot has changed since then:</p> - -<ul> -<li>[2020 Jan 13] Replaced default init system to <code>sinit</code></li> -<li>[2020 Jan 15] Packaged <code>WebKit2GTK</code></li> -<li>[2020 May 17] Added <code>bearssl</code> on the testing repository</li> -<li>[2020 May 28] Added <code>rsync</code> repository support to kiss</li> -<li>[2020 Jun 03] Replaced <code>bison</code> with <code>byacc</code></li> -<li>[2020 Jun 11] Replaced <code>libressl</code> with <code>bearssl</code></li> -<li>[2020 Jun 24] Replaced <code>kiss</code> with <code>cpt</code></li> -</ul> - - -<p>I have really enjoyed maintaining and developing this distribution, and I want -to thank everyone who was involved in some way or another. While I have slowed -down in development due to college workload, I am still actively maintaining all -the packages on the repository. I do have some ideas that I am thinking of -implementing during the semester break. Hope to see you all in January.</p> + xmlns:content="http://purl.org/rss/1.0/modules/content/" + xmlns:wfw="http://wellformedweb.org/CommentAPI/" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:atom="http://www.w3.org/2005/Atom" + xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" + xmlns:slash="http://purl.org/rss/1.0/modules/slash/" + xmlns:georss="http://www.georss.org/georss" + xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" + xmlns:media="http://search.yahoo.com/mrss/"> + Carbs Linux blog + + https://carbslinux.org/blog + + en + Tue, 02 Feb 2021 03:33:03 +0300 + Tue, 02 Feb 2021 03:33:03 +0300 + Emacs 27.1 Org-mode 9.4.4 + root@carbslinux.org (Cem Keylan) + + https://orgmode.org/img/org-mode-unicorn-logo.png + Carbs Linux blog + https://carbslinux.org/blog + + + + + First Year of Carbs Linux + https://carbslinux.org/blog/20201210.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/blog/20201210.html + Thu, 10 Dec 2020 00:00:00 +0300 + + + December 10, 2020 marks the first year after the initial release of Carbs Linux. + When I forked the KISS Linux repository on the 9th of December, I was fairly new + to package management. Carbs Linux used to be almost identical to KISS Linux. A + lot has changed since then: +

+ +

+ [2020 Jan 13] Replaced default init system to sinit + [2020 Jan 15] Packaged WebKit2GTK + [2020 May 17] Added bearssl on the testing repository + [2020 May 28] Added rsync repository support to kiss + [2020 Jun 03] Replaced bison with byacc + [2020 Jun 11] Replaced libressl with bearssl + [2020 Jun 24] Replaced kiss with cpt +

+ +

+ I have really enjoyed maintaining and developing this distribution, and I want + to thank everyone who was involved in some way or another. While I have slowed + down in development due to college workload, I am still actively maintaining all + the packages on the repository. I do have some ideas that I am thinking of + implementing during the semester break. Hope to see you all in January. +

+ ]]>
+
+ + August 2020 News Post + https://carbslinux.org/blog/20200803.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/blog/20200803.html + Mon, 03 Aug 2020 00:00:00 +0300 + + + We are having some stalls during this summer, as I am currently working on + university-related stuff. Nonetheless, there are some important changes that I + want to share in this month's post. +

+ + + +
+

Carbs Packaging Tools

+
+

+ This month I have reworked kiss into a new package manager, now renamed as + cpt. Updating kiss will now bootstrap the new package manager, so you don't + have to manually edit your system. If you don't like the idea of this, you can + look up the post-install script on core/kiss and apply the changes manually. +

+ +

+ You will also need to rename your KISS_* variables to CPT_*. So, KISS_PATH + becomes CPT_PATH. +

+ +

+ The rework changes the previous commands on the package manager into standalone + tools, and move the package manager functions to a library. This makes it easier + for a user to import functions and variables from the package manager, and + extend the package manager with their own intended way. Previously this required + ugly hacks and workarounds to use the package manager functions. I will be + making use of these changes to re-implement binary package management functions + as well. +

+ +

+ If you want to use the library on your script you can simply do this: +

+ +
+
#!/bin/sh
+    . cpt-lib
+    (...)
+    
+
+ +

+ There are obviously some clean-up and simplifications needed in this new + tool-based package management method. +

+
+
+ +
+

Docs

+
+

+ I have added documentation for the distribution, and finally updated the guide + for installation. It is now almost complete. These docs can be installed to + your system for online viewing. I will also add a documentation crawler similar + to how werc works (but as an offline viewer). You can find carbs-docs from + the repository. Currently, the documentation lacks but I will be adding new + stuff. These will solely be distribution specific documentation and will not be + a wiki-like source. If anyone would like to contribute to a wiki-like + documentation source, I would happily re-open the distribution wiki. You can + find the source on https://github.com/CarbsLinux/docs. +

+
+
+ +
+

Re-opening the Carbs Linux server

+
+

+ Back in May, I had shutdown the Carbs Linux server due to financial issues, but + I am slowly reverting to the self-hosted model. Back then, the git repositories + were mirrored to GitHub, and the management was overall much more flexible. The + server used to run Carbs Linux as well (that was fun and horrifying at the same + time). Now, I will be relaunching the git server which will be the upstream + source before August 5. You can switch your remote, but GitHub will stay as a + remote nonetheless. +

+ +

+ EDIT: The git-server is up! +

+
+
+ ]]>
-August 2020 News Post -Mon, 03 Aug 2020 -Cem Keylan -https://carbslinux.org/blog/20200803.html -<h1>August 2020 News Post</h1> - -<p>We are having some stalls during this summer, as I am currently working on -university-related stuff. Nonetheless, there are some important changes that I -want to share in this month&rsquo;s post.</p> - -<h2>INDEX</h2> - -<ul> -<li><a href="#carbs-packaging-tools">Carbs Packaging Tools</a></li> -<li><a href="#docs">Docs</a></li> -<li><a href="#re-opening-the-carbs-linux-server">Re-opening the Carbs Linux server</a></li> -</ul> - - -<h2>Carbs Packaging Tools</h2> - -<p>This month I have reworked <code>kiss</code> into a new package manager, now renamed as -<code>cpt</code>. Updating <code>kiss</code> will now bootstrap the new package manager, so you don&rsquo;t -have to manually edit your system. If you don&rsquo;t like the idea of this, you can -look up the <code>post-install</code> script on <code>core/kiss</code> and apply the changes manually.</p> - -<p>You will also need to rename your KISS<em>* variables to CPT</em>*. So, KISS_PATH -becomes CPT_PATH.</p> - -<p>The rework changes the previous commands on the package manager into standalone -tools, and move the package manager functions to a library. This makes it easier -for a user to import functions and variables from the package manager, and -extend the package manager with their own intended way. Previously this required -ugly hacks and workarounds to use the package manager functions. I will be -making use of these changes to re-implement binary package management functions -as well.</p> - -<p>If you want to use the library on your script you can simply do this:</p> - -<pre><code>+--------------------------------------------------------------------------+ -| | -| #!/bin/sh | -| . cpt-lib | -| (...) | -| | -+--------------------------------------------------------------------------+ -</code></pre> - -<p>There are obviously some clean-up and simplifications needed in this new -tool-based package management method.</p> - -<h2>Docs</h2> - -<p>I have added documentation for the distribution, and finally updated the guide -for installation. It is now <em>almost</em> complete. These docs can be installed to -your system for online viewing. I will also add a documentation crawler similar -to how werc<a href="http://werc.cat-v.org">^1</a> works (but as an offline viewer). You can find <code>carbs-docs</code> from -the repository. Currently, the documentation lacks but I will be adding new -stuff. These will solely be distribution specific documentation and will not be -a wiki-like source. If anyone would like to contribute to a wiki-like -documentation source, I would happily re-open the distribution wiki. You can -find the source on https://github.com/CarbsLinux/docs</p> - -<h2>Re-opening the Carbs Linux server</h2> - -<p>Back in May, I had shutdown the Carbs Linux server due to financial issues, but -I am slowly reverting to the self-hosted model. Back then, the git repositories -were mirrored to GitHub, and the management was overall much more flexible. The -server used to run Carbs Linux as well (that was fun and horrifying at the same -time). Now, I will be relaunching the git server which will be the upstream -source before August 5. You can switch your remote, but GitHub will stay as a -remote nonetheless.</p> - -<p>EDIT: The git-server is up!</p> + June Newspost + https://carbslinux.org/blog/20200617.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/blog/20200617.html + Wed, 17 Jun 2020 00:00:00 +0300 + + + This will be an active month for Carbs as major changes to the base and the + package manager will be coming up. +

+ +
+

Statically linking the base

+
+

+ For the past couple of weeks I have been trying to simplify the base and + statically link the core (mostly binaries rather than libraries). I usually see + some people extremely opposed to static linking as I also see the opposite on + people. +

+ +

+ I believe that binaries on the core should always be linked statically. This + ensures that an SONAME bump to libObscure.so will not break the core + functionality of your system, forcing you to use external resources to recover + from such an issue. As long as you can compile, use core utilities, edit text, + and access the web, you can solve any given issue on your system. +

+ +

+ However, I don't think that removing shared libraries is sensible either. Not + every piece of software out there is good quality enough to be statically + linked. +

+
+
+ +
+

Major changes on the core repository

+
+

+ There have been drastic changes to the core repository and the base rootfs this + month (with more on the way). Right now changes are as follows. +

+
+ +
+

Removed from Core

+
+

+ git + libressl + grub + bison + dhcpcd + ubase +

+
+
+ +
+

Added to Core

+
+

+ bearssl, as a libressl replacement + byacc, as a bison replacement +

+
+
+ +
+

Statically linked

+
+

+ kiss + neatvi + mandoc + byacc + m4 + e2fsprogs + make + pkgconf + sbase + libnl + wpa_supplicant + bearssl +

+
+
+
+ +
+

Making the wiki available offline

+
+

+ Soon, all documentation regarding Carbs Linux will be avaialable to be installed + from the core repository in a carbs-docs package along with its own document + crawler. Currently, the documentation regarding the installation process is a + little outdated which will also receive some important updates. +

+
+
+ +
+

ISO image for Carbs

+
+

+ 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 arch-install-scripts. Let's see how that's going to play out. +

+
+
+ ]]>
-June Newspost -Wed, 17 Jun 2020 -Cem Keylan -https://carbslinux.org/blog/20200617.html -<h1>June Newspost</h1> - -<p>This will be an active month for Carbs as major changes to the base and the -package manager will be coming up.</p> - -<h2>Statically linking the base</h2> - -<p>For the past couple of weeks I have been trying to simplify the base and -statically link the core (mostly binaries rather than libraries). I usually see -some people extremely opposed to static linking as I also see the opposite on -people.</p> - -<p>I believe that binaries on the core should always be linked statically. This -ensures that an SONAME bump to <code>libObscure.so</code> will not break the core -functionality of your system, forcing you to use external resources to recover -from such an issue. As long as you can compile, use core utilities, edit text, -and access the web, you can solve any given issue on your system.</p> - -<p>However, I don&rsquo;t think that removing shared libraries is sensible either. Not -every piece of software out there is good quality enough to be statically -linked.</p> - -<h2>Major changes on the core repository</h2> - -<p>There have been drastic changes to the core repository and the base rootfs this -month (with more on the way). Right now changes are as follows.</p> - -<h3>Removed from Core</h3> - -<ul> -<li><code>git</code></li> -<li><code>libressl</code></li> -<li><code>grub</code></li> -<li><code>bison</code></li> -<li><code>dhcpcd</code></li> -<li><code>ubase</code></li> -</ul> - - -<h3>Added to Core</h3> - -<ul> -<li><code>bearssl</code>, as a <code>libressl</code> replacement</li> -<li><code>byacc</code>, as a <code>bison</code> replacement</li> -</ul> - - -<h3>Statically linked</h3> - -<ul> -<li><code>kiss</code></li> -<li><code>neatvi</code></li> -<li><code>mandoc</code></li> -<li><code>byacc</code></li> -<li><code>m4</code></li> -<li><code>e2fsprogs</code></li> -<li><code>make</code></li> -<li><code>pkgconf</code></li> -<li><code>sbase</code></li> -<li><code>libnl</code></li> -<li><code>wpa_supplicant</code></li> -<li><code>bearssl</code></li> -</ul> - - -<h2>Making the wiki available offline</h2> - -<p>Soon, all documentation regarding Carbs Linux will be avaialable to be installed -from the core repository in a <code>carbs-docs</code> package along with its own document -crawler. Currently, the documentation regarding the installation process is a -little outdated which will also receive some important updates.</p> - -<h2>ISO image for Carbs</h2> - -<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&rsquo;s see how that&rsquo;s going to play out.</p> + kiss 2.0.0 and Overall Changes + https://carbslinux.org/blog/20200528.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/blog/20200528.html + Thu, 28 May 2020 00:00:00 +0300 + + + Carbs Linux kiss version 2.0.0 has been released which introduces rsync + repositories. +

+ +

+ Git is no longer a mandatory dependency for the package manager, every git + source on the core repository has been replaced with https sources (sbase, + sinit), and rootfs tarballs will no longer ship with git. Repositories in the + upcoming tarball will be rsync repositories. +

+ +

+ Git is now on the extra repository and is still (optionally) used in the + package manager. +

+ +

+ The idea behind this change is size reductions and increased speed with rsync. + As I said on the previous post, git repositories get larger and larger over the + time span. Currently my personal copy of the git repository is around 77MB and I + have forked KISS Linux (as a shallow copy) around December. Obviously, I have + commits that I ommitted. I tend to create commits I dislike, which I change with + git reset --soft HEAD^, which doesn't actually remove the commits, etc. A user + will have a repository much smaller than mine. +

+ +

+ This is a precaution with the added bonuses of speed and dropping a mandatory + dependency. +

+ +

+ You can see the rest of the changelog here. +

+ +
+

Binary Repositories

+
+

+ A few days ago, I have also published kiss-bin, a first version for managing + binary repositories. Currently, there are some caveats that I'll be fixing along + the way. I decided not to include this in the package manager natively as + managing the source based and binary based packages together adds levels of + complexity that we do not want. Instead, this is an extension for kiss which + sources the package manager as a library. I hope to see it being adopted by + others interested on the matter as well. +

+
+
+ ]]>
-kiss 2.0.0 and overall changes -Thu, 28 May 2020 -Cem Keylan -https://carbslinux.org/blog/20200528.html -<h1>kiss 2.0.0 and overall changes</h1> - -<p>Carbs Linux kiss version 2.0.0 has been released which introduces -rsync repositories.</p> - -<p>Git is no longer a mandatory dependency for the package manager, -every git source on the core repository has been replaced with -https sources (sbase, sinit), and rootfs tarballs will no longer -ship with git. Repositories in the upcoming tarball will be rsync -repositories.</p> - -<p>Git is now on the <code>extra</code> repository and is still (optionally) -used in the package manager.</p> - -<p>The idea behind this change is size reductions and increased -speed with rsync. As I said on the previous post, git repositories -get larger and larger over the time span. Currently my personal -copy of the git repository is around 77MB and I have forked KISS -Linux (as a shallow copy) around December. Obviously, I have commits -that I ommitted. I tend to create commits I dislike, which I change -with &lsquo;git reset &ndash;soft HEAD^&rsquo;, which doesn&rsquo;t actually remove the -commits, etc. A user will have a repository much smaller than mine.</p> - -<p>This is a precaution with the added bonuses of speed and dropping a -mandatory dependency.</p> - -<p>You can see the rest of the changelog <a href="https://github.com/CarbsLinux/kiss/blob/master/CHANGELOG.md">here</a>.</p> - -<h2>Binary Repositories</h2> - -<p>A few days ago, I have also published <a href="https://github.com/CarbsLinux/kiss-bin">kiss-bin</a>, a first version -for managing binary repositories. Currently, there are some caveats -that I&rsquo;ll be fixing along the way. I decided not to include this -in the package manager natively as managing the source based and -binary based packages together adds levels of complexity that we -do not want. Instead, this is an extension for kiss which sources -the package manager as a library. I hope to see it being adopted -by others interested on the matter as well.</p> - -<p>That&rsquo;s about it.</p> - -<p>Cheers, -Cem</p> + The Relation of Carbs and KISS + https://carbslinux.org/blog/20200508.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/blog/20200508.html + Fri, 08 May 2020 00:00:00 +0300 + + + Since I have forked KISS, I have received many questions that can be summarized + as "Why?". I have realized that I never truly answered this question. That's the + reason I am writing this post, to give some background on Carbs, and some + differences between KISS Linux and Carbs Linux for anyone who may be wondering. + Perhaps I could make this a "FAQ" page later on. +

+ +
+

History

+
+

+ I had the idea of creating my own Linux distribution since the May of 2019. Back + then, I had my own Linux from Scratch build, and I wanted to slim it down my + own way and replace the software (with musl,sbase,etc.). The name Carbs Linux + was in my mind since then. I wanted to write my own package manager, but I + wasn't satisfied with anything I had built. +

+ +

+ I had written some incomplete package managers (all named fat) and I quickly + threw them into the trash can, where they honestly belonged. I would want to + share them with you for laughs, but my hard-drive got wiped and I have a problem + of not doing an "initial commit" until a program I write is in a usable state. +

+ +

+ I have obtained the 'carbslinux.org' domain name in September 2019, but then + life got on the way, and I stopped for a long time. +

+ +

+ One day on Reddit, I saw Dylan's post on r/unixporn about KISS, and I really + thought that it was interesting. Here is my comment to Dylan on that post. I + checked out the package manager and the repository. The packaging system was + extremely clean and well-thought. I decided to give it a go and fork KISS. +

+
+
+ +
+

Differences between KISS and Carbs

+
+

+ Now, I still baffle when people ask me this question. My intention was never to + create a distribution with specific differences between KISS. My intention was + being my own BDFL of a distribution I maintain. There are lots of differences + between the main repositories, but they are subtle and not worth talking about. + I personally never even installed KISS Linux on my system. So Carbs, isn't + something like a downstream fork of KISS, it is just a distribution that was + initially based on KISS. +

+ +

+ I try to contribute as much as I can to KISS Linux. I think that it is a + brilliant distribution, and it was a great starting point for Carbs. I am really + grateful to Dylan and all the other contributors. +

+
+
+ +
+

What I'm working on now

+
+

+ Currently I have a few projects that I'm working on for Carbs. These are, +

+ +

+ A BSD port for Carbs. For a while, I have been working on BSD compatibility on + my fork of the [package manager]. I have tested, without any more issues, on + OpenBSD and FreeBSD. The biggest issues remaining are choosing a vendor for BSD, + packaging the BSD source, and providing a minimal base (like busybox for BSD). + If you aren't familiar with BSD, it has a single source code for all of the + utilities (kernel, command line programs, etc.). Contributions (even chipping in + ideas) are very welcome. +

+ +

+ Adding binary package distribution support natively to the package manager. + Biggest issue in small/old computers are compile times. This feature is for the + bigger packages such as webkit, clang, llvm that take a considerable amount of + time. Some computers with low memories cannot even compile firefox/webkit. +

+ +

+ Adding rsync repository support to the package manager. This is not a current + issue, but rather a futureproofing. As time passes, distribution repositories + grow larger. KISS and Carbs are young distributions without this problem right + now. But in something like 5 years, this size will presumably increase to + hundreds of megabytes. At that point it will be pointless to have the repository + sources unless you specifically need them. +

+
+
+ +
+

What's up with all the init/service daemons?

+
+

+ If you have ever checked the repository, you may have noticed that there are + lots of init/service related packages. I have had my fair share of time with all + of them, and it is an area that I am really interested in. I have even written + my own init daemon and service supervisor. I maintain all those packages on KISS + Community Repository as well with the exception of busybox. Those are, busybox + init/runit, runit, sinit, and sysmgr. I would definitely recommend + checking out shinit and sysmgr. +

+
+
+ +
+

Why I don't publicize Carbs

+
+

+ There are a couple of reasons I don't publicize Carbs a lot. +

+ +

+ KISS is the better alternative in terms of support and community. I work on + maintaining this distribution just as hard as Dylan, but in the end, Carbs is + based on his original hard work, and I believe that he deserves the recognition + more than I do. +

+ +

+ Since I cannot answer questions like "What is the difference?", I prefer staying + as the silent sibling project of KISS Linux. Plus, there is no point in dividing + the newly-emerging community in half. +

+ +

+ That's not because I don't have ideas for the future of Carbs, I do. I just + think that I will deserve the recognition once those above lists are checked. +

+ +

+ I think that's about it, if you have questions you can send me a mail, ping me + on IRC (my handle is merakor), and I will be happy to answer. Maybe your + question fits this post, and I can update it to thoroughly give an explanation. +

+
+
+ ]]>
-The Relation of Carbs and KISS -Fri, 08 May 2020 -Cem Keylan -https://carbslinux.org/blog/20200508.html -<h1>The Relation of Carbs and KISS</h1> - -<p><strong>Date:</strong> May 08 2020</p> - -<p>Since I have forked KISS, I have received many questions -that can be summarized as &ldquo;Why?&rdquo;. I have realized that I -never truly answered this question. That&rsquo;s the reason I am -writing this post, to give some background on Carbs, and -some differences between KISS Linux and Carbs Linux for -anyone who may be wondering. Perhaps I could make this a -&ldquo;FAQ&rdquo; page later on.</p> - -<h2>History</h2> - -<p>I had the idea of creating my own Linux distribution since -the May of 2019. Back then, I had my own <a href="https://linuxfromscratch.org">Linux from Scratch</a> -build, and I wanted to slim it down my own way and replace -the software (with musl,sbase,etc.). The name Carbs Linux -was in my mind since then. I wanted to write my own package -manager, but I wasn&rsquo;t satisfied with anything I had built.</p> - -<p>I had written some incomplete package managers (all named <code>fat</code>) -and I quickly threw them into the trash can, where they -honestly belonged. I would want to share them with you for -laughs, but my hard-drive got wiped and I have a problem -of not doing an &ldquo;initial commit&rdquo; until a program I write -is in a usable state.</p> - -<p>I have obtained the &lsquo;carbslinux.org&rsquo; domain name in September -2019, but then life got on the way, and I stopped for a long -time.</p> - -<p>One day on Reddit, I saw Dylan&rsquo;s post on <a href="https://reddit.com/r/unixporn">r/unixporn</a> about -KISS, and I really thought that it was interesting. Here is -my <a href="https://www.reddit.com/r/unixporn/comments/ducd34/sowm_kiss_d/f7lua7x">comment</a> to Dylan on that post. I checked out the package -manager and the repository. The packaging system was extremely -clean and well-thought. I decided to give it a go and fork -KISS.</p> - -<h2>Differences between KISS and Carbs</h2> - -<p>Now, I still baffle when people ask me this question. My -intention was never to create a distribution with specific -differences between KISS. My intention was being my own -BDFL of a distribution I maintain. There are lots of -differences between the main repositories, but they are subtle -and not worth talking about. I personally never even installed -KISS Linux on my system. So Carbs, isn&rsquo;t something like a -downstream fork of KISS, it is just a distribution that was -initially based on KISS.</p> - -<p>I try to contribute as much as I can to KISS Linux. I think -that it is a brilliant distribution, and it was a great starting -point for Carbs. I am really grateful to Dylan and all the -other contributors.</p> - -<h2>What I&rsquo;m working on now</h2> - -<p>Currently I have a few projects that I&rsquo;m working on for Carbs. -These are,</p> - -<p>A BSD port for Carbs. For a while, I have been working on BSD -compatibility on my fork of the <a href="https://github.com/carbslinux/kiss">package manager</a>. I have tested, -without any more issues, on OpenBSD and FreeBSD. The biggest -issues remaining are choosing a vendor for BSD, packaging the -BSD source, and providing a minimal base (like busybox for BSD). -If you aren&rsquo;t familiar with BSD, it has a single source code -for all of the utilities (kernel, command line programs, etc.). -Contributions (even chipping in ideas) are very welcome.</p> - -<p>Adding binary package distribution support natively to the package -manager. Biggest issue in small/old computers are compile times. -This feature is for the bigger packages such as webkit, clang, -llvm that take a considerable amount of time. Some computers -with low memories cannot even compile firefox/webkit.</p> - -<p>Adding rsync repository support to the package manager. This -is not a current issue, but rather a futureproofing. As time -passes, distribution repositories grow larger. KISS and Carbs -are young distributions without this problem right now. But -in something like 5 years, this size will presumably increase -to hundreds of megabytes. At that point it will be pointless -to have the repository sources unless you specifically need them.</p> - -<h2>What&rsquo;s up with all the init/service daemons?</h2> - -<p>If you have ever checked the <a href="https://github.com/carbslinux/repository">repository</a>, you may have noticed -that there are lots of init/service related packages. I have had -my fair share of time with all of them, and it is an area that I -am really interested in. I have even written my own <a href="https://github.com/cemkeylan/shinit">init daemon</a> -and <a href="https://github.com/cemkeylan/sysmgr">service supervisor</a>. I maintain all those packages on KISS -Community Repository as well with the exception of busybox. Those -are, <code>busybox init/runit</code>, <code>runit</code>, <code>sinit</code>, and <code>sysmgr</code>. I would -definitely recommend checking out <code>shinit</code> and <code>sysmgr</code>.</p> - -<h2>Why I don&rsquo;t publicize Carbs</h2> - -<p>There are a couple of reasons I don&rsquo;t publicize Carbs a lot.</p> - -<p>KISS is the better alternative in terms of support and community. -I work on maintaining this distribution just as hard as Dylan, -but in the end, Carbs is based on his original hard work, and I -believe that he deserves the recognition more than I do.</p> - -<p>Since I cannot answer questions like &ldquo;What is the difference?&rdquo;, I -prefer staying as the silent sibling project of KISS Linux. Plus, -there is no point in dividing the newly-emerging community in half.</p> - -<p>That&rsquo;s not because I don&rsquo;t have ideas for the future of Carbs, I -do. I just think that I will deserve the recognition once those -above lists are checked.</p> - -<p>I think that&rsquo;s about it, if you have questions you can send me a -mail, ping me on IRC (my handle is <code>merakor</code>), and I will be happy -to answer. Maybe your question fits this post, and I can update it -to thoroughly give an explanation.</p> - -<p>Cheers, -Cem</p> + Outsource Repository Concept + https://carbslinux.org/blog/20200410.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/blog/20200410.html + Fri, 10 Apr 2020 00:00:00 +0300 + + + In April 3rd, I have added submodule support for Carbs Linux's fork of kiss. + Now, from that sentence, it really doesn't sound exciting at all. But in + reality, it opens a path to lots of creative output, and a better way to manage + multi-user repositories (such as KISS Community). +

+ +

+ When managing a repository of submodules, the repository maintainer's only job + is to deal with adding packages. A package maintainer doesn't have to wait for + the repository maintainer to update their packages, as they are only making the + changes to their own repositories. +

+ +

+ This way, an end-user can also track from their preferred maintainers, and do + that with the tidyness of a single repository in their KISS_PATH. +

+ +

+ Carbs Linux now has an outsource repository for some packages. Firefox and its + dependencies have been purged from the main repository, but can be found on it. +

+ +

+ https://github.com/CarbsLinux/outsource +

+ ]]>
-Outsource Repository Concept -Fri, 10 Apr 2020 -Cem Keylan -https://carbslinux.org/blog/20200410.html -<h1>Outsource Repository Concept</h1> - -<p>In April 3rd, I have added submodule support for Carbs -Linux&rsquo;s fork of <code>kiss</code>. Now, from that sentence, it really -doesn&rsquo;t sound exciting at all. But in reality, it opens a -path to lots of creative output, and a better way to manage -multi-user repositories (such as KISS Community).</p> - -<p>When managing a repository of submodules, the repository -maintainer&rsquo;s only job is to deal with adding packages. -A package maintainer doesn&rsquo;t have to wait for the repository -maintainer to update their packages, as they are only making -the changes to their own repositories.</p> - -<p>This way, an end-user can also track from their preferred -maintainers, and do that with the tidyness of a single repository -in their <code>KISS_PATH</code>.</p> - -<p>Carbs Linux now has an outsource repository for some packages. -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> - - -Roadmap for Carbs -Mon, 06 Apr 2020 -Cem Keylan -https://carbslinux.org/blog/20200406.html -<h1>Roadmap for Carbs</h1> - -<p>It has been a busy week. There are lots of changes in -direction, and more to come. I want to talk a little -about all of them.</p> - -<h2>Carbs Linux Server Going Down</h2> - -<p>It became harder to maintain and pay for the server, and I will be -shutting it down in May. I am currently in the phase of -carrying over everything to <a href="https://github.com/CarbsLinux">Github</a>. The repository and the -website is served on Github now. I have also moved the <a href="https://github.com/CarbsLinux/wiki/wiki">Wiki</a> -to Github and anyone can edit it there. There are some outdated -posts that I will be fixing around this week.</p> - -<p>I am not quite sure where to store the downloads page now. But I -will be switching that to a new source as well. (Maybe Source Forge?)</p> - -<p>I feel a little sad for switching, but serving on Github is faster, -cheaper, and hassle-free.</p> - -<h2>Forking KISS</h2> - -<p>I had a personal fork of KISS, which I enjoyed thoroughly. I didn&rsquo;t -intend to make it the default when I started it, but it has matured -enough to be so. The package manager can now be found on <a href="https://github.com/CarbsLinux/kiss">this repository</a>. -See it for the added changes.</p> - -<p>This will be a change for the better, as I can develop the package -manager as it fits my views.</p> - -<h2>Small Changes on the Website</h2> - -<p>I have made some small changes on the website. The build is not dependent -on Plan9 utilities anymore. It was fun messing around with <code>rc</code> and <code>mk</code>, -but they are quite limited compared to POSIX shell.</p> - -<p>RSS feeds are finally working as intended, both for the <a href="https://carbslinux.org/news.xml">news</a> section, and -the <a href="https://carbslinux.org/rss.xml">blog</a> secion.</p> - -<p>You can see every page&rsquo;s <code>.txt</code> output at the end of the page by clicking -&lsquo;View Page Source&rsquo;. Meanwhile, I will be updating some pages to be a little -more &lsquo;human-readable&rsquo;.</p> - -<h2>Outsources Repository</h2> - -<p>I have opened an <code>outsource</code> repository, which I will be pushing this week. -I will add a new post when I am ready to push it. I think it will be interesting, -it will also make more sense about the changes I have added to the package -manager. The now empty repository, can be found <a href="https://github.com/CarbsLinux/outsource">here</a>!</p> - -<h2>New Tarball</h2> - -<p>Finally, I have released a new tarball today, which can be obtained from the -<a href="https://dl.carbslinux.org/releases">downloads page</a>.</p> - -<p>I am planning to add more of these update posts as I&rsquo;m feeling better about -the website structure overall.</p> - -<p>- Cem</p> + Roadmap for Carbs + https://carbslinux.org/blog/20200406.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/blog/20200406.html + Mon, 06 Apr 2020 00:00:00 +0300 + + + It has been a busy week. There are lots of changes in direction, and more to + come. I want to talk a little about all of them. +

+ +
+

Carbs Linux Server Going Down

+
+

+ It became harder to maintain and pay for the server, and I will be shutting it + down in May. I am currently in the phase of carrying over everything to Github. + The repository and the website is served on Github now. I have also moved the + Wiki to Github and anyone can edit it there. There are some outdated posts that + I will be fixing around this week. +

+ +

+ I am not quite sure where to store the downloads page now. But I will be + switching that to a new source as well. (Maybe SourceHut?) +

+ +

+ I feel a little sad for switching, but serving on Github is faster, cheaper, and + hassle-free. +

+
+
+ +
+

Forking KISS

+
+

+ I had a personal fork of KISS, which I enjoyed thoroughly. I didn't intend to + make it the default when I started it, but it has matured enough to be so. The + package manager can now be found on this repository. See it for the added + changes. +

+ +

+ This will be a change for the better, as I can develop the package manager as it + fits my views. +

+
+
+ +
+

Small Changes on the Website

+
+

+ I have made some small changes on the website. The build is not dependent on + Plan9 utilities anymore. It was fun messing around with rc and mk, but they + are quite limited compared to POSIX shell. +

+ +

+ RSS feeds are finally working as intended, both for the news section, and the + blog section. +

+ +

+ You can see every page's .txt output at the end of the page by clicking 'View + Page Source'. Meanwhile, I will be updating some pages to be a little more + 'human-readable'. +

+
+
+ +
+

Outsources Repository

+
+

+ I have opened an outsource repository, which I will be pushing this week. I + will add a new post when I am ready to push it. I think it will be interesting, + it will also make more sense about the changes I have added to the package + manager. The now empty repository, can be found here! +

+
+
+ +
+

New Tarball

+
+

+ Finally, I have released a new tarball today, which can be obtained from the + downloads page. +

+ +

+ I am planning to add more of these update posts as I'm feeling better about the + website structure overall. +

+
+
+ ]]>
-Switching to New Website -Tue, 28 Jan 2020 -Cem Keylan -https://carbslinux.org/blog/20200128.html -<h1>Switching to New Website</h1> - -<p><strong>Date:</strong> Jan 28 2020</p> - -<p>In case you haven&rsquo;t seen it before, this website -was powered by <a href="http://werc.cat-v.org">werc</a>. And -even though I liked it really much, it was too -powerful for a small website like this.</p> - -<p>So I have decided to reimplement this website with -my own static generation scripts. The source will -probably be on <a href="https://carbslinux.org/git/website/log.html">https://carbslinux.org/git/website/log.html</a> -when I decide to publish the website.</p> - -<p>The generation requires Plan9 programs, although -I have used them just for my enthusiasm. I have built -the site with a combination of mk (instead of make), rc, -and POSIX sh. I am not yet exactly familiar with rc, -but I will replace the shell scripts when I feel like -I can.</p> + Switching to New Website + https://carbslinux.org/blog/20200128.html + root@carbslinux.org (Cem Keylan) + https://carbslinux.org/blog/20200128.html + Tue, 28 Jan 2020 00:00:00 +0300 + + + In case you haven't seen it before, this website was powered by werc. And even + though I liked it really much, it was too powerful for a small website like + this. +

+ +

+ So I have decided to reimplement this website with my own static generation + scripts. The source will probably be on its git repository when I decide to + publish the website. +

+ +

+ The generation requires Plan9 programs, although I have used them just for my + enthusiasm. I have built the site with a combination of mk (instead of make), + rc, and POSIX sh. I am not yet exactly familiar with rc, but I will replace the + shell scripts when I feel like I can. +

+ ]]>
-
+
diff --git a/docs/style.css b/docs/style.css index 74eebb9..d35af15 100644 --- a/docs/style.css +++ b/docs/style.css @@ -1,117 +1,243 @@ -/* Cem Keylan (C) 2019-2020 */ - +/* + * Stylesheet for Carbs Linux website + * Copyright (c) 2019-2021 Cem Keylan + */ :root { - --color0: #0A1E2B; - --color1: #5C5B6F; - --color2: #9B506D; - --color3: #C34266; - --color4: #7B9BB7; - --color5: #BF6790; - --color6: #6a9faf; - --color7: #A676D2; - --color8: #8b8288; - --color9: #5C5B6F; - --color10: #9B506D; - --color11: #C34266; - --color12: #4E708D; - --color13: #BF6790; - --color14: #528899; - --color15: #c7bac3; - --fg: #0a1e2b; - --bg: #ffffff; - --altbg: #bf6790; - --link: #bf6790; - --linkalt: #4e708d; -} - - -html { - background-color: var(--bg); - font-family: monospace; - font-size: 16px; - color: var(--fg); - padding-bottom: 100px; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: transparent; -} -.header { - text-align: center; -} -.header strong{ - color: var(--color5) -} -.header a{ - text-decoration: none; - text-align: center; - color: var(--fg); - margin-left: 10px; - margin-right: 10px; -} -.header a:hover{ - text-decoration: none; - text-align: center; - color: var(--linkalt); - margin-left: 10px; - margin-right: 10px; -} -.border { - padding-top: 1%; - border-bottom: solid 2px; - color: var(--fg); -} -a { - text-decoration: none; - font-weight: bold; - color: var(--link); -} -a:hover { - text-decoration: underline; - font-weight: bold; - color: var(--linkalt); -} -.post-title { - text-align: center; -} -ul li::before { - color: var(--color4); -} + --color-carbs-color-bg: #F3F6F8; + --color-carbs-color-fg: #0A1E2B; + --color-carbs-highlight: #E9ECEE; + --color-carbs-pink: #BF6790; + --color-carbs-purple: #8C45D4; + --color-carbs-blue: #3F74A6; + --color-carbs-blue-alt: #3F41A6; + --color-carbs-red: #D32C2C; + --color-carbs-grey: #738B8B; + --color-carbs-green: #027A59; + --color-carbs-orange: #B45123; } + @media (prefers-color-scheme: dark) { + :root { + --color-carbs-color-bg: #0A1E2B; + --color-carbs-color-fg: #F3F6F8; + --color-carbs-highlight: #0A2830; + --color-carbs-pink: #BF6790; + --color-carbs-purple: #A6A6D2; + --color-carbs-blue: #6790BF; + --color-carbs-blue-alt: #67BCBF; + --color-carbs-red: #C34266; + --color-carbs-grey: #686868; + --color-carbs-green: #67BF96; + --color-carbs-orange: #F47A00; } } body { - width: 80%; - max-width: 1050px; - margin-left: auto; - margin-right: auto; - margin-top: 20px; - overflow: none; - overflow-y: scroll; - padding-right: 10px; - padding-left: 10px; - color: var(--fg); -} + margin: 0; + background-color: var(--color-carbs-color-bg); + font-family: "Noto Sans", "Open Sans", sans-serif; + font-size: 16px; + color: var(--color-carbs-color-fg); + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: transparent; } + +/* Reasonable line-height for better readability. */ +p, pre, li, dt, dd, table, code, address { + line-height: 1.5em; } + +p { + margin-top: 1em; + margin-bottom: 1em; } + +#content { + width: 95%; + margin: 0 auto; + margin-left: auto; + margin-right: auto; + text-align: left; + max-width: 50em; } + +.subtitle { + color: var(--color-carbs-color-fg); + font-weight: normal; + font-size: 16px; + font-style: italic; } + +code, pre.src { + padding: .2em .4em; + margin: 0; + font-size: 85%; } + code { - color: var(--fg); - content: "> "; -} -p,tr,td,table { color: var(--fg); } + background-color: var(--color-carbs-highlight); + border-radius: 3px; } + +h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { + color: inherit; } + h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover { + text-decoration: none; } + h1 { - color: var(--color7); - font-weight: bolder; -} + color: var(--color-carbs-pink); + font-weight: 800; } + h1 a:hover { + color: #bf6a67; } + @media (prefers-color-scheme: dark) { + h1 a:hover { + color: #bf6a67; } } h2 { - color: var(--color4); - font-weight: bold; -} + color: var(--color-carbs-blue); + font-weight: 700; } + h2 a:hover { + color: var(--color-carbs-purple); } + h3 { - color: var(--fg); - font-weight: bold; -} -.footer { - text-align: center; -} - -pre { margin-left: 2em; } + color: var(--color-carbs-color-fg); + font-weight: 600; } + h3 a:hover { + color: var(--color-carbs-blue); } + +pre { + font: monospace; + border-radius: 3px; + border: 1px solid var(--color-carbs-highlight); + background-color: var(--color-carbs-highlight); + padding: 0.5em; + margin: 1em; } + pre code, pre.src { + display: block; + overflow: auto; } + pre code { + background: transparent; } + +a { + text-decoration: none; + font-weight: bold; + color: var(--color-carbs-pink); } + +a:hover { + text-decoration: underline; + color: var(--color-carbs-blue-alt); } + blockquote { - border-left: 1px solid var(--color6); - font-style: italic; -} + border-left: 1px solid var(--color-carbs-highlight); + font-style: italic; } + +#preamble { + margin-bottom: 2em; } + +#navbar { + background: #0A1E2B none repeat scroll 0 0 !important; + border-bottom: 5px solid #BF6790 !important; + min-height: 40px; + padding: 10px 15px !important; } + #navbar label, #navbar #hamburger { + display: none; } + #navbar a.navbartitle { + margin: 0 !important; + padding: 0 !important; + color: #BF6790 !important; + float: left !important; + font-weight: bolder !important; + font-size: 200% !important; } + #navbar a.navbartitle:hover { + text-decoration: none; + color: #BF6790; } + #navbar #navbarlist li a { + color: #F3F6F8; + font-weight: bold; + text-decoration: none; } + #navbar ul { + display: block; + list-style: none; + margin: 0; + padding: 0; + text-align: right; + font-size: 0; + letter-spacing: 0; } + #navbar ul li { + display: inline-block; + font-size: 14px; + font-family: "Noto Sans", "Open Sans", sans-serif !important; + line-height: 1.4; + letter-spacing: 0; + padding-top: 14px; + padding-right: 15px; + padding-left: 15px; + margin: 0; } + #navbar ul li a:hover { + color: #A6A6D2 !important; + text-decoration: none !important; } + +@media screen and (max-width: 768px) { + #navbar label { + display: inline-block; + box-sizing: border-box; + color: #F3F6F8; + background: #BF6790; + border-radius: 0.2em; + font-style: normal; + text-align: center; + margin-right: auto; + margin-left: auto; + font-size: 1em; + padding: 0.5em 0; + font-size: 1em; + width: 2.2em; + height: 100%; + float: right; } + #navbar ul { + margin-left: 0; + margin-right: 0; + text-align: left; } + #navbar #navbarlist { + margin-top: 50px; + display: none; } + #navbar #navbarlist li { + box-sizing: border-box; + border-top: 1px solid var(--color-carbs-purple); + display: block; + width: 100%; + padding: 0.5em; } + #navbar input:checked ~ #navbarlist { + display: block; } } + +footer { + clear: both; + margin-top: 2em; + background: #0A1E2B none repeat scroll 0 0 !important; + border-top: 5px solid #BF6790 !important; + padding: 10px 15px !important; + bottom: 0; } + footer p { + text-align: center; + color: #F3F6F8; } + +/* Syntax highlighting for org-mode source block exports */ +.org-comment, .org-comment-delimiter { + color: var(--color-carbs-grey); + font-style: italic; } + +.org-builtin { + color: var(--color-carbs-blue); } + +.org-constant { + color: var(--color-carbs-pink); } + +.org-doc { + color: var(--color-carbs-grey); } + +.org-function-name { + color: var(--color-carbs-blue); } + +.org-variable-name { + color: var(--color-carbs-purple); } + +.org-keyword { + color: var(--color-carbs-blue-alt); } + +.org-string { + color: var(--color-carbs-green); } + +.org-type { + color: var(--color-carbs-orange); } + +.org-warning { + color: var(--color-carbs-red); } diff --git a/elisp/no-littering.el b/elisp/no-littering.el new file mode 100644 index 0000000..88fe0e7 --- /dev/null +++ b/elisp/no-littering.el @@ -0,0 +1,454 @@ +;;; no-littering.el --- help keeping ~/.emacs.d clean -*- lexical-binding: t; -*- + +;; Copyright (C) 2016-2021 Jonas Bernoulli + +;; Author: Jonas Bernoulli +;; Homepage: https://github.com/emacscollective/no-littering +;; Package-Requires: ((cl-lib "0.5")) + +;; This file is not part of GNU Emacs. + +;; This file is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 3, or (at your option) +;; any later version. + +;; This file is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; For a full copy of the GNU General Public License +;; see https://www.gnu.org/licenses. + +;;; Commentary: + +;; Help keeping ~/.emacs.d clean. + +;; The default paths used to store configuration files and persistent +;; data are not consistent across Emacs packages. This isn't just a +;; problem with third-party packages but even with built-in packages. + +;; Some packages put these files directly in `user-emacs-directory' +;; or $HOME or in a subdirectory of either of the two or elsewhere. +;; Furthermore sometimes file names are used that don't provide any +;; insight into what package might have created them. + +;; This package sets out to fix this by changing the values of path +;; variables to put configuration files in `no-littering-etc-directory' +;; (defaulting to "etc/" under `user-emacs-directory', thus usually +;; "~/.emacs.d/etc/") and persistent data files in +;; `no-littering-var-directory' (defaulting to "var/" under +;; `user-emacs-directory', thus usually "~/.emacs.d/var/"), and +;; by using descriptive file names and subdirectories when appropriate. +;; This is similar to a color-theme; a "path-theme" if you will. + +;; We still have a long way to go until most built-in and many third- +;; party path variables are properly "themed". Like a color-theme, +;; this package depends on user contributions to accomplish decent +;; coverage. Pull requests are highly welcome (but please follow the +;; conventions described below and in the pull request template). + +;; `no-littering' cannot help with moving existing files to the new +;; location. You will have to move the files manually. See issue +;; #79 for more information. + +;; Usage: + +;; Load the feature `no-littering' as early as possible in your init +;; file. Make sure you load it at least before you change any path +;; variables using some other method. +;; +;; (require 'no-littering) + +;; If you would like to use base directories different from what +;; `no-littering' uses by default, then you have to set the respective +;; variables before loading the feature. +;; +;; (setq no-littering-etc-directory +;; (expand-file-name "config/" user-emacs-directory)) +;; (setq no-littering-var-directory +;; (expand-file-name "data/" user-emacs-directory)) +;; (require 'no-littering) + +;; Conventions: + +;; * A) File names +;; +;; 1. File names are based on the name of the respective Emacs Lisp +;; variables and the name of the respective Emacs package. +;; +;; 2. The name of the respective Emacs package should serve as the +;; prefix of the file name, unless the file is in a subdirectory in +;; which case the name of the subdirectory serves as the prefix. +;; +;; 3. If the name of the package and the prefix of the variable do not +;; match, then we prefer the name of the package. +;; +;; 4. If the name of a path variable ends with `-file`, `-default-file`, +;; `-directory`, `-default-directory`, or something similar, then that +;; suffix is usually dropped from the file name. +;; +;; 5. If applicable, the appropriate extension is added to the file name +;; so that files are visited using the appropriate major-modes and +;; also to provide a hint about the kind of data stored in the file. +;; E.g. if a file contains an S-expression, then the suffix should be +;; `*.el`. + +;; * B) File location and subdirectories +;; +;; 1. If a package has only one data file, then that is usually placed in +;; `no-littering-var-directory` itself. Likewise if a package has +;; only one config file, then that is placed in +;; `no-littering-etc-directory` itself. +;; +;; 2. If a package has multiple data (or config files), then those files +;; are placed in a subdirectory of `no-littering-var-directory` (or +;; `no-littering-etc-directory`). +;; +;; 3. If a subdirectory is used for a package's data (or config) file +;; variables, then the name of the directory should match the name of +;; the package in most cases. The subdirectory name may serve as the +;; package prefix of the file name. +;; +;; 4. If a package provides a "framework" for other packages to use, +;; then we may reuse its directories for other packages that make use +;; of that framework or otherwise "extend" the "main package". +;; E.g. we place all `helm` related files in `helm/`. +;; +;; 5. If a package only defines a single variable that specifies a data +;; (or config) directory, then the directory name should +;; nevertheless be just the package name. E.g. the path used for +;; `sx-cache-directory` from the `sx` package is `sx/cache/`, not +;; `sx-cache/`. +;; +;; 6. However if the name of the directory variable implies that the +;; package won't ever define any data (or config) files that won't be +;; placed in that directory, then we use a top-level directory. E.g. +;; when the name of the variable is `-directory`, in which +;; case we would use just `/` as the path. + +;; * C) Ordering and alignment +;; +;; 1. The code that sets the values of themed variables is split into two +;; groups. The first group sets the value of variables that belong to +;; packages that are part of Emacs, and the second group is used for +;; variables that are defined by packages that are not part of Emacs. +;; +;; 2. Each of these lists is sorted alphabetically (usually by variable +;; name). Please keep it that way. +;; +;; 3. We attempt to align the value forms inside different `setq` forms. +;; If the symbol part for a particular variable is too long to allow +;; doing so, then don't worry about it and just break the alignment. +;; If it turns out that this happens very often, then we will adjust +;; the alignment eventually. + +;; * D) Commit messages +;; +;; 1. Please theme each package using a separate commit and use commit +;; messages of the form ": theme mv /etc/inittab.new /etc/inittab - - # If you did edit your inittab you can use - # a simple sed command to remove the necessary lines - -> sed -i '/getty/d;/runsvdir/d' /etc/inittab - - - ## runit - # same as busybox-init, if you did not edit - # /etc/runit/2 move 2.new to 2 - -> mv /etc/runit/2.new /etc/runit/2 - - # else - -> vim /etc/runit/2 - # open your 2 file and remove the for loop containing - # getty commands. If you are using runit, it is recommended - # to comment out /etc/init/runit.boot - - ## sinit/minit - # If you did not edit your {sinit-,}launch-services.boot - # you can simply remove it. - -> rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot - - # This should leave you without any issues, and you can safely reboot. - -Carbs-init update is to make sure init systems do not clash, and do -not have to use different files. This is a sensible update both for -the user user and for the maintainer side. - -To give an example, before this update busybox-init was managing getty -through `inittab`, runit was managing through `/etc/runit/2`, and -minit/sinit were launching from `/etc/init/launch-services.boot`. This -is a configuration nightmare for everyone, and since I am maintaining -and constantly testing those init providers, a huge nightmare for me. -This is a Quality of Life update. - diff --git a/index/20200218.news b/index/20200218.news deleted file mode 100644 index c6c7d83..0000000 --- a/index/20200218.news +++ /dev/null @@ -1,11 +0,0 @@ -Feb 18 2020 --------------------------------------------------------------------------------- - -A new tarball is released. It can be found on . - -**edit:** I have removed the tarball because of a bootstrapping issue. -I will be re-adding it later today. - -**edit 2:** I have added a tarball (20200219) to reflect my recent -changes on Busybox. - diff --git a/index/20200405.news b/index/20200405.news deleted file mode 100644 index d7c52f2..0000000 --- a/index/20200405.news +++ /dev/null @@ -1,14 +0,0 @@ -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 . -The git repository will continue to be served until then (without additional -commits). - -You can switch your remote by executing the following command on your -repository directory. - - git remote set-url origin https://github.com/CarbsLinux/repository - diff --git a/index/20200406.news b/index/20200406.news deleted file mode 100644 index 6ce25e8..0000000 --- a/index/20200406.news +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index 9627c7d..0000000 --- a/index/20200410.news +++ /dev/null @@ -1,4 +0,0 @@ -Apr 10 2020 --------------------------------------------------------------------------------- - -IRC channel can now be accessed from `#carbslinux` at freenode! diff --git a/index/20200427.news b/index/20200427.news deleted file mode 100644 index a0960ac..0000000 --- a/index/20200427.news +++ /dev/null @@ -1,7 +0,0 @@ -Apr 27 2020 --------------------------------------------------------------------------------- - -A new rootfs tarball has been released! You can -see it on ! - -**EDIT:** A new bug fix release has been made. diff --git a/index/20200510.news b/index/20200510.news deleted file mode 100644 index efee43f..0000000 --- a/index/20200510.news +++ /dev/null @@ -1,8 +0,0 @@ -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. - -[patch]: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=f670269a42bfdd2c83a1118cc3d1b475547eac22 diff --git a/index/20200519.news b/index/20200519.news deleted file mode 100644 index 878bf97..0000000 --- a/index/20200519.news +++ /dev/null @@ -1,7 +0,0 @@ -May 19 2020 --------------------------------------------------------------------------------- - -A rootfs tarball targeting the i686 architecture has -been released. It can be found on the [downloads page] - -[downloads page]: https://dl.carbslinux.org/releases/i686 diff --git a/index/20200526.news b/index/20200526.news deleted file mode 100644 index a8e97ce..0000000 --- a/index/20200526.news +++ /dev/null @@ -1,7 +0,0 @@ -May 26 2020 --------------------------------------------------------------------------------- - -An initial version for binary package management is released. -It can be found on the [GitHub page]. - -[GitHub page]: https://github.com/CarbsLinux/kiss-bin diff --git a/index/20200617.news b/index/20200617.news deleted file mode 100644 index 07b290f..0000000 --- a/index/20200617.news +++ /dev/null @@ -1,5 +0,0 @@ -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 deleted file mode 100644 index d75846d..0000000 --- a/index/20200727.news +++ /dev/null @@ -1,7 +0,0 @@ -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/20200903.news b/index/20200903.news deleted file mode 100644 index 3822950..0000000 --- a/index/20200903.news +++ /dev/null @@ -1,6 +0,0 @@ -Sep 03 2020 --------------------------------------------------------------------------------- - -The default TLS provider has been reverted to 'libressl'. System update will -replace bearssl dependencies with libressl. You may choose to keep or remove -bearssl after the update. diff --git a/index/20200916.news b/index/20200916.news deleted file mode 100644 index 29b68f9..0000000 --- a/index/20200916.news +++ /dev/null @@ -1,6 +0,0 @@ -Sep 16 2020 --------------------------------------------------------------------------------- - -The libressl "revert" was reverted. System update will replace libressl -dependencies with bearssl. You may choose to keep or remove bearssl after the -update. diff --git a/index/index.md b/index/index.md deleted file mode 100644 index da84be7..0000000 --- a/index/index.md +++ /dev/null @@ -1,61 +0,0 @@ -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. - -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 --------------------------------------------------------------------------------- - -By default, Carbs Linux comes with busybox for coreutils, bearssl for its -crypto library, musl libc, and other basic utilities that are required for -building new software. The majority of the base packages are statically linked. - - -Multiple Init Support --------------------------------------------------------------------------------- - -Carbs Linux has support for multiple init systems and service supervisors. In -the main repository are - -- `sinit` -- `busybox-init` (SysVinit clone) -- `runit-init` - -for init systems, and - -- `sysmgr` -- `busybox-runit` -- `runit` - -for service supervisors. The [carbs-init] package is the collection of init -scripts that ensure the interoperability of these init and service systems, and -make it easier for the user to switch to their preferred combinations of system -supervision. - -Nothing holds you back, however, from ditching any of these and packaging some -other system supervision technique along with your own init scripts. - - -[carbs-init]: https://github.com/CarbsLinux/repository/tree/master/core/carbs-init -[Carbs Packaging Tools]: https://github.com/CarbsLinux/cpt - -Links --------------------------------------------------------------------------------- - -* IRC - `#carbslinux` on freenode -* Reddit - [/r/carbslinux] -* [Mailing Lists] - -[/r/carbslinux]: http://reddit.com/r/carbslinux -[Mailing Lists]: /mailing-lists.html - -News --------------------------------------------------------------------------------- - -[RSS Feed](/news.xml) | [See all news](/news.html) diff --git a/news/20191210.org b/news/20191210.org new file mode 100644 index 0000000..7e7c0c8 --- /dev/null +++ b/news/20191210.org @@ -0,0 +1,4 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2019-12-10 Tue> + +First alpha release was made. See the [[https://dl.carbslinux.org/releases][downloads page]]. diff --git a/news/20191212.org b/news/20191212.org new file mode 100644 index 0000000..df21941 --- /dev/null +++ b/news/20191212.org @@ -0,0 +1,6 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2019-12-12 Thu> + +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/news/20191217.org b/news/20191217.org new file mode 100644 index 0000000..daa160b --- /dev/null +++ b/news/20191217.org @@ -0,0 +1,5 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2019-12-17 Tue> + +Installation instruction are now complete. A review would be greatly appreciated! + diff --git a/news/20191218.org b/news/20191218.org new file mode 100644 index 0000000..337cfdb --- /dev/null +++ b/news/20191218.org @@ -0,0 +1,4 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2019-12-18 Wed> + +carbs-rootfs-20191218.tar.xz was released. diff --git a/news/20200109.org b/news/20200109.org new file mode 100644 index 0000000..bb09f67 --- /dev/null +++ b/news/20200109.org @@ -0,0 +1,13 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-01-09 Thu> + +Happy new year, everyone! I am back after some long silence. I was unable to commit for a +while, but I have pulled some new updates from the KISS repository, added some of my own. +This week I will be changing/adding some things. + +Important things are, + +- Carbs-init was updated to 0.3. +- I will be adding an implementation of suckless.org's [[https://core.suckless.org/sinit][sinit]] as =carbs-sinit= +- Carbs Repository was added to [[https://repology.org/repository/carbs][repology.org]] +- A new rootfs tarball will be coming up tomorrow. diff --git a/news/20200110.org b/news/20200110.org new file mode 100644 index 0000000..0a83a3e --- /dev/null +++ b/news/20200110.org @@ -0,0 +1,4 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-01-10 Fri> + +carbs-rootfs-20200110.tar.xz was released. diff --git a/news/20200113.org b/news/20200113.org new file mode 100644 index 0000000..5fbdf9f --- /dev/null +++ b/news/20200113.org @@ -0,0 +1,23 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-01-13 Mon> + +**Busybox update reqires manual intervention** + +The new busybox package conflicts with the pre-update busybox-init. That's why +you should rebuild and install `busybox-init` before doing the update. + +#+BEGIN_SRC sh +# Do a kiss update first (but don't actually update it yet), or manually pull +# the git repository +kiss u # Cancel this operation after it asks for you to confirm the update + +# Install the busybox-init package +kiss b busybox-init && kiss i busybox-init + +# Continue your update as you normally would. +kiss u + +#+END_SRC + +I have moved runit and logging utilities from the busybox-init package to the busybox +package, which is the cause of these conflicts. diff --git a/news/20200115.org b/news/20200115.org new file mode 100644 index 0000000..8da8e13 --- /dev/null +++ b/news/20200115.org @@ -0,0 +1,4 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-01-15 Wed> + +sinit has been taken to =core=, and is now officially supported diff --git a/news/20200122.org b/news/20200122.org new file mode 100644 index 0000000..9e6b998 --- /dev/null +++ b/news/20200122.org @@ -0,0 +1,5 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-01-22 Wed> + +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/news/20200128.org b/news/20200128.org new file mode 100644 index 0000000..e917fa3 --- /dev/null +++ b/news/20200128.org @@ -0,0 +1,10 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-01-28 Tue> + +Web Server is now on a Carbs Linux server. It is not complete yet, but I will be +adding a little more for the intended functionality. Downtimes can be expected. + +UPDATE: ssl is now working. + +UPDATE2: downloads are back again. + diff --git a/news/20200213.org b/news/20200213.org new file mode 100644 index 0000000..f37d9eb --- /dev/null +++ b/news/20200213.org @@ -0,0 +1,6 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-02-13 Thu> + +Runit is now released on the core repository! You can now replace busybox-init +with runit-init. You can also replace the busybox runit utilities with the +actual runit. This will reduce the dependency on busybox greatly. diff --git a/news/20200214.org b/news/20200214.org new file mode 100644 index 0000000..36b3325 --- /dev/null +++ b/news/20200214.org @@ -0,0 +1,50 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-02-14 Fri> + +**IMPORTANT!** Carbs-init update to be released on 17th of February +will require manual intervention. I am holding this update back so +people can see it before they update their system (even though the +update will show the same message as this). The rationale for the +update is explained below the intervention. + +#+BEGIN_SRC sh +# There is an explanation for each init You only need to follow the instructions +# for your own init-system + +## busybox-init +# If you did not edit your inittab simply move inittab.new to inittab +mv /etc/inittab.new /etc/inittab + +# If you did edit your inittab you can use a simple sed command to remove the +# necessary lines +sed -i '/getty/d;/runsvdir/d' /etc/inittab + + +## runit +# same as busybox-init, if you did not edit /etc/runit/2 move 2.new to 2 +mv /etc/runit/2.new /etc/runit/2 + +# else +vim /etc/runit/2 +# open your 2 file and remove the for loop containing getty commands. If you are +# using runit, it is recommended to comment out /etc/init/runit.boot + +## sinit/minit +# If you did not edit your {sinit-,}launch-services.boot you can simply remove +# it. +rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot + +# This should leave you without any issues, and you can safely reboot. +#+END_SRC + +Carbs-init update is to make sure init systems do not clash, and do +not have to use different files. This is a sensible update both for +the user user and for the maintainer side. + +To give an example, before this update busybox-init was managing getty +through =inittab=, runit was managing through =/etc/runit/2=, and +minit/sinit were launching from =/etc/init/launch-services.boot=. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update. + diff --git a/news/20200218.org b/news/20200218.org new file mode 100644 index 0000000..ee56dfd --- /dev/null +++ b/news/20200218.org @@ -0,0 +1,10 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-02-18 Tue> + +A new tarball is released. It can be found on [[https://dl.carbslinux.org]]. + +**edit:** I have removed the tarball because of a bootstrapping issue. I will be +re-adding it later today. + +**edit 2:** I have added a tarball (20200219) to reflect my recent changes on +Busybox. diff --git a/news/20200405.org b/news/20200405.org new file mode 100644 index 0000000..375a7ac --- /dev/null +++ b/news/20200405.org @@ -0,0 +1,14 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-04-05 Sun> + +Carbs Linux repositories will be hosted only on Github. Commits will be pushed +there, and not the repository. You have until May 4, 2020 Monday to switch your +remotes to [[https://github.com/CarbsLinux/repository]]. The git repository will +continue to be served until then (without additional commits). + +You can switch your remote by executing the following command on your repository +directory. + +#+BEGIN_SRC sh +git remote set-url origin https://github.com/CarbsLinux/repository +#+END_SRC diff --git a/news/20200406.org b/news/20200406.org new file mode 100644 index 0000000..31209ca --- /dev/null +++ b/news/20200406.org @@ -0,0 +1,4 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-04-06 Mon> + +A new rootfs tarball has been released. See the downloads page. diff --git a/news/20200410.org b/news/20200410.org new file mode 100644 index 0000000..fda05fb --- /dev/null +++ b/news/20200410.org @@ -0,0 +1,4 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-04-10 Fri> + +IRC channel can now be accessed from =#carbslinux= at freenode! diff --git a/news/20200427.org b/news/20200427.org new file mode 100644 index 0000000..867f83c --- /dev/null +++ b/news/20200427.org @@ -0,0 +1,7 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-04-27 Mon> + +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/news/20200510.org b/news/20200510.org new file mode 100644 index 0000000..c7b7d32 --- /dev/null +++ b/news/20200510.org @@ -0,0 +1,7 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-05-10 Sun> + +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 [[https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=f670269a42bfdd2c83a1118cc3d1b475547eac22][patch]] to your kernel sources. + +**EDIT:** The patch is no longer necessary. diff --git a/news/20200519.org b/news/20200519.org new file mode 100644 index 0000000..0583f19 --- /dev/null +++ b/news/20200519.org @@ -0,0 +1,5 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-05-19 Tue> + +A rootfs tarball targeting the i686 architecture has been released. It can be +found on the downloads page. diff --git a/news/20200526.org b/news/20200526.org new file mode 100644 index 0000000..70c4fec --- /dev/null +++ b/news/20200526.org @@ -0,0 +1,5 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-05-26 Tue> + +An initial version for binary package management is released. It can be found on +the [[https://github.com/CarbsLinux/kiss-bin][GitHub page]]. diff --git a/news/20200617.org b/news/20200617.org new file mode 100644 index 0000000..0aee0df --- /dev/null +++ b/news/20200617.org @@ -0,0 +1,5 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-06-17 Wed> + +A new rootfs tarball including the changes to the core is released and can be +found on the downloads page. diff --git a/news/20200727.org b/news/20200727.org new file mode 100644 index 0000000..0afe0b3 --- /dev/null +++ b/news/20200727.org @@ -0,0 +1,7 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-07-27 Mon> + +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/news/20200903.org b/news/20200903.org new file mode 100644 index 0000000..4c1941d --- /dev/null +++ b/news/20200903.org @@ -0,0 +1,6 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-09-03 Thu> + +The default TLS provider has been reverted to =libressl=. System update will +replace bearssl dependencies with libressl. You may choose to keep or remove +bearssl after the update. diff --git a/news/20200916.org b/news/20200916.org new file mode 100644 index 0000000..50e9ecb --- /dev/null +++ b/news/20200916.org @@ -0,0 +1,6 @@ +#+TITLE: {{{date(%b %d\, %Y)}}} +#+DATE: <2020-09-16 Wed> + +The libressl "revert" was reverted. System update will replace libressl +dependencies with bearssl. You may choose to keep or remove bearssl after the +update. diff --git a/news/index.org b/news/index.org new file mode 100644 index 0000000..3a09a0f --- /dev/null +++ b/news/index.org @@ -0,0 +1,107 @@ +#+TITLE: News Index + +* [[file:20200916.html][Sep 16, 2020]] +The libressl "revert" was reverted. System update will replace libressl +dependencies with bearssl. You may choose to keep or remove bearssl after the +update. +* [[file:20200903.html][Sep 03, 2020]] +The default TLS provider has been reverted to =libressl=. System update will +replace bearssl dependencies with libressl. You may choose to keep or remove +bearssl after the update. +* [[file:20200727.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-*=. +* [[file:20200617.html][Jun 17, 2020]] +A new rootfs tarball including the changes to the core is released and can be +found on the downloads page. +* [[file:20200526.html][May 26, 2020]] +An initial version for binary package management is released. It can be found on +the [[https://github.com/CarbsLinux/kiss-bin][GitHub page]]. +* [[file:20200519.html][May 19, 2020]] +A rootfs tarball targeting the i686 architecture has been released. It can be +found on the downloads page. +* [[file:20200510.html][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 [[https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=f670269a42bfdd2c83a1118cc3d1b475547eac22][patch]] to your kernel sources. + +**EDIT:** The patch is no longer necessary. +* [[file:20200427.html][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. +* [[file:20200410.html][Apr 10, 2020]] +IRC channel can now be accessed from =#carbslinux= at freenode! +* [[file:20200406.html][Apr 06, 2020]] +A new rootfs tarball has been released. See the downloads page. +* [[file:20200405.html][Apr 05, 2020]] +Carbs Linux repositories will be hosted only on Github. Commits will be pushed +there, and not the repository. You have until May 4, 2020 Monday to switch your +remotes to [[https://github.com/CarbsLinux/repository]]. The git repository will +continue to be served until then (without additional commits). + +You can switch your remote by executing the following command on your repository +directory. + +#+begin_src sh + git remote set-url origin https://github.com/CarbsLinux/repository +#+end_src +* [[file:20200218.html][Feb 18, 2020]] +A new tarball is released. It can be found on [[https://dl.carbslinux.org]]. + +**edit:** I have removed the tarball because of a bootstrapping issue. I will be +re-adding it later today. + +**edit 2:** I have added a tarball (20200219) to reflect my recent changes on +Busybox. +* [[file:20200214.html][Feb 14, 2020]] +**IMPORTANT!** Carbs-init update to be released on 17th of February +will require manual intervention. I am holding this update back so +people can see it before they update their system (even though the +update will show the same message as this). The rationale for the +update is explained below the intervention. + +#+begin_src sh + # There is an explanation for each init You only need to follow the instructions + # for your own init-system + + ## busybox-init + # If you did not edit your inittab simply move inittab.new to inittab + mv /etc/inittab.new /etc/inittab + + # If you did edit your inittab you can use a simple sed command to remove the + # necessary lines + sed -i '/getty/d;/runsvdir/d' /etc/inittab + + + ## runit + # same as busybox-init, if you did not edit /etc/runit/2 move 2.new to 2 + mv /etc/runit/2.new /etc/runit/2 + + # else + vim /etc/runit/2 + # open your 2 file and remove the for loop containing getty commands. If you are + # using runit, it is recommended to comment out /etc/init/runit.boot + + ## sinit/minit + # If you did not edit your {sinit-,}launch-services.boot you can simply remove + # it. + rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot + + # This should leave you without any issues, and you can safely reboot. +#+end_src + +Carbs-init update is to make sure init systems do not clash, and do +not have to use different files. This is a sensible update both for +the user user and for the maintainer side. + +To give an example, before this update busybox-init was managing getty +through =inittab=, runit was managing through =/etc/runit/2=, and +minit/sinit were launching from =/etc/init/launch-services.boot=. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update. + + diff --git a/news/latest-news.org b/news/latest-news.org new file mode 100644 index 0000000..6922cf2 --- /dev/null +++ b/news/latest-news.org @@ -0,0 +1,19 @@ +* [[file:20200916.html][Sep 16, 2020]] +The libressl "revert" was reverted. System update will replace libressl +dependencies with bearssl. You may choose to keep or remove bearssl after the +update. +* [[file:20200903.html][Sep 03, 2020]] +The default TLS provider has been reverted to =libressl=. System update will +replace bearssl dependencies with libressl. You may choose to keep or remove +bearssl after the update. +* [[file:20200727.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-*=. +* [[file:20200617.html][Jun 17, 2020]] +A new rootfs tarball including the changes to the core is released and can be +found on the downloads page. +* [[file:20200526.html][May 26, 2020]] +An initial version for binary package management is released. It can be found on +the [[https://github.com/CarbsLinux/kiss-bin][GitHub page]]. diff --git a/news/news.org b/news/news.org new file mode 100644 index 0000000..1934369 --- /dev/null +++ b/news/news.org @@ -0,0 +1,172 @@ +#+TITLE: Carbs Linux news +#+DESCRIPTION: a simple Linux distribution + +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200916.html +:PUBDATE: 2020-09-16 +:ID: ab636904-61dd-4fba-934c-6d5e2e2c7a9e +:END: +The libressl "revert" was reverted. System update will replace libressl +dependencies with bearssl. You may choose to keep or remove bearssl after the +update. +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200903.html +:PUBDATE: 2020-09-03 +:ID: fb6e737c-93d4-4010-a374-d395744563bf +:END: +The default TLS provider has been reverted to =libressl=. System update will +replace bearssl dependencies with libressl. You may choose to keep or remove +bearssl after the update. +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200727.html +:PUBDATE: 2020-07-27 +:ID: b47e26d5-3210-4125-b41e-8654e1c1e319 +:END: +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-*=. +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200617.html +:PUBDATE: 2020-06-17 +:ID: 0fa2546c-3cec-42c3-a620-c44aeb14bd82 +:END: +A new rootfs tarball including the changes to the core is released and can be +found on the downloads page. +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200526.html +:PUBDATE: 2020-05-26 +:ID: 327084ea-554d-4604-8d1d-27a9017fa4bf +:END: +An initial version for binary package management is released. It can be found on +the [[https://github.com/CarbsLinux/kiss-bin][GitHub page]]. +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200519.html +:PUBDATE: 2020-05-19 +:ID: e3cc197e-693d-4ed4-a766-19ae94d4e655 +:END: +A rootfs tarball targeting the i686 architecture has been released. It can be +found on the downloads page. +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200510.html +:PUBDATE: 2020-05-10 +:ID: 05213ce1-1eed-4736-8663-32c95e8f58a5 +:END: +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 [[https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/patch/?id=f670269a42bfdd2c83a1118cc3d1b475547eac22][patch]] to your kernel sources. + +**EDIT:** The patch is no longer necessary. +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200427.html +:PUBDATE: 2020-04-27 +:ID: 35dd49b7-15ed-4e17-8aaf-6b3331253a1f +:END: +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. +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200410.html +:PUBDATE: 2020-04-10 +:ID: e08b6a03-9967-4b72-aef3-5cafbe8fc926 +:END: +IRC channel can now be accessed from =#carbslinux= at freenode! +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200406.html +:PUBDATE: 2020-04-06 +:ID: a62bac15-b653-4b2d-b9b0-d59a71718f6b +:END: +A new rootfs tarball has been released. See the downloads page. +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200405.html +:PUBDATE: 2020-04-05 +:ID: 80ab6b81-ed74-4ccd-bae5-01a179864631 +:END: +Carbs Linux repositories will be hosted only on Github. Commits will be pushed +there, and not the repository. You have until May 4, 2020 Monday to switch your +remotes to [[https://github.com/CarbsLinux/repository]]. The git repository will +continue to be served until then (without additional commits). + +You can switch your remote by executing the following command on your repository +directory. + +#+begin_src sh + git remote set-url origin https://github.com/CarbsLinux/repository +#+end_src +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200218.html +:PUBDATE: 2020-02-18 +:ID: 74395814-c8cc-4616-99ca-ce1f7b5d1f6e +:END: +A new tarball is released. It can be found on [[https://dl.carbslinux.org]]. + +**edit:** I have removed the tarball because of a bootstrapping issue. I will be +re-adding it later today. + +**edit 2:** I have added a tarball (20200219) to reflect my recent changes on +Busybox. +* {{{date(%b %d\, %Y)}}} +:PROPERTIES: +:RSS_PERMALINK: 20200214.html +:PUBDATE: 2020-02-14 +:ID: 17da458e-41cc-424d-ae9c-789720db202b +:END: +**IMPORTANT!** Carbs-init update to be released on 17th of February +will require manual intervention. I am holding this update back so +people can see it before they update their system (even though the +update will show the same message as this). The rationale for the +update is explained below the intervention. + +#+begin_src sh + # There is an explanation for each init You only need to follow the instructions + # for your own init-system + + ## busybox-init + # If you did not edit your inittab simply move inittab.new to inittab + mv /etc/inittab.new /etc/inittab + + # If you did edit your inittab you can use a simple sed command to remove the + # necessary lines + sed -i '/getty/d;/runsvdir/d' /etc/inittab + + + ## runit + # same as busybox-init, if you did not edit /etc/runit/2 move 2.new to 2 + mv /etc/runit/2.new /etc/runit/2 + + # else + vim /etc/runit/2 + # open your 2 file and remove the for loop containing getty commands. If you are + # using runit, it is recommended to comment out /etc/init/runit.boot + + ## sinit/minit + # If you did not edit your {sinit-,}launch-services.boot you can simply remove + # it. + rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot + + # This should leave you without any issues, and you can safely reboot. +#+end_src + +Carbs-init update is to make sure init systems do not clash, and do +not have to use different files. This is a sensible update both for +the user user and for the maintainer side. + +To give an example, before this update busybox-init was managing getty +through =inittab=, runit was managing through =/etc/runit/2=, and +minit/sinit were launching from =/etc/init/launch-services.boot=. This +is a configuration nightmare for everyone, and since I am maintaining +and constantly testing those init providers, a huge nightmare for me. +This is a Quality of Life update. + diff --git a/org-publish.el b/org-publish.el new file mode 100755 index 0000000..46b196a --- /dev/null +++ b/org-publish.el @@ -0,0 +1,303 @@ +#!/usr/bin/emacs --script +;; Lots of code were taken from: +;; - https://gitlab.com/to1ne/blog/-/blob/master/elisp/publish.el +;; - https://github.com/dmacvicar/site.org/blob/master/publish.el + +;; I don't want this script, especially package, to mess my Emacs directory. +(setq user-emacs-directory (expand-file-name ".cache/" default-directory)) +(load-file (expand-file-name "elisp/no-littering.el" default-directory)) + +(setq package-user-dir (with-no-warnings (no-littering-expand-var-file-name "package/"))) +(require 'package) +(package-initialize) + +(unless package-archive-contents + (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t) + (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) + (package-refresh-contents)) + +(dolist (pkg '(org-plus-contrib htmlize)) + (unless (package-installed-p pkg) + (package-install pkg))) + +(require 'cl-lib) +(require 'sh-script) +(require 'ox) +(require 'ox-publish) +(require 'ox-rss) + +(defvar carbs--src-directory (expand-file-name "src/" default-directory) + "Directory for most of the static webpage content") + +(defvar carbs--publish-directory (expand-file-name "docs/" default-directory) + "Root directory of the published website") + +(defvar carbs--news-directory (expand-file-name "news/" default-directory) + "Directory for news posts.") + +(defvar carbs--blog-directory (expand-file-name "blog/" default-directory) + "Directory for blog posts.") + +(defvar carbs--template-directory (expand-file-name "templates/" default-directory) + "Directory for all types of templates") + +(defun carbs--insert-template (file) + "Insert FILE from `carbs--template-directory'." + (with-temp-buffer + (insert-file-contents (expand-file-name file carbs--template-directory)) + (buffer-string))) + +(defun carbs/org-html-publish-to-html (plist filename pub-dir) + "Wrapper function that adds publishing date as a subtitle. + +PLIST contains the properties, FILENAME the source file and + PUB-DIR the output directory." + (let ((project (cons 'rw plist))) + (plist-put plist :subtitle + (carbs/format-date-subtitle filename project)) + (org-html-publish-to-html plist filename pub-dir))) + +(defun carbs/org-html-publish-blog-index (plist filename pub-dir) + "Wrapper function to publish only the index file to html. +PLIST contains the properties, FILENAME the source file and PUB-DIR the output +directory." + (if (equal "index.org" (file-name-nondirectory filename)) + (org-html-publish-to-html plist filename pub-dir))) + +(defun carbs/format-rss-feed-entry (entry style project) + "Format ENTRY for the RSS feed. +ENTRY is a file name. STYLE is either 'list' or 'tree'. +PROJECT is the current project." + (cond ((not (directory-name-p entry)) + (let* ((file (org-publish--expand-file-name entry project)) + (title (org-publish-find-title entry project)) + (date (format-time-string "%Y-%m-%d" (org-publish-find-date entry project))) + (link (concat (file-name-sans-extension entry) ".html"))) + (with-temp-buffer + (insert (format "* %s\n" title)) + (org-set-property "RSS_PERMALINK" link) + (org-set-property "PUBDATE" date) + (insert-file-contents file) + (buffer-string)))) + ((eq style 'tree) + ;; Return only last subdir. + (file-name-nondirectory (directory-file-name entry))) + (t entry))) + +(defun carbs/format-rss-feed (title list) + "Generate RSS feed, as a string. +TITLE is the title of the RSS feed. LIST is an internal +representation for the files to include, as returned by +`org-list-to-lisp'. PROJECT is the current project." + (concat "#+TITLE: " title "\n" + "#+DESCRIPTION: a simple Linux distribution\n\n" + (org-list-to-subtree list 1 '(:icount "" :istart "")))) + +(defun carbs/org-rss-publish-to-rss (plist filename pub-dir) + "Publish RSS with PLIST, only when FILENAME is 'rss.org'. +PUB-DIR is when the output will be placed." + (org-rss-publish-to-rss plist filename pub-dir)) + +(defun carbs/format-date-subtitle (file project) + "Format the date found in FILE of PROJECT." + (format-time-string "posted on %Y-%m-%d" (org-publish-find-date file project))) + +(defun carbs--pre/postamble-format (type) + "Return the content for the pre/postamble of TYPE." + `(("en" ,(carbs--insert-template (format "%s.html" type))))) + +(defun carbs/org-publish-sitemap (title list) + "Generate sitemap as a string, having TITLE. +LIST is an internal representation for the files to include, as +returned by `org-list-to-lisp'." + (let ((filtered-list (cl-remove-if (lambda (x) + (and (sequencep x) (null (car x)))) + list))) + (concat (carbs--insert-template "blog.org") + (org-list-to-org filtered-list) "\n"))) + +(defun carbs/org-publish-sitemap-entry (entry style project) + "Format for sitemap ENTRY, as a string. +ENTRY is a file name. STYLE is the style of the sitemap. +PROJECT is the current project." + (unless (equal entry "404.org") + (format "[[file:%s][%s]] /%s/" + entry + (org-publish-find-title entry project) + (carbs/format-date-subtitle entry project)))) + +(defun carbs/org-publish-news (title list) + "Generate sitemap as a string, having TITLE. +LIST is an internal representation for the files to include, as +returned by `org-list-to-lisp'." + (let ((filtered-list (cl-remove-if (lambda (x) + (and (sequencep x) (null (car x)))) + list))) + (concat "#+TITLE: News Index\n\n" + (org-list-to-subtree filtered-list 1 '(:istart "" :icount "")) "\n"))) + +(defun carbs/org-publish-news-latest (title list) + "Generate sitemap as a string, having TITLE. +LIST is an internal representation for the files to include, as +returned by `org-list-to-lisp'." + (let* ((filtered-list (cl-remove-if (lambda (x) + (and (sequencep x) (null (car x)))) + list)) + (latest-posts (seq-subseq filtered-list 0 (min (length filtered-list) 6)))) + (concat + (org-list-to-subtree latest-posts 1 '(:istart "" :icount "")) "\n"))) + +(defun carbs/org-publish-news-entry (entry style project) + "Format for sitemap ENTRY, as a string. +ENTRY is a file name. STYLE is the style of the sitemap. +PROJECT is the current project." + (cond ((not (directory-name-p entry)) + (let* ((file (org-publish--expand-file-name entry project)) + (date (format-time-string "%b %d, %Y" (org-publish-find-date entry project))) + (link (concat (file-name-sans-extension entry) ".html"))) + (with-temp-buffer + (insert (format "* [[file:%s][%s]]\n" link date)) + (insert-file-contents file) + (buffer-string)))) + ((eq style 'tree) + ;; Return only last subdir. + (file-name-nondirectory (directory-file-name entry))) + (t entry))) + +(setq user-full-name "Cem Keylan" + user-mail-address "root@carbslinux.org" + org-publish-timestamp-directory (with-no-warnings (no-littering-expand-var-file-name "timestamps/")) + org-html-doctype "html5" + org-html-head "" + org-html-head-include-scripts nil + org-html-metadata-timestamp-format "%Y-%m-%d" + org-html-head-include-default-style nil + org-html-html5-fancy t + org-html-htmlize-output-type 'css + org-export-with-toc nil + org-export-with-section-numbers nil + + org-publish-project-alist + (list + (list "news" + :author "" + :base-directory carbs--news-directory + :html-preamble t + :html-postamble t + :html-preamble-format (carbs--pre/postamble-format 'preamble) + :html-postamble-format (carbs--pre/postamble-format 'postamble) + :publishing-directory (expand-file-name "news/" carbs--publish-directory) + :publishing-function '(org-html-publish-to-html org-ascii-publish-to-ascii) + :exclude (regexp-opt '("index.org" "news.org" "latest-news.org")) + :auto-sitemap t + :sitemap-filename "index.org" + :sitemap-style 'list + :sitemap-title "Carbs Linux news" + :sitemap-sort-files 'anti-chronologically + :sitemap-function 'carbs/org-publish-news + :sitemap-format-entry 'carbs/org-publish-news-entry) + (list "news-rss-generate" + :base-directory carbs--news-directory + :publishing-directory carbs--publish-directory + :publishing-function 'ignore + :exclude (regexp-opt '("index.org" "news.org" "latest-news.org")) + :html-link-home "https://carbslinux.org/news" + :auto-sitemap t + :sitemap-filename "news.org" + :sitemap-style 'list + :sitemap-title "Carbs Linux news" + :sitemap-sort-files 'anti-chronologically + :sitemap-function 'carbs/format-rss-feed + :sitemap-format-entry 'carbs/format-rss-feed-entry) + (list "latest-news" + :base-directory carbs--news-directory + :publishing-directory carbs--publish-directory + :publishing-function 'ignore + :exclude (regexp-opt '("index.org" "news.org" "latest-news.org")) + :auto-sitemap t + :sitemap-filename "latest-news.org" + :sitemap-style 'list + :sitemap-title "Carbs Linux news" + :sitemap-sort-files 'anti-chronologically + :sitemap-function 'carbs/org-publish-news-latest + :sitemap-format-entry 'carbs/org-publish-news-entry) + (list "news-rss-publish" + :base-directory carbs--news-directory + :exclude "." + :include '("news.org") + :rss-extension "xml" + :recursive t + :html-link-home "https://carbslinux.org/news" + :publishing-directory carbs--publish-directory + :publishing-function 'carbs/org-rss-publish-to-rss) + (list "home" + :base-directory carbs--src-directory + :html-preamble t + :html-postamble t + :html-preamble-format (carbs--pre/postamble-format 'preamble) + :html-postamble-format (carbs--pre/postamble-format 'postamble) + :publishing-directory carbs--publish-directory + :publishing-function 'org-html-publish-to-html) + (list "blog-index-publish" + :base-directory carbs--blog-directory + :publishing-directory (expand-file-name "blog/" carbs--publish-directory) + :publishing-function 'carbs/org-html-publish-blog-index + :html-preamble t + :html-postamble t + :html-preamble-format (carbs--pre/postamble-format 'preamble) + :html-postamble-format (carbs--pre/postamble-format 'postamble) + :html-link-org-files-as-html t + :exclude (regexp-opt '("rss.org" "index.org")) + :auto-sitemap t + :sitemap-filename "index.org" + :sitemap-style 'list + :sitemap-title "Carbs Linux blog" + :sitemap-sort-files 'anti-chronologically + :sitemap-function 'carbs/org-publish-sitemap + :sitemap-format-entry 'carbs/org-publish-sitemap-entry) + (list "blog" + :base-directory carbs--blog-directory + :publishing-directory (expand-file-name "blog/" carbs--publish-directory) + :publishing-function 'carbs/org-html-publish-to-html + :html-preamble t + :html-postamble t + :html-preamble-format (carbs--pre/postamble-format 'preamble) + :html-postamble-format (carbs--pre/postamble-format 'postamble) + :exclude (regexp-opt '("rss.org" "index.org")) + :html-link-org-files-as-html t) + (list "blog-generate-rss-sitemap" + :base-extension "org" + :base-directory carbs--blog-directory + :html-link-home "https://carbslinux.org/blog" + :exclude (regexp-opt '("rss.org" "index.org")) + :publishing-function 'ignore + :publishing-directory (expand-file-name "blog/" carbs--publish-directory) + :rss-extension "xml" + :auto-sitemap t + :html-link-org-files-as-html t + :sitemap-filename "rss.org" + :sitemap-title "Carbs Linux blog" + :sitemap-style 'list + :sitemap-sort-files 'anti-chronologically + :sitemap-function 'carbs/format-rss-feed + :sitemap-format-entry 'carbs/format-rss-feed-entry) + (list "blog-publish-rss-sitemap" + :base-directory carbs--blog-directory + :rss-extension "xml" + :recursive t + :exclude "." + :include '("rss.org") + :publishing-directory carbs--publish-directory + :publishing-function 'carbs/org-rss-publish-to-rss + :html-link-home "https://carbslinux.org/blog" + :html-link-use-abs-url t) + (list "plaintext" + :author "" + :base-directory carbs--src-directory + :publishing-directory carbs--publish-directory + :publishing-function 'org-ascii-publish-to-ascii + :base-extension "org" + :exclude (regexp-opt '("rss.org")) + :recursive t))) + +(org-publish-all) diff --git a/src/404.md b/src/404.md deleted file mode 100644 index afd5166..0000000 --- a/src/404.md +++ /dev/null @@ -1,3 +0,0 @@ -# 404 - -Requested page not found. diff --git a/src/blog/20200128.md b/src/blog/20200128.md deleted file mode 100644 index 5c56b45..0000000 --- a/src/blog/20200128.md +++ /dev/null @@ -1,21 +0,0 @@ -Switching to New Website -======================== - -**Date:** Jan 28 2020 - -In case you haven't seen it before, this website -was powered by [werc](http://werc.cat-v.org). And -even though I liked it really much, it was too -powerful for a small website like this. - -So I have decided to reimplement this website with -my own static generation scripts. The source will -probably be on -when I decide to publish the website. - -The generation requires Plan9 programs, although -I have used them just for my enthusiasm. I have built -the site with a combination of mk (instead of make), rc, -and POSIX sh. I am not yet exactly familiar with rc, -but I will replace the shell scripts when I feel like -I can. diff --git a/src/blog/20200406.md b/src/blog/20200406.md deleted file mode 100644 index c695b69..0000000 --- a/src/blog/20200406.md +++ /dev/null @@ -1,84 +0,0 @@ -Roadmap for Carbs -================= - -It has been a busy week. There are lots of changes in -direction, and more to come. I want to talk a little -about all of them. - - -Carbs Linux Server Going Down ------------------------------ - -It became harder to maintain and pay for the server, and I will be -shutting it down in May. I am currently in the phase of -carrying over everything to [Github]. The repository and the -website is served on Github now. I have also moved the [Wiki] -to Github and anyone can edit it there. There are some outdated -posts that I will be fixing around this week. - -I am not quite sure where to store the downloads page now. But I -will be switching that to a new source as well. (Maybe Source Forge?) - -I feel a little sad for switching, but serving on Github is faster, -cheaper, and hassle-free. - -[Github]: https://github.com/CarbsLinux -[Wiki]: https://github.com/CarbsLinux/wiki/wiki - - -Forking KISS ------------- - -I had a personal fork of KISS, which I enjoyed thoroughly. I didn't -intend to make it the default when I started it, but it has matured -enough to be so. The package manager can now be found on [this repository]. -See it for the added changes. - -This will be a change for the better, as I can develop the package -manager as it fits my views. - -[this repository]: https://github.com/CarbsLinux/kiss - - -Small Changes on the Website ----------------------------- - -I have made some small changes on the website. The build is not dependent -on Plan9 utilities anymore. It was fun messing around with `rc` and `mk`, -but they are quite limited compared to POSIX shell. - -RSS feeds are finally working as intended, both for the [news] section, and -the [blog] secion. - -You can see every page's `.txt` output at the end of the page by clicking -'View Page Source'. Meanwhile, I will be updating some pages to be a little -more 'human-readable'. - -[news]: https://carbslinux.org/news.xml -[blog]: https://carbslinux.org/rss.xml - - -Outsources Repository ---------------------- - -I have opened an `outsource` repository, which I will be pushing this week. -I will add a new post when I am ready to push it. I think it will be interesting, -it will also make more sense about the changes I have added to the package -manager. The now empty repository, can be found [here]! - -[here]: https://github.com/CarbsLinux/outsource - - -New Tarball ------------ - -Finally, I have released a new tarball today, which can be obtained from the -[downloads page]. - -[downloads page]: https://dl.carbslinux.org/releases - - -I am planning to add more of these update posts as I'm feeling better about -the website structure overall. - -\- Cem diff --git a/src/blog/20200410.md b/src/blog/20200410.md deleted file mode 100644 index f6edffe..0000000 --- a/src/blog/20200410.md +++ /dev/null @@ -1,24 +0,0 @@ -Outsource Repository Concept -============================ - -In April 3rd, I have added submodule support for Carbs -Linux's fork of `kiss`. Now, from that sentence, it really -doesn't sound exciting at all. But in reality, it opens a -path to lots of creative output, and a better way to manage -multi-user repositories (such as KISS Community). - -When managing a repository of submodules, the repository -maintainer's only job is to deal with adding packages. -A package maintainer doesn't have to wait for the repository -maintainer to update their packages, as they are only making -the changes to their own repositories. - -This way, an end-user can also track from their preferred -maintainers, and do that with the tidyness of a single repository -in their `KISS_PATH`. - -Carbs Linux now has an outsource repository for some packages. -Firefox and its dependencies have been purged from the main repository, -but can be found on it. - - diff --git a/src/blog/20200508.md b/src/blog/20200508.md deleted file mode 100644 index f1b2cdd..0000000 --- a/src/blog/20200508.md +++ /dev/null @@ -1,141 +0,0 @@ -The Relation of Carbs and KISS -============================== - -**Date:** May 08 2020 - -Since I have forked KISS, I have received many questions -that can be summarized as "Why?". I have realized that I -never truly answered this question. That's the reason I am -writing this post, to give some background on Carbs, and -some differences between KISS Linux and Carbs Linux for -anyone who may be wondering. Perhaps I could make this a -"FAQ" page later on. - -History -------- - -I had the idea of creating my own Linux distribution since -the May of 2019. Back then, I had my own [Linux from Scratch] -build, and I wanted to slim it down my own way and replace -the software (with musl,sbase,etc.). The name Carbs Linux -was in my mind since then. I wanted to write my own package -manager, but I wasn't satisfied with anything I had built. - -I had written some incomplete package managers (all named `fat`) -and I quickly threw them into the trash can, where they -honestly belonged. I would want to share them with you for -laughs, but my hard-drive got wiped and I have a problem -of not doing an "initial commit" until a program I write -is in a usable state. - -I have obtained the 'carbslinux.org' domain name in September -2019, but then life got on the way, and I stopped for a long -time. - -One day on Reddit, I saw Dylan's post on [r/unixporn] about -KISS, and I really thought that it was interesting. Here is -my [comment] to Dylan on that post. I checked out the package -manager and the repository. The packaging system was extremely -clean and well-thought. I decided to give it a go and fork -KISS. - -[Linux from Scratch]: https://linuxfromscratch.org -[r/unixporn]: https://reddit.com/r/unixporn -[comment]: https://www.reddit.com/r/unixporn/comments/ducd34/sowm_kiss_d/f7lua7x - - -Differences between KISS and Carbs ----------------------------------- - -Now, I still baffle when people ask me this question. My -intention was never to create a distribution with specific -differences between KISS. My intention was being my own -BDFL of a distribution I maintain. There are lots of -differences between the main repositories, but they are subtle -and not worth talking about. I personally never even installed -KISS Linux on my system. So Carbs, isn't something like a -downstream fork of KISS, it is just a distribution that was -initially based on KISS. - -I try to contribute as much as I can to KISS Linux. I think -that it is a brilliant distribution, and it was a great starting -point for Carbs. I am really grateful to Dylan and all the -other contributors. - - -What I'm working on now ------------------------ - -Currently I have a few projects that I'm working on for Carbs. -These are, - -A BSD port for Carbs. For a while, I have been working on BSD -compatibility on my fork of the [package manager]. I have tested, -without any more issues, on OpenBSD and FreeBSD. The biggest -issues remaining are choosing a vendor for BSD, packaging the -BSD source, and providing a minimal base (like busybox for BSD). -If you aren't familiar with BSD, it has a single source code -for all of the utilities (kernel, command line programs, etc.). -Contributions (even chipping in ideas) are very welcome. - -Adding binary package distribution support natively to the package -manager. Biggest issue in small/old computers are compile times. -This feature is for the bigger packages such as webkit, clang, -llvm that take a considerable amount of time. Some computers -with low memories cannot even compile firefox/webkit. - -Adding rsync repository support to the package manager. This -is not a current issue, but rather a futureproofing. As time -passes, distribution repositories grow larger. KISS and Carbs -are young distributions without this problem right now. But -in something like 5 years, this size will presumably increase -to hundreds of megabytes. At that point it will be pointless -to have the repository sources unless you specifically need them. - - -[package manager]: https://github.com/carbslinux/kiss - - -What's up with all the init/service daemons? --------------------------------------------- - -If you have ever checked the [repository], you may have noticed -that there are lots of init/service related packages. I have had -my fair share of time with all of them, and it is an area that I -am really interested in. I have even written my own [init daemon] -and [service supervisor]. I maintain all those packages on KISS -Community Repository as well with the exception of busybox. Those -are, `busybox init/runit`, `runit`, `sinit`, and `sysmgr`. I would -definitely recommend checking out `shinit` and `sysmgr`. - -[repository]: https://github.com/carbslinux/repository -[init daemon]: https://github.com/cemkeylan/shinit -[service supervisor]: https://github.com/cemkeylan/sysmgr - - -Why I don't publicize Carbs ---------------------------- - -There are a couple of reasons I don't publicize Carbs a lot. - -KISS is the better alternative in terms of support and community. -I work on maintaining this distribution just as hard as Dylan, -but in the end, Carbs is based on his original hard work, and I -believe that he deserves the recognition more than I do. - -Since I cannot answer questions like "What is the difference?", I -prefer staying as the silent sibling project of KISS Linux. Plus, -there is no point in dividing the newly-emerging community in half. - -That's not because I don't have ideas for the future of Carbs, I -do. I just think that I will deserve the recognition once those -above lists are checked. - - -I think that's about it, if you have questions you can send me a -mail, ping me on IRC (my handle is `merakor`), and I will be happy -to answer. Maybe your question fits this post, and I can update it -to thoroughly give an explanation. - -Cheers, -Cem diff --git a/src/blog/20200528.md b/src/blog/20200528.md deleted file mode 100644 index 9ceaec5..0000000 --- a/src/blog/20200528.md +++ /dev/null @@ -1,51 +0,0 @@ -kiss 2.0.0 and overall changes -==================================================================== - -Carbs Linux kiss version 2.0.0 has been released which introduces -rsync repositories. - -Git is no longer a mandatory dependency for the package manager, -every git source on the core repository has been replaced with -https sources (sbase, sinit), and rootfs tarballs will no longer -ship with git. Repositories in the upcoming tarball will be rsync -repositories. - -Git is now on the `extra` repository and is still (optionally) -used in the package manager. - -The idea behind this change is size reductions and increased -speed with rsync. As I said on the previous post, git repositories -get larger and larger over the time span. Currently my personal -copy of the git repository is around 77MB and I have forked KISS -Linux (as a shallow copy) around December. Obviously, I have commits -that I ommitted. I tend to create commits I dislike, which I change -with 'git reset --soft HEAD^', which doesn't actually remove the -commits, etc. A user will have a repository much smaller than mine. - -This is a precaution with the added bonuses of speed and dropping a -mandatory dependency. - -You can see the rest of the changelog [here]. - -[here]: https://github.com/CarbsLinux/kiss/blob/master/CHANGELOG.md - - -Binary Repositories -------------------- - -A few days ago, I have also published [kiss-bin], a first version -for managing binary repositories. Currently, there are some caveats -that I'll be fixing along the way. I decided not to include this -in the package manager natively as managing the source based and -binary based packages together adds levels of complexity that we -do not want. Instead, this is an extension for kiss which sources -the package manager as a library. I hope to see it being adopted -by others interested on the matter as well. - - -[kiss-bin]: https://github.com/CarbsLinux/kiss-bin - -That's about it. - -Cheers, -Cem diff --git a/src/blog/20200617.md b/src/blog/20200617.md deleted file mode 100644 index 9938896..0000000 --- a/src/blog/20200617.md +++ /dev/null @@ -1,74 +0,0 @@ -June Newspost -================================================================================ - -This will be an active month for Carbs as major changes to the base and the -package manager will be coming up. - - -Statically linking the base --------------------------------------------------------------------------------- - -For the past couple of weeks I have been trying to simplify the base and -statically link the core (mostly binaries rather than libraries). I usually see -some people extremely opposed to static linking as I also see the opposite on -people. - -I believe that binaries on the core should always be linked statically. This -ensures that an SONAME bump to `libObscure.so` will not break the core -functionality of your system, forcing you to use external resources to recover -from such an issue. As long as you can compile, use core utilities, edit text, -and access the web, you can solve any given issue on your system. - -However, I don't think that removing shared libraries is sensible either. Not -every piece of software out there is good quality enough to be statically -linked. - - -Major changes on the core repository --------------------------------------------------------------------------------- - -There have been drastic changes to the core repository and the base rootfs this -month (with more on the way). Right now changes are as follows. - -### Removed from Core -- `git` -- `libressl` -- `grub` -- `bison` -- `dhcpcd` -- `ubase` - -### Added to Core -- `bearssl`, as a `libressl` replacement -- `byacc`, as a `bison` replacement - -### Statically linked -- `kiss` -- `neatvi` -- `mandoc` -- `byacc` -- `m4` -- `e2fsprogs` -- `make` -- `pkgconf` -- `sbase` -- `libnl` -- `wpa_supplicant` -- `bearssl` - - -Making the wiki available offline --------------------------------------------------------------------------------- - -Soon, all documentation regarding Carbs Linux will be avaialable to be installed -from the core repository in a `carbs-docs` package along with its own document -crawler. Currently, the documentation regarding the installation process is a -little outdated which will also receive some important updates. - - -ISO image for Carbs --------------------------------------------------------------------------------- - -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 `arch-install-scripts`. Let's see how that's going to play out. diff --git a/src/blog/20200803.md b/src/blog/20200803.md deleted file mode 100644 index eaee932..0000000 --- a/src/blog/20200803.md +++ /dev/null @@ -1,77 +0,0 @@ -August 2020 News Post -================================================================================ - -We are having some stalls during this summer, as I am currently working on -university-related stuff. Nonetheless, there are some important changes that I -want to share in this month's post. - -INDEX --------------------------------------------------------------------------------- - -- [Carbs Packaging Tools](#carbs-packaging-tools) -- [Docs](#docs) -- [Re-opening the Carbs Linux server](#re-opening-the-carbs-linux-server) - - -Carbs Packaging Tools --------------------------------------------------------------------------------- - -This month I have reworked `kiss` into a new package manager, now renamed as -`cpt`. Updating `kiss` will now bootstrap the new package manager, so you don't -have to manually edit your system. If you don't like the idea of this, you can -look up the `post-install` script on `core/kiss` and apply the changes manually. - -You will also need to rename your KISS_* variables to CPT_*. So, KISS_PATH -becomes CPT_PATH. - -The rework changes the previous commands on the package manager into standalone -tools, and move the package manager functions to a library. This makes it easier -for a user to import functions and variables from the package manager, and -extend the package manager with their own intended way. Previously this required -ugly hacks and workarounds to use the package manager functions. I will be -making use of these changes to re-implement binary package management functions -as well. - -If you want to use the library on your script you can simply do this: - - +--------------------------------------------------------------------------+ - | | - | #!/bin/sh | - | . cpt-lib | - | (...) | - | | - +--------------------------------------------------------------------------+ - -There are obviously some clean-up and simplifications needed in this new -tool-based package management method. - - -Docs --------------------------------------------------------------------------------- - -I have added documentation for the distribution, and finally updated the guide -for installation. It is now _almost_ complete. These docs can be installed to -your system for online viewing. I will also add a documentation crawler similar -to how werc[^1] works (but as an offline viewer). You can find `carbs-docs` from -the repository. Currently, the documentation lacks but I will be adding new -stuff. These will solely be distribution specific documentation and will not be -a wiki-like source. If anyone would like to contribute to a wiki-like -documentation source, I would happily re-open the distribution wiki. You can -find the source on https://github.com/CarbsLinux/docs - - -Re-opening the Carbs Linux server --------------------------------------------------------------------------------- - -Back in May, I had shutdown the Carbs Linux server due to financial issues, but -I am slowly reverting to the self-hosted model. Back then, the git repositories -were mirrored to GitHub, and the management was overall much more flexible. The -server used to run Carbs Linux as well (that was fun and horrifying at the same -time). Now, I will be relaunching the git server which will be the upstream -source before August 5. You can switch your remote, but GitHub will stay as a -remote nonetheless. - -EDIT: The git-server is up! - - -[^1]: http://werc.cat-v.org diff --git a/src/blog/20201210.md b/src/blog/20201210.md deleted file mode 100644 index d4ef484..0000000 --- a/src/blog/20201210.md +++ /dev/null @@ -1,21 +0,0 @@ -First Year of Carbs Linux -================================================================================ - -December 10, 2020 marks the first year after the initial release of Carbs -Linux. When I forked the KISS Linux repository on the 9th of December, I was -fairly new to package management. Carbs Linux used to be almost identical to -KISS Linux. A lot has changed since then: - -- [2020 Jan 13] Replaced default init system to `sinit` -- [2020 Jan 15] Packaged `WebKit2GTK` -- [2020 May 17] Added `bearssl` on the testing repository -- [2020 May 28] Added `rsync` repository support to kiss -- [2020 Jun 03] Replaced `bison` with `byacc` -- [2020 Jun 11] Replaced `libressl` with `bearssl` -- [2020 Jun 24] Replaced `kiss` with `cpt` - -I have really enjoyed maintaining and developing this distribution, and I want -to thank everyone who was involved in some way or another. While I have slowed -down in development due to college workload, I am still actively maintaining all -the packages on the repository. I do have some ideas that I am thinking of -implementing during the semester break. Hope to see you all in January. diff --git a/src/blog/index.md b/src/blog/index.md deleted file mode 100644 index 347ef61..0000000 --- a/src/blog/index.md +++ /dev/null @@ -1,16 +0,0 @@ -Blog Index -================================================================================ - -This is the Carbs Linux Blog Index. You can find every post here. [RSS Feed] - -[RSS Feed]: /rss.xml - - -* Dec 10 2020 - [First Year of Carbs Linux](20201210.html) -* Aug 03 2020 - [August 2020 News Post](20200803.html) -* Jun 17 2020 - [June Newspost](20200617.html) -* May 28 2020 - [kiss 2.0.0 and overall changes](20200528.html) -* May 08 2020 - [The Relation of Carbs and KISS](20200508.html) -* Apr 10 2020 - [Outsource Repository Concept](20200410.html) -* Apr 06 2020 - [Roadmap for Carbs](20200406.html) -* Jan 28 2020 - [Switching to New Website](20200128.html) diff --git a/src/contributing.md b/src/contributing.md deleted file mode 100644 index 3fe71ce..0000000 --- a/src/contributing.md +++ /dev/null @@ -1,9 +0,0 @@ -Contribute to the Carbs Linux Project -===================================== - -This is a small project made possible by volunteers. There are -ways you can help this project stay alive. - -* Contribute to the [Carbs Linux repository](http://git.carbslinux.org/repository/log.html) -* Contribute to the [KISS community repository](https://github.com/kisslinux/community) -* Contribute to the [wiki](//wiki.carbslinux.org) diff --git a/src/docs.md b/src/docs.md deleted file mode 100644 index a481cf0..0000000 --- a/src/docs.md +++ /dev/null @@ -1,15 +0,0 @@ -Carbs Linux documentation -================================================================================ - -Welcome to the Carbs Linux source of documentation! You can install these to -your system for viewing offline: - - +--------------------------------------------------------------------------+ - | | - | $ cpt-build carbs-docs && cpt-install carbs-docs | - | | - +--------------------------------------------------------------------------+ - - -Documentation Index --------------------------------------------------------------------------------- diff --git a/src/docs.org b/src/docs.org new file mode 100644 index 0000000..8d2d515 --- /dev/null +++ b/src/docs.org @@ -0,0 +1,60 @@ +#+TITLE: Documentation + +Below are sources of documentation regarding Carbs Linux and tools surrounding +it. + +* User Manual + +Carbs Linux User Manual aims to be a general-purpose explanation of the +distribution, from the installation steps to the style guide of the project. It +can be accessed or otherwise obtained with various methods: + +** HTML + +You can view the Manual from your browser. The Manual can be viewed as + +- [[file:docs/carbslinux][One HTML page per node]] +- [[file:docs/carbslinux.html][Single HTML page]] + +** Plain text + +You can download [[file:docs/carbslinux.txt][carbslinux.txt]] in order to view the Manual from your preferred +pager. + +#+begin_src sh +curl -LO https://carbslinux.org/docs/carbslinux.txt +less carbslinux.txt +#+end_src + +** Info + +You can install the =carbs-docs= package and either =texinfo= or =info= packages +to view the Manual offline. + +#+begin_src sh +cpt bi info carbs-docs +info carbslinux +#+end_src + +** Source + +You can also acquire the source for generating the Manual, which requires +=emacs= for exporting the Org-mode documentation and =texinfo= for generating +html/info pages. + +#+begin_src sh +git clone git://git.carbslinux.org/docs +#+end_src + +* Installation Instructions + +Installation Manual is part of the [[*User Manual][User Manual]], but it can also be obtained +separately: + +- [[file:install.org][HTML]] +- [[file:install.txt][Plaintext]] + +* Carbs Packaging Tools + +The user manual for CPT is not complete yet, but will be released with the 6.0.0 +release. You can see the [[https://github.com/CarbsLinux/cpt][repository]] in order to check its status. diff --git a/src/docs/0010.html b/src/docs/0010.html deleted file mode 100644 index fad5ef3..0000000 --- a/src/docs/0010.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -0010 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 0010.

- diff --git a/src/docs/0011.html b/src/docs/0011.html deleted file mode 100644 index ab45257..0000000 --- a/src/docs/0011.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -0011 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 0011.

- diff --git a/src/docs/0012.html b/src/docs/0012.html deleted file mode 100644 index 32dca75..0000000 --- a/src/docs/0012.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -0012 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 0012.

- diff --git a/src/docs/0013.html b/src/docs/0013.html deleted file mode 100644 index 27102b1..0000000 --- a/src/docs/0013.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -0013 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 0013.

- diff --git a/src/docs/1010.html b/src/docs/1010.html deleted file mode 100644 index a9635e8..0000000 --- a/src/docs/1010.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1010 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1010.

- diff --git a/src/docs/1020.html b/src/docs/1020.html deleted file mode 100644 index 2f73bac..0000000 --- a/src/docs/1020.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1020 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1020.

- diff --git a/src/docs/1030.html b/src/docs/1030.html deleted file mode 100644 index bb51640..0000000 --- a/src/docs/1030.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1030 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1030.

- diff --git a/src/docs/1040.html b/src/docs/1040.html deleted file mode 100644 index ae10d79..0000000 --- a/src/docs/1040.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1040 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1040.

- diff --git a/src/docs/1041.html b/src/docs/1041.html deleted file mode 100644 index a75e629..0000000 --- a/src/docs/1041.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1041 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1041.

- diff --git a/src/docs/1042.html b/src/docs/1042.html deleted file mode 100644 index c9e5426..0000000 --- a/src/docs/1042.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1042 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1042.

- diff --git a/src/docs/1043.html b/src/docs/1043.html deleted file mode 100644 index 32807ad..0000000 --- a/src/docs/1043.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1043 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1043.

- diff --git a/src/docs/1050.html b/src/docs/1050.html deleted file mode 100644 index c913527..0000000 --- a/src/docs/1050.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -1050 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 1050.

- diff --git a/src/docs/2010.html b/src/docs/2010.html deleted file mode 100644 index 482ddf3..0000000 --- a/src/docs/2010.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2010 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2010.

- diff --git a/src/docs/2020.html b/src/docs/2020.html deleted file mode 100644 index dab5be2..0000000 --- a/src/docs/2020.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2020 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2020.

- diff --git a/src/docs/2030.html b/src/docs/2030.html deleted file mode 100644 index 353fd6f..0000000 --- a/src/docs/2030.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2030 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2030.

- diff --git a/src/docs/2040.html b/src/docs/2040.html deleted file mode 100644 index 84e108a..0000000 --- a/src/docs/2040.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2040 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2040.

- diff --git a/src/docs/2050.html b/src/docs/2050.html deleted file mode 100644 index a8b2a70..0000000 --- a/src/docs/2050.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2050 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2050.

- diff --git a/src/docs/2210.html b/src/docs/2210.html deleted file mode 100644 index 1304a27..0000000 --- a/src/docs/2210.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2210 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2210.

- diff --git a/src/docs/2211.html b/src/docs/2211.html deleted file mode 100644 index 9d2f2b3..0000000 --- a/src/docs/2211.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2211 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2211.

- diff --git a/src/docs/2212.html b/src/docs/2212.html deleted file mode 100644 index e14d231..0000000 --- a/src/docs/2212.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2212 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2212.

- diff --git a/src/docs/2220.html b/src/docs/2220.html deleted file mode 100644 index 4012c71..0000000 --- a/src/docs/2220.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2220 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2220.

- diff --git a/src/docs/2230.html b/src/docs/2230.html deleted file mode 100644 index b03a69c..0000000 --- a/src/docs/2230.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2230 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2230.

- diff --git a/src/docs/2240.html b/src/docs/2240.html deleted file mode 100644 index c8e98f2..0000000 --- a/src/docs/2240.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2240 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2240.

- diff --git a/src/docs/2241.html b/src/docs/2241.html deleted file mode 100644 index dba5354..0000000 --- a/src/docs/2241.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -2241 (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at 2241.

- diff --git a/src/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html b/src/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html deleted file mode 100644 index b3423c8..0000000 --- a/src/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - -ADDENDUM How to use this License for your documents (Carbs Linux User Manual) - - - - - - - - - - - - - - -

The node you are looking for is at ADDENDUM How to use this License for your documents.

- diff --git a/src/docs/Bootloader.html b/src/docs/Bootloader.html deleted file mode 100644 index 6f23a5b..0000000 --- a/src/docs/Bootloader.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - - -Bootloader (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.5.1 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). -

-
    -
  1. GRUB BIOS installation - - -
    -
    cpt b grub && cpt i grub
    -grub-install --target=i386-pc /dev/sdX
    -grub-mkconfig -o /boot/grub/grub.cfg
    -
    - -
  2. 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
    -
    -
- - - - - - diff --git a/src/docs/Building-the-kernel.html b/src/docs/Building-the-kernel.html deleted file mode 100644 index e0f5ee2..0000000 --- a/src/docs/Building-the-kernel.html +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - -Building the kernel (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Kernel   [Contents]

-
-
-

1.4.3 Building the kernel

- -

Next step is configuring and building the kernel. You can check Gentoo’s -kernel configuration guide to learn more about the matter. Overall, Gentoo Wiki -is a good place to learn about configuration according to your hardware. The -following will assume a monolithic kernel. -

-
-
make menuconfig
-make
-install -Dm755 $(make -s image_name) /boot/vmlinuz-linux
-
- - - - - - diff --git a/src/docs/Changing-Init-Program.html b/src/docs/Changing-Init-Program.html deleted file mode 100644 index d1cc7ce..0000000 --- a/src/docs/Changing-Init-Program.html +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - -Changing Init Program (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Init System   [Contents]

-
-
-

2.2 Changing Init Program

- -

By default, Carbs Linux comes preinstalled with ‘busybox-init’, but this can -easily be replaced without any issues. Currently, available init systems are: -

-
    -
  • sinit’ -
  • busybox’ -
  • runit’ -
  • shinit’ -
- -

This example is for runit, but it will work with all init systems packaged in the -distribution repositories. See the ‘cpt-alternatives(1)’ manual page for more -details. -

-
-
cpt a runit /usr/bin/init
-cpt a runit /usr/bin/poweroff
-cpt a runit /usr/bin/reboot
-
- - - - - - - - - - diff --git a/src/docs/Chroot.html b/src/docs/Chroot.html deleted file mode 100644 index c648361..0000000 --- a/src/docs/Chroot.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - -Chroot (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.2 Chroot

- -

Chroot into Carbs Linux! -

-
-
./cpt-chroot /mnt
-
- - - - - - - - - - - - - - diff --git a/src/docs/Configuring-Init.html b/src/docs/Configuring-Init.html deleted file mode 100644 index 93f7f35..0000000 --- a/src/docs/Configuring-Init.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - -Configuring Init (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

2.1 Configuring Init

- -

There are three ways you can change the behaviour of the init system. Those are: -

-
    -
  • Kernel Command Line -
  • /etc/init/rc.conf’ file -
  • Init Hooks -
- - - - - - - - - - - - diff --git a/src/docs/Configuring-hostname.html b/src/docs/Configuring-hostname.html deleted file mode 100644 index f4d4bee..0000000 --- a/src/docs/Configuring-hostname.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -Configuring hostname (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.3.1 Configuring hostname

- -

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
-
- - - - - - diff --git a/src/docs/Contribution-Guidelines.html b/src/docs/Contribution-Guidelines.html deleted file mode 100644 index 5b2c7cf..0000000 --- a/src/docs/Contribution-Guidelines.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Contribution Guidelines (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Top   [Contents]

-
-
-

3 Contribution Guidelines

- -

Thanks for taking your time to contribute! To maintain stylistic behaviour -throughout the repositories, one must adhere to these conventions. Exceptions -and changes may occur with good reasoning. -

- - - - - - - - - diff --git a/src/docs/Conventions.html b/src/docs/Conventions.html deleted file mode 100644 index e1b3ac6..0000000 --- a/src/docs/Conventions.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - -Conventions (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

3.1 Conventions

- - - -
-
[0010]
-

Try to keep the file readable. -

-
[0011]
-

Characters on a line shouldn’t exceed 100 characters. -

-
[0012]
-

Make sure you don’t have code commented out during -commit. Uncomment them or remove them completely. -

-
[0013]
-

Do not add comments following the code, add them to the -top of the code. It makes it harder to read, and lines longer. Here is an example: -

-
- -
-
# Good way of commenting.
-your code goes here
-
-your code goes here  # Avoid this way of commenting.
-
-
-
- - - - - - - - - - - diff --git a/src/docs/Download.html b/src/docs/Download.html deleted file mode 100644 index 5d2a595..0000000 --- a/src/docs/Download.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - -Download (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.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’. We are setting this in a URL variable so that we don’t have to -write it every time. -

-
-
wget $URL/carbs-rootfs.tar.xz.sha256
-sha256sum -c carbs-rootfs.tar.xz.sha256
-
- - - - - - diff --git a/src/docs/Essential-Software.html b/src/docs/Essential-Software.html deleted file mode 100644 index 3910e9b..0000000 --- a/src/docs/Essential-Software.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - -Essential Software (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.2.4 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 -
  • wpa_supplicant -
- -

TEXT EDITORS -

-
    -
  • nano -
  • vim -
  • neatvi -
  • emacs -
  • emacs-nox (terminal-only version of emacs) -
- -

USER SHELLS -

-
    -
  • bash -
  • zsh -
  • oksh -
  • rc -
- -

POSIX BASE UTILITIES -

-
    -
  • busybox -
  • sbase -
  • coreutils -
- -

DOCUMENTATION -

-
    -
  • carbs-docs -
  • man-pages -
  • man-pages-posix -
- - - - - - diff --git a/src/docs/Extracting-the-tarball.html b/src/docs/Extracting-the-tarball.html deleted file mode 100644 index 8659608..0000000 --- a/src/docs/Extracting-the-tarball.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Extracting the tarball (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.1.3 Extracting the tarball

- -

You will need to extract the tarball to your desired location. For partitioning, -you can follow this guide. 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
-
- - - - - - diff --git a/src/docs/Fstab.html b/src/docs/Fstab.html deleted file mode 100644 index d4573ec..0000000 --- a/src/docs/Fstab.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Fstab (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.5.3 Fstab

- -

You can now manually edit your fstab entry, or you can use the genfstab tool. -If you want to use the tool, exit the chroot and run the following: -

-
-
wget https://github.com/cemkeylan/genfstab/raw/master/genfstab
-chmod +x genfstab
-./genfstab -U /mnt >> /mnt/etc/fstab
-
- - - - - - diff --git a/src/docs/GNU-Free-Documentation-License.html b/src/docs/GNU-Free-Documentation-License.html deleted file mode 100644 index 4fb6747..0000000 --- a/src/docs/GNU-Free-Documentation-License.html +++ /dev/null @@ -1,549 +0,0 @@ - - - - - - -GNU Free Documentation License (Carbs Linux User Manual) - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Top   [Contents]

-
-
-

Appendix A GNU Free Documentation License

- -
Version 1.3, 3 November 2008 -
-
-
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
-http://fsf.org/
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-
- -
    -
  1. PREAMBLE - -

    The purpose of this License is to make a manual, textbook, or other -functional and useful document free -in the sense of freedom: to assure everyone the effective freedom -to copy and redistribute it, with or without modifying it, either -commercially or noncommercially. Secondarily, this License -preserves for the author and publisher a way to get credit for -their work, while not being considered responsible for -modifications made by others. -

    -

    This License is a kind of "copyleft", which means that derivative -works of the document must themselves be free in the same sense. -It complements the GNU General Public License, which is a copyleft -license designed for free software. -

    -

    We have designed this License in order to use it for manuals for -free software, because free software needs free documentation: -a free program should come with manuals providing the same freedoms -that the software does. But this License is not limited to -software manuals; it can be used for any textual work, regardless -of subject matter or whether it is published as a printed book. We -recommend this License principally for works whose purpose is -instruction or reference. -

    -
  2. APPLICABILITY AND DEFINITIONS - -

    This License applies to any manual or other work, in any medium, -that contains a notice placed by the copyright holder saying it can -be distributed under the terms of this License. Such a notice -grants a world-wide, royalty-free license, unlimited in duration, -to use that work under the conditions stated herein. The -"Document", below, refers to any such manual or work. Any member -of the public is a licensee, and is addressed as "you". You accept -the license if you copy, modify or distribute the work in a way -requiring permission under copyright law. -

    -

    A "Modified Version" of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. -

    -

    A "Secondary Section" is a named appendix or a front-matter section -of the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document’s overall -subject (or to related matters) and contains nothing that could -fall directly within that overall subject. (Thus, if the Document -is in part a textbook of mathematics, a Secondary Section may not -explain any mathematics.) The relationship could be a matter of -historical connection with the subject or with related matters, or -of legal, commercial, philosophical, ethical or political position -regarding them. -

    -

    The "Invariant Sections" are certain Secondary Sections whose -titles are designated, as being those of Invariant Sections, in the -notice that says that the Document is released under this License. -If a section does not fit the above definition of Secondary then it -is not allowed to be designated as Invariant. The Document may -contain zero Invariant Sections. If the Document does not identify -any Invariant Sections then there are none. -

    -

    The "Cover Texts" are certain short passages of text that are -listed, as Front-Cover Texts or Back-Cover Texts, in the notice -that says that the Document is released under this License. -A Front-Cover Text may be at most 5 words, and a Back-Cover Text -may be at most 25 words. -

    -

    A "Transparent" copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed -of pixels) generic paint programs or (for drawings) some widely -available drawing editor, and that is suitable for input to text -formatters or for automatic translation to a variety of formats -suitable for input to text formatters. A copy made in an otherwise -Transparent file format whose markup, or absence of markup, has -been arranged to thwart or discourage subsequent modification by -readers is not Transparent. An image format is not Transparent if -used for any substantial amount of text. A copy that is not -"Transparent" is called "Opaque". -

    -

    Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input format, -SGML or XML using a publicly available DTD, and standard-conforming -simple HTML, PostScript or PDF designed for human modification. -Examples of transparent image formats include PNG, XCF and JPG. -Opaque formats include proprietary formats that can be read and -edited only by proprietary word processors, SGML or XML for which -the DTD and/or processing tools are not generally available, and -the machine-generated HTML, PostScript or PDF produced by some word -processors for output purposes only. -

    -

    The "Title Page" means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the -material this License requires to appear in the title page. For -works in formats which do not have any title page as such, "Title -Page" means the text near the most prominent appearance of the -work’s title, preceding the beginning of the body of the text. -

    -

    The "publisher" means any person or entity that distributes copies -of the Document to the public. -

    -

    A section "Entitled XYZ" means a named subunit of the Document -whose title either is precisely XYZ or contains XYZ in parentheses -following text that translates XYZ in another language. (Here XYZ -stands for a specific section name mentioned below, such as -"Acknowledgements", "Dedications", "Endorsements", or "History".) -To "Preserve the Title" of such a section when you modify the -Document means that it remains a section "Entitled XYZ" according -to this definition. -

    -

    The Document may include Warranty Disclaimers next to the notice -which states that this License applies to the Document. These -Warranty Disclaimers are considered to be included by reference in -this License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and -has no effect on the meaning of this License. -

    -
  3. VERBATIM COPYING - -

    You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License -applies to the Document are reproduced in all copies, and that you -add no other conditions whatsoever to those of this License. You -may not use technical measures to obstruct or control the reading -or further copying of the copies you make or distribute. However, -you may accept compensation in exchange for copies. If you -distribute a large enough number of copies you must also follow the -conditions in section 3. -

    -

    You may also lend copies, under the same conditions stated above, -and you may publicly display copies. -

    -
  4. COPYING IN QUANTITY - -

    If you publish printed copies (or copies in media that commonly -have printed covers) of the Document, numbering more than 100, and -the Document’s license notice requires Cover Texts, you must -enclose the copies in covers that carry, clearly and legibly, all -these Cover Texts: Front-Cover Texts on the front cover, and -Back-Cover Texts on the back cover. Both covers must also clearly -and legibly identify you as the publisher of these copies. The -front cover must present the full title with all words of the title -equally prominent and visible. You may add other material on the -covers in addition. Copying with changes limited to the covers, as -long as they preserve the title of the Document and satisfy these -conditions, can be treated as verbatim copying in other respects. -

    -

    If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto -adjacent pages. -

    -

    If you publish or distribute Opaque copies of the Document -numbering more than 100, you must either include a machine-readable -Transparent copy along with each Opaque copy, or state in or with -each Opaque copy a computer-network location from which the general -network-using public has access to download using public-standard -network protocols a complete Transparent copy of the Document, free -of added material. If you use the latter option, you must take -reasonably prudent steps, when you begin distribution of Opaque -copies in quantity, to ensure that this Transparent copy will -remain thus accessible at the stated location until at least one -year after the last time you distribute an Opaque copy (directly or -through your agents or retailers) of that edition to the public. -

    -

    It is requested, but not required, that you contact the authors of -the Document well before redistributing any large number of copies, -to give them a chance to provide you with an updated version of the -Document. -

    -
  5. MODIFICATIONS - -

    You may copy and distribute a Modified Version of the Document -under the conditions of sections 2 and 3 above, provided that you -release the Modified Version under precisely this License, with the -Modified Version filling the role of the Document, thus licensing -distribution and modification of the Modified Version to whoever -possesses a copy of it. In addition, you must do these things in -the Modified Version: -

    -
      -
    1. Use in the Title Page (and on the covers, if any) a title -distinct from that of the Document, and from those of previous -versions (which should, if there were any, be listed in the -History section of the Document). You may use the same title as -a previous version if the original publisher of that version -gives permission. - -
    2. List on the Title Page, as authors, one or more persons or -entities responsible for authorship of the modifications in the -Modified Version, together with at least five of the principal -authors of the Document (all of its principal authors, if it has -fewer than five), unless they release you from this requirement. - -
    3. State on the Title page the name of the publisher of the -Modified Version, as the publisher. - -
    4. Preserve all the copyright notices of the Document. - -
    5. Add an appropriate copyright notice for your modifications -adjacent to the other copyright notices. - -
    6. Include, immediately after the copyright notices, a license -notice giving the public permission to use the Modified Version -under the terms of this License, in the form shown in the -Addendum below. - -
    7. Preserve in that license notice the full lists of Invariant -Sections and required Cover Texts given in the Document’s -license notice. - -
    8. Include an unaltered copy of this License. - -
    9. Preserve the section Entitled "History", Preserve its Title, and -add to it an item stating at least the title, year, new authors, -and publisher of the Modified Version as given on the Title -Page. If there is no section Entitled "History" in the Document, -create one stating the title, year, authors, and publisher of -the Document as given on its Title Page, then add an item -describing the Modified Version as stated in the previous -sentence. - -
    10. Preserve the network location, if any, given in the Document -for public access to a Transparent copy of the Document, and -likewise the network locations given in the Document for -previous versions it was based on. These may be placed in the -"History" section. You may omit a network location for a work -that was published at least four years before the Document -itself, or if the original publisher of the version it refers -to gives permission. - -
    11. For any section Entitled "Acknowledgements" or "Dedications", -Preserve the Title of the section, and preserve in the section -all the substance and tone of each of the contributor -acknowledgements and/or dedications given therein. - -
    12. Preserve all the Invariant Sections of the Document, unaltered -in their text and in their titles. Section numbers or the -equivalent are not considered part of the section titles. - -
    13. Delete any section Entitled "Endorsements". Such a section may -not be included in the Modified Version. - -
    14. Do not retitle any existing section to be Entitled -"Endorsements" or to conflict in title with any Invariant -Section. - -
    15. Preserve any Warranty Disclaimers. -
    - -

    If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version’s license notice. -These titles must be distinct from any other section titles. -

    -

    You may add a section Entitled "Endorsements", provided it contains -nothing but endorsements of your Modified Version by various -parties—for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. -

    -

    You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. -

    -

    The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. -

    -
  6. COMBINING DOCUMENTS - -

    You may combine the Document with other documents released under -this License, under the terms defined in section 4 above for -modified versions, provided that you include in the combination all -of the Invariant Sections of all of the original documents, -unmodified, and list them all as Invariant Sections of your -combined work in its license notice, and that you preserve all -their Warranty Disclaimers. -

    -

    The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name -but different contents, make the title of each such section unique -by adding at the end of it, in parentheses, the name of the -original author or publisher of that section if known, or else -a unique number. Make the same adjustment to the section titles in -the list of Invariant Sections in the license notice of the -combined work. -

    -

    In the combination, you must combine any sections Entitled -"History" in the various original documents, forming one section -Entitled "History"; likewise combine any sections Entitled -"Acknowledgements", and any sections Entitled "Dedications". You -must delete all sections Entitled "Endorsements." -

    -
  7. COLLECTIONS OF DOCUMENTS - -

    You may make a collection consisting of the Document and other -documents released under this License, and replace the individual -copies of this License in the various documents with a single copy -that is included in the collection, provided that you follow the -rules of this License for verbatim copying of each of the documents -in all other respects. -

    -

    You may extract a single document from such a collection, and -distribute it individually under this License, provided you insert -a copy of this License into the extracted document, and follow this -License in all other respects regarding verbatim copying of that -document. -

    -
  8. AGGREGATION WITH INDEPENDENT WORKS - -

    A compilation of the Document or its derivatives with other -separate and independent documents or works, in or on a volume of -a storage or distribution medium, is called an "aggregate" if the -copyright resulting from the compilation is not used to limit the -legal rights of the compilation’s users beyond what the individual -works permit. When the Document is included in an aggregate, this -License does not apply to the other works in the aggregate which -are not themselves derivative works of the Document. -

    -

    If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half -of the entire aggregate, the Document’s Cover Texts may be placed -on covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic -form. Otherwise they must appear on printed covers that bracket -the whole aggregate. -

    -
  9. TRANSLATION - -

    Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of -section 4. Replacing Invariant Sections with translations requires -special permission from their copyright holders, but you may -include translations of some or all Invariant Sections in addition -to the original versions of these Invariant Sections. You may -include a translation of this License, and all the license notices -in the Document, and any Warranty Disclaimers, provided that you -also include the original English version of this License and the -original versions of those notices and disclaimers. In case of -a disagreement between the translation and the original version of -this License or a notice or disclaimer, the original version will -prevail. -

    -

    If a section in the Document is Entitled "Acknowledgements", -"Dedications", or "History", the requirement (section 4) to -Preserve its Title (section 1) will typically require changing the -actual title. -

    -
  10. TERMINATION - -

    You may not copy, modify, sublicense, or distribute the Document -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense, or distribute it is void, -and will automatically terminate your rights under this License. -

    -

    However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the -copyright holder fails to notify you of the violation by some -reasonable means prior to 60 days after the cessation. -

    -

    Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from -that copyright holder, and you cure the violation prior to 30 days -after your receipt of the notice. -

    -

    Termination of your rights under this section does not terminate -the licenses of parties who have received copies or rights from you -under this License. If your rights have been terminated and not -permanently reinstated, receipt of a copy of some or all of the -same material does not give you any rights to use it. -

    -
  11. FUTURE REVISIONS OF THIS LICENSE - -

    The Free Software Foundation may publish new, revised versions of -the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -http://www.gnu.org/copyleft/. -

    -

    Each version of the License is given a distinguishing version -number. If the Document specifies that a particular numbered -version of this License "or any later version" applies to it, you -have the option of following the terms and conditions either of -that specified version or of any later version that has been -published (not as a draft) by the Free Software Foundation. If -the Document does not specify a version number of this License, -you may choose any version ever published (not as a draft) by the -Free Software Foundation. If the Document specifies that a proxy -can decide which future versions of this License can be used, that -proxy’s public statement of acceptance of a version permanently -authorizes you to choose that version for the Document. -

    -
  12. RELICENSING - -

    "Massive Multiauthor Collaboration Site" (or "MMC Site") means any -World Wide Web server that publishes copyrightable works and also -provides prominent facilities for anybody to edit those works. -A public wiki that anybody can edit is an example of such -a server. A "Massive Multiauthor Collaboration" (or "MMC") -contained in the site means any set of copyrightable works thus -published on the MMC site. -

    -

    "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 -license published by Creative Commons Corporation, -a not-for-profit corporation with a principal place of business in -San Francisco, California, as well as future copyleft versions of -that license published by that same organization. -

    -

    "Incorporate" means to publish or republish a Document, in whole -or in part, as part of another Document. -

    -

    An MMC is "eligible for relicensing" if it is licensed under this -License, and if all works that were first published under this -License somewhere other than this MMC, and subsequently -incorporated in whole or in part into the MMC, (1) had no cover -texts or invariant sections, and (2) were thus incorporated prior -to November 1, 2008. -

    -

    The operator of an MMC Site may republish an MMC contained in the -site under CC-BY-SA on the same site at any time before August 1, -2009, provided the MMC is eligible for relicensing. -

- - -

A.1 ADDENDUM: How to use this License for your documents

- -

To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: -

-
-
Copyright (C)  YEAR  YOUR NAME.
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.3
-or any later version published by the Free Software Foundation;
-with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
-Texts.  A copy of the license is included in the section entitled ``GNU
-Free Documentation License''.
-
- -

If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the "with…Texts." line with this: -

-
-
with the Invariant Sections being LIST THEIR TITLES, with
-the Front-Cover Texts being LIST, and with the Back-Cover Texts
-being LIST.
-
- -

If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. -

-

If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, to -permit their use in free software. -

-
-
-

-Previous: , Up: Top   [Contents]

-
- - - - - diff --git a/src/docs/Hosts-file.html b/src/docs/Hosts-file.html deleted file mode 100644 index ed26d62..0000000 --- a/src/docs/Hosts-file.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Hosts file (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.3.2 Hosts file

- -

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
-
- - - - - - diff --git a/src/docs/Init-Hooks.html b/src/docs/Init-Hooks.html deleted file mode 100644 index 52e2e84..0000000 --- a/src/docs/Init-Hooks.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - - -Init Hooks (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

2.1.3 Init Hooks

- -

Init hooks are for custom personal commands that the user may want to add to -alter their boot. These can be used to load kernel modules, modify interfaces, -and lot more. Those hooks are added to the ‘/etc/init’ directory with the -hook name as the suffix. For example, a boot script will be placed as -‘/etc/init/my-hook.boot’. Currently, there are 4 hooks that the user can use. -

-
-
early-boot
-

Run after pseudo-filesystems are mounted. -

-
boot
-

Run before the boot stage is completed. -

-
pre.shutdown
-

Run first when shutting down. -

-
umount
-

Run just before filesystems are unmounted. -

-
post.shutdown
-

Run just before the system is halted. -

-
- - - - - - diff --git a/src/docs/Init-System.html b/src/docs/Init-System.html deleted file mode 100644 index 3d23ab0..0000000 --- a/src/docs/Init-System.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - -Init System (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Top   [Contents]

-
-
-

2 Init System

- -

Carbs Linux init scripts are run by the init daemon (‘busybox’ by default) on -boot and shutdown processes. It also provides its own halting program named -shalt. This provides a portable method that doesn’t rely on non-POSIX external -programs. -

- - - - - - - - - - diff --git a/src/docs/Init-scripts.html b/src/docs/Init-scripts.html deleted file mode 100644 index bd5a32a..0000000 --- a/src/docs/Init-scripts.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -Init scripts (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Making your system bootable   [Contents]

-
-
-

1.5.2 Init scripts

- -

Only thing left to do is installing the init-scripts, and now you are almost -ready to boot your system! -

-
-
cpt b carbs-init && cpt i carbs-init
-
- - - - - - diff --git a/src/docs/Installation.html b/src/docs/Installation.html deleted file mode 100644 index d088c4d..0000000 --- a/src/docs/Installation.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - -Installation (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Top   [Contents]

-
-
-

1 Installation

- -

These are the step-by-step instructions for installing Carbs Linux. It can be -acquired as plain-text to be viewed offline with a pager from -https://carbslinux.org/docs/install.txt. -

-
-
curl -sL https://carbslinux.org/docs/install.txt | less
-
- - - - - - - - - - - - - - - diff --git a/src/docs/Installing-packages.html b/src/docs/Installing-packages.html deleted file mode 100644 index 2a2e342..0000000 --- a/src/docs/Installing-packages.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - -Installing packages (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Chroot   [Contents]

-
-
-

1.2.3 Installing packages

- -

Since you are operating on a really small base, you might need to build and -install new programs to extend the functionality of your system. In order to -build and install packages new packages in Carbs, you need to execute the -following. "Package" is not actually a package and is given as an example. -

-
-
cpt-build   package
-cpt-install package
-
- - - - - - diff --git a/src/docs/KISS-repositories.html b/src/docs/KISS-repositories.html deleted file mode 100644 index 3824e9e..0000000 --- a/src/docs/KISS-repositories.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - -KISS repositories (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.6.1 KISS repositories

- -

While not 100% compatible with cpt, you can use kiss repositories in your -system the same way you are using the distribution repositories. Here is an -example for the KISS Linux Community repository. -

- - - - - diff --git a/src/docs/Kernel-Command-Line.html b/src/docs/Kernel-Command-Line.html deleted file mode 100644 index a099dc8..0000000 --- a/src/docs/Kernel-Command-Line.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - -Kernel Command Line (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

2.1.1 Kernel Command Line

- -

On GRUB, you can edit the kernel command line parameters, which will be parsed -as variables on the init system. Not all of the parameters will be acted upon, -but all of them will be set as variables on the init script. For example an -example command line, and how it is interpreted. -

-
-
BOOT_IMAGE=/boot/vmlinuz root=/dev/sda2 rw loglevel=3 quiet
-
- -

This command line will be parsed to set the following variables: -

-
-
BOOT_IMAGE=/boot/vmlinuz
-root=/dev/sda2
-rw=1
-loglevel=3
-quiet=1
-
- -

Some of these variables, such as ‘rw=/=ro’, ‘loglevel’, and ‘quiet’, will be -used by the init system to change the behaviour of the startup. -

- - - - - diff --git a/src/docs/Kernel-dependencies.html b/src/docs/Kernel-dependencies.html deleted file mode 100644 index 192479b..0000000 --- a/src/docs/Kernel-dependencies.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - -Kernel dependencies (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.4.2 Kernel dependencies

- -

In order to compile the kernel you will need to install some dependencies. You -will need ‘libelf’ to compile the kernel. If you want to configure using the -menu interface you will also need ‘ncurses’. -

-
-
# The package manager asks to install if you are building more than one package,
-# so no need to run 'cpt i ...'
-cpt b libelf ncurses
-
- -

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. You will need to obtain and apply the patch in the kernel -source directory. -

-
-
wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch
-patch -p1 < kernel-no-perl.patch
-
- - - - - - diff --git a/src/docs/Kernel.html b/src/docs/Kernel.html deleted file mode 100644 index 10f3945..0000000 --- a/src/docs/Kernel.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - -Kernel (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.4 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. -

- - - - - - - - - - - diff --git a/src/docs/Making-your-system-bootable.html b/src/docs/Making-your-system-bootable.html deleted file mode 100644 index 2e3a759..0000000 --- a/src/docs/Making-your-system-bootable.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - -Making your system bootable (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Installation   [Contents]

-
-
-

1.5 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. -

- - - - - - - - - - - diff --git a/src/docs/Obtain-the-chroot-helper.html b/src/docs/Obtain-the-chroot-helper.html deleted file mode 100644 index e5fc1d3..0000000 --- a/src/docs/Obtain-the-chroot-helper.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - -Obtain the chroot helper (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.1.4 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
-
- - - - - - diff --git a/src/docs/Obtaining-the-documentation.html b/src/docs/Obtaining-the-documentation.html deleted file mode 100644 index 03739b5..0000000 --- a/src/docs/Obtaining-the-documentation.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -Obtaining the documentation (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Chroot   [Contents]

-
-
-

1.2.5 Obtaining the documentation

- -

All the documentation for Carbs Linux can be found on a single info manual to be -viewed offline. You can obtain texinfo or the info (standalone) package in order -to view the documentation. -

-
-
# Install the documentation.
-cpt b carbs-docs && cpt i carbs-docs
-
-# Install either texinfo or the info package. We will be installing standalone info
-# as it doesn't need perl.
-cpt b info && cpt i info
-
-# You can then run info and navigate through the documentation.
-info carbslinux
-
- - - - - - diff --git a/src/docs/Obtaining-the-kernel-sources.html b/src/docs/Obtaining-the-kernel-sources.html deleted file mode 100644 index 5acdb26..0000000 --- a/src/docs/Obtaining-the-kernel-sources.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - -Obtaining the kernel sources (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Up: Kernel   [Contents]

-
-
-

1.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.9.1.tar.xz
-tar xf linux-5.9.1.tar.xz
-
-# Change directory into the kernel sources
-cd linux-5.9.1
-
- - - - - - diff --git a/src/docs/Post_002dinstallation.html b/src/docs/Post_002dinstallation.html deleted file mode 100644 index da1dc05..0000000 --- a/src/docs/Post_002dinstallation.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Post-installation (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.6 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. -You can check the rest of the documentation to learn more about the system. -

- - - - - - - - - diff --git a/src/docs/Preparing-Environment.html b/src/docs/Preparing-Environment.html deleted file mode 100644 index 89fc029..0000000 --- a/src/docs/Preparing-Environment.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - -Preparing Environment (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Up: Installation   [Contents]

-
-
-

1.1 Preparing Environment

- -

To install Carbs Linux, you will need a Live Linux ISO. For that purpose, you -can obtain a Gentoo or Void Linux live image. You can follow their instructions -to boot and setup your network. -

-

You will need the following programs in order to install Carbs Linux: -

-
    -
  • tar -
  • wget -
  • xz -
  • some form of base utilities (coreutils, sbase, busybox, etc.) -
- -

Rest of these instructions will assume that you have set all of these up, and -will continue on that point. -

- - - - - - - - - - - - diff --git a/src/docs/Rebooting-after-changing-init.html b/src/docs/Rebooting-after-changing-init.html deleted file mode 100644 index 85d02cf..0000000 --- a/src/docs/Rebooting-after-changing-init.html +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - -Rebooting after changing init (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

2.2.1 Rebooting after changing init

- -

After switching init systems, your running init system may not accept the -new poweroff commands. You will need to reboot/poweroff using the running init’s -utilities for the new utilities to work. These commands are for the init system -currently running on your system and not the one you are switching to. -

- - - - - -
ProgramCommand
busyboxbusybox reboot
runitrunit-init 6
shinit/sinitkill -s INT 1
- - - - - - diff --git a/src/docs/Repository-Conventions.html b/src/docs/Repository-Conventions.html deleted file mode 100644 index 598cc7a..0000000 --- a/src/docs/Repository-Conventions.html +++ /dev/null @@ -1,219 +0,0 @@ - - - - - - -Repository Conventions (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Conventions   [Contents]

-
-
-

3.1.2 Repository Conventions

- -

Repository conventions are important in order to ensure every package resemble -themselves. Here are the things to keep in mind: -

-
-
[2010]
-

Prefer tarballs over git packages unless there is a -sensible reason. Here are some: -

    -
  • Every patch is a new release. (See vim) -
  • There are no releases. (See sbase) -
  • Following a development branch. -
  • There has been a long time since the latest release, but upstream is far -ahead. -
-
-
[2020]
-

Prefer sources without a dependency to ‘automake’. There -are usually distribution tarballs that are ‘autoconf’’ed. Don’t submit tarballs -with an automake dependency unless you are ‘sure’ there is no alternative. -

-
[2030]
-

Avoid these packages: -

-
dbus
-

Usually can be disabled by --disable-dbus. -

-
gettext
-

Usually can be disabled by --disable-nls. -

-
-
-
[2040]
-
    -
  • Always install a package to the ‘/usr’ prefix. -
  • All binaries should go to ‘/usr/bin’, not ‘/usr/sbin’ or any other directory. -
  • All libraries should go to ‘/usr/lib’. -
-
-
[2050]
-

All build files on the repository should be a POSIX -shell script, and must start with #!/bin/sh -e. -

-
- -

The next section is about package templates that should be used in order to -ensure stylistic consistency. Note that the option configurations shouldn’t be -taken literally, they are meant as examples. -

-
    -
  1. Make [2210] - - -
    -
    #!/bin/sh -e
    -
    -make
    -make DESTDIR="$1" PREFIX=/usr install
    -
    - -
  2. Configure/Make [2211] - - -
    -
    #!/bin/sh -e
    -
    -./configure \
    -    --prefix=/usr \
    -    --disable-option \
    -    --enable-option
    -
    -make
    -make DESTDIR="$1" install
    -
    - -
  3. Autoconf/Automake [2212] - - -

    See 2020 -

    -
    -
    #!/bin/sh -e
    -
    -autoreconf -fi
    -
    -./configure \
    -    --prefix=/usr \
    -    --disable-option \
    -    --enable-option
    -
    -make
    -make DESTDIR="$1" install
    -
    - -
  4. Meson [2220] - - -
    -
    #!/bin/sh -e
    -
    -export DESTDIR=$1
    -
    -meson \
    -    --prefix=/usr \
    -    -Doption=false \
    -    -Doption2=true \
    -    . output
    -
    -ninja -C output
    -ninja -C output install
    -
    - -
  5. Cmake [2230] - - -
    -
    #!/bin/sh -e
    -
    -export DESTDIR=$1
    -
    -cmake -B build \
    -    -DCMAKE_INSTALL_PREFIX=/usr \
    -    -DCMAKE_BUILD_TYPE=Release \
    -    -DOPTION=ON
    -
    -cmake --build   build
    -cmake --install build
    -
    - -
  6. Go [2240] - - -
    -
    #!/bin/sh -e
    -
    -export GOPATH=$PWD/gopath
    -trap "go clean -modcache" EXIT INT
    -go mod vendor
    -
    -go build
    -install -Dm755 program "$1/usr/bin/program"
    -
    - -
  7. Python [2241] - - -
    -
    #!/bin/sh -e
    -
    -python setup.py build
    -python setup.py install --prefix=/usr --root="$1"
    -
    -
- -
-
-

-Previous: , Up: Conventions   [Contents]

-
- - - - - diff --git a/src/docs/Setting-up-repositories.html b/src/docs/Setting-up-repositories.html deleted file mode 100644 index 44360ab..0000000 --- a/src/docs/Setting-up-repositories.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - -Setting up repositories (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Up: Chroot   [Contents]

-
-
-

1.2.1 Setting up repositories

- -

Newest tarballs do not come with repositories, so you will need to manually -obtain them, and set your ‘CPT_PATH’ environment variable. Carbs Linux -repositories can either be obtained by ‘git’ or ‘rsync’. While rsync -repositories are overall faster and smaller, git offers the whole history of the -repository and a means to manipulate your repository as you like it. If you want -to obtain the git repository, you will need to install ‘git’ itself. -

-

The following guide will assume that you put the repositories into ‘~/repos/’ -directory, but you can put the repositories into any directory you want. So go -ahead and create that directory: -

-
-
mkdir -p $HOME/repos
-
- -
    -
  1. Obtaining from git - - -

    Carbs Linux git repositories can be found both from the main server and GitHub -(mirror). Here are both their repository links. You can clone any of them. -

    - - -
    -
    git clone git://git.carbslinux.org/repository $HOME/repos/carbs
    -
    - -
  2. Obtaining from rsync - - -

    Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In -order to obtain it, run the following: -

    -
    -
    rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
    -
    - -
  3. Making the package manager use the repositories - - -

    In your shell’s configuration file, or in your ‘~/.profile’ file, add the -following lines: -

    -
    -
    CPT_PATH=$HOME/repos/carbs/core
    -CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra
    -CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg
    -CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community
    -export CPT_PATH
    -
    -
- - - - - - diff --git a/src/docs/Shell-Conventions.html b/src/docs/Shell-Conventions.html deleted file mode 100644 index dd841de..0000000 --- a/src/docs/Shell-Conventions.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - -Shell Conventions (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

3.1.1 Shell Conventions

- -

Shell is central to Carbs Linux projects. Most of the tools and packages are -written in POSIX sh. -

-
-
[1010]
-

Use 4 spaces for indentation, don’t use tabs. -

-
[1020]
-

Make sure you don’t use bash-specific code. -

-
[1030]
-

Make sure you lint your code with ‘shellcheck’ and if -you are new to POSIX sh, use ‘checkbashisms’. -

-
[1040]
-

Don’t spawn new processes if you don’t absolutely need -to, especially during string manipulation. -

-
[1041]
-

Never use a program for text manupilation that isn’t -defined in the POSIX standard. This includes ‘gawk’ and ‘perl’. -

-
[1042]
-

Instead of $(basename $file), use ${file##*}. -

-
[1043]
-

Instead of $(dirname $file), use ${file%/*}. -

-
- -
-
# This is the same thing as basename /path/to/test.asc .asc
-
-$ file=/path/to/test.asc file=${file##*/} file=${file%.asc}
-$ echo $file
-test
-
-
-
[1050]
-

Instead of backticks, use $(..). -

-
- - - - - - diff --git a/src/docs/Signature-verification.html b/src/docs/Signature-verification.html deleted file mode 100644 index 8dccbe3..0000000 --- a/src/docs/Signature-verification.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - -Signature verification (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.1.2 Signature verification

- -

It is highly recommended to verify the signature of the tarball. You will need -GPG for this. -

-
-
wget $URL/carbs-rootfs.tar.xz.sig
-gpg --recv-keys FF484BDFEFCEF8FF
-gpg --verify carbs-rootfs.tar.xz.sig
-
- - - - - - diff --git a/src/docs/System-Configuration.html b/src/docs/System-Configuration.html deleted file mode 100644 index 76cf410..0000000 --- a/src/docs/System-Configuration.html +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - -System Configuration (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Installation   [Contents]

-
-
-

1.3 System Configuration

- -

After you have finished installing some extra packages, you can configure your -system to your liking. -

- - - - - - - - - - diff --git a/src/docs/Updating-packages.html b/src/docs/Updating-packages.html deleted file mode 100644 index 0c65553..0000000 --- a/src/docs/Updating-packages.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - -Updating packages (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
-

1.2.2 Updating packages

- -

It is good practice to make sure your system is up to date, especially before -building new packages. If there is an update for the package manager you will -need to update twice. -

-
-
cpt-update && cpt-update
-
- - - - - - diff --git a/src/docs/_002fetc_002finit_002frcconf-file.html b/src/docs/_002fetc_002finit_002frcconf-file.html deleted file mode 100644 index 5f33c04..0000000 --- a/src/docs/_002fetc_002finit_002frcconf-file.html +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - -/etc/init/rcconf file (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Configuring Init   [Contents]

-
-
-

2.1.2 ‘/etc/init/rc.conf’ file

- -

However, the kernel command line isn’t the only place to set your boot -parameters. You can specify variables here as well, although note that the -kernel command line always gets the priority for these variables since they can -be set just before boot. -

- - - - - diff --git a/src/docs/index.html b/src/docs/index.html deleted file mode 100644 index 68cef39..0000000 --- a/src/docs/index.html +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - -Top (Carbs Linux User Manual) - - - - - - - - - - - - - - - -

Carbs Linux User Manual

- - - - - -

Table of Contents

- - - - -
-

-Next:   [Contents]

-
-
-

Carbs Linux User Manual

- -

This is the full documentation of Carbs Linux, from the details of the -distribution, installation, to the package manager. It is not yet complete. -

- -

This documentation is also available in the distribution by the -carbs-docs package, which can be read by either running -info carbslinux or reading /usr/share/doc/carbslinux.txt with your -favorite pager. You can install either the info or texinfo -for doing the first. -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-

-Next:   [Contents]

-
- - - - - diff --git a/src/docs/install.html b/src/docs/install.html deleted file mode 100644 index 176aacd..0000000 --- a/src/docs/install.html +++ /dev/null @@ -1,822 +0,0 @@ - - - - - - - -Carbs Linux Installation Guide - - - - - -
-

Carbs Linux Installation Guide

- -

-These are the step-by-step instructions for installing Carbs Linux. It can be -acquired as plain-text to be viewed offline with a pager from -https://carbslinux.org/docs/install.txt. -

- -
-

1 Preparing Environment

-
-

-To install Carbs Linux, you will need a Live Linux ISO. For that purpose, you -can obtain a Gentoo or Void Linux live image. You can follow their instructions -to boot and setup your network. -

- -

-You will need the following programs in order to install Carbs Linux: -

- -
    -
  • tar
  • -
  • wget
  • -
  • xz
  • -
  • some form of base utilities (coreutils, sbase, busybox, etc.)
  • -
- -

-Rest of these instructions will 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. We are setting this in a URL variable so that we don't have to -write it every time. -

- -
-
wget $URL/carbs-rootfs.tar.xz.sha256
-sha256sum -c carbs-rootfs.tar.xz.sha256
-
-
-
-
- -
-

1.2 Signature verification

-
-

-It is highly recommended to verify the signature of the tarball. You will need -GPG for this. -

- -
-
wget $URL/carbs-rootfs.tar.xz.sig
-gpg --recv-keys FF484BDFEFCEF8FF
-gpg --verify carbs-rootfs.tar.xz.sig
-
-
-
-
- -
-

1.3 Extracting the tarball

-
-

-You will need to extract the tarball to your desired location. For partitioning, -you can follow this guide. 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.4 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 Chroot

-
-

-Chroot into Carbs Linux! -

- -
-
./cpt-chroot /mnt
-
-
-
- -
-

2.1 Setting up repositories

-
-

-Newest tarballs do not come with repositories, so you will need to manually -obtain them, and set your CPT_PATH environment variable. Carbs Linux -repositories can either be obtained by git or rsync. While rsync -repositories are overall faster and smaller, git offers the whole history of the -repository and a means to manipulate your repository as you like it. If you want -to obtain the git repository, you will need to install git itself. -

- -

-The following guide will assume that you put the repositories into ~/repos/ -directory, but you can put the repositories into any directory you want. So go -ahead and create that directory: -

- -
-
mkdir -p $HOME/repos
-
-
-
- -
-

2.1.1 Obtaining from git

-
-

-Carbs Linux git repositories can be found both from the main server and GitHub -(mirror). Here are both their repository links. You can clone any of them. -

- - - -
-
git clone git://git.carbslinux.org/repository $HOME/repos/carbs
-
-
-
-
- -
-

2.1.2 Obtaining from rsync

-
-

-Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In -order to obtain it, run the following: -

- -
-
rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
-
-
-
-
- -
-

2.1.3 Making the package manager use the repositories

-
-

-In your shell's configuration file, or in your ~/.profile file, add the -following lines: -

- -
-
CPT_PATH=$HOME/repos/carbs/core
-CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra
-CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg
-CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community
-export CPT_PATH
-
-
-
-
-
- -
-

2.2 Updating packages

-
-

-It is good practice to make sure your system is up to date, especially before -building new packages. If there is an update for the package manager you will -need to update twice. -

- -
-
cpt-update && cpt-update
-
-
-
-
- -
-

2.3 Installing packages

-
-

-Since you are operating on a really small base, you might need to build and -install new programs to extend the functionality of your system. In order to -build and install packages new packages in Carbs, you need to execute the -following. "Package" is not actually a package and is given as an example. -

- -
-
cpt-build   package
-cpt-install package
-
-
-
-
- -
-

2.4 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
  • -
  • wpasupplicant
  • -
- -

-TEXT EDITORS -

- -
    -
  • nano
  • -
  • vim
  • -
  • neatvi
  • -
  • emacs
  • -
  • emacs-nox (terminal-only version of emacs)
  • -
- -

-USER SHELLS -

- -
    -
  • bash
  • -
  • zsh
  • -
  • oksh
  • -
  • rc
  • -
- -

-POSIX BASE UTILITIES -

- -
    -
  • busybox
  • -
  • sbase
  • -
  • coreutils
  • -
- -

-DOCUMENTATION -

- -
    -
  • carbs-docs
  • -
  • man-pages
  • -
  • man-pages-posix
  • -
-
-
- -
-

2.5 Obtaining the documentation

-
-

-All the documentation for Carbs Linux can be found on a single info manual to be -viewed offline. You can obtain texinfo or the info (standalone) package in order -to view the documentation. -

- -
-
# Install the documentation.
-cpt b carbs-docs && cpt i carbs-docs
-
-# Install either texinfo or the info package. We will be installing standalone info
-# as it doesn't need perl.
-cpt b info && cpt i info
-
-# You can then run info and navigate through the documentation.
-info carbslinux
-
-
-
-
-
- -
-

3 System Configuration

-
-

-After you have finished installing some extra packages, you can configure your -system to your liking. -

-
- -
-

3.1 Configuring hostname

-
-

-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 Hosts file

-
-

-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
-
-
-
-
- -
-

4 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. -

-
- -
-

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.9.1.tar.xz
-tar xf linux-5.9.1.tar.xz
-
-# Change directory into the kernel sources
-cd linux-5.9.1
-
-
-
-
- -
-

4.2 Kernel dependencies

-
-

-In order to compile the kernel you will need to install some dependencies. You -will need libelf to compile the kernel. If you want to configure using the -menu interface you will also need ncurses. -

- -
-
# The package manager asks to install if you are building more than one package,
-# so no need to run 'cpt i ...'
-cpt b libelf ncurses
-
-
- -

-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. You will need to obtain and apply the patch in the kernel -source directory. -

- -
-
wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch
-patch -p1 < kernel-no-perl.patch
-
-
-
-
- -
-

4.3 Building the kernel

-
-

-Next step is configuring and building the kernel. You can check Gentoo's -kernel configuration guide to learn more about the matter. Overall, Gentoo Wiki -is a good place to learn about configuration according to your hardware. The -following will assume a monolithic kernel. -

- -
-
make menuconfig
-make
-install -Dm755 $(make -s image_name) /boot/vmlinuz-linux
-
-
-
-
-
- -
-

5 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 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). -

-
- -
-

5.1.1 GRUB BIOS installation

-
-
-
cpt b grub && cpt i grub
-grub-install --target=i386-pc /dev/sdX
-grub-mkconfig -o /boot/grub/grub.cfg
-
-
-
-
- -
-

5.1.2 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 Init scripts

-
-

-Only thing left to do is installing the init-scripts, and now you are almost -ready to boot your system! -

- -
-
cpt b carbs-init && cpt i carbs-init
-
-
-
-
- -
-

5.3 Fstab

-
-

-You can now manually edit your fstab entry, or you can use the genfstab tool. -If you want to use the tool, exit the chroot and run the following: -

- -
-
wget https://github.com/cemkeylan/genfstab/raw/master/genfstab
-chmod +x genfstab
-./genfstab -U /mnt >> /mnt/etc/fstab
-
-
-
-
-
- -
-

6 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. -You can check the rest of the documentation to learn more about the system. -

-
- -
-

6.1 KISS repositories

-
-

-While not 100% compatible with cpt, you can use kiss repositories in your -system the same way you are using the distribution repositories. Here is an -example for the KISS Linux Community repository. -

-
-
-
-
- - diff --git a/src/docs/install.txt b/src/docs/install.txt deleted file mode 100644 index 6f51fa8..0000000 --- a/src/docs/install.txt +++ /dev/null @@ -1,485 +0,0 @@ - ________________________________ - - CARBS LINUX INSTALLATION GUIDE - - Cem Keylan - ________________________________ - - -Table of Contents -_________________ - -1. Preparing Environment -.. 1. Download -.. 2. Signature verification -.. 3. Extracting the tarball -.. 4. Obtain the chroot helper -2. Chroot -.. 1. Setting up repositories -..... 1. Obtaining from git -..... 2. Obtaining from rsync -..... 3. Making the package manager use the repositories -.. 2. Updating packages -.. 3. Installing packages -.. 4. Essential Software -.. 5. Obtaining the documentation -3. System Configuration -.. 1. Configuring hostname -.. 2. Hosts file -4. Kernel -.. 1. Obtaining the kernel sources -.. 2. Kernel dependencies -.. 3. Building the kernel -5. Making your system bootable -.. 1. Bootloader -..... 1. GRUB BIOS installation -..... 2. GRUB UEFI installation -.. 2. Init scripts -.. 3. Fstab -6. Post-installation -.. 1. KISS repositories - - -These are the step-by-step instructions for installing Carbs Linux. It -can be acquired as plain-text to be viewed offline with a pager from -. - -,---- -| curl -sL https://carbslinux.org/docs/install.txt | less -`---- - - -1 Preparing Environment -======================= - - To install Carbs Linux, you will need a Live Linux ISO. For that - purpose, you can obtain a Gentoo or Void Linux live image. You can - follow their instructions to boot and setup your network. - - You will need the following programs in order to install Carbs Linux: - - - tar - - wget - - xz - - some form of base utilities (coreutils, sbase, busybox, etc.) - - Rest of these instructions will 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'. We are setting this in a - URL variable so that we don't have to write it every time. - - ,---- - | wget $URL/carbs-rootfs.tar.xz.sha256 - | sha256sum -c carbs-rootfs.tar.xz.sha256 - `---- - - -1.2 Signature verification -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - It is highly recommended to verify the signature of the tarball. You - will need GPG for this. - - ,---- - | wget $URL/carbs-rootfs.tar.xz.sig - | gpg --recv-keys FF484BDFEFCEF8FF - | gpg --verify carbs-rootfs.tar.xz.sig - `---- - - -1.3 Extracting the tarball -~~~~~~~~~~~~~~~~~~~~~~~~~~ - - You will need to extract the tarball to your desired location. For - partitioning, you can follow [this guide]. 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 - `---- - - -[this guide] - - -1.4 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 Chroot -======== - - Chroot into Carbs Linux! - - ,---- - | ./cpt-chroot /mnt - `---- - - -2.1 Setting up repositories -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - Newest tarballs do not come with repositories, so you will need to - manually obtain them, and set your `CPT_PATH' environment - variable. Carbs Linux repositories can either be obtained by `git' or - `rsync'. While rsync repositories are overall faster and smaller, git - offers the whole history of the repository and a means to manipulate - your repository as you like it. If you want to obtain the git - repository, you will need to install `git' itself. - - The following guide will assume that you put the repositories into - `~/repos/' directory, but you can put the repositories into any - directory you want. So go ahead and create that directory: - - ,---- - | mkdir -p $HOME/repos - `---- - - -2.1.1 Obtaining from git ------------------------- - - Carbs Linux git repositories can be found both from the main server - and GitHub (mirror). Here are both their repository links. You can - clone any of them. - - - git://git.carbslinux.org/repository - - - - ,---- - | git clone git://git.carbslinux.org/repository $HOME/repos/carbs - `---- - - -2.1.2 Obtaining from rsync --------------------------- - - Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In - order to obtain it, run the following: - - ,---- - | rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs - `---- - - -2.1.3 Making the package manager use the repositories ------------------------------------------------------ - - In your shell's configuration file, or in your `~/.profile' file, add - the following lines: - - ,---- - | CPT_PATH=$HOME/repos/carbs/core - | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/extra - | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/xorg - | CPT_PATH=$CPT_PATH:$HOME/repos/carbs/community - | export CPT_PATH - `---- - - -2.2 Updating packages -~~~~~~~~~~~~~~~~~~~~~ - - It is good practice to make sure your system is up to date, especially - before building new packages. If there is an update for the package - manager you will need to update twice. - - ,---- - | cpt-update && cpt-update - `---- - - -2.3 Installing packages -~~~~~~~~~~~~~~~~~~~~~~~ - - Since you are operating on a really small base, you might need to - build and install new programs to extend the functionality of your - system. In order to build and install packages new packages in Carbs, - you need to execute the following. "Package" is not actually a package - and is given as an example. - - ,---- - | cpt-build package - | cpt-install package - `---- - - -2.4 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 - - wpa_supplicant - - *TEXT EDITORS* - - - nano - - vim - - neatvi - - emacs - - emacs-nox (terminal-only version of emacs) - - *USER SHELLS* - - - bash - - zsh - - oksh - - rc - - *POSIX BASE UTILITIES* - - - busybox - - sbase - - coreutils - - *DOCUMENTATION* - - - carbs-docs - - man-pages - - man-pages-posix - - -2.5 Obtaining the documentation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - All the documentation for Carbs Linux can be found on a single info - manual to be viewed offline. You can obtain texinfo or the info - (standalone) package in order to view the documentation. - - ,---- - | # Install the documentation. - | cpt b carbs-docs && cpt i carbs-docs - | - | # Install either texinfo or the info package. We will be installing standalone info - | # as it doesn't need perl. - | cpt b info && cpt i info - | - | # You can then run info and navigate through the documentation. - | info carbslinux - `---- - - -3 System Configuration -====================== - - After you have finished installing some extra packages, you can - configure your system to your liking. - - -3.1 Configuring hostname -~~~~~~~~~~~~~~~~~~~~~~~~ - - 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 Hosts file -~~~~~~~~~~~~~~ - - 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 - `---- - - -4 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. - - -[example kernel package] - - -4.1 Obtaining the kernel sources -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - You can visit the 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.9.1.tar.xz - | tar xf linux-5.9.1.tar.xz - | - | # Change directory into the kernel sources - | cd linux-5.9.1 - `---- - - -4.2 Kernel dependencies -~~~~~~~~~~~~~~~~~~~~~~~ - - In order to compile the kernel you will need to install some - dependencies. You will need `libelf' to compile the kernel. If you - want to configure using the menu interface you will also need - `ncurses'. - - ,---- - | # The package manager asks to install if you are building more than one package, - | # so no need to run 'cpt i ...' - | cpt b libelf ncurses - `---- - - 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]. You will need to obtain and apply - the patch in the kernel source directory. - - ,---- - | wget https://dl.carbslinux.org/distfiles/kernel-no-perl.patch - | patch -p1 < kernel-no-perl.patch - `---- - - -[E5ten] - - -4.3 Building the kernel -~~~~~~~~~~~~~~~~~~~~~~~ - - Next step is configuring and building the kernel. You can check - Gentoo's [kernel configuration guide] to learn more about the - matter. Overall, Gentoo Wiki is a good place to learn about - configuration according to your hardware. The following will assume a - monolithic kernel. - - ,---- - | make menuconfig - | make - | install -Dm755 $(make -s image_name) /boot/vmlinuz-linux - `---- - - -[kernel configuration guide] - - - -5 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 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). - - -5.1.1 GRUB BIOS installation ----------------------------- - - ,---- - | cpt b grub && cpt i grub - | grub-install --target=i386-pc /dev/sdX - | grub-mkconfig -o /boot/grub/grub.cfg - `---- - - -5.1.2 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 Init scripts -~~~~~~~~~~~~~~~~ - - Only thing left to do is installing the init-scripts, and now you are - almost ready to boot your system! - - ,---- - | cpt b carbs-init && cpt i carbs-init - `---- - - -5.3 Fstab -~~~~~~~~~ - - You can now manually edit your fstab entry, or you can use the - genfstab tool. If you want to use the tool, exit the chroot and run - the following: - - ,---- - | wget https://github.com/cemkeylan/genfstab/raw/master/genfstab - | chmod +x genfstab - | ./genfstab -U /mnt >> /mnt/etc/fstab - `---- - - -6 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. You can check the rest of the documentation to - learn more about the system. - - -6.1 KISS repositories -~~~~~~~~~~~~~~~~~~~~~ - - While not 100% compatible with cpt, you can use kiss repositories in - your system the same way you are using the distribution - repositories. Here is an example for the KISS Linux Community - repository. diff --git a/src/download.org b/src/download.org new file mode 100644 index 0000000..ef6fb44 --- /dev/null +++ b/src/download.org @@ -0,0 +1,14 @@ +#+TITLE: Download Carbs Linux + +Below are the latest tarballs for the =x86_64= and =i686= architectures. You can +visit [[https://dl.carbslinux.org/releases]] for all downloads. Follow the +[[file:install.org][Installation guide]] to learn more about verifying the releases, and the required +steps for installing the system. + +* x86-64 + +[[https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz][carbs-rootfs.tar.xz]] | [[https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz.sha256][SHA256SUM]] | [[https://dl.carbslinux.org/releases/x86_64/carbs-rootfs.tar.xz.sig][Signature]] + +* i686 + +[[https://dl.carbslinux.org/releases/i686/carbs-rootfs.tar.xz][carbs-rootfs.tar.xz]] | [[https://dl.carbslinux.org/releases/i686/carbs-rootfs.tar.xz.sha256][SHA256SUM]] | [[https://dl.carbslinux.org/releases/i686/carbs-rootfs.tar.xz.sig][Signature]] diff --git a/src/index.md b/src/index.md deleted file mode 100644 index 9c3fa4d..0000000 --- a/src/index.md +++ /dev/null @@ -1,97 +0,0 @@ -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. - -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 --------------------------------------------------------------------------------- - -By default, Carbs Linux comes with busybox for coreutils, bearssl for its -crypto library, musl libc, and other basic utilities that are required for -building new software. The majority of the base packages are statically linked. - - -Multiple Init Support --------------------------------------------------------------------------------- - -Carbs Linux has support for multiple init systems and service supervisors. In -the main repository are - -- `sinit` -- `busybox-init` (SysVinit clone) -- `runit-init` - -for init systems, and - -- `sysmgr` -- `busybox-runit` -- `runit` - -for service supervisors. The [carbs-init] package is the collection of init -scripts that ensure the interoperability of these init and service systems, and -make it easier for the user to switch to their preferred combinations of system -supervision. - -Nothing holds you back, however, from ditching any of these and packaging some -other system supervision technique along with your own init scripts. - - -[carbs-init]: https://github.com/CarbsLinux/repository/tree/master/core/carbs-init -[Carbs Packaging Tools]: https://github.com/CarbsLinux/cpt - -Links --------------------------------------------------------------------------------- - -* IRC - `#carbslinux` on freenode -* Reddit - [/r/carbslinux] -* [Mailing Lists] - -[/r/carbslinux]: http://reddit.com/r/carbslinux -[Mailing Lists]: /mailing-lists.html - -News --------------------------------------------------------------------------------- - -[RSS Feed](/news.xml) | [See all news](/news.html) - -Sep 16 2020 --------------------------------------------------------------------------------- - -The libressl "revert" was reverted. System update will replace libressl -dependencies with bearssl. You may choose to keep or remove bearssl after the -update. - -Sep 03 2020 --------------------------------------------------------------------------------- - -The default TLS provider has been reverted to 'libressl'. System update will -replace bearssl dependencies with libressl. You may choose to keep or remove -bearssl after the update. - -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 --------------------------------------------------------------------------------- - -A new rootfs tarball including the changes to the core is released and can be -found on the downloads page. - -May 26 2020 --------------------------------------------------------------------------------- - -An initial version for binary package management is released. -It can be found on the [GitHub page]. - -[GitHub page]: https://github.com/CarbsLinux/kiss-bin diff --git a/src/index.org b/src/index.org new file mode 100644 index 0000000..df5a98f --- /dev/null +++ b/src/index.org @@ -0,0 +1,56 @@ +#+TITLE: Carbs Linux +#+DESCRIPTION: a simple Linux distribution +#+OPTIONS: title:nil + +Carbs Linux is a source-based Linux\reg distribution that aims to be simple, +flexible and extensible while staying as pragmatic and practical as possible. +The system can consist of as much or as little as its user can intend to. + +* Package Manager + +Carbs Linux uses its own package manager [[https://github.com/CarbsLinux/cpt][Carbs Packaging Tools]], a POSIX shell +package manager forked from KISS with the tool-based approach of xbps. + + +* Small base + +By default, Carbs Linux comes with busybox for coreutils, bearssl for its +crypto library, musl libc, and other basic utilities that are required for +building new software. The majority of the base packages are statically linked. + + +* Multiple Init Support + +Carbs Linux has support for multiple init systems and service supervisors. In +the main repository are + +- =sinit= +- =busybox-init= (SysVinit clone) +- =runit-init= + +for init systems, and + +- =sysmgr= +- =busybox-runit= +- =runit= + +for service supervisors. The [[https://github.com/CarbsLinux/repository/tree/master/core/carbs-init][carbs-init]] package is the collection of init +scripts that ensure the interoperability of these init and service systems, and +make it easier for the user to switch to their preferred combinations of system +supervision. + +Nothing holds you back, however, from ditching any of these and packaging some +other system supervision technique along with your own init scripts. + + +* Links + +- IRC - =#carbslinux= on freenode +- Reddit - [[https://reddit.com/r/carbslinux][r/carbslinux]] +- [[file:mailing-lists.org][Mailing Lists]] + +* News + +[[file:./news.xml][RSS Feed]] | [[file:./news][See all news]] + +#+INCLUDE: ../news/latest-news.org :minlevel 2 diff --git a/src/install.org b/src/install.org new file mode 100644 index 0000000..410a02b --- /dev/null +++ b/src/install.org @@ -0,0 +1,4 @@ +#+TITLE: Installation Guide +#+OPTIONS: num:t + +#+INCLUDE: "../texidocs/carbslinux.org::*Installation" :only-contents t diff --git a/src/mailing-lists.md b/src/mailing-lists.md deleted file mode 100644 index baa97a7..0000000 --- a/src/mailing-lists.md +++ /dev/null @@ -1,12 +0,0 @@ -Mailing Lists -================================================================================ - -We have mailing lists set up at [sourcehut]. You can subscribe to the mailing -list by sending an empty mail to - - ~carbslinux/dev+subscribe@lists.sr.ht - -You can also see the [archives]. - -[sourcehut]: https://sr.ht -[archives]: https://lists.sr.ht/~carbslinux/dev diff --git a/src/mailing-lists.org b/src/mailing-lists.org new file mode 100644 index 0000000..b9009e1 --- /dev/null +++ b/src/mailing-lists.org @@ -0,0 +1,6 @@ +#+TITLE: Mailing Lists + +We have mailing lists set up at [[https://sr.ht][SourceHut]]. You can subscribe to the mailing +list by sending an empty mail to [[mailto:~carbslinux/dev+subscribe@lists.sr.ht][~carbslinux/dev+subscribe@lists.sr.ht]]. + +You can also see the [[https://lists.sr.ht/~carbslinux/dev][archives]]. diff --git a/src/news.md b/src/news.md deleted file mode 100644 index 67d1788..0000000 --- a/src/news.md +++ /dev/null @@ -1,259 +0,0 @@ -Sep 16 2020 --------------------------------------------------------------------------------- - -The libressl "revert" was reverted. System update will replace libressl -dependencies with bearssl. You may choose to keep or remove bearssl after the -update. - -Sep 03 2020 --------------------------------------------------------------------------------- - -The default TLS provider has been reverted to 'libressl'. System update will -replace bearssl dependencies with libressl. You may choose to keep or remove -bearssl after the update. - -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 --------------------------------------------------------------------------------- - -A new rootfs tarball including the changes to the core is released and can be -found on the downloads page. - -May 26 2020 --------------------------------------------------------------------------------- - -An initial version for binary package management is released. -It can be found on the [GitHub page]. - -[GitHub page]: https://github.com/CarbsLinux/kiss-bin - -May 19 2020 --------------------------------------------------------------------------------- - -A rootfs tarball targeting the i686 architecture has -been released. It can be found on the [downloads page] - -[downloads page]: https://dl.carbslinux.org/releases/i686 - -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. - -[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 ! - -**EDIT:** A new bug fix release has been made. - -Apr 10 2020 --------------------------------------------------------------------------------- - -IRC channel can now be accessed from `#carbslinux` at freenode! - -Apr 06 2020 --------------------------------------------------------------------------------- - -A new rootfs tarball has been released. See the -[downloads](https://dl.carbslinux.org) page - -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 . -The git repository will continue to be served until then (without additional -commits). - -You can switch your remote by executing the following command on your -repository directory. - - git remote set-url origin https://github.com/CarbsLinux/repository - - -Feb 18 2020 --------------------------------------------------------------------------------- - -A new tarball is released. It can be found on . - -**edit:** I have removed the tarball because of a bootstrapping issue. -I will be re-adding it later today. - -**edit 2:** I have added a tarball (20200219) to reflect my recent -changes on Busybox. - - -Feb 14 2020 --------------------------------------------------------------------------------- - -**IMPORTANT!** Carbs-init update to be released on 17th of February -will require manual intervention. I am holding this update back so -people can see it before they update their system (even though the -update will show the same message as this). The rationale for the -update is explained below the intervention. - - # There is an explanation for each init - # You only need to follow the instructions - # for your own init-system - - ## busybox-init - # If you did not edit your inittab simply - # move inittab.new to inittab - -> mv /etc/inittab.new /etc/inittab - - # If you did edit your inittab you can use - # a simple sed command to remove the necessary lines - -> sed -i '/getty/d;/runsvdir/d' /etc/inittab - - - ## runit - # same as busybox-init, if you did not edit - # /etc/runit/2 move 2.new to 2 - -> mv /etc/runit/2.new /etc/runit/2 - - # else - -> vim /etc/runit/2 - # open your 2 file and remove the for loop containing - # getty commands. If you are using runit, it is recommended - # to comment out /etc/init/runit.boot - - ## sinit/minit - # If you did not edit your {sinit-,}launch-services.boot - # you can simply remove it. - -> rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot - - # This should leave you without any issues, and you can safely reboot. - -Carbs-init update is to make sure init systems do not clash, and do -not have to use different files. This is a sensible update both for -the user user and for the maintainer side. - -To give an example, before this update busybox-init was managing getty -through `inittab`, runit was managing through `/etc/runit/2`, and -minit/sinit were launching from `/etc/init/launch-services.boot`. This -is a configuration nightmare for everyone, and since I am maintaining -and constantly testing those init providers, a huge nightmare for me. -This is a Quality of Life update. - - -Feb 13 2020 --------------------------------------------------------------------------------- - -Runit is now released on the core repository! You can now replace -busybox-init with runit-init. You can also replace the busybox runit -utilities with the actual runit. This will reduce the dependency on -busybox greatly. - -Jan 28 2020 --------------------------------------------------------------------------------- - -Web Server is now on a Carbs Linux server. It is not complete yet, -but I will be adding a little more for the intended functionality. -Downtimes can be expected. - -UPDATE: ssl is now working. - -UPDATE2: downloads are back again. - - -Jan 22 2020 --------------------------------------------------------------------------------- - -Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating -this web server to my Carbs Linux server! - - -Jan 15 2020 --------------------------------------------------------------------------------- - -sinit has been taken to `core`, and is now officially supported - - -Jan 13 2020 --------------------------------------------------------------------------------- - -**Busybox update reqires manual intervention** - -The new busybox package conflicts with the pre-update busybox-init. That's why -you should rebuild and install `busybox-init` before doing the update. - - # Do a kiss update first (but don't actually update it yet), or manually pull the git repository - $ kiss u # Cancel this operation after it asks for you to confirm the update - - # Install the busybox-init package - $ kiss b busybox-init && kiss i busybox-init - - # Continue your update as you normally would. - $ kiss u - -I have moved runit and logging utilities from the busybox-init package to the busybox -package, which is the cause of these conflicts. - -Jan 10 2020 --------------------------------------------------------------------------------- - -carbs-rootfs-20200110.tar.xz was [released](//dl.carbslinux.org/releases) - - -Jan 09 2020 --------------------------------------------------------------------------------- - -Happy new year, everyone! I am back after some long silence. I was unable to commit for a -while, but I have pulled some new updates from the KISS repository, added some of my own. -This week I will be changing/adding some things. - -Important things are, - -* Carbs-init was updated to 0.3. -* I will be adding an implementation of suckless.org's [sinit](//core.suckless.org/sinit) as `carbs-sinit` -* Carbs Repository was added to [repology.org](//repology.org/repository/carbs) -* A new rootfs tarball will be coming up tomorrow. - - -Dec 18 2019 --------------------------------------------------------------------------------- - -carbs-rootfs-20191218.tar.xz was [released](//dl.carbslinux.org/releases) - - -Dec 17 2019 --------------------------------------------------------------------------------- - -Installation instruction are now complete. A review would be greatly appreciated! - - -Dec 15 2019 --------------------------------------------------------------------------------- - -Carbs Linux Wiki is now available to be edited and updated by the users go -to the [wiki](//carbslinux.org/wiki) to obtain more information. - -**February 2020 EDIT:** Changed link for wiki - - -Dec 12 2019 --------------------------------------------------------------------------------- - -Busybox and Busybox-init has been seperated into two different packages. -This is for adding standalone runit/runit-init to the repositories. - - -Dec 10 2019 --------------------------------------------------------------------------------- - -First alpha release was made. See the [downloads page](//dl.carbslinux.org/releases). - diff --git a/src/news.xml b/src/news.xml deleted file mode 100644 index 0db7bba..0000000 --- a/src/news.xml +++ /dev/null @@ -1,360 +0,0 @@ - - - - Carbs Linux - a simple linux distribution - https://carbslinux.org - - Thu Jan 07 2021 11:00 - -Sep 16 2020 -Wed, 16 Sep 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Sep 16 2020</h2> - -<p>The libressl &ldquo;revert&rdquo; was reverted. System update will replace libressl -dependencies with bearssl. You may choose to keep or remove bearssl after the -update.</p> - - -Sep 03 2020 -Thu, 03 Sep 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Sep 03 2020</h2> - -<p>The default TLS provider has been reverted to &lsquo;libressl&rsquo;. System update will -replace bearssl dependencies with libressl. You may choose to keep or remove -bearssl after the update.</p> - - -Jul 27 2020 -Mon, 27 Jul 2020 -Cem Keylan -https://carbslinux.org/index.html -<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> - - -Jun 17 2020 -Wed, 17 Jun 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jun 17 2020</h2> - -<p>A new rootfs tarball including the changes to the core is released and can be -found on the downloads page.</p> - - -May 26 2020 -Tue, 26 May 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>May 26 2020</h2> - -<p>An initial version for binary package management is released. -It can be found on the <a href="https://github.com/CarbsLinux/kiss-bin">GitHub page</a>.</p> - - -May 19 2020 -Tue, 19 May 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>May 19 2020</h2> - -<p>A rootfs tarball targeting the i686 architecture has -been released. It can be found on the <a href="https://dl.carbslinux.org/releases/i686">downloads page</a></p> - - -May 10 2020 -Sun, 10 May 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>May 10 2020</h2> - -<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> - - -Apr 27 2020 -Mon, 27 Apr 2020 -Cem Keylan -https://carbslinux.org/index.html -<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> - - -Apr 10 2020 -Fri, 10 Apr 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Apr 10 2020</h2> - -<p>IRC channel can now be accessed from <code>#carbslinux</code> at freenode!</p> - - -Apr 06 2020 -Mon, 06 Apr 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Apr 06 2020</h2> - -<p>A new rootfs tarball has been released. See the -<a href="https://dl.carbslinux.org">downloads</a> page</p> - - -Apr 05 2020 -Sun, 05 Apr 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Apr 05 2020</h2> - -<p>Carbs Linux repositories will be hosted only on Github. Commits will be -pushed there, and not the repository. You have until -May 4, 2020 Monday to switch your remotes to <a href="https://github.com/CarbsLinux/repository">https://github.com/CarbsLinux/repository</a>. -The git repository will continue to be served until then (without additional -commits).</p> - -<p>You can switch your remote by executing the following command on your -repository directory.</p> - -<pre><code>git remote set-url origin https://github.com/CarbsLinux/repository -</code></pre> - - -Feb 18 2020 -Tue, 18 Feb 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Feb 18 2020</h2> - -<p>A new tarball is released. It can be found on <a href="https://dl.carbslinux.org">https://dl.carbslinux.org</a>.</p> - -<p><strong>edit:</strong> I have removed the tarball because of a bootstrapping issue. -I will be re-adding it later today.</p> - -<p><strong>edit 2:</strong> I have added a tarball (20200219) to reflect my recent -changes on Busybox.</p> - - -Feb 14 2020 -Fri, 14 Feb 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Feb 14 2020</h2> - -<p><strong>IMPORTANT!</strong> Carbs-init update to be released on 17th of February -will require manual intervention. I am holding this update back so -people can see it before they update their system (even though the -update will show the same message as this). The rationale for the -update is explained below the intervention.</p> - -<pre><code># There is an explanation for each init -# You only need to follow the instructions -# for your own init-system - -## busybox-init -# If you did not edit your inittab simply -# move inittab.new to inittab --&gt; mv /etc/inittab.new /etc/inittab - -# If you did edit your inittab you can use -# a simple sed command to remove the necessary lines --&gt; sed -i '/getty/d;/runsvdir/d' /etc/inittab - - -## runit -# same as busybox-init, if you did not edit -# /etc/runit/2 move 2.new to 2 --&gt; mv /etc/runit/2.new /etc/runit/2 - -# else --&gt; vim /etc/runit/2 -# open your 2 file and remove the for loop containing -# getty commands. If you are using runit, it is recommended -# to comment out /etc/init/runit.boot - -## sinit/minit -# If you did not edit your {sinit-,}launch-services.boot -# you can simply remove it. --&gt; rm -f /etc/init/launch-services.boot /etc/init/sinit-launch-services.boot - -# This should leave you without any issues, and you can safely reboot. -</code></pre> - -<p>Carbs-init update is to make sure init systems do not clash, and do -not have to use different files. This is a sensible update both for -the user user and for the maintainer side.</p> - -<p>To give an example, before this update busybox-init was managing getty -through <code>inittab</code>, runit was managing through <code>/etc/runit/2</code>, and -minit/sinit were launching from <code>/etc/init/launch-services.boot</code>. This -is a configuration nightmare for everyone, and since I am maintaining -and constantly testing those init providers, a huge nightmare for me. -This is a Quality of Life update.</p> - - -Feb 13 2020 -Thu, 13 Feb 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Feb 13 2020</h2> - -<p>Runit is now released on the core repository! You can now replace -busybox-init with runit-init. You can also replace the busybox runit -utilities with the actual runit. This will reduce the dependency on -busybox greatly.</p> - - -Jan 28 2020 -Tue, 28 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 28 2020</h2> - -<p>Web Server is now on a Carbs Linux server. It is not complete yet, -but I will be adding a little more for the intended functionality. -Downtimes can be expected.</p> - -<p>UPDATE: ssl is now working.</p> - -<p>UPDATE2: downloads are back again.</p> - - -Jan 22 2020 -Wed, 22 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 22 2020</h2> - -<p>Expect downtime on Jan 24 2020 22:00 UTC as I will be migrating -this web server to my Carbs Linux server!</p> - - -Jan 15 2020 -Wed, 15 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 15 2020</h2> - -<p>sinit has been taken to <code>core</code>, and is now officially supported</p> - - -Jan 13 2020 -Mon, 13 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 13 2020</h2> - -<p><strong>Busybox update reqires manual intervention</strong></p> - -<p>The new busybox package conflicts with the pre-update busybox-init. That&rsquo;s why -you should rebuild and install <code>busybox-init</code> before doing the update.</p> - -<pre><code># Do a kiss update first (but don't actually update it yet), or manually pull the git repository -$ kiss u # Cancel this operation after it asks for you to confirm the update - -# Install the busybox-init package -$ kiss b busybox-init &amp;&amp; kiss i busybox-init - -# Continue your update as you normally would. -$ kiss u -</code></pre> - -<p>I have moved runit and logging utilities from the busybox-init package to the busybox -package, which is the cause of these conflicts.</p> - - -Jan 10 2020 -Fri, 10 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 10 2020</h2> - -<p>carbs-rootfs-20200110.tar.xz was <a href="//dl.carbslinux.org/releases">released</a></p> - - -Jan 09 2020 -Thu, 09 Jan 2020 -Cem Keylan -https://carbslinux.org/index.html -<h2>Jan 09 2020</h2> - -<p>Happy new year, everyone! I am back after some long silence. I was unable to commit for a -while, but I have pulled some new updates from the KISS repository, added some of my own. -This week I will be changing/adding some things.</p> - -<p>Important things are,</p> - -<ul> -<li>Carbs-init was updated to 0.3.</li> -<li>I will be adding an implementation of suckless.org&rsquo;s <a href="//core.suckless.org/sinit">sinit</a> as <code>carbs-sinit</code></li> -<li>Carbs Repository was added to <a href="//repology.org/repository/carbs">repology.org</a></li> -<li>A new rootfs tarball will be coming up tomorrow.</li> -</ul> - - -Dec 18 2019 -Wed, 18 Dec 2019 -Cem Keylan -https://carbslinux.org/index.html -<h2>Dec 18 2019</h2> - -<p>carbs-rootfs-20191218.tar.xz was <a href="//dl.carbslinux.org/releases">released</a></p> - - -Dec 17 2019 -Tue, 17 Dec 2019 -Cem Keylan -https://carbslinux.org/index.html -<h2>Dec 17 2019</h2> - -<p>Installation instruction are now complete. A review would be greatly appreciated!</p> - - -Dec 15 2019 -Sun, 15 Dec 2019 -Cem Keylan -https://carbslinux.org/index.html -<h2>Dec 15 2019</h2> - -<p>Carbs Linux Wiki is now available to be edited and updated by the users go -to the <a href="//carbslinux.org/wiki">wiki</a> to obtain more information.</p> - -<p><strong>February 2020 EDIT:</strong> Changed link for wiki</p> - - -Dec 12 2019 -Thu, 12 Dec 2019 -Cem Keylan -https://carbslinux.org/index.html -<h2>Dec 12 2019</h2> - -<p>Busybox and Busybox-init has been seperated into two different packages. -This is for adding standalone runit/runit-init to the repositories.</p> - - -Dec 10 2019 -Tue, 10 Dec 2019 -Cem Keylan -https://carbslinux.org/index.html -<h2>Dec 10 2019</h2> - -<p>First alpha release was made. See the <a href="//dl.carbslinux.org/releases">downloads page</a>.</p> - - - diff --git a/src/people.md b/src/people.md deleted file mode 100644 index 4d7c7af..0000000 --- a/src/people.md +++ /dev/null @@ -1,3 +0,0 @@ -People -====== -* Cem Keylan - Founder [cem@ckyln.com](mailto:cem@ckyln.com) diff --git a/src/people.org b/src/people.org new file mode 100644 index 0000000..e660080 --- /dev/null +++ b/src/people.org @@ -0,0 +1,3 @@ +* People + +- Cem Keylan - Founder [[mailto:cem@carbslinux.org][cem@carbslinux.org]] diff --git a/src/rss.xml b/src/rss.xml deleted file mode 100644 index e1f5cf2..0000000 --- a/src/rss.xml +++ /dev/null @@ -1,497 +0,0 @@ - - - - Carbs Linux - a simple linux distribution - https://carbslinux.org - - Thu Jan 07 2021 11:00 - -First Year of Carbs Linux -Thu, 10 Dec 2020 -Cem Keylan -https://carbslinux.org/blog/20201210.html -<h1>First Year of Carbs Linux</h1> - -<p>December 10, 2020 marks the first year after the initial release of Carbs -Linux. When I forked the KISS Linux repository on the 9th of December, I was -fairly new to package management. Carbs Linux used to be almost identical to -KISS Linux. A lot has changed since then:</p> - -<ul> -<li>[2020 Jan 13] Replaced default init system to <code>sinit</code></li> -<li>[2020 Jan 15] Packaged <code>WebKit2GTK</code></li> -<li>[2020 May 17] Added <code>bearssl</code> on the testing repository</li> -<li>[2020 May 28] Added <code>rsync</code> repository support to kiss</li> -<li>[2020 Jun 03] Replaced <code>bison</code> with <code>byacc</code></li> -<li>[2020 Jun 11] Replaced <code>libressl</code> with <code>bearssl</code></li> -<li>[2020 Jun 24] Replaced <code>kiss</code> with <code>cpt</code></li> -</ul> - - -<p>I have really enjoyed maintaining and developing this distribution, and I want -to thank everyone who was involved in some way or another. While I have slowed -down in development due to college workload, I am still actively maintaining all -the packages on the repository. I do have some ideas that I am thinking of -implementing during the semester break. Hope to see you all in January.</p> - - -August 2020 News Post -Mon, 03 Aug 2020 -Cem Keylan -https://carbslinux.org/blog/20200803.html -<h1>August 2020 News Post</h1> - -<p>We are having some stalls during this summer, as I am currently working on -university-related stuff. Nonetheless, there are some important changes that I -want to share in this month&rsquo;s post.</p> - -<h2>INDEX</h2> - -<ul> -<li><a href="#carbs-packaging-tools">Carbs Packaging Tools</a></li> -<li><a href="#docs">Docs</a></li> -<li><a href="#re-opening-the-carbs-linux-server">Re-opening the Carbs Linux server</a></li> -</ul> - - -<h2>Carbs Packaging Tools</h2> - -<p>This month I have reworked <code>kiss</code> into a new package manager, now renamed as -<code>cpt</code>. Updating <code>kiss</code> will now bootstrap the new package manager, so you don&rsquo;t -have to manually edit your system. If you don&rsquo;t like the idea of this, you can -look up the <code>post-install</code> script on <code>core/kiss</code> and apply the changes manually.</p> - -<p>You will also need to rename your KISS<em>* variables to CPT</em>*. So, KISS_PATH -becomes CPT_PATH.</p> - -<p>The rework changes the previous commands on the package manager into standalone -tools, and move the package manager functions to a library. This makes it easier -for a user to import functions and variables from the package manager, and -extend the package manager with their own intended way. Previously this required -ugly hacks and workarounds to use the package manager functions. I will be -making use of these changes to re-implement binary package management functions -as well.</p> - -<p>If you want to use the library on your script you can simply do this:</p> - -<pre><code>+--------------------------------------------------------------------------+ -| | -| #!/bin/sh | -| . cpt-lib | -| (...) | -| | -+--------------------------------------------------------------------------+ -</code></pre> - -<p>There are obviously some clean-up and simplifications needed in this new -tool-based package management method.</p> - -<h2>Docs</h2> - -<p>I have added documentation for the distribution, and finally updated the guide -for installation. It is now <em>almost</em> complete. These docs can be installed to -your system for online viewing. I will also add a documentation crawler similar -to how werc<a href="http://werc.cat-v.org">^1</a> works (but as an offline viewer). You can find <code>carbs-docs</code> from -the repository. Currently, the documentation lacks but I will be adding new -stuff. These will solely be distribution specific documentation and will not be -a wiki-like source. If anyone would like to contribute to a wiki-like -documentation source, I would happily re-open the distribution wiki. You can -find the source on https://github.com/CarbsLinux/docs</p> - -<h2>Re-opening the Carbs Linux server</h2> - -<p>Back in May, I had shutdown the Carbs Linux server due to financial issues, but -I am slowly reverting to the self-hosted model. Back then, the git repositories -were mirrored to GitHub, and the management was overall much more flexible. The -server used to run Carbs Linux as well (that was fun and horrifying at the same -time). Now, I will be relaunching the git server which will be the upstream -source before August 5. You can switch your remote, but GitHub will stay as a -remote nonetheless.</p> - -<p>EDIT: The git-server is up!</p> - - -June Newspost -Wed, 17 Jun 2020 -Cem Keylan -https://carbslinux.org/blog/20200617.html -<h1>June Newspost</h1> - -<p>This will be an active month for Carbs as major changes to the base and the -package manager will be coming up.</p> - -<h2>Statically linking the base</h2> - -<p>For the past couple of weeks I have been trying to simplify the base and -statically link the core (mostly binaries rather than libraries). I usually see -some people extremely opposed to static linking as I also see the opposite on -people.</p> - -<p>I believe that binaries on the core should always be linked statically. This -ensures that an SONAME bump to <code>libObscure.so</code> will not break the core -functionality of your system, forcing you to use external resources to recover -from such an issue. As long as you can compile, use core utilities, edit text, -and access the web, you can solve any given issue on your system.</p> - -<p>However, I don&rsquo;t think that removing shared libraries is sensible either. Not -every piece of software out there is good quality enough to be statically -linked.</p> - -<h2>Major changes on the core repository</h2> - -<p>There have been drastic changes to the core repository and the base rootfs this -month (with more on the way). Right now changes are as follows.</p> - -<h3>Removed from Core</h3> - -<ul> -<li><code>git</code></li> -<li><code>libressl</code></li> -<li><code>grub</code></li> -<li><code>bison</code></li> -<li><code>dhcpcd</code></li> -<li><code>ubase</code></li> -</ul> - - -<h3>Added to Core</h3> - -<ul> -<li><code>bearssl</code>, as a <code>libressl</code> replacement</li> -<li><code>byacc</code>, as a <code>bison</code> replacement</li> -</ul> - - -<h3>Statically linked</h3> - -<ul> -<li><code>kiss</code></li> -<li><code>neatvi</code></li> -<li><code>mandoc</code></li> -<li><code>byacc</code></li> -<li><code>m4</code></li> -<li><code>e2fsprogs</code></li> -<li><code>make</code></li> -<li><code>pkgconf</code></li> -<li><code>sbase</code></li> -<li><code>libnl</code></li> -<li><code>wpa_supplicant</code></li> -<li><code>bearssl</code></li> -</ul> - - -<h2>Making the wiki available offline</h2> - -<p>Soon, all documentation regarding Carbs Linux will be avaialable to be installed -from the core repository in a <code>carbs-docs</code> package along with its own document -crawler. Currently, the documentation regarding the installation process is a -little outdated which will also receive some important updates.</p> - -<h2>ISO image for Carbs</h2> - -<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&rsquo;s see how that&rsquo;s going to play out.</p> - - -kiss 2.0.0 and overall changes -Thu, 28 May 2020 -Cem Keylan -https://carbslinux.org/blog/20200528.html -<h1>kiss 2.0.0 and overall changes</h1> - -<p>Carbs Linux kiss version 2.0.0 has been released which introduces -rsync repositories.</p> - -<p>Git is no longer a mandatory dependency for the package manager, -every git source on the core repository has been replaced with -https sources (sbase, sinit), and rootfs tarballs will no longer -ship with git. Repositories in the upcoming tarball will be rsync -repositories.</p> - -<p>Git is now on the <code>extra</code> repository and is still (optionally) -used in the package manager.</p> - -<p>The idea behind this change is size reductions and increased -speed with rsync. As I said on the previous post, git repositories -get larger and larger over the time span. Currently my personal -copy of the git repository is around 77MB and I have forked KISS -Linux (as a shallow copy) around December. Obviously, I have commits -that I ommitted. I tend to create commits I dislike, which I change -with &lsquo;git reset &ndash;soft HEAD^&rsquo;, which doesn&rsquo;t actually remove the -commits, etc. A user will have a repository much smaller than mine.</p> - -<p>This is a precaution with the added bonuses of speed and dropping a -mandatory dependency.</p> - -<p>You can see the rest of the changelog <a href="https://github.com/CarbsLinux/kiss/blob/master/CHANGELOG.md">here</a>.</p> - -<h2>Binary Repositories</h2> - -<p>A few days ago, I have also published <a href="https://github.com/CarbsLinux/kiss-bin">kiss-bin</a>, a first version -for managing binary repositories. Currently, there are some caveats -that I&rsquo;ll be fixing along the way. I decided not to include this -in the package manager natively as managing the source based and -binary based packages together adds levels of complexity that we -do not want. Instead, this is an extension for kiss which sources -the package manager as a library. I hope to see it being adopted -by others interested on the matter as well.</p> - -<p>That&rsquo;s about it.</p> - -<p>Cheers, -Cem</p> - - -The Relation of Carbs and KISS -Fri, 08 May 2020 -Cem Keylan -https://carbslinux.org/blog/20200508.html -<h1>The Relation of Carbs and KISS</h1> - -<p><strong>Date:</strong> May 08 2020</p> - -<p>Since I have forked KISS, I have received many questions -that can be summarized as &ldquo;Why?&rdquo;. I have realized that I -never truly answered this question. That&rsquo;s the reason I am -writing this post, to give some background on Carbs, and -some differences between KISS Linux and Carbs Linux for -anyone who may be wondering. Perhaps I could make this a -&ldquo;FAQ&rdquo; page later on.</p> - -<h2>History</h2> - -<p>I had the idea of creating my own Linux distribution since -the May of 2019. Back then, I had my own <a href="https://linuxfromscratch.org">Linux from Scratch</a> -build, and I wanted to slim it down my own way and replace -the software (with musl,sbase,etc.). The name Carbs Linux -was in my mind since then. I wanted to write my own package -manager, but I wasn&rsquo;t satisfied with anything I had built.</p> - -<p>I had written some incomplete package managers (all named <code>fat</code>) -and I quickly threw them into the trash can, where they -honestly belonged. I would want to share them with you for -laughs, but my hard-drive got wiped and I have a problem -of not doing an &ldquo;initial commit&rdquo; until a program I write -is in a usable state.</p> - -<p>I have obtained the &lsquo;carbslinux.org&rsquo; domain name in September -2019, but then life got on the way, and I stopped for a long -time.</p> - -<p>One day on Reddit, I saw Dylan&rsquo;s post on <a href="https://reddit.com/r/unixporn">r/unixporn</a> about -KISS, and I really thought that it was interesting. Here is -my <a href="https://www.reddit.com/r/unixporn/comments/ducd34/sowm_kiss_d/f7lua7x">comment</a> to Dylan on that post. I checked out the package -manager and the repository. The packaging system was extremely -clean and well-thought. I decided to give it a go and fork -KISS.</p> - -<h2>Differences between KISS and Carbs</h2> - -<p>Now, I still baffle when people ask me this question. My -intention was never to create a distribution with specific -differences between KISS. My intention was being my own -BDFL of a distribution I maintain. There are lots of -differences between the main repositories, but they are subtle -and not worth talking about. I personally never even installed -KISS Linux on my system. So Carbs, isn&rsquo;t something like a -downstream fork of KISS, it is just a distribution that was -initially based on KISS.</p> - -<p>I try to contribute as much as I can to KISS Linux. I think -that it is a brilliant distribution, and it was a great starting -point for Carbs. I am really grateful to Dylan and all the -other contributors.</p> - -<h2>What I&rsquo;m working on now</h2> - -<p>Currently I have a few projects that I&rsquo;m working on for Carbs. -These are,</p> - -<p>A BSD port for Carbs. For a while, I have been working on BSD -compatibility on my fork of the <a href="https://github.com/carbslinux/kiss">package manager</a>. I have tested, -without any more issues, on OpenBSD and FreeBSD. The biggest -issues remaining are choosing a vendor for BSD, packaging the -BSD source, and providing a minimal base (like busybox for BSD). -If you aren&rsquo;t familiar with BSD, it has a single source code -for all of the utilities (kernel, command line programs, etc.). -Contributions (even chipping in ideas) are very welcome.</p> - -<p>Adding binary package distribution support natively to the package -manager. Biggest issue in small/old computers are compile times. -This feature is for the bigger packages such as webkit, clang, -llvm that take a considerable amount of time. Some computers -with low memories cannot even compile firefox/webkit.</p> - -<p>Adding rsync repository support to the package manager. This -is not a current issue, but rather a futureproofing. As time -passes, distribution repositories grow larger. KISS and Carbs -are young distributions without this problem right now. But -in something like 5 years, this size will presumably increase -to hundreds of megabytes. At that point it will be pointless -to have the repository sources unless you specifically need them.</p> - -<h2>What&rsquo;s up with all the init/service daemons?</h2> - -<p>If you have ever checked the <a href="https://github.com/carbslinux/repository">repository</a>, you may have noticed -that there are lots of init/service related packages. I have had -my fair share of time with all of them, and it is an area that I -am really interested in. I have even written my own <a href="https://github.com/cemkeylan/shinit">init daemon</a> -and <a href="https://github.com/cemkeylan/sysmgr">service supervisor</a>. I maintain all those packages on KISS -Community Repository as well with the exception of busybox. Those -are, <code>busybox init/runit</code>, <code>runit</code>, <code>sinit</code>, and <code>sysmgr</code>. I would -definitely recommend checking out <code>shinit</code> and <code>sysmgr</code>.</p> - -<h2>Why I don&rsquo;t publicize Carbs</h2> - -<p>There are a couple of reasons I don&rsquo;t publicize Carbs a lot.</p> - -<p>KISS is the better alternative in terms of support and community. -I work on maintaining this distribution just as hard as Dylan, -but in the end, Carbs is based on his original hard work, and I -believe that he deserves the recognition more than I do.</p> - -<p>Since I cannot answer questions like &ldquo;What is the difference?&rdquo;, I -prefer staying as the silent sibling project of KISS Linux. Plus, -there is no point in dividing the newly-emerging community in half.</p> - -<p>That&rsquo;s not because I don&rsquo;t have ideas for the future of Carbs, I -do. I just think that I will deserve the recognition once those -above lists are checked.</p> - -<p>I think that&rsquo;s about it, if you have questions you can send me a -mail, ping me on IRC (my handle is <code>merakor</code>), and I will be happy -to answer. Maybe your question fits this post, and I can update it -to thoroughly give an explanation.</p> - -<p>Cheers, -Cem</p> - - -Outsource Repository Concept -Fri, 10 Apr 2020 -Cem Keylan -https://carbslinux.org/blog/20200410.html -<h1>Outsource Repository Concept</h1> - -<p>In April 3rd, I have added submodule support for Carbs -Linux&rsquo;s fork of <code>kiss</code>. Now, from that sentence, it really -doesn&rsquo;t sound exciting at all. But in reality, it opens a -path to lots of creative output, and a better way to manage -multi-user repositories (such as KISS Community).</p> - -<p>When managing a repository of submodules, the repository -maintainer&rsquo;s only job is to deal with adding packages. -A package maintainer doesn&rsquo;t have to wait for the repository -maintainer to update their packages, as they are only making -the changes to their own repositories.</p> - -<p>This way, an end-user can also track from their preferred -maintainers, and do that with the tidyness of a single repository -in their <code>KISS_PATH</code>.</p> - -<p>Carbs Linux now has an outsource repository for some packages. -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> - - -Roadmap for Carbs -Mon, 06 Apr 2020 -Cem Keylan -https://carbslinux.org/blog/20200406.html -<h1>Roadmap for Carbs</h1> - -<p>It has been a busy week. There are lots of changes in -direction, and more to come. I want to talk a little -about all of them.</p> - -<h2>Carbs Linux Server Going Down</h2> - -<p>It became harder to maintain and pay for the server, and I will be -shutting it down in May. I am currently in the phase of -carrying over everything to <a href="https://github.com/CarbsLinux">Github</a>. The repository and the -website is served on Github now. I have also moved the <a href="https://github.com/CarbsLinux/wiki/wiki">Wiki</a> -to Github and anyone can edit it there. There are some outdated -posts that I will be fixing around this week.</p> - -<p>I am not quite sure where to store the downloads page now. But I -will be switching that to a new source as well. (Maybe Source Forge?)</p> - -<p>I feel a little sad for switching, but serving on Github is faster, -cheaper, and hassle-free.</p> - -<h2>Forking KISS</h2> - -<p>I had a personal fork of KISS, which I enjoyed thoroughly. I didn&rsquo;t -intend to make it the default when I started it, but it has matured -enough to be so. The package manager can now be found on <a href="https://github.com/CarbsLinux/kiss">this repository</a>. -See it for the added changes.</p> - -<p>This will be a change for the better, as I can develop the package -manager as it fits my views.</p> - -<h2>Small Changes on the Website</h2> - -<p>I have made some small changes on the website. The build is not dependent -on Plan9 utilities anymore. It was fun messing around with <code>rc</code> and <code>mk</code>, -but they are quite limited compared to POSIX shell.</p> - -<p>RSS feeds are finally working as intended, both for the <a href="https://carbslinux.org/news.xml">news</a> section, and -the <a href="https://carbslinux.org/rss.xml">blog</a> secion.</p> - -<p>You can see every page&rsquo;s <code>.txt</code> output at the end of the page by clicking -&lsquo;View Page Source&rsquo;. Meanwhile, I will be updating some pages to be a little -more &lsquo;human-readable&rsquo;.</p> - -<h2>Outsources Repository</h2> - -<p>I have opened an <code>outsource</code> repository, which I will be pushing this week. -I will add a new post when I am ready to push it. I think it will be interesting, -it will also make more sense about the changes I have added to the package -manager. The now empty repository, can be found <a href="https://github.com/CarbsLinux/outsource">here</a>!</p> - -<h2>New Tarball</h2> - -<p>Finally, I have released a new tarball today, which can be obtained from the -<a href="https://dl.carbslinux.org/releases">downloads page</a>.</p> - -<p>I am planning to add more of these update posts as I&rsquo;m feeling better about -the website structure overall.</p> - -<p>- Cem</p> - - -Switching to New Website -Tue, 28 Jan 2020 -Cem Keylan -https://carbslinux.org/blog/20200128.html -<h1>Switching to New Website</h1> - -<p><strong>Date:</strong> Jan 28 2020</p> - -<p>In case you haven&rsquo;t seen it before, this website -was powered by <a href="http://werc.cat-v.org">werc</a>. And -even though I liked it really much, it was too -powerful for a small website like this.</p> - -<p>So I have decided to reimplement this website with -my own static generation scripts. The source will -probably be on <a href="https://carbslinux.org/git/website/log.html">https://carbslinux.org/git/website/log.html</a> -when I decide to publish the website.</p> - -<p>The generation requires Plan9 programs, although -I have used them just for my enthusiasm. I have built -the site with a combination of mk (instead of make), rc, -and POSIX sh. I am not yet exactly familiar with rc, -but I will replace the shell scripts when I feel like -I can.</p> - - - diff --git a/src/style.css b/src/style.css deleted file mode 100644 index 74eebb9..0000000 --- a/src/style.css +++ /dev/null @@ -1,117 +0,0 @@ -/* Cem Keylan (C) 2019-2020 */ - -:root { - --color0: #0A1E2B; - --color1: #5C5B6F; - --color2: #9B506D; - --color3: #C34266; - --color4: #7B9BB7; - --color5: #BF6790; - --color6: #6a9faf; - --color7: #A676D2; - --color8: #8b8288; - --color9: #5C5B6F; - --color10: #9B506D; - --color11: #C34266; - --color12: #4E708D; - --color13: #BF6790; - --color14: #528899; - --color15: #c7bac3; - --fg: #0a1e2b; - --bg: #ffffff; - --altbg: #bf6790; - --link: #bf6790; - --linkalt: #4e708d; -} - - -html { - background-color: var(--bg); - font-family: monospace; - font-size: 16px; - color: var(--fg); - padding-bottom: 100px; - -webkit-text-size-adjust: 100%; - -ms-text-size-adjust: 100%; - -ms-overflow-style: scrollbar; - -webkit-tap-highlight-color: transparent; -} -.header { - text-align: center; -} -.header strong{ - color: var(--color5) -} -.header a{ - text-decoration: none; - text-align: center; - color: var(--fg); - margin-left: 10px; - margin-right: 10px; -} -.header a:hover{ - text-decoration: none; - text-align: center; - color: var(--linkalt); - margin-left: 10px; - margin-right: 10px; -} -.border { - padding-top: 1%; - border-bottom: solid 2px; - color: var(--fg); -} -a { - text-decoration: none; - font-weight: bold; - color: var(--link); -} -a:hover { - text-decoration: underline; - font-weight: bold; - color: var(--linkalt); -} -.post-title { - text-align: center; -} -ul li::before { - color: var(--color4); -} -body { - width: 80%; - max-width: 1050px; - margin-left: auto; - margin-right: auto; - margin-top: 20px; - overflow: none; - overflow-y: scroll; - padding-right: 10px; - padding-left: 10px; - color: var(--fg); -} -code { - color: var(--fg); - content: "> "; -} -p,tr,td,table { color: var(--fg); } -h1 { - color: var(--color7); - font-weight: bolder; -} -h2 { - color: var(--color4); - font-weight: bold; -} -h3 { - color: var(--fg); - font-weight: bold; -} -.footer { - text-align: center; -} - -pre { margin-left: 2em; } -blockquote { - border-left: 1px solid var(--color6); - font-style: italic; -} diff --git a/style b/style new file mode 160000 index 0000000..dc3edbc --- /dev/null +++ b/style @@ -0,0 +1 @@ +Subproject commit dc3edbc26c28205b5ccf697ff3ef2acd001e1a5d diff --git a/templates/blog-index b/templates/blog-index deleted file mode 100644 index b00877c..0000000 --- a/templates/blog-index +++ /dev/null @@ -1,8 +0,0 @@ -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/blog.org b/templates/blog.org new file mode 100644 index 0000000..4f8cb2d --- /dev/null +++ b/templates/blog.org @@ -0,0 +1,3 @@ +#+TITLE: Blog Index + +This is the Carbs Linux blog index. You can find every post here. [[file:../rss.xml][RSS Feed]] diff --git a/templates/postamble.html b/templates/postamble.html new file mode 100644 index 0000000..bbb22c2 --- /dev/null +++ b/templates/postamble.html @@ -0,0 +1,4 @@ +
+

Linux® is a registered trademark of Linus Torvalds

+

Copyright © 2019-2021 Cem Keylan

+
diff --git a/templates/preamble.html b/templates/preamble.html new file mode 100644 index 0000000..e9f3578 --- /dev/null +++ b/templates/preamble.html @@ -0,0 +1,14 @@ + diff --git a/templates/rss.xml b/templates/rss.xml deleted file mode 100644 index cb45b89..0000000 --- a/templates/rss.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - Carbs Linux - a simple linux distribution - https://carbslinux.org - - {{ DATE }} - {{ CONTENT }} - - diff --git a/templates/template.html b/templates/template.html deleted file mode 100644 index f79569c..0000000 --- a/templates/template.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - {{ TITLE }} - - - - - - -

Carbs Linux - a simple linux distribution

-
- {{ CONTENT }} - View Page Source -
- - - - diff --git a/texidocs b/texidocs index 4bb8046..5c695d6 160000 --- a/texidocs +++ b/texidocs @@ -1 +1 @@ -Subproject commit 4bb8046231dd10eec27aff6a409e9f428ad5ac73 +Subproject commit 5c695d67f68d2c8d921b77fd881ba121c142f6f0 -- cgit v1.2.3