source: postlfs/filesystems/btrfs-progs.xml@ e7cd19a

12.0 12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since e7cd19a was d67d543, checked in by Xi Ruoyao <xry111@…>, 11 months ago

filesystems: Convert the remaining kernel configurations to use new rendering

I don't know these FS very well so I did not change things, except:

  • "SCSI_LOW_LEVEL" should be "SCSI_LOWLEVEL" (without the "_" between "LOW" and "LEVEL").
  • RAID append mode is deprecated, so I removed it.

And I've fixed some issues in kernel-config.py as well.

  • Property mode set to 100644
File size: 12.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY btrfs-progs-download-http "&kernel-dl;/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v&btrfs-progs-version;.tar.xz">
8 <!ENTITY btrfs-progs-download-ftp " ">
9 <!ENTITY btrfs-progs-md5sum "1b5705b3e9503f09a9598dad1e7bfbc8">
10 <!ENTITY btrfs-progs-size "3.0 MB">
11 <!ENTITY btrfs-progs-buildsize "62 MB (transient files created during tests need up to 10 GB)">
12 <!ENTITY btrfs-progs-time "0.2 SBU (add 3.8 SBU for tests, up to 80 SBU on slow disks if reiserfsprogs is installed)">
13]>
14
15<sect1 id="btrfs-progs" xreflabel="btrfs-progs-&btrfs-progs-version;">
16 <?dbhtml filename="btrfs-progs.html"?>
17
18
19 <title>btrfs-progs-&btrfs-progs-version;</title>
20
21 <indexterm zone="btrfs-progs">
22 <primary sortas="a-btrfs-progs">btrfs-progs</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to btrfs-progs</title>
27
28 <para>
29 The <application>btrfs-progs</application> package contains
30 administration and debugging tools for the B-tree file system (btrfs).
31 </para>
32
33 &lfs113_checked;
34
35 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>
39 Download (HTTP): <ulink url="&btrfs-progs-download-http;"/>
40 </para>
41 </listitem>
42 <listitem>
43 <para>
44 Download (FTP): <ulink url="&btrfs-progs-download-ftp;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download MD5 sum: &btrfs-progs-md5sum;
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download size: &btrfs-progs-size;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Estimated disk space required: &btrfs-progs-buildsize;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated build time: &btrfs-progs-time;
65 </para>
66 </listitem>
67 </itemizedlist>
68<!--
69<bridgehead renderas="sect3">Additional Downloads</bridgehead>
70 <itemizedlist spacing="compact">
71 <listitem>
72 <para>
73 Required patch if building with linux kernel headers version
74 before 5.12:
75 <ulink url="&patch-root;/btrfs-progs-&btrfs-progs-version;-headers_fix-1.patch"/>
76 </para>
77 </listitem>
78 </itemizedlist>
79-->
80 <bridgehead renderas="sect3">Btrfs-progs Dependencies</bridgehead>
81
82 <bridgehead renderas="sect4">Required</bridgehead>
83 <para role="required">
84 <xref linkend="lzo"/>
85 </para>
86 <!-- In v6.2.1 (and maybe previous), sphinx is required for the doc
87 <bridgehead renderas="sect4">Recommended</bridgehead>
88 <para role="recommended">
89 <xref linkend="asciidoc"/> (or <xref role="nodep" linkend="asciidoctor"/>)
90 and <xref linkend="xmlto"/> (both required to generate man pages)
91 </para>
92 -->
93 <bridgehead renderas="sect4">Optional</bridgehead>
94 <para role="optional">
95 <xref linkend="lvm2"/> (<command>dmsetup</command> is used in tests),
96 <xref linkend="reiserfs"/> (for tests), and
97 <xref linkend="sphinx"/> (required to build documentation)
98
99 </para>
100
101
102 </sect2>
103
104 <sect2 role="kernel" id="btrfs-progs-kernel">
105 <title>Kernel Configuration</title>
106
107 <para>
108 Enable the following option in the kernel configuration
109 and recompile the kernel:
110 </para>
111
112 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
113 href="btrfs-progs-kernel.xml"/>
114
115 <para>
116 In addition to the above and to the options required for
117 <xref linkend="lvm2"/> and <xref linkend="reiserfs"/>, the following
118 options must be enabled for running tests:
119 </para>
120
121 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
122 href="btrfs-progs-test-kernel.xml"/>
123
124 <indexterm zone="btrfs-progs btrfs-progs-kernel">
125 <primary sortas="d-btrfs-progs">BTRFS Programs</primary>
126 </indexterm>
127
128 </sect2>
129
130 <sect2 role="installation">
131 <title>Installation of btrfs-progs</title>
132
133 <para>
134 Install <application>btrfs-progs</application> by running the following
135 commands:
136 </para>
137
138<screen><userinput>./configure --prefix=/usr \
139 --disable-static \
140 --disable-documentation &amp;&amp;
141make</userinput></screen>
142
143 <note>
144 <para>
145 Some tests require grep built with perl regular expressions. To
146 obtain this, rebuild grep with the LFS Chapter 8 instructions after
147 installing <xref linkend="pcre2"/>.
148 </para>
149 </note>
150<!-- Keeping this for now, but it seems that calling "make test" is
151 simpler and does the same thing -->
152 <para>
153 Before running tests, build a support program:
154 </para>
155
156<screen remap="test"><userinput>make fssum</userinput></screen>
157
158 <para>
159 To test the results, issue (as the &root; user):
160 </para>
161
162<screen role="root" remap="test"><userinput>pushd tests
163 ./fsck-tests.sh
164 ./mkfs-tests.sh
165 ./cli-tests.sh
166 sed 's/,orphan_file//' /etc/mke2fs.conf >./custom_mke2fs.conf &amp;&amp;
167 export MKE2FS_CONFIG=$PWD/custom_mke2fs.conf &amp;&amp;
168 ./convert-tests.sh
169 unset MKE2FS_CONFIG &amp;&amp; rm custom_mke2fs.conf
170 ./misc-tests.sh
171 ./fuzz-tests.sh
172popd</userinput></screen>
173
174<!-- Template for failed test removal:
175 <para>
176 To test the results, first disable one test that fails and prevents
177 the other ones to run:
178 </para>
179
180<screen remap="test"><userinput>mv tests/fsck-tests/012-leaf-corruption/test.sh{,.broken}</userinput></screen>
181Substitute your test failure with the one above.
182 <para>
183 To test the results, run (as the
184 <systemitem class="username">root</systemitem> user):
185 </para>
186
187<screen role="root" remap="test"><userinput>make -j1 -k test</userinput></screen>
188-->
189 <note>
190 <para>
191 If the above mentioned kernel options are not enabled, some tests
192 fail, and prevent all the remaining tests from running because the test
193 disk image is not cleanly unmounted.
194 </para>
195 </note>
196<!-- Now passes in version 6.3.1.
197 <para>
198 The mkfs test 025-zoned-parallel is known to fail.
199 </para>
200-->
201 <para>
202 Install the package as the &root; user:
203 </para>
204
205<screen role="root"><userinput>make install</userinput></screen>
206
207 <para>
208 If you have passed <parameter>--disable-documentation</parameter> to
209 <command>configure</command> and you need the manual pages, install them
210 by running, as the &root; user:
211 </para>
212
213<screen role="root"><userinput>for i in 5 8; do
214 install Documentation/*.$i /usr/share/man/man$i
215done</userinput></screen>
216
217 </sect2>
218
219 <sect2 role="commands">
220 <title>Command Explanations</title>
221
222 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
223 href="../../xincludes/static-libraries.xml"/>
224
225 <para>
226 <parameter>--disable-documentation</parameter>: This switch
227 disables rebuilding the manual pages, because it requires
228 <xref linkend="sphinx"/>.
229 </para>
230 <para>
231 <command>sed 's/,orphan_file//" ...</command>: In this version of
232 <application>btrfs-progs</application>, the
233 <command>btrfs-convert</command> program produces a btrfs filesystem
234 containing errors if converting from an ext4 filesystem created
235 with the <quote>orphan_file</quote> feature. This command creates
236 a custom configuration file that prevents creating a filesystem
237 with this feature.
238 </para>
239 <!--
240 <para>
241 <command>ln -s ... /usr/lib/libbtrfs.so</command>: Creates a
242 symbolic link in the directory where it is expected.
243 </para>
244
245 <para>
246 <command>rm /lib/libbtrfs.{a,so}</command>: Removes unneeded
247 library entries.
248 </para>
249-->
250 </sect2>
251
252 <sect2 role="using" id="using-btrfs-convert">
253 <title>Using the btrfs-convert Program</title>
254
255 <para>
256 This version of <application>btrfs-progs</application> does not convert
257 correctly ext4 filesystems to btrfs if the ext4
258 <option>orphan_file</option> feature is turned on. If you happen to
259 convert such a filesystem, you need to first run:
260 </para>
261
262<screen role="nodump"><userinput>tune2fs -O ^orphan_file <replaceable>/dev/sdxx</replaceable></userinput></screen>
263
264 <para>
265 where <filename>/dev/sdxx</filename> is the partition of the filesystem
266 you want to convert.
267 </para>
268 </sect2>
269
270 <sect2 role="content">
271 <title>Contents</title>
272
273 <segmentedlist>
274 <segtitle>Installed Programs</segtitle>
275 <segtitle>Installed Libraries</segtitle>
276 <segtitle>Installed Directories</segtitle>
277
278 <seglistitem>
279 <seg>
280 btrfs,
281 btrfs-convert,
282 btrfs-find-root,
283 btrfs-image,
284 btrfs-map-logical,
285 btrfs-select-super,
286 btrfsck (link to btrfs),
287 btrfstune,
288 fsck.btrfs, and
289 mkfs.btrfs
290 </seg>
291
292 <seg>
293 libbtrfs.so and
294 libbtrfsutil.so
295 </seg>
296
297 <seg>/usr/include/btrfs</seg>
298 </seglistitem>
299 </segmentedlist>
300
301 <variablelist>
302 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
303 <?dbfo list-presentation="list"?>
304 <?dbhtml list-presentation="table"?>
305
306 <varlistentry id="btrfs-prog">
307 <term><command>btrfs</command></term>
308 <listitem>
309 <para>
310 is the main interface into btrfs filesystem operations
311 </para>
312 <indexterm zone="btrfs-progs btrfs-prog">
313 <primary sortas="b-btrfs">btrfs</primary>
314 </indexterm>
315 </listitem>
316 </varlistentry>
317
318 <varlistentry id="btrfs-convert">
319 <term><command>btrfs-convert</command></term>
320 <listitem>
321 <para>
322 converts from an ext2/3/4 or reiserfs filesystem to btrfs (see
323 <xref linkend="using-btrfs-convert"/> above)
324 </para>
325 <indexterm zone="btrfs-progs btrfs-convert">
326 <primary sortas="b-btrfs-convert">btrfs-convert</primary>
327 </indexterm>
328 </listitem>
329 </varlistentry>
330
331 <varlistentry id="btrfs-find-root">
332 <term><command>btrfs-find-root</command></term>
333 <listitem>
334 <para>
335 is a filter to find btrfs root
336 </para>
337 <indexterm zone="btrfs-progs btrfs-find-root">
338 <primary sortas="b-btrfs-find-root">btrfs-find-root</primary>
339 </indexterm>
340 </listitem>
341 </varlistentry>
342
343 <varlistentry id="btrfs-map-logical">
344 <term><command>btrfs-map-logical</command></term>
345 <listitem>
346 <para>
347 maps btrfs logical extent to physical extent
348 </para>
349 <indexterm zone="btrfs-progs btrfs-map-logical">
350 <primary sortas="b-btrfs-map-logical">btrfs-map-logical</primary>
351 </indexterm>
352 </listitem>
353 </varlistentry>
354
355 <varlistentry id="btrfs-select-super">
356 <term><command>btrfs-select-super</command></term>
357 <listitem>
358 <para>
359 overwrites the primary superblock with a backup copy
360 </para>
361 <indexterm zone="btrfs-progs btrfs-select-super">
362 <primary sortas="b-btrfs-select-super">btrfs-select-super</primary>
363 </indexterm>
364 </listitem>
365 </varlistentry>
366
367 <varlistentry id="btrfstune">
368 <term><command>btrfstune</command></term>
369 <listitem>
370 <para>
371 tunes various filesystem parameters
372 </para>
373 <indexterm zone="btrfs-progs btrfstune">
374 <primary sortas="b-btrfstune">btrfstune</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="fsck.btrfs">
380 <term><command>fsck.btrfs</command></term>
381 <listitem>
382 <para>
383 does nothing, but is present for consistency with fstab
384 </para>
385 <indexterm zone="btrfs-progs fsck.btrfs">
386 <primary sortas="b-fsck.btrfs">fsck.btrfs</primary>
387 </indexterm>
388 </listitem>
389 </varlistentry>
390
391 <varlistentry id="mkfs.btrfs">
392 <term><command>mkfs.btrfs</command></term>
393 <listitem>
394 <para>
395 creates a btrfs file system
396 </para>
397 <indexterm zone="btrfs-progs mkfs.btrfs">
398 <primary sortas="b-mkfs.btrfs">mkfs.btrfs</primary>
399 </indexterm>
400 </listitem>
401 </varlistentry>
402
403 </variablelist>
404
405 </sect2>
406
407</sect1>
Note: See TracBrowser for help on using the repository browser.