source: chapter02/creatingpartition.xml@ bf6f9e7

11.2 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 bdubbs/gcc13 multilib renodr/libudev-from-systemd trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since bf6f9e7 was a04b192f, checked in by Pierre Labastie <pierre.labastie@…>, 3 years ago

Remove spaces at end o lines - chapter02

  • Property mode set to 100644
File size: 9.5 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
8<sect1 id="ch-partitioning-creatingpartition">
9 <?dbhtml filename="creatingpartition.html"?>
10
11 <title>Creating a New Partition</title>
12
13 <para>Like most other operating systems, LFS is usually installed on a
14 dedicated partition. The recommended approach to building an LFS system
15 is to use an available empty partition or, if you have enough unpartitioned
16 space, to create one.</para>
17
18 <para>A minimal system requires a partition of around 10 gigabytes (GB).
19 This is enough to store all the source tarballs and compile the packages.
20 However, if the LFS system is intended to be the primary Linux system,
21 additional software will probably be installed which will require additional
22 space. A 30 GB partition is a reasonable size to provide for growth. The LFS
23 system itself will not take up this much room. A large portion of this
24 requirement is to provide sufficient free temporary storage as well as
25 for adding additional capabilities after LFS is complete. Additionally, compiling
26 packages can require a lot of disk space which will be reclaimed after the
27 package is installed.</para>
28
29 <para>Because there is not always enough Random Access Memory (RAM) available
30 for compilation processes, it is a good idea to use a small disk partition as
31 <systemitem class="filesystem">swap</systemitem> space. This is used by the
32 kernel to store seldom-used data and leave more memory available for active
33 processes. The <systemitem class="filesystem">swap</systemitem> partition for
34 an LFS system can be the same as the one used by the host system, in which
35 case it is not necessary to create another one.</para>
36
37 <para>Start a disk partitioning program such as <command>cfdisk</command>
38 or <command>fdisk</command> with a command line option naming the hard
39 disk on which the new partition will be created&mdash;for example
40 <filename class="devicefile">/dev/sda</filename> for the primary
41 disk drive. Create a Linux native partition and a
42 <systemitem class="filesystem">swap</systemitem> partition, if needed. Please
43 refer to <filename>cfdisk(8)</filename> or <filename>fdisk(8)</filename> if
44 you do not yet know how to use the programs.</para>
45
46 <note><para>For experienced users, other partitioning schemes are possible.
47 The new LFS system can be on a software <ulink
48 url="&blfs-book;postlfs/raid.html">RAID</ulink> array or an <ulink
49 url="&blfs-book;postlfs/aboutlvm.html">LVM</ulink> logical volume.
50 However, some of these options require an <ulink
51 url="&blfs-book;postlfs/initramfs.html">initramfs</ulink>, which is
52 an advanced topic. These partitioning methodologies are not recommended for
53 first time LFS users.</para></note>
54
55 <para>Remember the designation of the new partition (e.g., <filename
56 class="devicefile">sda5</filename>). This book will refer to this as
57 the LFS partition. Also remember the designation of the <systemitem
58 class="filesystem">swap</systemitem> partition. These names will be
59 needed later for the <filename>/etc/fstab</filename> file.</para>
60
61 <sect2>
62 <title>Other Partition Issues</title>
63
64 <para>Requests for advice on system partitioning are often posted on the LFS mailing
65 lists. This is a highly subjective topic. The default for most distributions
66 is to use the entire drive with the exception of one small swap partition. This
67 is not optimal for LFS for several reasons. It reduces flexibility, makes
68 sharing of data across multiple distributions or LFS builds more difficult, makes
69 backups more time consuming, and can waste disk space through inefficient
70 allocation of file system structures.</para>
71
72 <sect3>
73 <title>The Root Partition</title>
74
75 <para>A root LFS partition (not to be confused with the
76 <filename class="directory">/root</filename> directory) of
77 twenty gigabytes is a good compromise for most systems. It provides enough
78 space to build LFS and most of BLFS, but is small enough so that multiple
79 partitions can be easily created for experimentation.</para> </sect3>
80
81 <sect3>
82 <title>The Swap Partition</title>
83
84 <para>Most distributions automatically create a swap partition. Generally
85 the recommended size of the swap partition is about twice the amount of
86 physical RAM, however this is rarely needed. If disk space is limited,
87 hold the swap partition to two gigabytes and monitor the amount of disk
88 swapping.</para>
89
90 <para>If you want to use the hibernation feature (suspend-to-disk) of Linux,
91 it writes out the contents of RAM to the swap partition before turning off
92 the machine. In this case the size of the swap partition should be at
93 least as large as the system's installed RAM.</para>
94
95 <para>Swapping is never good. For mechanical hard drives you can generally
96 tell if a system is swapping by just listening to disk activity and
97 observing how the system reacts to commands. For an SSD drive you will not
98 be able to hear swapping but you can tell how much swap space is being used
99 by the <command>top</command> or <command>free</command> programs. Use of
100 an SSD drive for a swap partition should be avoided if possible. The first
101 reaction to swapping should be to check for an unreasonable command such as
102 trying to edit a five gigabyte file. If swapping becomes a normal
103 occurrence, the best solution is to purchase more RAM for your
104 system.</para> </sect3>
105
106 <sect3>
107 <title>The Grub Bios Partition</title>
108
109 <para>If the <emphasis>boot disk</emphasis> has been partitioned with a
110 GUID Partition Table (GPT), then a small, typically 1 MB, partition must be
111 created if it does not already exist. This partition is not formatted, but
112 must be available for GRUB to use during installation of the boot
113 loader. This partition will normally be labeled 'BIOS Boot' if using
114 <command>fdisk</command> or have a code of <emphasis>EF02</emphasis> if
115 using <command>gdisk</command>.</para>
116
117 <note><para>The Grub Bios partition must be on the drive that the BIOS
118 uses to boot the system. This is not necessarily the same drive where the
119 LFS root partition is located. Disks on a system may use different
120 partition table types. The requirement for this partition depends
121 only on the partition table type of the boot disk.</para></note>
122 </sect3>
123
124 <sect3>
125 <title>Convenience Partitions</title>
126
127 <para>There are several other partitions that are not required, but should
128 be considered when designing a disk layout. The following list
129 is not comprehensive, but is meant as a guide.</para>
130
131 <itemizedlist>
132
133 <listitem><para>/boot &ndash; Highly recommended. Use this partition to
134 store kernels and other booting information. To minimize potential boot
135 problems with larger disks, make this the first physical partition on
136 your first disk drive. A partition size of 200 megabytes is quite
137 adequate.</para></listitem>
138
139 <listitem><para>/home &ndash; Highly recommended. Share your home
140 directory and user customization across multiple distributions or LFS
141 builds. The size is generally fairly large and depends on available disk
142 space.</para></listitem>
143
144 <listitem><para>/usr &ndash; In LFS,
145 <filename class="directory">/bin</filename>,
146 <filename class="directory">/lib</filename>, and
147 <filename class="directory">/sbin</filename> are symlinks to their
148 counterpart in <filename class="directory">/usr</filename>.
149 So <filename class="directory">/usr</filename> contains all binaries
150 needed for the system to run. For LFS a separate partition for
151 <filename class="directory">/usr</filename> is normally not needed.
152 If you need it anyway, you should make a partition large enough to
153 fit all programs and libraries in the system. The root partition can be
154 very small (maybe just one gigabyte) in this configuration, so it's
155 suitable for a thin client or diskless workstation (where
156 <filename class="directory">/usr</filename> is mounted from a remote
157 server). However you should take care that an initramfs (not covered by
158 LFS) will be needed to boot a system with separate
159 <filename class="directory">/usr</filename> partition.</para></listitem>
160
161 <listitem><para>/opt &ndash; This directory is most useful for
162 BLFS where multiple installations of large packages like Gnome or KDE can
163 be installed without embedding the files in the /usr hierarchy. If
164 used, 5 to 10 gigabytes is generally adequate.</para>
165 </listitem>
166
167 <listitem><para>/tmp &ndash; A separate /tmp directory is rare, but
168 useful if configuring a thin client. This partition, if used, will
169 usually not need to exceed a couple of gigabytes.</para></listitem>
170
171 <listitem><para>/usr/src &ndash; This partition is very
172 useful for providing a location to store BLFS source files and
173 share them across LFS builds. It can also be used as a location
174 for building BLFS packages. A reasonably large partition of 30-50
175 gigabytes allows plenty of room.</para></listitem>
176
177 </itemizedlist>
178
179 <para>Any separate partition that you want automatically mounted upon boot
180 needs to be specified in the <filename>/etc/fstab</filename>. Details
181 about how to specify partitions will be discussed in <xref
182 linkend="ch-bootable-fstab"/>. </para>
183
184 </sect3>
185 </sect2>
186</sect1>
Note: See TracBrowser for help on using the repository browser.