From 374252a55c14f92aaed73b3917ed783bf2762911 Mon Sep 17 00:00:00 2001 From: Cem Keylan Date: Sat, 26 Dec 2020 03:23:39 +0300 Subject: docs: update --- build | 8 +- docs/404.html | 2 +- docs/blog/20200128.html | 2 +- docs/blog/20200406.html | 2 +- docs/blog/20200410.html | 2 +- docs/blog/20200508.html | 2 +- docs/blog/20200528.html | 2 +- docs/blog/20200617.html | 2 +- docs/blog/20200803.html | 2 +- docs/blog/20201210.html | 2 +- docs/blog/index.html | 2 +- docs/contributing.html | 2 +- docs/docs.html | 2 +- docs/docs/0010.html | 7 +- docs/docs/0011.html | 7 +- docs/docs/0012.html | 7 +- docs/docs/0013.html | 7 +- docs/docs/1010.html | 3 +- docs/docs/1020.html | 3 +- docs/docs/1030.html | 3 +- docs/docs/1040.html | 3 +- docs/docs/1041.html | 3 +- docs/docs/1042.html | 3 +- docs/docs/1043.html | 3 +- docs/docs/1050.html | 3 +- docs/docs/2010.html | 3 +- docs/docs/2020.html | 3 +- docs/docs/2030.html | 3 +- docs/docs/2040.html | 3 +- docs/docs/2050.html | 3 +- docs/docs/2210.html | 3 +- docs/docs/2211.html | 3 +- docs/docs/2212.html | 3 +- docs/docs/2220.html | 3 +- docs/docs/2230.html | 3 +- docs/docs/2240.html | 3 +- docs/docs/2241.html | 3 +- ...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 | 61 +- docs/docs/Chroot.html | 188 +-- docs/docs/Configuring-Init.html | 62 +- docs/docs/Configuring-hostname.html | 68 ++ docs/docs/Contribution-Guidelines.html | 13 +- docs/docs/Conventions.html | 45 +- docs/docs/Download.html | 71 ++ ...diting-the-build-file-during-pre_002dbuild.html | 93 -- docs/docs/Environment-Variables.html | 184 --- 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 | 665 +++++------ docs/docs/General-Conventions.html | 87 -- docs/docs/Hooks.html | 103 -- docs/docs/Hosts-file.html | 70 ++ docs/docs/Init-Hooks.html | 28 +- docs/docs/Init-System.html | 19 +- docs/docs/Init-scripts.html | 68 ++ docs/docs/Installation.html | 20 +- 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 | 82 +- docs/docs/Making-your-system-bootable.html | 70 +- 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/Package-Manager.html | 81 -- docs/docs/Packaging-System.html | 226 ---- docs/docs/Post_002dinstallation.html | 34 +- docs/docs/Preparing-Environment.html | 89 +- docs/docs/Rebooting-after-changing-init.html | 73 ++ docs/docs/Repository-Conventions.html | 81 +- docs/docs/Rsync-Repositories.html | 109 -- docs/docs/Sending-Git-mails.html | 106 -- ...ng-up-an-rsync-repository-for-distribution.html | 109 -- docs/docs/Setting-up-repositories.html | 117 ++ docs/docs/Shell-Conventions.html | 44 +- docs/docs/Signature-verification.html | 70 ++ docs/docs/System-Configuration.html | 38 +- docs/docs/Updating-packages.html | 69 ++ docs/docs/Usage.html | 138 --- docs/docs/_002fetc_002finit_002frcconf-file.html | 66 ++ docs/docs/cpt_002dalternatives.html | 92 -- docs/docs/cpt_002dbuild.html | 78 -- docs/docs/cpt_002dchecksum.html | 65 -- docs/docs/cpt_002ddownload.html | 64 -- docs/docs/cpt_002dfetch.html | 64 -- docs/docs/cpt_002dinstall.html | 77 -- docs/docs/cpt_002dlist.html | 68 -- docs/docs/cpt_002dremove.html | 77 -- docs/docs/cpt_002dsearch.html | 74 -- docs/docs/cpt_002dupdate.html | 83 -- docs/docs/cptforce.html | 48 - docs/docs/cptroot.html | 48 - docs/docs/index.html | 256 ++--- docs/docs/install.html | 1205 +++++++++++++------- docs/docs/install.txt | 697 ++++++----- docs/index.html | 2 +- docs/mailing-lists.html | 2 +- docs/news.html | 2 +- docs/news.xml | 2 +- docs/people.html | 2 +- docs/rss.xml | 2 +- src/docs/0010.html | 7 +- src/docs/0011.html | 7 +- src/docs/0012.html | 7 +- src/docs/0013.html | 7 +- src/docs/1010.html | 3 +- src/docs/1020.html | 3 +- src/docs/1030.html | 3 +- src/docs/1040.html | 3 +- src/docs/1041.html | 3 +- src/docs/1042.html | 3 +- src/docs/1043.html | 3 +- src/docs/1050.html | 3 +- src/docs/2010.html | 3 +- src/docs/2020.html | 3 +- src/docs/2030.html | 3 +- src/docs/2040.html | 3 +- src/docs/2050.html | 3 +- src/docs/2210.html | 3 +- src/docs/2211.html | 3 +- src/docs/2212.html | 3 +- src/docs/2220.html | 3 +- src/docs/2230.html | 3 +- src/docs/2240.html | 3 +- src/docs/2241.html | 3 +- ...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 | 61 +- src/docs/Chroot.html | 188 +-- src/docs/Configuring-Init.html | 62 +- src/docs/Configuring-hostname.html | 68 ++ src/docs/Contribution-Guidelines.html | 13 +- src/docs/Conventions.html | 45 +- src/docs/Download.html | 71 ++ ...diting-the-build-file-during-pre_002dbuild.html | 93 -- src/docs/Environment-Variables.html | 184 --- 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 | 665 +++++------ src/docs/General-Conventions.html | 87 -- src/docs/Hooks.html | 103 -- src/docs/Hosts-file.html | 70 ++ src/docs/Init-Hooks.html | 28 +- src/docs/Init-System.html | 19 +- src/docs/Init-scripts.html | 68 ++ src/docs/Installation.html | 20 +- 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 | 82 +- src/docs/Making-your-system-bootable.html | 70 +- 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/Package-Manager.html | 81 -- src/docs/Packaging-System.html | 226 ---- src/docs/Post_002dinstallation.html | 34 +- src/docs/Preparing-Environment.html | 89 +- src/docs/Rebooting-after-changing-init.html | 73 ++ src/docs/Repository-Conventions.html | 81 +- src/docs/Rsync-Repositories.html | 109 -- src/docs/Sending-Git-mails.html | 106 -- ...ng-up-an-rsync-repository-for-distribution.html | 109 -- src/docs/Setting-up-repositories.html | 117 ++ src/docs/Shell-Conventions.html | 44 +- src/docs/Signature-verification.html | 70 ++ src/docs/System-Configuration.html | 38 +- src/docs/Updating-packages.html | 69 ++ src/docs/Usage.html | 138 --- src/docs/_002fetc_002finit_002frcconf-file.html | 66 ++ src/docs/cpt_002dalternatives.html | 92 -- src/docs/cpt_002dbuild.html | 78 -- src/docs/cpt_002dchecksum.html | 65 -- src/docs/cpt_002ddownload.html | 64 -- src/docs/cpt_002dfetch.html | 64 -- src/docs/cpt_002dinstall.html | 77 -- src/docs/cpt_002dlist.html | 68 -- src/docs/cpt_002dremove.html | 77 -- src/docs/cpt_002dsearch.html | 74 -- src/docs/cpt_002dupdate.html | 83 -- src/docs/cptforce.html | 48 - src/docs/cptroot.html | 48 - src/docs/index.html | 256 ++--- src/docs/install.html | 822 +++++++++++++ src/docs/install.txt | 697 ++++++----- src/news.xml | 2 +- src/rss.xml | 2 +- templates/template.html | 2 +- texidocs | 2 +- 197 files changed, 7333 insertions(+), 7382 deletions(-) create mode 100644 docs/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html create mode 100644 docs/docs/Bootloader.html create mode 100644 docs/docs/Building-the-kernel.html create mode 100644 docs/docs/Configuring-hostname.html create mode 100644 docs/docs/Download.html delete mode 100644 docs/docs/Editing-the-build-file-during-pre_002dbuild.html delete mode 100644 docs/docs/Environment-Variables.html create mode 100644 docs/docs/Essential-Software.html create mode 100644 docs/docs/Extracting-the-tarball.html create mode 100644 docs/docs/Fstab.html delete mode 100644 docs/docs/General-Conventions.html delete mode 100644 docs/docs/Hooks.html create mode 100644 docs/docs/Hosts-file.html create mode 100644 docs/docs/Init-scripts.html create mode 100644 docs/docs/Installing-packages.html create mode 100644 docs/docs/KISS-repositories.html create mode 100644 docs/docs/Kernel-Command-Line.html create mode 100644 docs/docs/Kernel-dependencies.html create mode 100644 docs/docs/Obtain-the-chroot-helper.html create mode 100644 docs/docs/Obtaining-the-documentation.html create mode 100644 docs/docs/Obtaining-the-kernel-sources.html delete mode 100644 docs/docs/Package-Manager.html delete mode 100644 docs/docs/Packaging-System.html create mode 100644 docs/docs/Rebooting-after-changing-init.html delete mode 100644 docs/docs/Rsync-Repositories.html delete mode 100644 docs/docs/Sending-Git-mails.html delete mode 100644 docs/docs/Setting-up-an-rsync-repository-for-distribution.html create mode 100644 docs/docs/Setting-up-repositories.html create mode 100644 docs/docs/Signature-verification.html create mode 100644 docs/docs/Updating-packages.html delete mode 100644 docs/docs/Usage.html create mode 100644 docs/docs/_002fetc_002finit_002frcconf-file.html delete mode 100644 docs/docs/cpt_002dalternatives.html delete mode 100644 docs/docs/cpt_002dbuild.html delete mode 100644 docs/docs/cpt_002dchecksum.html delete mode 100644 docs/docs/cpt_002ddownload.html delete mode 100644 docs/docs/cpt_002dfetch.html delete mode 100644 docs/docs/cpt_002dinstall.html delete mode 100644 docs/docs/cpt_002dlist.html delete mode 100644 docs/docs/cpt_002dremove.html delete mode 100644 docs/docs/cpt_002dsearch.html delete mode 100644 docs/docs/cpt_002dupdate.html delete mode 100644 docs/docs/cptforce.html delete mode 100644 docs/docs/cptroot.html create mode 100644 src/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html create mode 100644 src/docs/Bootloader.html create mode 100644 src/docs/Building-the-kernel.html create mode 100644 src/docs/Configuring-hostname.html create mode 100644 src/docs/Download.html delete mode 100644 src/docs/Editing-the-build-file-during-pre_002dbuild.html delete mode 100644 src/docs/Environment-Variables.html create mode 100644 src/docs/Essential-Software.html create mode 100644 src/docs/Extracting-the-tarball.html create mode 100644 src/docs/Fstab.html delete mode 100644 src/docs/General-Conventions.html delete mode 100644 src/docs/Hooks.html create mode 100644 src/docs/Hosts-file.html create mode 100644 src/docs/Init-scripts.html create mode 100644 src/docs/Installing-packages.html create mode 100644 src/docs/KISS-repositories.html create mode 100644 src/docs/Kernel-Command-Line.html create mode 100644 src/docs/Kernel-dependencies.html create mode 100644 src/docs/Obtain-the-chroot-helper.html create mode 100644 src/docs/Obtaining-the-documentation.html create mode 100644 src/docs/Obtaining-the-kernel-sources.html delete mode 100644 src/docs/Package-Manager.html delete mode 100644 src/docs/Packaging-System.html create mode 100644 src/docs/Rebooting-after-changing-init.html delete mode 100644 src/docs/Rsync-Repositories.html delete mode 100644 src/docs/Sending-Git-mails.html delete mode 100644 src/docs/Setting-up-an-rsync-repository-for-distribution.html create mode 100644 src/docs/Setting-up-repositories.html create mode 100644 src/docs/Signature-verification.html create mode 100644 src/docs/Updating-packages.html delete mode 100644 src/docs/Usage.html create mode 100644 src/docs/_002fetc_002finit_002frcconf-file.html delete mode 100644 src/docs/cpt_002dalternatives.html delete mode 100644 src/docs/cpt_002dbuild.html delete mode 100644 src/docs/cpt_002dchecksum.html delete mode 100644 src/docs/cpt_002ddownload.html delete mode 100644 src/docs/cpt_002dfetch.html delete mode 100644 src/docs/cpt_002dinstall.html delete mode 100644 src/docs/cpt_002dlist.html delete mode 100644 src/docs/cpt_002dremove.html delete mode 100644 src/docs/cpt_002dsearch.html delete mode 100644 src/docs/cpt_002dupdate.html delete mode 100644 src/docs/cptforce.html delete mode 100644 src/docs/cptroot.html create mode 100644 src/docs/install.html diff --git a/build b/build index 9e57afa..116ea89 100755 --- a/build +++ b/build @@ -125,10 +125,10 @@ main() { genrss index news index.html > src/news.xml genrss src/blog > src/rss.xml - # Generate htmldocs - command -v makeinfo && { - git submodule update --init --remote -f - make -s -C texidocs HTMLDIR="$PWD/src/docs" htmldocs + # 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 diff --git a/docs/404.html b/docs/404.html index 00fe2f6..e8e1c19 100644 --- a/docs/404.html +++ b/docs/404.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/blog/20200128.html b/docs/blog/20200128.html index 5ba2fa6..ff04471 100644 --- a/docs/blog/20200128.html +++ b/docs/blog/20200128.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/blog/20200406.html b/docs/blog/20200406.html index 304d736..ce9d3f7 100644 --- a/docs/blog/20200406.html +++ b/docs/blog/20200406.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/blog/20200410.html b/docs/blog/20200410.html index 7adf820..0cf1a46 100644 --- a/docs/blog/20200410.html +++ b/docs/blog/20200410.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/blog/20200508.html b/docs/blog/20200508.html index b595847..9ca0eb4 100644 --- a/docs/blog/20200508.html +++ b/docs/blog/20200508.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/blog/20200528.html b/docs/blog/20200528.html index cc283c4..c7b419d 100644 --- a/docs/blog/20200528.html +++ b/docs/blog/20200528.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/blog/20200617.html b/docs/blog/20200617.html index d183262..63fe53f 100644 --- a/docs/blog/20200617.html +++ b/docs/blog/20200617.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/blog/20200803.html b/docs/blog/20200803.html index 7c5cb28..6ca2a18 100644 --- a/docs/blog/20200803.html +++ b/docs/blog/20200803.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/blog/20201210.html b/docs/blog/20201210.html index 0b1d4e1..f6dc832 100644 --- a/docs/blog/20201210.html +++ b/docs/blog/20201210.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/blog/index.html b/docs/blog/index.html index 01bb642..19d24d1 100644 --- a/docs/blog/index.html +++ b/docs/blog/index.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/contributing.html b/docs/contributing.html index be9e00e..8cdbb67 100644 --- a/docs/contributing.html +++ b/docs/contributing.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/docs.html b/docs/docs.html index 5f638d4..eeace4d 100644 --- a/docs/docs.html +++ b/docs/docs.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
diff --git a/docs/docs/0010.html b/docs/docs/0010.html index 495a177..fad5ef3 100644 --- a/docs/docs/0010.html +++ b/docs/docs/0010.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -38,11 +39,11 @@ ul.no-bullet {list-style: none} --> - + -

The node you are looking for is at 0010.

+

The node you are looking for is at 0010.

diff --git a/docs/docs/0011.html b/docs/docs/0011.html index f1cc6bb..ab45257 100644 --- a/docs/docs/0011.html +++ b/docs/docs/0011.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -38,11 +39,11 @@ ul.no-bullet {list-style: none} --> - + -

The node you are looking for is at 0011.

+

The node you are looking for is at 0011.

diff --git a/docs/docs/0012.html b/docs/docs/0012.html index a53264a..32dca75 100644 --- a/docs/docs/0012.html +++ b/docs/docs/0012.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -38,11 +39,11 @@ ul.no-bullet {list-style: none} --> - + -

The node you are looking for is at 0012.

+

The node you are looking for is at 0012.

diff --git a/docs/docs/0013.html b/docs/docs/0013.html index 95fee3c..27102b1 100644 --- a/docs/docs/0013.html +++ b/docs/docs/0013.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -38,11 +39,11 @@ ul.no-bullet {list-style: none} --> - + -

The node you are looking for is at 0013.

+

The node you are looking for is at 0013.

diff --git a/docs/docs/1010.html b/docs/docs/1010.html index a202655..a9635e8 100644 --- a/docs/docs/1010.html +++ b/docs/docs/1010.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/1020.html b/docs/docs/1020.html index a5625c3..2f73bac 100644 --- a/docs/docs/1020.html +++ b/docs/docs/1020.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/1030.html b/docs/docs/1030.html index a115463..bb51640 100644 --- a/docs/docs/1030.html +++ b/docs/docs/1030.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/1040.html b/docs/docs/1040.html index 23b0de0..ae10d79 100644 --- a/docs/docs/1040.html +++ b/docs/docs/1040.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/1041.html b/docs/docs/1041.html index 5e893c8..a75e629 100644 --- a/docs/docs/1041.html +++ b/docs/docs/1041.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/1042.html b/docs/docs/1042.html index b2512eb..c9e5426 100644 --- a/docs/docs/1042.html +++ b/docs/docs/1042.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/1043.html b/docs/docs/1043.html index 81f9202..32807ad 100644 --- a/docs/docs/1043.html +++ b/docs/docs/1043.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/1050.html b/docs/docs/1050.html index 514d9bf..c913527 100644 --- a/docs/docs/1050.html +++ b/docs/docs/1050.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2010.html b/docs/docs/2010.html index af89e0b..482ddf3 100644 --- a/docs/docs/2010.html +++ b/docs/docs/2010.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2020.html b/docs/docs/2020.html index 62725ba..dab5be2 100644 --- a/docs/docs/2020.html +++ b/docs/docs/2020.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2030.html b/docs/docs/2030.html index d9da18e..353fd6f 100644 --- a/docs/docs/2030.html +++ b/docs/docs/2030.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2040.html b/docs/docs/2040.html index 166fefe..84e108a 100644 --- a/docs/docs/2040.html +++ b/docs/docs/2040.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2050.html b/docs/docs/2050.html index 51dc0b5..a8b2a70 100644 --- a/docs/docs/2050.html +++ b/docs/docs/2050.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2210.html b/docs/docs/2210.html index bf28d26..1304a27 100644 --- a/docs/docs/2210.html +++ b/docs/docs/2210.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2211.html b/docs/docs/2211.html index dc1e677..9d2f2b3 100644 --- a/docs/docs/2211.html +++ b/docs/docs/2211.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2212.html b/docs/docs/2212.html index f34310a..e14d231 100644 --- a/docs/docs/2212.html +++ b/docs/docs/2212.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2220.html b/docs/docs/2220.html index 3cabc62..4012c71 100644 --- a/docs/docs/2220.html +++ b/docs/docs/2220.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2230.html b/docs/docs/2230.html index c5fbbdd..b03a69c 100644 --- a/docs/docs/2230.html +++ b/docs/docs/2230.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2240.html b/docs/docs/2240.html index 5a2f9e0..c8e98f2 100644 --- a/docs/docs/2240.html +++ b/docs/docs/2240.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/docs/docs/2241.html b/docs/docs/2241.html index 80cdd37..dba5354 100644 --- a/docs/docs/2241.html +++ b/docs/docs/2241.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> 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 new file mode 100644 index 0000000..b3423c8 --- /dev/null +++ b/docs/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html @@ -0,0 +1,49 @@ + + + + + + + +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 new file mode 100644 index 0000000..6f23a5b --- /dev/null +++ b/docs/docs/Bootloader.html @@ -0,0 +1,91 @@ + + + + + + +Bootloader (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + +
+

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

+
+
+

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 new file mode 100644 index 0000000..e0f5ee2 --- /dev/null +++ b/docs/docs/Building-the-kernel.html @@ -0,0 +1,72 @@ + + + + + + +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 index 2948f40..d1cc7ce 100644 --- a/docs/docs/Changing-Init-Program.html +++ b/docs/docs/Changing-Init-Program.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,7 +22,7 @@ Documentation License." --> - + + + + + + +
+

+Next: , Up: System Configuration   [Contents]

+
+
+

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 index cbb7b02..5b2c7cf 100644 --- a/docs/docs/Contribution-Guidelines.html +++ b/docs/docs/Contribution-Guidelines.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -22,7 +23,7 @@ Documentation License." --> - + + + + + + +
+

+Next: , Up: Preparing Environment   [Contents]

+
+
+

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/Editing-the-build-file-during-pre_002dbuild.html b/docs/docs/Editing-the-build-file-during-pre_002dbuild.html deleted file mode 100644 index 7955ddb..0000000 --- a/docs/docs/Editing-the-build-file-during-pre_002dbuild.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -Editing the build file during pre-build (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Up: Hooks   [Contents]

-
-
-

2.3.1 Editing the build file during pre-build

- -

You can edit the build file during pre-build. The file is copied from the -repository to the build directory named as .build.cpt. You can use -sed or any other tool to edit the build file. After the build is -complete, a diff file will be placed to the package database named as -build.diff. Here is an example build file manipulation during the -pre-build hook. -

-
-
cat <<EOF> .build.cpt
-#!/bin/sh -e
-
-for patch in bash50-0??; do
-    patch -p0 < "\$patch"
-done
-
-export LDFLAGS=-static
-
-./configure \
-    --prefix=/usr \
-    --without-bash-malloc \
-    --disable-nls
-
-export MAKEFLAGS="TERMCAP_LIB=/usr/lib/libncursesw.a $MAKEFLAGS"
-
-make
-make DESTDIR="\$1" install
-
-ln -s bash "\$1/usr/bin/sh"
-EOF
-
- - - - - - - - diff --git a/docs/docs/Environment-Variables.html b/docs/docs/Environment-Variables.html deleted file mode 100644 index b47dfd6..0000000 --- a/docs/docs/Environment-Variables.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - -Environment Variables (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Package Manager   [Contents]

-
-
-

2.2 Environment Variables

- -

Since there is no configuration file for cpt, the package manager is configured -through environment variables. These can be set per operation, or be set to your -shell configuration or ~/.profile. Here are the environment variables that -alter the behaviour of cpt: -

-
-
CPT_PATH
-

Set the locations of your repositories. This is set similar to the PATH -variable. -

-
-
XDG_CACHE_HOME
-

Unless this is set, the ~/.cache directory will be used instead. -

-
-
CPT_CACHE
-

The cache directory for cpt. Default: $XDG_CACHE_HOME/cpt -

-
-
CPT_CHOICE
-

If this is set to 0, a package installation will be aborted on conflicts. -Default: 1 -

-
-
CPT_COMPRESS
-

Program used to compress package tarballs. The values should be the default -suffixes for the program. Available values are: -

-
    -
  • gz -
  • zst -
  • bz2 -
  • xz -
-

Default: gz -

-
-
CPT_DEBUG
-

If this is set to 1, temporary build directories will not be removed after the -given operation. Default: unset -

-
-
CPT_FETCH
-

If this is set to 0, cpt-update will not fetch the repositories. -This behaviour can also be achieved by adding -n or --no-fetch -as an argument. Default: 0 -

-
-
CPT_FORCE
-

If this is set to 1, some of the cpt tools will continue regardless of -errors or skip certain checks. Here are some examples: -

-
    -
  • cpt-install will install a package without verifying its manifest. -
  • cpt-install will install a package even when there are missing -dependencies. -
  • cpt-remove will remove packages even when there are other packages -that depend on the current package. -
- -

This behaviour can also be achieved by adding -f or --force -as an argument to those utilities. -

-

Default: 0 -

-
-
CPT_HOOK
-

Location for the hook file See Hooks. Default: unset -

-
-
CPT_KEEPLOG
-

Normally, logs are deleted if the package is built successfully. If set to 1, -logs will be kept even when the packages are built as intended. Default: 0 -

-
-
CPT_PID
-

If this variable is set, the temporary files will be created with this variable -as the suffix, instead of the PID of the cpt process. The advantage -is that you can know exactly where the build directory is located, while the -disadvantage is that there will be issues with multiple operations at the -same time. So the best way to use this variable is during one-time cpt -calls. -

-
-
CPT_PID=mesa cpt b mesa
-
- -

By running the above, you will know that the created build directories will end -with the *-mesa suffix. -

-
-
CPT_PROMPT
-

If set to 0, the package manager will not prompt you for anything and will -continue with the default action. This behaviour can also be achieved by adding -y or --no-prompt -as an argument to some utilities. -Default: 1 -

-
-
CPT_ROOT
-

If this variable is set, cpt will assume this as the system root, and -will install/remove/update/list packages assuming this is the system root. -This behaviour can also be achieved by adding --root as an argument to some utilities. -

-
-
CPT_TEST
-

If set to 1, cpt-build will run tests where a package has the -test build file. This behaviour can also be achieved by adding -t or --test -as an argument to cpt-build. Default: 0 -

-
-
CPT_TMPDIR
-

The directory to create the build files. This can be changed (for example to -/tmp) for building on RAM, saving SSD space, etc. Default: $CPT_CACHE -

-
-
- - - -
-
-

-Next: , Previous: , Up: Package Manager   [Contents]

-
- - - - - diff --git a/docs/docs/Essential-Software.html b/docs/docs/Essential-Software.html new file mode 100644 index 0000000..3910e9b --- /dev/null +++ b/docs/docs/Essential-Software.html @@ -0,0 +1,120 @@ + + + + + + +Essential Software (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + +
+

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

+
+
+

1.2.4 Essential Software

+ +

Here is a list of software that you might want to have on your system. +

+

BOOTLOADERS +

+ + +

FILESYSTEMS +

+ + +

NETWORKING +

+ + +

TEXT EDITORS +

+ + +

USER SHELLS +

+ + +

POSIX BASE UTILITIES +

+ + +

DOCUMENTATION +

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

+Next: , Previous: , Up: Preparing Environment   [Contents]

+
+
+

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 new file mode 100644 index 0000000..d4573ec --- /dev/null +++ b/docs/docs/Fstab.html @@ -0,0 +1,70 @@ + + + + + + +Fstab (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + +
+

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

+
+
+

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 index 9b9be9d..4fb6747 100644 --- a/docs/docs/GNU-Free-Documentation-License.html +++ b/docs/docs/GNU-Free-Documentation-License.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,7 +22,7 @@ Documentation License." --> - + - - - - - -
-

-Next: , Up: Conventions   [Contents]

-
-
-

4.1.1 General Conventions – 00

- -
-
[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/Hooks.html b/docs/docs/Hooks.html deleted file mode 100644 index e78cbf9..0000000 --- a/docs/docs/Hooks.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -Hooks (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Previous: , Up: Package Manager   [Contents]

-
-
-

2.3 Hooks

- -

Hooks can be used in order to change the runtime behaviour of the package manager. -There are a variety of package hooks, mostly self explanatory: -

- - -

In order to use hooks, you will need to set the CPT_HOOK variable pointing -to your hook file. Your hook file MUST be a POSIX shell script as its -contents are sourced by the package manager. -

-

The hook is given 3 variables when it is executed. Those are: -

-
$TYPE
-

The type of the hook, (pre-build, post-build, etc.) -

-
$PKG
-

The package that cpt is currently working on. Can be null. -

-
$DEST
-

The destination of the operation. Can be null. -

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

+Previous: , Up: System Configuration   [Contents]

+
+
+

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 index a5a767d..52e2e84 100644 --- a/docs/docs/Init-Hooks.html +++ b/docs/docs/Init-Hooks.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -20,9 +21,9 @@ Documentation License." --> - + - + + + + + + +
+

+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 index 7116e8c..a85f8f4 100644 --- a/docs/docs/Installation.html +++ b/docs/docs/Installation.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -48,35 +49,32 @@ ul.no-bullet {list-style: none}

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

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


1 Installation

-

These are the step-by-step instructions for installing Carbs Linux. -

-

The instructions can also be found plaintext on -https://carbslinux.org/docs/install.txt +

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.

- - - - - diff --git a/docs/docs/Installing-packages.html b/docs/docs/Installing-packages.html new file mode 100644 index 0000000..2a2e342 --- /dev/null +++ b/docs/docs/Installing-packages.html @@ -0,0 +1,71 @@ + + + + + + +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 new file mode 100644 index 0000000..3824e9e --- /dev/null +++ b/docs/docs/KISS-repositories.html @@ -0,0 +1,65 @@ + + + + + + +KISS repositories (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + +
+

+Up: Post-installation   [Contents]

+
+
+

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 new file mode 100644 index 0000000..a099dc8 --- /dev/null +++ b/docs/docs/Kernel-Command-Line.html @@ -0,0 +1,83 @@ + + + + + + +Kernel Command Line (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + +
+

+Next: , Up: Configuring Init   [Contents]

+
+
+

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 new file mode 100644 index 0000000..192479b --- /dev/null +++ b/docs/docs/Kernel-dependencies.html @@ -0,0 +1,81 @@ + + + + + + +Kernel dependencies (Carbs Linux User Manual) + + + + + + + + + + + + + + + + + +
+

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

+
+
+

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 index 5f3eb9d..10f3945 100644 --- a/docs/docs/Kernel.html +++ b/docs/docs/Kernel.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,8 +22,8 @@ Documentation License." --> - - + + + + + + + +
+

+Previous: , Up: Preparing Environment   [Contents]

+
+
+

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 new file mode 100644 index 0000000..03739b5 --- /dev/null +++ b/docs/docs/Obtaining-the-documentation.html @@ -0,0 +1,77 @@ + + + + + + +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 new file mode 100644 index 0000000..5acdb26 --- /dev/null +++ b/docs/docs/Obtaining-the-kernel-sources.html @@ -0,0 +1,74 @@ + + + + + + +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/Package-Manager.html b/docs/docs/Package-Manager.html deleted file mode 100644 index 14ca738..0000000 --- a/docs/docs/Package-Manager.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - -Package Manager (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

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

-
-
-

2 Package Manager

- -

Carbs Linux uses its own package managing toolchain named cpt. It is a -fork of the kiss package manager. -Unlike kiss, however, its main goal is being easily extendable. -Instead of being a single file package manager, it revolves around the shell -library cpt-lib, and many tools that wrap around it. -

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

-Next: , Previous: , Up: Package Manager   [Contents]

-
-
-

2.4 Packaging System

- -

A package is formed of several files, these are: -

- -

Any other file can be added to the package directory at the discretion of the -package maintainer. Everything in the package directory will also be added to the -package database that is located on ’/var/db/cpt/installed’. These can be -patches, configuration files, etc. -

- - -

2.4.1 build

- -

Typically build files are shell scripts that run commands to prepare the source -code to be installed on the target system. Even though we will be assuming that -the build file is a POSIX shell script (for portability’s sake), build -files can be any executable program from binary programs to perl scripts. -

-

The contents of a build script do not need to follow a certain rule for the -package manager, except for the fact that the user needs the permission to -execute the file. -

-

An important advice is to append an ’-e’ to the shebang (#!/bin/sh -e) so that -the build script exits on compilation error. -

-

Build is run with three arguments ($#) -

-
    -
  1. Location of the package directory (DESTDIR) -
  2. Package version -
  3. System architecture -
- - - -

2.4.2 sources

- -

sources file is a list of files and sources that will be put to the build -directory during the build process. Those can be remote sources (such as tarballs), -git repositories, and files that reside on the package directory. -

-

The syntax is pretty simple for the soures file; src dest. The -dest parameter is optional. It is the directory that the source will be -placed in. Here is the sources file for the gst-plugins package: -

-
-
https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.16.2.tar.xz good
-https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.16.2.tar.xz   bad
-https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.16.2.tar.xz ugly
-https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.16.2.tar.xz               libav
-
- -

This file is read from the package manager as space seperated. Files that begin -with a ’#’ comment are ignored. The first value points to the location of the -source. -

-

If it starts with a protcol url, (such as ftp:// http:// https://) it will be -downloaded with curl. -

-

If the source is a git repository, it shall be prefixed with a git+ git(1) will -be used to do a shallow clone of the repository. If the commit is suffixed by a -history pointer, git will checkout the relevant revision. So, -

-
-
git+git://example.com/pub/repo#v1.2.3
-

will checkout the tag named ’v1.2.3’ -

-
git+git://example.com/pub/repo#development
-

will checkout the branch named ’development’ -

-
git+git://example.com/pub/repo#1a314s87
-

will checkout the commit named ’1a314s87’ -

-
- -

Other files are assumed to be residing in the package directory. They should be -added with their paths relative to the package directory. -

- - -

2.4.3 checksums

- -

checksums file is generated by the cpt c pkg command. It is generated -according to the order of the sources file. That’s why you shouldn’t be editing -it manually. The checksums file is created with the digests of the files using -the sha256 algorithm. -

- - -

2.4.4 version

- -

The version file includes the version of the software and the release number of -of the package on a space seperated format. The contents of the file should look -like below. -

-
-
1.3.2 1
-
- -

The version should always match to the number of the upstream release. For -drastic changes that require a rebuild Those can be, -

- - -

When a version bump occurs, the release should be reset to 1. -

- - -

2.4.5 depends

- -

This is a list of dependencies that must be installed before a package build. You -can append “make” after a dependency to mark a package is only required during -the build process of a package. Packages marked as a make dependency can be -removed after the build. There are also “test” dependencies. These dependencies -are only installed if either the CPT_TEST is set to 1, or the build is run -with the -t or --test options. So, a package package could have -the following depends file: -

-
-
linux-headers make
-python        test
-zlib
-
- - - -

2.4.6 post-install

- -

post-install files have the same requirements as the build script. They -will be run after the package is installed as root (or as the user if the user -has write permissions on CPT_ROOT). -

- - -

2.4.7 message

- -

This plaintext file will be outputted with cat after every package is -installed. -

- - -

2.4.8 test

- -

Test files are mainly for the repository maintainer to test the packages, and -will only run if the user has the CPT_TEST variable set, or the build is -run with the -t or --test options. This script is run on the -build directory. It is run right after the build script is finished. -

- - -
-
-

-Next: , Previous: , Up: Package Manager   [Contents]

-
- - - - - diff --git a/docs/docs/Post_002dinstallation.html b/docs/docs/Post_002dinstallation.html index 6afbb2d..da1dc05 100644 --- a/docs/docs/Post_002dinstallation.html +++ b/docs/docs/Post_002dinstallation.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,8 +22,8 @@ Documentation License." --> - - + + + + + + + +
+

+Up: Changing Init Program   [Contents]

+
+
+

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 index e333ff6..598cc7a 100644 --- a/docs/docs/Repository-Conventions.html +++ b/docs/docs/Repository-Conventions.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,7 +22,7 @@ Documentation License." --> - + - - - - - -
-

-Previous: , Up: Package Manager   [Contents]

-
-
-

2.5 Rsync Repositories

- -

Rsync repositories are simple to serve and simple to use. In the repository -directory, there needs to be a ’.rsync’ file that points to the remote of the -repository. This is used in order to fetch changes from the upstream. ’.rsync’ -file looks like this for the core repository: -

-
-
rsync://carbslinux.org/repo/core
-
- -

Rsync repositories have some few distinctions when it comes to fetching them. -They can be either synced individually or as a “root”. There are 2 important -files, those are .rsync and .rsync_root. Here is the Carbs Linux -rsync repository structure. -

-
-
           /
-   -----------------
-  |                |
-.rsync           core/
-          ----------------
-          |              |
-        .rsync      .rsync_root
-
- -

Unlike git repositories, they don’t have a defined “root” directory. This is -both an advantage and a disadvantage. This way, we can sync individual -repositories, but that also means we need extra files to define root directories -and repository locations. Here is the content for each of these files: -

-
-
/.rsync:           rsync://carbslinux.org/repo
-/core/.rsync:      rsync://carbslinux.org/repo/core
-/core/.rsync_root: ..
-
- -

The .rsync_root file on the core repository points to the upper directory. -If a .rsync file exists on the upper directory, this means that is the whole -repository and will sync the entire repository instead of each individual repository. -

-

If the upper directory doesn’t have this .rsync file, this means that this -is an individual repository, and the package manager will fetch accordingly. -

- - - - - - - - - - - diff --git a/docs/docs/Sending-Git-mails.html b/docs/docs/Sending-Git-mails.html deleted file mode 100644 index 5dcfbe6..0000000 --- a/docs/docs/Sending-Git-mails.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - -Sending Git mails (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Contribution Guidelines   [Contents]

-
-
-

4.2 Sending Git mails

- -

As mentioned, the preferred way of contribution is via patches. The easiest way -for sending git mails without git send-email is using msmtp. -You can install it from the repository by doing: -

-
-
$ cpt b msmtp && cpt i msmtp
-
- -

You can then edit ~/.config/msmtp/config to add your email. Here is an -example configuration, you can use pass, pash, or any other -password manager that fits your needs: -

-
-
defaults
-auth on
-tls on
-tls_trust_file /etc/ssl/certs/ca-certificates.crt
-logfile ~/.config/msmtp/msmtp.log
-account my-mail
-host mail.example.com
-port 587
-from me@example.com
-user me@example.com
-passwordeval "pass my-mail"
-
- -

In order to simply send your patch, do the following: -

-
-
$ git format-patch --to=~carbslinux/dev+subscribe@lists.sr.ht -1 --stdout |
-    msmtp -t -a my-mail
-
- -

You can also send multiple patches by doing the following: -

-
-
$ git format-patch --to=~carbslinux/dev+subscribe@lists.sr.ht <region>
-
-Edit those files as necessary and send them.
-$ for file in *.patch; do msmtp -t -a my-mail < $patch; done
-
- - - - - - - - - - diff --git a/docs/docs/Setting-up-an-rsync-repository-for-distribution.html b/docs/docs/Setting-up-an-rsync-repository-for-distribution.html deleted file mode 100644 index ff97a37..0000000 --- a/docs/docs/Setting-up-an-rsync-repository-for-distribution.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - -Setting up an rsync repository for distribution (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Up: Rsync Repositories   [Contents]

-
-
-

2.5.1 Setting up an rsync repository for distribution

- -

Carbs Linux repositories automatically sync from the git repostitories and serve -it through the rsync daemon. Here is a sample shell script that I use in order to -sync repositories. Feel free to customize for your own use. -

-
    #!/bin/sh
-    HOSTNAME="rsync://carbslinux.org/repo"
-    GITDIR="/pub/git/repo"
-    SHAREDIR="/pub/share/repo"
-    git -C "$GITDIR" pull
-
-    rsync -avcC --delete --include=core --exclude=.rsync,.rsync_root "$GITDIR/." "$SHAREDIR"
-
-    printf '%s\n' "$HOSTNAME" > "$GITDIR/.rsync"
-    for dir in "$GITDIR/"*; do
-        [ -d "$dir" ] || continue
-        [ -f "$dir/.rsync" ] ||
-        printf '%s/%s\n' "$HOSTNAME" "${dir##*/}" > "$dir/.rsync"
-        printf '..\n' > "$dir/.rsync_root"
-    done
-
-

You can then create an rsync user for serving the repositories. -

-
-
$ adduser -SD rsync
-
- -

Create /etc/rsyncd.conf and a service configuration as well. -

-
-    uid = rsync
-    gid = rsync
-    address = example.com
-    max connections = 10
-    use chroot = yes
-
-    [repo]
-        path = /pub/share/repo
-        comment = My repository
-
-

Create a service file at /etc/sv/rsync/run (runit): -

-
-
#!/bin/sh
-exec rsync --daemon --no-detach
-
- - - - - - - - - diff --git a/docs/docs/Setting-up-repositories.html b/docs/docs/Setting-up-repositories.html new file mode 100644 index 0000000..44360ab --- /dev/null +++ b/docs/docs/Setting-up-repositories.html @@ -0,0 +1,117 @@ + + + + + + +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 index cb040d0..dd841de 100644 --- a/docs/docs/Shell-Conventions.html +++ b/docs/docs/Shell-Conventions.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -22,7 +23,7 @@ Documentation License." --> - + + + + + + +
+

+Next: , Previous: , Up: Preparing Environment   [Contents]

+
+
+

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 index f0cbaf5..76cf410 100644 --- a/docs/docs/System-Configuration.html +++ b/docs/docs/System-Configuration.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,8 +22,8 @@ Documentation License." --> - - + + + + + + + +
+

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

+
+
+

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/Usage.html b/docs/docs/Usage.html deleted file mode 100644 index 65ade0d..0000000 --- a/docs/docs/Usage.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -Usage (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Up: Package Manager   [Contents]

-
-
-

2.1 Usage

- -

cpt is formed of many tools combined in a single environment, similar -to git. When you run cpt without any arguments, it will show -all available tools and their explanations. Here is an example call with extra -scripts on my system: -

-
-
-> Carbs Packaging Tool
--> add               Commit the current directory as a new package
--> alternatives      List and swap to alternatives
--> build             Build a package
--> bump              Commit the current directory as a version bump
--> cargo-urlgen      Create static cargo sources for Rust packages
--> cargolock-urlgen  Convert the given Cargo.lock file to sources
--> cat               Concatanate package files in the installed package database
--> changelog         Print the git log of the specific package
--> chbuild           Create/destroy temporary chroots
--> checkmissing      Verify package manifests
--> checksum          Generate checksums
--> chroot            Enter a chroot
--> commit            Commit a package without the prefix of 'package:'
--> depends           Display a package's dependencies
--> download          Download sources for the given package
--> exec              Execute a command inside the alternatives system
--> export            Turn an installed package into a CPT tarball
--> fetch             Fetch repositories
--> fork              Fork a package to the current directory
--> getchoice         Prints the full path to a file in the alternatives system.
--> install           Install a package
--> link              Link a forked package's files to the other repository
--> list              List installed packages
--> maintainer        Find the maintainer of a package
--> manifest          Display all files owned by a package
--> manifest-tree     Display all files owned by a package with a tree view
--> new               Create a boilerplate CPT package
--> orphans           List orphaned packages
--> owns              Check which package owns a file
--> rel               Bump the release number of a package
--> remove            Remove a package
--> repodepends       Display a package's dependencies in the repository
--> reporevdepends    Display packages on the repository which depend on package
--> reset             Remove all packages except for the base
--> revdepends        Display packages which depend on package
--> search            Search for a package
--> size              Show the size on disk for a package
--> source            Extract sources of a given package to the current directory
--> update            Check for updates
-
- - - - - - - - - - - - - - - - -
-
-

-Next: , Up: Package Manager   [Contents]

-
- - - - - diff --git a/docs/docs/_002fetc_002finit_002frcconf-file.html b/docs/docs/_002fetc_002finit_002frcconf-file.html new file mode 100644 index 0000000..5f33c04 --- /dev/null +++ b/docs/docs/_002fetc_002finit_002frcconf-file.html @@ -0,0 +1,66 @@ + + + + + + +/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/cpt_002dalternatives.html b/docs/docs/cpt_002dalternatives.html deleted file mode 100644 index df24945..0000000 --- a/docs/docs/cpt_002dalternatives.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - -cpt-alternatives (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Next: , Up: Usage   [Contents]

-
-
-

2.1.1 cpt-alternatives

- -

You can list and swap to alternatives using cpt-alternatives, or -cpt a for short. When run without alternatives, it will list -alternatives. It can read from standard input if - is given as an -argument. -

- - -

Examples

- -

List alternatives -

-
-
$ cpt-alternatives
-ncurses /usr/bin/clear
-ncurses /usr/bin/reset
-
- -

Swap to clear from ncurses. -

-
-
$ cpt-alternatives ncurses /usr/bin/clear
--> Swapping '/usr/bin/clear' from 'busybox' to 'ncurses'
-
- -

Swap in bulk (all of sbase). -

-
-
$ cpt a | grep ^sbase | cpt a -
-
- - - - - - - - diff --git a/docs/docs/cpt_002dbuild.html b/docs/docs/cpt_002dbuild.html deleted file mode 100644 index c15e41c..0000000 --- a/docs/docs/cpt_002dbuild.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - -cpt-build (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

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

-
-
-

2.1.2 cpt-build

- -

cpt-build will build given packages and their dependencies. If -multiple packages are specified, it will ask to install the packages as well. -

- - -

Options

- -
-
-y --no-prompt
-

Do not prompt for confirmation -

-
-t --test
-

Run tests (if it exists) -

-
- - - - - - - - diff --git a/docs/docs/cpt_002dchecksum.html b/docs/docs/cpt_002dchecksum.html deleted file mode 100644 index 8a038be..0000000 --- a/docs/docs/cpt_002dchecksum.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - -cpt-checksum (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

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

-
-
-

2.1.3 cpt-checksum

- -

cpt-checksum will generate a checksums file from the package’s -sources. -

- - - - - - - diff --git a/docs/docs/cpt_002ddownload.html b/docs/docs/cpt_002ddownload.html deleted file mode 100644 index 2eb2a3d..0000000 --- a/docs/docs/cpt_002ddownload.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - -cpt-download (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

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

-
-
-

2.1.4 cpt-download

- -

cpt-download will download the sources of a package. -

- - - - - - - diff --git a/docs/docs/cpt_002dfetch.html b/docs/docs/cpt_002dfetch.html deleted file mode 100644 index 0b5c840..0000000 --- a/docs/docs/cpt_002dfetch.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - -cpt-fetch (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

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

-
-
-

2.1.5 cpt-fetch

- -

cpt-fetch will fetch remote repositories. -

- - - - - - - diff --git a/docs/docs/cpt_002dinstall.html b/docs/docs/cpt_002dinstall.html deleted file mode 100644 index ed82923..0000000 --- a/docs/docs/cpt_002dinstall.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -cpt-install (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

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

-
-
-

2.1.6 cpt-install

- -

cpt-install will install given packages. -

- - -

Options

- -
-
-f --force
-

Force installation. See CPT_FORCE. -

-
--root
-

Set an alternative root directory. See CPT_ROOT. -

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

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

-
-
-

2.1.7 cpt-list

- -

When called without arguments, cpt-list will print all installed -packages. You can add package names as arguments to check whether they are -installed or not. In success, cpt-list will exit with status 0 if all -given packages are installed, it will return 1 if any of the given packages -aren’t installed. -

- - - - - - - diff --git a/docs/docs/cpt_002dremove.html b/docs/docs/cpt_002dremove.html deleted file mode 100644 index 93a7ff8..0000000 --- a/docs/docs/cpt_002dremove.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -cpt-remove (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

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

-
-
-

2.1.8 cpt-remove

- -

cpt-remove will remove given packages. -

- - -

Options

- -
-
-f --force
-

Force removal. See CPT_FORCE. -

-
--root
-

Set an alternative root directory. See CPT_ROOT. -

-
- - - - - - - - diff --git a/docs/docs/cpt_002dsearch.html b/docs/docs/cpt_002dsearch.html deleted file mode 100644 index 289903f..0000000 --- a/docs/docs/cpt_002dsearch.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - -cpt-search (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

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

-
-
-

2.1.9 cpt-search

- -

cpt-search will remove given packages. -

- - -

Options

- -
-
-s --single
-

Only show the first instance of a package. -

-
- - - - - - - - diff --git a/docs/docs/cpt_002dupdate.html b/docs/docs/cpt_002dupdate.html deleted file mode 100644 index 7446855..0000000 --- a/docs/docs/cpt_002dupdate.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - -cpt-update (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
-

-Previous: , Up: Usage   [Contents]

-
-
-

2.1.10 cpt-update

- -

cpt-update will update the packages on your system. -

- - -

Options

- -
-
-d --download
-

Only download updatable packages. -

-
-n --no-fetch
-

Do not fetch remote repositories. -

-
-y --no-prompt
-

Do not prompt for confirmation. -

-
--root
-

Use an alternate root directory. See CPT_ROOT. -

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

The node you are looking for is at cptforce.

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

The node you are looking for is at cptroot.

- diff --git a/docs/docs/index.html b/docs/docs/index.html index 9511f59..68cef39 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -49,19 +50,6 @@ ul.no-bullet {list-style: none} - -

Short Table of Contents

- -
- -
-

Table of Contents

@@ -72,130 +60,70 @@ ul.no-bullet {list-style: none} -
  • 2 Package Manager +
  • 2 Init System
  • -
  • 3 Init System +
  • 3 Contribution Guidelines
  • -
  • 4 Contribution Guidelines +
  • Appendix A GNU Free Documentation License
  • -
  • GNU Free Documentation License
  • -

    Next:   [Contents]

    @@ -203,9 +131,8 @@ Next: &nbs

    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 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 @@ -214,53 +141,92 @@ is not yet complete. favorite pager. You can install either the info or texinfo for doing the first.

    + + + + + + + + +
    diff --git a/docs/docs/install.html b/docs/docs/install.html index 6ed93a7..176aacd 100644 --- a/docs/docs/install.html +++ b/docs/docs/install.html @@ -1,393 +1,822 @@ - - - - install | Carbs Linux - - - - - - -

    Carbs Linux - a simple linux distribution

    -
    -
    -1 Installation
    -**************
    -
    -These are the step-by-step instructions for installing Carbs Linux.
    -
    -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.
    -
    -     $ URL=https://dl.carbslinux.org/releases/x86_64
    -     $ wget $URL/carbs-rootfs.tar.xz
    -
    -   We can then check the integrity of the tarball and do a signature
    -verification.  Even thought these are optional, they are highly
    -recommended.
    -
    -1.1.2 Check the integrity of the tarball (Recommended)
    -------------------------------------------------------
    -
    -All of the releases are saved in a single file named 'sha256sums.txt',
    -but the latest release is saved on 'carbs-rootfs.tar.xz.sha256'.  You
    -can acquire and verify the tarball.
    -
    -     $ wget $URL/carbs-rootfs.tar.xz.sha256
    -     $ sha256sum -c carbs-rootfs.tar.xz.sha256
    -
    -1.1.3 Verify the signature
    ---------------------------
    -
    -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.4 Extracting the tarball
    -----------------------------
    -
    -You will need to extract the tarball to your desired location.  For
    -partitioning, you can follow this guide
    -(https://wiki.archlinux.org/index.php/Partitioning).  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.5 Obtain the chroot helper
    -------------------------------
    -
    -You can obtain the 'cpt-chroot' script in order to do a simple chroot
    -into your new root filesystem.
    -
    -     $ wget https://dl.carbslinux.org/distfiles/cpt-chroot
    -     $ chmod a+x cpt-chroot
    -
    -1.2 Chroot
    -==========
    -
    +
    +
    +
    +
    +
    +
    +
    +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 - -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.2.1.1 Obtaining from rsync -............................ - -Carbs Linux rsync repositories live in . -In order to obtain it, run the following: - - $ rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs - -1.2.1.2 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. - - * - * <>https://github.com/carbslinux/repository> - - $ git clone git://git.carbslinux.org/repository $HOME/repos/carbs - -1.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: - - export CPT_PATH='' - CPT_PATH=$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 - -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 ------------------------- - +
    +
    ./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 - * wpa_supplicant - TEXT EDITORS - * nano - * vim - * neatvi - * nvi - * emacs - * emacs-nox (terminal-only version of emacs) - USER SHELLS - * bash - * zsh - * dash - * oksh - * rc - POSIX BASE UTILITIES - * busybox - * sbase - * coreutils - DOCUMENTATION - * carbs-docs - * man-pages - * man-pages-posix - -1.2.5 Obtaining the documentation (optional) --------------------------------------------- - -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 - -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 (recommended) ----------------------------------------- - -You might want to add a hostname, especially in a networked environment. -Your hostname will default to 'carbslinux' unless you set this. - - $ echo your-hostname > /etc/hostname - -1.3.2 Setting up hosts file (optional) --------------------------------------- - -You can edit your /etc/hosts file, which is the static lookup table for -host names. By default, there are two entries for localhost which are -OKAY. You can replace the 'localhost' part of these entries to your -hostname. - - 127.0.0.1 localhost.localdomain localhost - ::1 localhost.localdomain localhost ip6-localhost - -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 -(https://github.com/cemkeylan/kiss-repository/tree/master/personal/linux), -which you will need to reconfigure for your specific setup if you want -to make use of it. - -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.7.6.tar.xz - $ tar xf linux-5.7.6.tar.xz - - Change directory into the kernel sources - $ cd linux-5.7.6 - -1.4.2 Installing dependencies ------------------------------ - -In order to compile the kernel you will need to install some -dependencies. You will need 'libelf' to compile the kernel. 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 (https://github.com/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 - -1.4.3 Compiling the kernel --------------------------- - -Next step is configuring and building the kernel. You can check -Gentoo's kernel configuration guide -(https://wiki.gentoo.org/wiki/Kernel/Configuration) 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 - -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 Installing a bootloader ------------------------------ - -In the main repository, there is efibootmgr and grub to serve as -bootloaders. efibootmgr can be used as a standalone bootloader, or can -be used to install grub in a UEFI environment. efibootmgr is needed -unless you are using a device without UEFI support (or you really want -to use BIOS for a reason). - - GRUB BIOS installation - - $ cpt b grub && cpt i grub - $ grub-install --target=i386-pc /dev/sdX - $ grub-mkconfig -o /boot/grub/grub.cfg - - GRUB UEFI installation - - $ cpt b efibootmgr && cpt i efibootmgr - $ cpt b grub && cpt i grub - - $ grub-install --target=x86_64-efi \ - --efi-directory=esp \ - --bootloader-id=CarbsLinux - - $ grub-mkconfig -o /boot/grub/grub.cfg - -1.5.2 Installing 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 Generating 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. - -1.6.1 Acquiring 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. - - $ git clone https://github.com/kisslinux/community $HOME/repos/kiss-community - $ export CPT_PATH=$CPT_PATH:$HOME/repos/kiss-community/community - - NOTE: There are lots of packages on the KISS community repository -that are also on Carbs Linux main repository. I would advise giving -lower priority to the KISS community repository as it may affect other -packages that you might install. - +

    + +

    +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
     
    - View Page Source -
    - - - +
    +
    +
    + +
    +

    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 index 50ad008..f7a6881 100644 --- a/docs/docs/install.txt +++ b/docs/docs/install.txt @@ -1,364 +1,481 @@ -1 Installation -************** + ________________________________ -These are the step-by-step instructions for installing Carbs Linux. + CARBS LINUX INSTALLATION GUIDE -1.1 Preparing Environment -========================= + Cem Keylan + ________________________________ -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: +Table of Contents +_________________ - * tar - * wget - * xz - * some form of base utilities (coreutils, sbase, busybox, etc.) +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 - Rest of these instructions will assume that you have set all of these -up, and will continue on that point. -1.1.1 Download --------------- +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 +. -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. - $ URL=https://dl.carbslinux.org/releases/x86_64 - $ wget $URL/carbs-rootfs.tar.xz +1 Preparing Environment +======================= - We can then check the integrity of the tarball and do a signature -verification. Even thought these are optional, they are highly -recommended. + 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. -1.1.2 Check the integrity of the tarball (Recommended) ------------------------------------------------------- + You will need the following programs in order to install Carbs Linux: -All of the releases are saved in a single file named 'sha256sums.txt', -but the latest release is saved on 'carbs-rootfs.tar.xz.sha256'. You -can acquire and verify the tarball. + - tar + - wget + - xz + - some form of base utilities (coreutils, sbase, busybox, etc.) - $ wget $URL/carbs-rootfs.tar.xz.sha256 - $ sha256sum -c carbs-rootfs.tar.xz.sha256 + Rest of these instructions will assume that you have set all of these + up, and will continue on that point. -1.1.3 Verify the signature + +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 -------------------------- -It is highly recommended to verify the signature of the tarball. You -will need GPG for this. + Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In + order to obtain it, run the following: - $ wget $URL/carbs-rootfs.tar.xz.sig - $ gpg --recv-keys FF484BDFEFCEF8FF - $ gpg --verify carbs-rootfs.tar.xz.sig + ,---- + | rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs + `---- -1.1.4 Extracting the tarball ----------------------------- -You will need to extract the tarball to your desired location. For -partitioning, you can follow this guide -(https://wiki.archlinux.org/index.php/Partitioning). This will assume -that you will be mounting your root partition to '/mnt'. +2.1.3 Making the package manager use the repositories +----------------------------------------------------- - $ mount /dev/sdx1 /mnt - $ tar xf carbs-rootfs.tar.xz -C /mnt + In your shell's configuration file, or in your `~/.profile' file, add + the following lines: -1.1.5 Obtain the chroot helper ------------------------------- + ,---- + | 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 + `---- -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 Updating packages +~~~~~~~~~~~~~~~~~~~~~ -1.2 Chroot -========== + 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. -Chroot into Carbs Linux! + ,---- + | cpt-update && cpt-update + `---- - $ ./cpt-chroot /mnt -1.2.1 Setting up repositories ------------------------------ +2.3 Installing packages +~~~~~~~~~~~~~~~~~~~~~~~ -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. + 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. - 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: + ,---- + | cpt-build package + | cpt-install package + `---- - $ mkdir -p $HOME/repos -1.2.1.1 Obtaining from rsync -............................ +2.4 Essential Software +~~~~~~~~~~~~~~~~~~~~~~ -Carbs Linux rsync repositories live in . -In order to obtain it, run the following: + Here is a list of software that you might want to have on your system. - $ rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs + *BOOTLOADERS* -1.2.1.2 Obtaining from git -.......................... + - efibootmgr + - grub -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. + *FILESYSTEMS* - * - * + - e2fsprogs + - dosfstools + - ntfs-3g - $ git clone git://git.carbslinux.org/repository $HOME/repos/carbs + *NETWORKING* -1.2.1.3 Making the package manager use the repositories -....................................................... + - dhcpcd + - wpa_supplicant -In your shell's configuration file, or in your '~/.profile' file, add -the following lines: + *TEXT EDITORS* - export CPT_PATH='' - CPT_PATH=$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 + - nano + - vim + - neatvi + - emacs + - emacs-nox (terminal-only version of emacs) -1.2.2 Updating packages ------------------------ + *USER SHELLS* -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. + - bash + - zsh + - oksh + - rc - $ cpt update + *POSIX BASE UTILITIES* -1.2.3 Installing packages -------------------------- + - busybox + - sbase + - coreutils -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. + *DOCUMENTATION* - $ cpt build package - $ cpt install package + - carbs-docs + - man-pages + - man-pages-posix -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 - * nvi - * emacs - * emacs-nox (terminal-only version of emacs) - USER SHELLS - * bash - * zsh - * dash - * oksh - * rc - POSIX BASE UTILITIES - * busybox - * sbase - * coreutils - DOCUMENTATION - * carbs-docs - * man-pages - * man-pages-posix - -1.2.5 Obtaining the documentation (optional) --------------------------------------------- - -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 - -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 (recommended) ----------------------------------------- - -You might want to add a hostname, especially in a networked environment. -Your hostname will default to 'carbslinux' unless you set this. - - $ echo your-hostname > /etc/hostname - -1.3.2 Setting up hosts file (optional) --------------------------------------- - -You can edit your /etc/hosts file, which is the static lookup table for -host names. By default, there are two entries for localhost which are -OKAY. You can replace the 'localhost' part of these entries to your -hostname. - - 127.0.0.1 localhost.localdomain localhost - ::1 localhost.localdomain localhost ip6-localhost - -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 -(https://github.com/cemkeylan/kiss-repository/tree/master/personal/linux), -which you will need to reconfigure for your specific setup if you want -to make use of it. - -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.7.6.tar.xz - $ tar xf linux-5.7.6.tar.xz - - Change directory into the kernel sources - $ cd linux-5.7.6 - -1.4.2 Installing dependencies ------------------------------ - -In order to compile the kernel you will need to install some -dependencies. You will need 'libelf' to compile the kernel. 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 (https://github.com/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 +2.5 Obtaining the documentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1.4.3 Compiling the kernel --------------------------- + 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. -Next step is configuring and building the kernel. You can check -Gentoo's kernel configuration guide -(https://wiki.gentoo.org/wiki/Kernel/Configuration) 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. + ,---- + | # 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 + `---- - $ make menuconfig - $ make - $ install -Dm755 $(make -s image_name) /boot/vmlinuz-linux -1.5 Making your system bootable -=============================== +3 System Configuration +====================== -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. + After you have finished installing some extra packages, you can + configure your system to your liking. -1.5.1 Installing a bootloader ------------------------------ -In the main repository, there is efibootmgr and grub to serve as -bootloaders. efibootmgr can be used as a standalone bootloader, or can -be used to install grub in a UEFI environment. efibootmgr is needed -unless you are using a device without UEFI support (or you really want -to use BIOS for a reason). +3.1 Configuring hostname +~~~~~~~~~~~~~~~~~~~~~~~~ - GRUB BIOS installation + You might want to add a hostname, especially in a networked + environment. Your hostname will default to 'carbslinux' unless you set + this. - $ cpt b grub && cpt i grub - $ grub-install --target=i386-pc /dev/sdX - $ grub-mkconfig -o /boot/grub/grub.cfg + ,---- + | echo your-hostname > /etc/hostname + `---- - GRUB UEFI installation - $ cpt b efibootmgr && cpt i efibootmgr - $ cpt b grub && cpt i grub +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 +---------------------------- - $ grub-install --target=x86_64-efi \ - --efi-directory=esp \ - --bootloader-id=CarbsLinux + ,---- + | 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 + `---- - $ grub-mkconfig -o /boot/grub/grub.cfg -1.5.2 Installing init scripts ------------------------------ +5.2 Init scripts +~~~~~~~~~~~~~~~~ -Only thing left to do is installing the init-scripts, and now you are -almost ready to boot your system! + 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 + ,---- + | cpt b carbs-init && cpt i carbs-init + `---- -1.5.3 Generating 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: +5.3 Fstab +~~~~~~~~~ - $ wget https://github.com/cemkeylan/genfstab/raw/master/genfstab - $ chmod +x genfstab - $ ./genfstab -U /mnt >> /mnt/etc/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: -1.6 Post-installation -===================== + ,---- + | wget https://github.com/cemkeylan/genfstab/raw/master/genfstab + | chmod +x genfstab + | ./genfstab -U /mnt >> /mnt/etc/fstab + `---- -The base installation is now complete, you can now fine tune your system -according to your needs. Rest of these instructions are completely -optional. -1.6.1 Acquiring kiss repositories ---------------------------------- +6 Post-installation +=================== -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. + 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. - $ git clone https://github.com/kisslinux/community $HOME/repos/kiss-community - $ export CPT_PATH=$CPT_PATH:$HOME/repos/kiss-community/community - NOTE: There are lots of packages on the KISS community repository -that are also on Carbs Linux main repository. I would advise giving -lower priority to the KISS community repository as it may affect other -packages that you might install. +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/index.html b/docs/index.html index 95a0b97..b25bd06 100644 --- a/docs/index.html +++ b/docs/index.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
    diff --git a/docs/mailing-lists.html b/docs/mailing-lists.html index d738429..6435eb5 100644 --- a/docs/mailing-lists.html +++ b/docs/mailing-lists.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
    diff --git a/docs/news.html b/docs/news.html index 539643f..cc8f630 100644 --- a/docs/news.html +++ b/docs/news.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
    diff --git a/docs/news.xml b/docs/news.xml index 192e4ca..5a1c054 100644 --- a/docs/news.xml +++ b/docs/news.xml @@ -9,7 +9,7 @@ a simple linux distribution https://carbslinux.org - Thu Dec 10 2020 12:00 + Sat Dec 26 2020 00:00 Sep 16 2020 Wed, 16 Sep 2020 diff --git a/docs/people.html b/docs/people.html index 5b35c1f..64837d9 100644 --- a/docs/people.html +++ b/docs/people.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
    diff --git a/docs/rss.xml b/docs/rss.xml index 6982168..dc8add0 100644 --- a/docs/rss.xml +++ b/docs/rss.xml @@ -9,7 +9,7 @@ a simple linux distribution https://carbslinux.org - Thu Dec 10 2020 12:00 + Sat Dec 26 2020 00:00 First Year of Carbs Linux Thu, 10 Dec 2020 diff --git a/src/docs/0010.html b/src/docs/0010.html index 495a177..fad5ef3 100644 --- a/src/docs/0010.html +++ b/src/docs/0010.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -38,11 +39,11 @@ ul.no-bullet {list-style: none} --> - + -

    The node you are looking for is at 0010.

    +

    The node you are looking for is at 0010.

    diff --git a/src/docs/0011.html b/src/docs/0011.html index f1cc6bb..ab45257 100644 --- a/src/docs/0011.html +++ b/src/docs/0011.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -38,11 +39,11 @@ ul.no-bullet {list-style: none} --> - + -

    The node you are looking for is at 0011.

    +

    The node you are looking for is at 0011.

    diff --git a/src/docs/0012.html b/src/docs/0012.html index a53264a..32dca75 100644 --- a/src/docs/0012.html +++ b/src/docs/0012.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -38,11 +39,11 @@ ul.no-bullet {list-style: none} --> - + -

    The node you are looking for is at 0012.

    +

    The node you are looking for is at 0012.

    diff --git a/src/docs/0013.html b/src/docs/0013.html index 95fee3c..27102b1 100644 --- a/src/docs/0013.html +++ b/src/docs/0013.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -38,11 +39,11 @@ ul.no-bullet {list-style: none} --> - + -

    The node you are looking for is at 0013.

    +

    The node you are looking for is at 0013.

    diff --git a/src/docs/1010.html b/src/docs/1010.html index a202655..a9635e8 100644 --- a/src/docs/1010.html +++ b/src/docs/1010.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/1020.html b/src/docs/1020.html index a5625c3..2f73bac 100644 --- a/src/docs/1020.html +++ b/src/docs/1020.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/1030.html b/src/docs/1030.html index a115463..bb51640 100644 --- a/src/docs/1030.html +++ b/src/docs/1030.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/1040.html b/src/docs/1040.html index 23b0de0..ae10d79 100644 --- a/src/docs/1040.html +++ b/src/docs/1040.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/1041.html b/src/docs/1041.html index 5e893c8..a75e629 100644 --- a/src/docs/1041.html +++ b/src/docs/1041.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/1042.html b/src/docs/1042.html index b2512eb..c9e5426 100644 --- a/src/docs/1042.html +++ b/src/docs/1042.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/1043.html b/src/docs/1043.html index 81f9202..32807ad 100644 --- a/src/docs/1043.html +++ b/src/docs/1043.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/1050.html b/src/docs/1050.html index 514d9bf..c913527 100644 --- a/src/docs/1050.html +++ b/src/docs/1050.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2010.html b/src/docs/2010.html index af89e0b..482ddf3 100644 --- a/src/docs/2010.html +++ b/src/docs/2010.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2020.html b/src/docs/2020.html index 62725ba..dab5be2 100644 --- a/src/docs/2020.html +++ b/src/docs/2020.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2030.html b/src/docs/2030.html index d9da18e..353fd6f 100644 --- a/src/docs/2030.html +++ b/src/docs/2030.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2040.html b/src/docs/2040.html index 166fefe..84e108a 100644 --- a/src/docs/2040.html +++ b/src/docs/2040.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2050.html b/src/docs/2050.html index 51dc0b5..a8b2a70 100644 --- a/src/docs/2050.html +++ b/src/docs/2050.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2210.html b/src/docs/2210.html index bf28d26..1304a27 100644 --- a/src/docs/2210.html +++ b/src/docs/2210.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2211.html b/src/docs/2211.html index dc1e677..9d2f2b3 100644 --- a/src/docs/2211.html +++ b/src/docs/2211.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2212.html b/src/docs/2212.html index f34310a..e14d231 100644 --- a/src/docs/2212.html +++ b/src/docs/2212.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2220.html b/src/docs/2220.html index 3cabc62..4012c71 100644 --- a/src/docs/2220.html +++ b/src/docs/2220.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2230.html b/src/docs/2230.html index c5fbbdd..b03a69c 100644 --- a/src/docs/2230.html +++ b/src/docs/2230.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2240.html b/src/docs/2240.html index 5a2f9e0..c8e98f2 100644 --- a/src/docs/2240.html +++ b/src/docs/2240.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> diff --git a/src/docs/2241.html b/src/docs/2241.html index 80cdd37..dba5354 100644 --- a/src/docs/2241.html +++ b/src/docs/2241.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> 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 new file mode 100644 index 0000000..b3423c8 --- /dev/null +++ b/src/docs/ADDENDUM-How-to-use-this-License-for-your-documents.html @@ -0,0 +1,49 @@ + + + + + + + +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 new file mode 100644 index 0000000..6f23a5b --- /dev/null +++ b/src/docs/Bootloader.html @@ -0,0 +1,91 @@ + + + + + + +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 new file mode 100644 index 0000000..e0f5ee2 --- /dev/null +++ b/src/docs/Building-the-kernel.html @@ -0,0 +1,72 @@ + + + + + + +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 index 2948f40..d1cc7ce 100644 --- a/src/docs/Changing-Init-Program.html +++ b/src/docs/Changing-Init-Program.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,7 +22,7 @@ Documentation License." --> - + + + + + + + +
    +

    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 index cbb7b02..5b2c7cf 100644 --- a/src/docs/Contribution-Guidelines.html +++ b/src/docs/Contribution-Guidelines.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -22,7 +23,7 @@ Documentation License." --> - + + + + + + + +
    +

    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/Editing-the-build-file-during-pre_002dbuild.html b/src/docs/Editing-the-build-file-during-pre_002dbuild.html deleted file mode 100644 index 7955ddb..0000000 --- a/src/docs/Editing-the-build-file-during-pre_002dbuild.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - -Editing the build file during pre-build (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

    -Up: Hooks   [Contents]

    -
    -
    -

    2.3.1 Editing the build file during pre-build

    - -

    You can edit the build file during pre-build. The file is copied from the -repository to the build directory named as .build.cpt. You can use -sed or any other tool to edit the build file. After the build is -complete, a diff file will be placed to the package database named as -build.diff. Here is an example build file manipulation during the -pre-build hook. -

    -
    -
    cat <<EOF> .build.cpt
    -#!/bin/sh -e
    -
    -for patch in bash50-0??; do
    -    patch -p0 < "\$patch"
    -done
    -
    -export LDFLAGS=-static
    -
    -./configure \
    -    --prefix=/usr \
    -    --without-bash-malloc \
    -    --disable-nls
    -
    -export MAKEFLAGS="TERMCAP_LIB=/usr/lib/libncursesw.a $MAKEFLAGS"
    -
    -make
    -make DESTDIR="\$1" install
    -
    -ln -s bash "\$1/usr/bin/sh"
    -EOF
    -
    - - - - - - - - diff --git a/src/docs/Environment-Variables.html b/src/docs/Environment-Variables.html deleted file mode 100644 index b47dfd6..0000000 --- a/src/docs/Environment-Variables.html +++ /dev/null @@ -1,184 +0,0 @@ - - - - - - -Environment Variables (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

    -Next: , Previous: , Up: Package Manager   [Contents]

    -
    -
    -

    2.2 Environment Variables

    - -

    Since there is no configuration file for cpt, the package manager is configured -through environment variables. These can be set per operation, or be set to your -shell configuration or ~/.profile. Here are the environment variables that -alter the behaviour of cpt: -

    -
    -
    CPT_PATH
    -

    Set the locations of your repositories. This is set similar to the PATH -variable. -

    -
    -
    XDG_CACHE_HOME
    -

    Unless this is set, the ~/.cache directory will be used instead. -

    -
    -
    CPT_CACHE
    -

    The cache directory for cpt. Default: $XDG_CACHE_HOME/cpt -

    -
    -
    CPT_CHOICE
    -

    If this is set to 0, a package installation will be aborted on conflicts. -Default: 1 -

    -
    -
    CPT_COMPRESS
    -

    Program used to compress package tarballs. The values should be the default -suffixes for the program. Available values are: -

    -
      -
    • gz -
    • zst -
    • bz2 -
    • xz -
    -

    Default: gz -

    -
    -
    CPT_DEBUG
    -

    If this is set to 1, temporary build directories will not be removed after the -given operation. Default: unset -

    -
    -
    CPT_FETCH
    -

    If this is set to 0, cpt-update will not fetch the repositories. -This behaviour can also be achieved by adding -n or --no-fetch -as an argument. Default: 0 -

    -
    -
    CPT_FORCE
    -

    If this is set to 1, some of the cpt tools will continue regardless of -errors or skip certain checks. Here are some examples: -

    -
      -
    • cpt-install will install a package without verifying its manifest. -
    • cpt-install will install a package even when there are missing -dependencies. -
    • cpt-remove will remove packages even when there are other packages -that depend on the current package. -
    - -

    This behaviour can also be achieved by adding -f or --force -as an argument to those utilities. -

    -

    Default: 0 -

    -
    -
    CPT_HOOK
    -

    Location for the hook file See Hooks. Default: unset -

    -
    -
    CPT_KEEPLOG
    -

    Normally, logs are deleted if the package is built successfully. If set to 1, -logs will be kept even when the packages are built as intended. Default: 0 -

    -
    -
    CPT_PID
    -

    If this variable is set, the temporary files will be created with this variable -as the suffix, instead of the PID of the cpt process. The advantage -is that you can know exactly where the build directory is located, while the -disadvantage is that there will be issues with multiple operations at the -same time. So the best way to use this variable is during one-time cpt -calls. -

    -
    -
    CPT_PID=mesa cpt b mesa
    -
    - -

    By running the above, you will know that the created build directories will end -with the *-mesa suffix. -

    -
    -
    CPT_PROMPT
    -

    If set to 0, the package manager will not prompt you for anything and will -continue with the default action. This behaviour can also be achieved by adding -y or --no-prompt -as an argument to some utilities. -Default: 1 -

    -
    -
    CPT_ROOT
    -

    If this variable is set, cpt will assume this as the system root, and -will install/remove/update/list packages assuming this is the system root. -This behaviour can also be achieved by adding --root as an argument to some utilities. -

    -
    -
    CPT_TEST
    -

    If set to 1, cpt-build will run tests where a package has the -test build file. This behaviour can also be achieved by adding -t or --test -as an argument to cpt-build. Default: 0 -

    -
    -
    CPT_TMPDIR
    -

    The directory to create the build files. This can be changed (for example to -/tmp) for building on RAM, saving SSD space, etc. Default: $CPT_CACHE -

    -
    -
    - - - -
    -
    -

    -Next: , Previous: , Up: Package Manager   [Contents]

    -
    - - - - - diff --git a/src/docs/Essential-Software.html b/src/docs/Essential-Software.html new file mode 100644 index 0000000..3910e9b --- /dev/null +++ b/src/docs/Essential-Software.html @@ -0,0 +1,120 @@ + + + + + + +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 new file mode 100644 index 0000000..8659608 --- /dev/null +++ b/src/docs/Extracting-the-tarball.html @@ -0,0 +1,70 @@ + + + + + + +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 new file mode 100644 index 0000000..d4573ec --- /dev/null +++ b/src/docs/Fstab.html @@ -0,0 +1,70 @@ + + + + + + +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 index 9b9be9d..4fb6747 100644 --- a/src/docs/GNU-Free-Documentation-License.html +++ b/src/docs/GNU-Free-Documentation-License.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,7 +22,7 @@ Documentation License." --> - + - - - - - -
    -

    -Next: , Up: Conventions   [Contents]

    -
    -
    -

    4.1.1 General Conventions – 00

    - -
    -
    [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/Hooks.html b/src/docs/Hooks.html deleted file mode 100644 index e78cbf9..0000000 --- a/src/docs/Hooks.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - - -Hooks (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
    -

    2.3 Hooks

    - -

    Hooks can be used in order to change the runtime behaviour of the package manager. -There are a variety of package hooks, mostly self explanatory: -

    -
      -
    • pre-build -
    • post-build -
    • build-fail -
    • pre-test -
    • test-fail -
    • pre-install -
    • post-install -
    • pre-remove -
    • post-remove -
    • pre-fetch -
    • post-fetch -
    • post-package -
    - -

    In order to use hooks, you will need to set the CPT_HOOK variable pointing -to your hook file. Your hook file MUST be a POSIX shell script as its -contents are sourced by the package manager. -

    -

    The hook is given 3 variables when it is executed. Those are: -

    -
    $TYPE
    -

    The type of the hook, (pre-build, post-build, etc.) -

    -
    $PKG
    -

    The package that cpt is currently working on. Can be null. -

    -
    $DEST
    -

    The destination of the operation. Can be null. -

    -
    - - - - - - - - - - - - - diff --git a/src/docs/Hosts-file.html b/src/docs/Hosts-file.html new file mode 100644 index 0000000..ed26d62 --- /dev/null +++ b/src/docs/Hosts-file.html @@ -0,0 +1,70 @@ + + + + + + +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 index a5a767d..52e2e84 100644 --- a/src/docs/Init-Hooks.html +++ b/src/docs/Init-Hooks.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -20,9 +21,9 @@ Documentation License." --> - + - + + + + + + +
    +

    +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 index 7116e8c..a85f8f4 100644 --- a/src/docs/Installation.html +++ b/src/docs/Installation.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -48,35 +49,32 @@ ul.no-bullet {list-style: none}

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

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


    1 Installation

    -

    These are the step-by-step instructions for installing Carbs Linux. -

    -

    The instructions can also be found plaintext on -https://carbslinux.org/docs/install.txt +

    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.

    - - - - - diff --git a/src/docs/Installing-packages.html b/src/docs/Installing-packages.html new file mode 100644 index 0000000..2a2e342 --- /dev/null +++ b/src/docs/Installing-packages.html @@ -0,0 +1,71 @@ + + + + + + +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 new file mode 100644 index 0000000..3824e9e --- /dev/null +++ b/src/docs/KISS-repositories.html @@ -0,0 +1,65 @@ + + + + + + +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 new file mode 100644 index 0000000..a099dc8 --- /dev/null +++ b/src/docs/Kernel-Command-Line.html @@ -0,0 +1,83 @@ + + + + + + +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 new file mode 100644 index 0000000..192479b --- /dev/null +++ b/src/docs/Kernel-dependencies.html @@ -0,0 +1,81 @@ + + + + + + +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 index 5f3eb9d..10f3945 100644 --- a/src/docs/Kernel.html +++ b/src/docs/Kernel.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,8 +22,8 @@ Documentation License." --> - - + + + + + + + + +
    +

    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 new file mode 100644 index 0000000..03739b5 --- /dev/null +++ b/src/docs/Obtaining-the-documentation.html @@ -0,0 +1,77 @@ + + + + + + +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 new file mode 100644 index 0000000..5acdb26 --- /dev/null +++ b/src/docs/Obtaining-the-kernel-sources.html @@ -0,0 +1,74 @@ + + + + + + +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/Package-Manager.html b/src/docs/Package-Manager.html deleted file mode 100644 index 14ca738..0000000 --- a/src/docs/Package-Manager.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - -Package Manager (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

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

    -
    -
    -

    2 Package Manager

    - -

    Carbs Linux uses its own package managing toolchain named cpt. It is a -fork of the kiss package manager. -Unlike kiss, however, its main goal is being easily extendable. -Instead of being a single file package manager, it revolves around the shell -library cpt-lib, and many tools that wrap around it. -

    - - - - - - - - - - - - - - - diff --git a/src/docs/Packaging-System.html b/src/docs/Packaging-System.html deleted file mode 100644 index 7268068..0000000 --- a/src/docs/Packaging-System.html +++ /dev/null @@ -1,226 +0,0 @@ - - - - - - -Packaging System (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

    -Next: , Previous: , Up: Package Manager   [Contents]

    -
    -
    -

    2.4 Packaging System

    - -

    A package is formed of several files, these are: -

      -
    • build -
    • sources -
    • checksums -
    • version -
    • depends -
    • post-install -
    • message -
    • test -
    - -

    Any other file can be added to the package directory at the discretion of the -package maintainer. Everything in the package directory will also be added to the -package database that is located on ’/var/db/cpt/installed’. These can be -patches, configuration files, etc. -

    - - -

    2.4.1 build

    - -

    Typically build files are shell scripts that run commands to prepare the source -code to be installed on the target system. Even though we will be assuming that -the build file is a POSIX shell script (for portability’s sake), build -files can be any executable program from binary programs to perl scripts. -

    -

    The contents of a build script do not need to follow a certain rule for the -package manager, except for the fact that the user needs the permission to -execute the file. -

    -

    An important advice is to append an ’-e’ to the shebang (#!/bin/sh -e) so that -the build script exits on compilation error. -

    -

    Build is run with three arguments ($#) -

    -
      -
    1. Location of the package directory (DESTDIR) -
    2. Package version -
    3. System architecture -
    - - - -

    2.4.2 sources

    - -

    sources file is a list of files and sources that will be put to the build -directory during the build process. Those can be remote sources (such as tarballs), -git repositories, and files that reside on the package directory. -

    -

    The syntax is pretty simple for the soures file; src dest. The -dest parameter is optional. It is the directory that the source will be -placed in. Here is the sources file for the gst-plugins package: -

    -
    -
    https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.16.2.tar.xz good
    -https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.16.2.tar.xz   bad
    -https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.16.2.tar.xz ugly
    -https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.16.2.tar.xz               libav
    -
    - -

    This file is read from the package manager as space seperated. Files that begin -with a ’#’ comment are ignored. The first value points to the location of the -source. -

    -

    If it starts with a protcol url, (such as ftp:// http:// https://) it will be -downloaded with curl. -

    -

    If the source is a git repository, it shall be prefixed with a git+ git(1) will -be used to do a shallow clone of the repository. If the commit is suffixed by a -history pointer, git will checkout the relevant revision. So, -

    -
    -
    git+git://example.com/pub/repo#v1.2.3
    -

    will checkout the tag named ’v1.2.3’ -

    -
    git+git://example.com/pub/repo#development
    -

    will checkout the branch named ’development’ -

    -
    git+git://example.com/pub/repo#1a314s87
    -

    will checkout the commit named ’1a314s87’ -

    -
    - -

    Other files are assumed to be residing in the package directory. They should be -added with their paths relative to the package directory. -

    - - -

    2.4.3 checksums

    - -

    checksums file is generated by the cpt c pkg command. It is generated -according to the order of the sources file. That’s why you shouldn’t be editing -it manually. The checksums file is created with the digests of the files using -the sha256 algorithm. -

    - - -

    2.4.4 version

    - -

    The version file includes the version of the software and the release number of -of the package on a space seperated format. The contents of the file should look -like below. -

    -
    -
    1.3.2 1
    -
    - -

    The version should always match to the number of the upstream release. For -drastic changes that require a rebuild Those can be, -

    -
      -
    • update of libraries that forces the package to be relinked -
    • change in the build scripts that affect the output of the package -
    - -

    When a version bump occurs, the release should be reset to 1. -

    - - -

    2.4.5 depends

    - -

    This is a list of dependencies that must be installed before a package build. You -can append “make” after a dependency to mark a package is only required during -the build process of a package. Packages marked as a make dependency can be -removed after the build. There are also “test” dependencies. These dependencies -are only installed if either the CPT_TEST is set to 1, or the build is run -with the -t or --test options. So, a package package could have -the following depends file: -

    -
    -
    linux-headers make
    -python        test
    -zlib
    -
    - - - -

    2.4.6 post-install

    - -

    post-install files have the same requirements as the build script. They -will be run after the package is installed as root (or as the user if the user -has write permissions on CPT_ROOT). -

    - - -

    2.4.7 message

    - -

    This plaintext file will be outputted with cat after every package is -installed. -

    - - -

    2.4.8 test

    - -

    Test files are mainly for the repository maintainer to test the packages, and -will only run if the user has the CPT_TEST variable set, or the build is -run with the -t or --test options. This script is run on the -build directory. It is run right after the build script is finished. -

    - - -
    -
    -

    -Next: , Previous: , Up: Package Manager   [Contents]

    -
    - - - - - diff --git a/src/docs/Post_002dinstallation.html b/src/docs/Post_002dinstallation.html index 6afbb2d..da1dc05 100644 --- a/src/docs/Post_002dinstallation.html +++ b/src/docs/Post_002dinstallation.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,8 +22,8 @@ Documentation License." --> - - + + + + + + + + +
    +

    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 index e333ff6..598cc7a 100644 --- a/src/docs/Repository-Conventions.html +++ b/src/docs/Repository-Conventions.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,7 +22,7 @@ Documentation License." --> - + - - - - - -
    -

    -Previous: , Up: Package Manager   [Contents]

    -
    -
    -

    2.5 Rsync Repositories

    - -

    Rsync repositories are simple to serve and simple to use. In the repository -directory, there needs to be a ’.rsync’ file that points to the remote of the -repository. This is used in order to fetch changes from the upstream. ’.rsync’ -file looks like this for the core repository: -

    -
    -
    rsync://carbslinux.org/repo/core
    -
    - -

    Rsync repositories have some few distinctions when it comes to fetching them. -They can be either synced individually or as a “root”. There are 2 important -files, those are .rsync and .rsync_root. Here is the Carbs Linux -rsync repository structure. -

    -
    -
               /
    -   -----------------
    -  |                |
    -.rsync           core/
    -          ----------------
    -          |              |
    -        .rsync      .rsync_root
    -
    - -

    Unlike git repositories, they don’t have a defined “root” directory. This is -both an advantage and a disadvantage. This way, we can sync individual -repositories, but that also means we need extra files to define root directories -and repository locations. Here is the content for each of these files: -

    -
    -
    /.rsync:           rsync://carbslinux.org/repo
    -/core/.rsync:      rsync://carbslinux.org/repo/core
    -/core/.rsync_root: ..
    -
    - -

    The .rsync_root file on the core repository points to the upper directory. -If a .rsync file exists on the upper directory, this means that is the whole -repository and will sync the entire repository instead of each individual repository. -

    -

    If the upper directory doesn’t have this .rsync file, this means that this -is an individual repository, and the package manager will fetch accordingly. -

    - - - - - - - - - - - diff --git a/src/docs/Sending-Git-mails.html b/src/docs/Sending-Git-mails.html deleted file mode 100644 index 5dcfbe6..0000000 --- a/src/docs/Sending-Git-mails.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - -Sending Git mails (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

    -Previous: , Up: Contribution Guidelines   [Contents]

    -
    -
    -

    4.2 Sending Git mails

    - -

    As mentioned, the preferred way of contribution is via patches. The easiest way -for sending git mails without git send-email is using msmtp. -You can install it from the repository by doing: -

    -
    -
    $ cpt b msmtp && cpt i msmtp
    -
    - -

    You can then edit ~/.config/msmtp/config to add your email. Here is an -example configuration, you can use pass, pash, or any other -password manager that fits your needs: -

    -
    -
    defaults
    -auth on
    -tls on
    -tls_trust_file /etc/ssl/certs/ca-certificates.crt
    -logfile ~/.config/msmtp/msmtp.log
    -account my-mail
    -host mail.example.com
    -port 587
    -from me@example.com
    -user me@example.com
    -passwordeval "pass my-mail"
    -
    - -

    In order to simply send your patch, do the following: -

    -
    -
    $ git format-patch --to=~carbslinux/dev+subscribe@lists.sr.ht -1 --stdout |
    -    msmtp -t -a my-mail
    -
    - -

    You can also send multiple patches by doing the following: -

    -
    -
    $ git format-patch --to=~carbslinux/dev+subscribe@lists.sr.ht <region>
    -
    -Edit those files as necessary and send them.
    -$ for file in *.patch; do msmtp -t -a my-mail < $patch; done
    -
    - - - - - - - - - - diff --git a/src/docs/Setting-up-an-rsync-repository-for-distribution.html b/src/docs/Setting-up-an-rsync-repository-for-distribution.html deleted file mode 100644 index ff97a37..0000000 --- a/src/docs/Setting-up-an-rsync-repository-for-distribution.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - -Setting up an rsync repository for distribution (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
    -

    2.5.1 Setting up an rsync repository for distribution

    - -

    Carbs Linux repositories automatically sync from the git repostitories and serve -it through the rsync daemon. Here is a sample shell script that I use in order to -sync repositories. Feel free to customize for your own use. -

    -
        #!/bin/sh
    -    HOSTNAME="rsync://carbslinux.org/repo"
    -    GITDIR="/pub/git/repo"
    -    SHAREDIR="/pub/share/repo"
    -    git -C "$GITDIR" pull
    -
    -    rsync -avcC --delete --include=core --exclude=.rsync,.rsync_root "$GITDIR/." "$SHAREDIR"
    -
    -    printf '%s\n' "$HOSTNAME" > "$GITDIR/.rsync"
    -    for dir in "$GITDIR/"*; do
    -        [ -d "$dir" ] || continue
    -        [ -f "$dir/.rsync" ] ||
    -        printf '%s/%s\n' "$HOSTNAME" "${dir##*/}" > "$dir/.rsync"
    -        printf '..\n' > "$dir/.rsync_root"
    -    done
    -
    -

    You can then create an rsync user for serving the repositories. -

    -
    -
    $ adduser -SD rsync
    -
    - -

    Create /etc/rsyncd.conf and a service configuration as well. -

    -
    -    uid = rsync
    -    gid = rsync
    -    address = example.com
    -    max connections = 10
    -    use chroot = yes
    -
    -    [repo]
    -        path = /pub/share/repo
    -        comment = My repository
    -
    -

    Create a service file at /etc/sv/rsync/run (runit): -

    -
    -
    #!/bin/sh
    -exec rsync --daemon --no-detach
    -
    - - - - - - - - - diff --git a/src/docs/Setting-up-repositories.html b/src/docs/Setting-up-repositories.html new file mode 100644 index 0000000..44360ab --- /dev/null +++ b/src/docs/Setting-up-repositories.html @@ -0,0 +1,117 @@ + + + + + + +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 index cb040d0..dd841de 100644 --- a/src/docs/Shell-Conventions.html +++ b/src/docs/Shell-Conventions.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -22,7 +23,7 @@ Documentation License." --> - + + + + + + + +
    +

    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 index f0cbaf5..76cf410 100644 --- a/src/docs/System-Configuration.html +++ b/src/docs/System-Configuration.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -21,8 +22,8 @@ Documentation License." --> - - + + + + + + + + +
    +

    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/Usage.html b/src/docs/Usage.html deleted file mode 100644 index 65ade0d..0000000 --- a/src/docs/Usage.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - -Usage (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - - -
    -

    2.1 Usage

    - -

    cpt is formed of many tools combined in a single environment, similar -to git. When you run cpt without any arguments, it will show -all available tools and their explanations. Here is an example call with extra -scripts on my system: -

    -
    -
    -> Carbs Packaging Tool
    --> add               Commit the current directory as a new package
    --> alternatives      List and swap to alternatives
    --> build             Build a package
    --> bump              Commit the current directory as a version bump
    --> cargo-urlgen      Create static cargo sources for Rust packages
    --> cargolock-urlgen  Convert the given Cargo.lock file to sources
    --> cat               Concatanate package files in the installed package database
    --> changelog         Print the git log of the specific package
    --> chbuild           Create/destroy temporary chroots
    --> checkmissing      Verify package manifests
    --> checksum          Generate checksums
    --> chroot            Enter a chroot
    --> commit            Commit a package without the prefix of 'package:'
    --> depends           Display a package's dependencies
    --> download          Download sources for the given package
    --> exec              Execute a command inside the alternatives system
    --> export            Turn an installed package into a CPT tarball
    --> fetch             Fetch repositories
    --> fork              Fork a package to the current directory
    --> getchoice         Prints the full path to a file in the alternatives system.
    --> install           Install a package
    --> link              Link a forked package's files to the other repository
    --> list              List installed packages
    --> maintainer        Find the maintainer of a package
    --> manifest          Display all files owned by a package
    --> manifest-tree     Display all files owned by a package with a tree view
    --> new               Create a boilerplate CPT package
    --> orphans           List orphaned packages
    --> owns              Check which package owns a file
    --> rel               Bump the release number of a package
    --> remove            Remove a package
    --> repodepends       Display a package's dependencies in the repository
    --> reporevdepends    Display packages on the repository which depend on package
    --> reset             Remove all packages except for the base
    --> revdepends        Display packages which depend on package
    --> search            Search for a package
    --> size              Show the size on disk for a package
    --> source            Extract sources of a given package to the current directory
    --> update            Check for updates
    -
    - - - - - - - - - - - - - - - - -
    - - - - - - diff --git a/src/docs/_002fetc_002finit_002frcconf-file.html b/src/docs/_002fetc_002finit_002frcconf-file.html new file mode 100644 index 0000000..5f33c04 --- /dev/null +++ b/src/docs/_002fetc_002finit_002frcconf-file.html @@ -0,0 +1,66 @@ + + + + + + +/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/cpt_002dalternatives.html b/src/docs/cpt_002dalternatives.html deleted file mode 100644 index df24945..0000000 --- a/src/docs/cpt_002dalternatives.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - -cpt-alternatives (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

    -Next: , Up: Usage   [Contents]

    -
    -
    -

    2.1.1 cpt-alternatives

    - -

    You can list and swap to alternatives using cpt-alternatives, or -cpt a for short. When run without alternatives, it will list -alternatives. It can read from standard input if - is given as an -argument. -

    - - -

    Examples

    - -

    List alternatives -

    -
    -
    $ cpt-alternatives
    -ncurses /usr/bin/clear
    -ncurses /usr/bin/reset
    -
    - -

    Swap to clear from ncurses. -

    -
    -
    $ cpt-alternatives ncurses /usr/bin/clear
    --> Swapping '/usr/bin/clear' from 'busybox' to 'ncurses'
    -
    - -

    Swap in bulk (all of sbase). -

    -
    -
    $ cpt a | grep ^sbase | cpt a -
    -
    - - - - - - - - diff --git a/src/docs/cpt_002dbuild.html b/src/docs/cpt_002dbuild.html deleted file mode 100644 index c15e41c..0000000 --- a/src/docs/cpt_002dbuild.html +++ /dev/null @@ -1,78 +0,0 @@ - - - - - - -cpt-build (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

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

    -
    -
    -

    2.1.2 cpt-build

    - -

    cpt-build will build given packages and their dependencies. If -multiple packages are specified, it will ask to install the packages as well. -

    - - -

    Options

    - -
    -
    -y --no-prompt
    -

    Do not prompt for confirmation -

    -
    -t --test
    -

    Run tests (if it exists) -

    -
    - - - - - - - - diff --git a/src/docs/cpt_002dchecksum.html b/src/docs/cpt_002dchecksum.html deleted file mode 100644 index 8a038be..0000000 --- a/src/docs/cpt_002dchecksum.html +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - -cpt-checksum (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

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

    -
    -
    -

    2.1.3 cpt-checksum

    - -

    cpt-checksum will generate a checksums file from the package’s -sources. -

    - - - - - - - diff --git a/src/docs/cpt_002ddownload.html b/src/docs/cpt_002ddownload.html deleted file mode 100644 index 2eb2a3d..0000000 --- a/src/docs/cpt_002ddownload.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - -cpt-download (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

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

    -
    -
    -

    2.1.4 cpt-download

    - -

    cpt-download will download the sources of a package. -

    - - - - - - - diff --git a/src/docs/cpt_002dfetch.html b/src/docs/cpt_002dfetch.html deleted file mode 100644 index 0b5c840..0000000 --- a/src/docs/cpt_002dfetch.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - -cpt-fetch (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

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

    -
    -
    -

    2.1.5 cpt-fetch

    - -

    cpt-fetch will fetch remote repositories. -

    - - - - - - - diff --git a/src/docs/cpt_002dinstall.html b/src/docs/cpt_002dinstall.html deleted file mode 100644 index ed82923..0000000 --- a/src/docs/cpt_002dinstall.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -cpt-install (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

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

    -
    -
    -

    2.1.6 cpt-install

    - -

    cpt-install will install given packages. -

    - - -

    Options

    - -
    -
    -f --force
    -

    Force installation. See CPT_FORCE. -

    -
    --root
    -

    Set an alternative root directory. See CPT_ROOT. -

    -
    - - - - - - - - diff --git a/src/docs/cpt_002dlist.html b/src/docs/cpt_002dlist.html deleted file mode 100644 index d31b5e2..0000000 --- a/src/docs/cpt_002dlist.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -cpt-list (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

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

    -
    -
    -

    2.1.7 cpt-list

    - -

    When called without arguments, cpt-list will print all installed -packages. You can add package names as arguments to check whether they are -installed or not. In success, cpt-list will exit with status 0 if all -given packages are installed, it will return 1 if any of the given packages -aren’t installed. -

    - - - - - - - diff --git a/src/docs/cpt_002dremove.html b/src/docs/cpt_002dremove.html deleted file mode 100644 index 93a7ff8..0000000 --- a/src/docs/cpt_002dremove.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - - -cpt-remove (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

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

    -
    -
    -

    2.1.8 cpt-remove

    - -

    cpt-remove will remove given packages. -

    - - -

    Options

    - -
    -
    -f --force
    -

    Force removal. See CPT_FORCE. -

    -
    --root
    -

    Set an alternative root directory. See CPT_ROOT. -

    -
    - - - - - - - - diff --git a/src/docs/cpt_002dsearch.html b/src/docs/cpt_002dsearch.html deleted file mode 100644 index 289903f..0000000 --- a/src/docs/cpt_002dsearch.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - -cpt-search (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

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

    -
    -
    -

    2.1.9 cpt-search

    - -

    cpt-search will remove given packages. -

    - - -

    Options

    - -
    -
    -s --single
    -

    Only show the first instance of a package. -

    -
    - - - - - - - - diff --git a/src/docs/cpt_002dupdate.html b/src/docs/cpt_002dupdate.html deleted file mode 100644 index 7446855..0000000 --- a/src/docs/cpt_002dupdate.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - -cpt-update (Carbs Linux User Manual) - - - - - - - - - - - - - - - - - -
    -

    -Previous: , Up: Usage   [Contents]

    -
    -
    -

    2.1.10 cpt-update

    - -

    cpt-update will update the packages on your system. -

    - - -

    Options

    - -
    -
    -d --download
    -

    Only download updatable packages. -

    -
    -n --no-fetch
    -

    Do not fetch remote repositories. -

    -
    -y --no-prompt
    -

    Do not prompt for confirmation. -

    -
    --root
    -

    Use an alternate root directory. See CPT_ROOT. -

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

    The node you are looking for is at cptforce.

    - diff --git a/src/docs/cptroot.html b/src/docs/cptroot.html deleted file mode 100644 index 3e9dfbe..0000000 --- a/src/docs/cptroot.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - -cptroot (Carbs Linux User Manual) - - - - - - - - - - - - - - -

    The node you are looking for is at cptroot.

    - diff --git a/src/docs/index.html b/src/docs/index.html index 9511f59..68cef39 100644 --- a/src/docs/index.html +++ b/src/docs/index.html @@ -7,7 +7,8 @@ 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." --> +Documentation License." + --> @@ -49,19 +50,6 @@ ul.no-bullet {list-style: none} - -

    Short Table of Contents

    - - -

    Table of Contents

    @@ -72,130 +60,70 @@ ul.no-bullet {list-style: none} -
  • 2 Package Manager +
  • 2 Init System
  • -
  • 3 Init System +
  • 3 Contribution Guidelines
  • -
  • 4 Contribution Guidelines +
  • Appendix A GNU Free Documentation License
  • -
  • GNU Free Documentation License
  • -

    Next:   [Contents]

    @@ -203,9 +131,8 @@ Next: &nbs

    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 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 @@ -214,53 +141,92 @@ is not yet complete. favorite pager. You can install either the info or texinfo for doing the first.

    + + + + + + + + +
    diff --git a/src/docs/install.html b/src/docs/install.html new file mode 100644 index 0000000..176aacd --- /dev/null +++ b/src/docs/install.html @@ -0,0 +1,822 @@ + + + + + + + +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 index 50ad008..f7a6881 100644 --- a/src/docs/install.txt +++ b/src/docs/install.txt @@ -1,364 +1,481 @@ -1 Installation -************** + ________________________________ -These are the step-by-step instructions for installing Carbs Linux. + CARBS LINUX INSTALLATION GUIDE -1.1 Preparing Environment -========================= + Cem Keylan + ________________________________ -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: +Table of Contents +_________________ - * tar - * wget - * xz - * some form of base utilities (coreutils, sbase, busybox, etc.) +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 - Rest of these instructions will assume that you have set all of these -up, and will continue on that point. -1.1.1 Download --------------- +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 +. -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. - $ URL=https://dl.carbslinux.org/releases/x86_64 - $ wget $URL/carbs-rootfs.tar.xz +1 Preparing Environment +======================= - We can then check the integrity of the tarball and do a signature -verification. Even thought these are optional, they are highly -recommended. + 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. -1.1.2 Check the integrity of the tarball (Recommended) ------------------------------------------------------- + You will need the following programs in order to install Carbs Linux: -All of the releases are saved in a single file named 'sha256sums.txt', -but the latest release is saved on 'carbs-rootfs.tar.xz.sha256'. You -can acquire and verify the tarball. + - tar + - wget + - xz + - some form of base utilities (coreutils, sbase, busybox, etc.) - $ wget $URL/carbs-rootfs.tar.xz.sha256 - $ sha256sum -c carbs-rootfs.tar.xz.sha256 + Rest of these instructions will assume that you have set all of these + up, and will continue on that point. -1.1.3 Verify the signature + +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 -------------------------- -It is highly recommended to verify the signature of the tarball. You -will need GPG for this. + Carbs Linux rsync repositories live in rsync://carbslinux.org/repo. In + order to obtain it, run the following: - $ wget $URL/carbs-rootfs.tar.xz.sig - $ gpg --recv-keys FF484BDFEFCEF8FF - $ gpg --verify carbs-rootfs.tar.xz.sig + ,---- + | rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs + `---- -1.1.4 Extracting the tarball ----------------------------- -You will need to extract the tarball to your desired location. For -partitioning, you can follow this guide -(https://wiki.archlinux.org/index.php/Partitioning). This will assume -that you will be mounting your root partition to '/mnt'. +2.1.3 Making the package manager use the repositories +----------------------------------------------------- - $ mount /dev/sdx1 /mnt - $ tar xf carbs-rootfs.tar.xz -C /mnt + In your shell's configuration file, or in your `~/.profile' file, add + the following lines: -1.1.5 Obtain the chroot helper ------------------------------- + ,---- + | 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 + `---- -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 Updating packages +~~~~~~~~~~~~~~~~~~~~~ -1.2 Chroot -========== + 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. -Chroot into Carbs Linux! + ,---- + | cpt-update && cpt-update + `---- - $ ./cpt-chroot /mnt -1.2.1 Setting up repositories ------------------------------ +2.3 Installing packages +~~~~~~~~~~~~~~~~~~~~~~~ -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. + 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. - 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: + ,---- + | cpt-build package + | cpt-install package + `---- - $ mkdir -p $HOME/repos -1.2.1.1 Obtaining from rsync -............................ +2.4 Essential Software +~~~~~~~~~~~~~~~~~~~~~~ -Carbs Linux rsync repositories live in . -In order to obtain it, run the following: + Here is a list of software that you might want to have on your system. - $ rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs + *BOOTLOADERS* -1.2.1.2 Obtaining from git -.......................... + - efibootmgr + - grub -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. + *FILESYSTEMS* - * - * + - e2fsprogs + - dosfstools + - ntfs-3g - $ git clone git://git.carbslinux.org/repository $HOME/repos/carbs + *NETWORKING* -1.2.1.3 Making the package manager use the repositories -....................................................... + - dhcpcd + - wpa_supplicant -In your shell's configuration file, or in your '~/.profile' file, add -the following lines: + *TEXT EDITORS* - export CPT_PATH='' - CPT_PATH=$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 + - nano + - vim + - neatvi + - emacs + - emacs-nox (terminal-only version of emacs) -1.2.2 Updating packages ------------------------ + *USER SHELLS* -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. + - bash + - zsh + - oksh + - rc - $ cpt update + *POSIX BASE UTILITIES* -1.2.3 Installing packages -------------------------- + - busybox + - sbase + - coreutils -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. + *DOCUMENTATION* - $ cpt build package - $ cpt install package + - carbs-docs + - man-pages + - man-pages-posix -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 - * nvi - * emacs - * emacs-nox (terminal-only version of emacs) - USER SHELLS - * bash - * zsh - * dash - * oksh - * rc - POSIX BASE UTILITIES - * busybox - * sbase - * coreutils - DOCUMENTATION - * carbs-docs - * man-pages - * man-pages-posix - -1.2.5 Obtaining the documentation (optional) --------------------------------------------- - -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 - -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 (recommended) ----------------------------------------- - -You might want to add a hostname, especially in a networked environment. -Your hostname will default to 'carbslinux' unless you set this. - - $ echo your-hostname > /etc/hostname - -1.3.2 Setting up hosts file (optional) --------------------------------------- - -You can edit your /etc/hosts file, which is the static lookup table for -host names. By default, there are two entries for localhost which are -OKAY. You can replace the 'localhost' part of these entries to your -hostname. - - 127.0.0.1 localhost.localdomain localhost - ::1 localhost.localdomain localhost ip6-localhost - -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 -(https://github.com/cemkeylan/kiss-repository/tree/master/personal/linux), -which you will need to reconfigure for your specific setup if you want -to make use of it. - -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.7.6.tar.xz - $ tar xf linux-5.7.6.tar.xz - - Change directory into the kernel sources - $ cd linux-5.7.6 - -1.4.2 Installing dependencies ------------------------------ - -In order to compile the kernel you will need to install some -dependencies. You will need 'libelf' to compile the kernel. 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 (https://github.com/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 +2.5 Obtaining the documentation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1.4.3 Compiling the kernel --------------------------- + 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. -Next step is configuring and building the kernel. You can check -Gentoo's kernel configuration guide -(https://wiki.gentoo.org/wiki/Kernel/Configuration) 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. + ,---- + | # 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 + `---- - $ make menuconfig - $ make - $ install -Dm755 $(make -s image_name) /boot/vmlinuz-linux -1.5 Making your system bootable -=============================== +3 System Configuration +====================== -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. + After you have finished installing some extra packages, you can + configure your system to your liking. -1.5.1 Installing a bootloader ------------------------------ -In the main repository, there is efibootmgr and grub to serve as -bootloaders. efibootmgr can be used as a standalone bootloader, or can -be used to install grub in a UEFI environment. efibootmgr is needed -unless you are using a device without UEFI support (or you really want -to use BIOS for a reason). +3.1 Configuring hostname +~~~~~~~~~~~~~~~~~~~~~~~~ - GRUB BIOS installation + You might want to add a hostname, especially in a networked + environment. Your hostname will default to 'carbslinux' unless you set + this. - $ cpt b grub && cpt i grub - $ grub-install --target=i386-pc /dev/sdX - $ grub-mkconfig -o /boot/grub/grub.cfg + ,---- + | echo your-hostname > /etc/hostname + `---- - GRUB UEFI installation - $ cpt b efibootmgr && cpt i efibootmgr - $ cpt b grub && cpt i grub +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 +---------------------------- - $ grub-install --target=x86_64-efi \ - --efi-directory=esp \ - --bootloader-id=CarbsLinux + ,---- + | 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 + `---- - $ grub-mkconfig -o /boot/grub/grub.cfg -1.5.2 Installing init scripts ------------------------------ +5.2 Init scripts +~~~~~~~~~~~~~~~~ -Only thing left to do is installing the init-scripts, and now you are -almost ready to boot your system! + 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 + ,---- + | cpt b carbs-init && cpt i carbs-init + `---- -1.5.3 Generating 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: +5.3 Fstab +~~~~~~~~~ - $ wget https://github.com/cemkeylan/genfstab/raw/master/genfstab - $ chmod +x genfstab - $ ./genfstab -U /mnt >> /mnt/etc/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: -1.6 Post-installation -===================== + ,---- + | wget https://github.com/cemkeylan/genfstab/raw/master/genfstab + | chmod +x genfstab + | ./genfstab -U /mnt >> /mnt/etc/fstab + `---- -The base installation is now complete, you can now fine tune your system -according to your needs. Rest of these instructions are completely -optional. -1.6.1 Acquiring kiss repositories ---------------------------------- +6 Post-installation +=================== -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. + 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. - $ git clone https://github.com/kisslinux/community $HOME/repos/kiss-community - $ export CPT_PATH=$CPT_PATH:$HOME/repos/kiss-community/community - NOTE: There are lots of packages on the KISS community repository -that are also on Carbs Linux main repository. I would advise giving -lower priority to the KISS community repository as it may affect other -packages that you might install. +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/news.xml b/src/news.xml index 192e4ca..5a1c054 100644 --- a/src/news.xml +++ b/src/news.xml @@ -9,7 +9,7 @@ a simple linux distribution https://carbslinux.org - Thu Dec 10 2020 12:00 + Sat Dec 26 2020 00:00 Sep 16 2020 Wed, 16 Sep 2020 diff --git a/src/rss.xml b/src/rss.xml index 6982168..dc8add0 100644 --- a/src/rss.xml +++ b/src/rss.xml @@ -9,7 +9,7 @@ a simple linux distribution https://carbslinux.org - Thu Dec 10 2020 12:00 + Sat Dec 26 2020 00:00 First Year of Carbs Linux Thu, 10 Dec 2020 diff --git a/templates/template.html b/templates/template.html index 3681825..a75062d 100644 --- a/templates/template.html +++ b/templates/template.html @@ -15,7 +15,7 @@ git downloads blog - installation + installation user manual
    diff --git a/texidocs b/texidocs index 3d2fd81..d159023 160000 --- a/texidocs +++ b/texidocs @@ -1 +1 @@ -Subproject commit 3d2fd81bc0f085723f63c8692001c6607d4bbe0a +Subproject commit d1590234d19724f14e8ba94582986963fce47267 -- cgit v1.2.3