1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 2020 Cem Keylan
Licensed under Gnu Free Documentation License. -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Chroot (Carbs Linux User Manual)</title>
<meta name="description" content="Chroot (Carbs Linux User Manual)">
<meta name="keywords" content="Chroot (Carbs Linux User Manual)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<link href="index.html" rel="start" title="Top">
<link href="Installation.html" rel="up" title="Installation">
<link href="System-Configuration.html" rel="next" title="System Configuration">
<link href="Preparing-Environment.html" rel="prev" title="Preparing Environment">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<span id="Chroot"></span><div class="header">
<p>
Next: <a href="System-Configuration.html" accesskey="n" rel="next">System Configuration</a>, Previous: <a href="Preparing-Environment.html" accesskey="p" rel="prev">Preparing Environment</a>, Up: <a href="Installation.html" accesskey="u" rel="up">Installation</a> </p>
</div>
<hr>
<span id="Chroot-1"></span><h3 class="section">1.2 Chroot</h3>
<p>Chroot into Carbs Linux!
</p>
<div class="example">
<pre class="example">$ ./cpt-chroot /mnt
</pre></div>
<span id="Setting-up-repositories"></span><h4 class="subsection">1.2.1 Setting up repositories</h4>
<p>Newest tarballs do not come with repositories, so you will need to manually
obtain them, and set your <code>CPT_PATH</code> environment variable. Carbs Linux
repositories can either be obtained by <code>git</code> or <code>rsync</code>.
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
<code>git</code> itself.
</p>
<p>The following guide will assume that you put the repositories into
<samp>~/repos/</samp> directory, but you can put the repositories into any directory
you want. So go ahead and create that directory. <code>mkdir -p $HOME/repos</code>.
</p>
<span id="Obtaining-from-rsync"></span><h4 class="subsubsection">1.2.1.1 Obtaining from rsync</h4>
<p>Carbs Linux rsync repositories live in <a href="rsync://carbslinux.org/repo">rsync://carbslinux.org/repo</a>. In
order to obtain it, run the following:
</p>
<div class="example">
<pre class="example">$ rsync -avc rsync://carbslinux.org/repo $HOME/repos/carbs
</pre></div>
<span id="Obtaining-from-git"></span><h4 class="subsubsection">1.2.1.2 Obtaining from git</h4>
<p>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.
</p>
<ul>
<li> <a href="git://git.carbslinux.org/repository">git://git.carbslinux.org/repository</a>
</li><li> <a href="https://github.com/carbslinux/repository">https://github.com/carbslinux/repository</a>
</li></ul>
<div class="example">
<pre class="example">$ git clone git://git.carbslinux.org/repository $HOME/repos/carbs
</pre></div>
<span id="Making-the-package-manager-use-the-repositories"></span><h4 class="subsubsection">1.2.1.3 Making the package manager use the repositories</h4>
<p>In your shell’s configuration file, or in your <samp>~/.profile</samp> file, add the
following lines:
</p>
<div class="example">
<pre class="example">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
</pre></div>
<span id="Updating-packages"></span><h4 class="subsection">1.2.2 Updating packages</h4>
<p>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.
</p>
<div class="example">
<pre class="example">$ cpt update
</pre></div>
<span id="Installing-packages"></span><h4 class="subsection">1.2.3 Installing packages</h4>
<p>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.
</p>
<div class="example">
<pre class="example">$ cpt build package
$ cpt install package
</pre></div>
<span id="Essential-Software"></span><h4 class="subsection">1.2.4 Essential Software</h4>
<p>Here is a list of software that you might want to have on your system.
</p>
<p>BOOTLOADERS
</p><ul>
<li> efibootmgr
</li><li> grub
</li></ul>
<p>FILESYSTEMS
</p><ul>
<li> e2fsprogs
</li><li> dosfstools
</li><li> ntfs-3g
</li></ul>
<p>NETWORKING
</p><ul>
<li> dhcpcd
</li><li> wpa_supplicant
</li></ul>
<p>TEXT EDITORS
</p><ul>
<li> nano
</li><li> vim
</li><li> neatvi
</li><li> nvi
</li><li> emacs
</li><li> emacs-nox (terminal-only version of emacs)
</li></ul>
<p>USER SHELLS
</p><ul>
<li> bash
</li><li> zsh
</li><li> dash
</li><li> oksh
</li><li> rc
</li></ul>
<p>POSIX BASE UTILITIES
</p><ul>
<li> busybox
</li><li> sbase
</li><li> coreutils
</li></ul>
<p>DOCUMENTATION
</p><ul>
<li> carbs-docs
</li><li> man-pages
</li><li> man-pages-posix
</li></ul>
<span id="Obtaining-the-documentation-_0028optional_0029"></span><h4 class="subsection">1.2.5 Obtaining the documentation (optional)</h4>
<p>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.
</p>
<div class="example">
<pre class="example">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
</pre></div>
<hr>
<div class="header">
<p>
Next: <a href="System-Configuration.html" accesskey="n" rel="next">System Configuration</a>, Previous: <a href="Preparing-Environment.html" accesskey="p" rel="prev">Preparing Environment</a>, Up: <a href="Installation.html" accesskey="u" rel="up">Installation</a> </p>
</div>
</body>
</html>
|