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—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. With an SSD you will not
|
---|
98 | be able to hear swapping, but you can tell how much swap space is being used
|
---|
99 | by running the <command>top</command> or <command>free</command> programs. Use of
|
---|
100 | an SSD 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 the <command>gdisk</command> 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 drive that holds
|
---|
119 | the LFS root partition. The disks on a system may use different
|
---|
120 | partition table types. The necessity of the Grub Bios 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 – 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
|
---|
137 | adequate.</para></listitem>
|
---|
138 |
|
---|
139 | <listitem><para>/boot/efi – The EFI System Partition, which is
|
---|
140 | needed for booting the system with UEFI. Read
|
---|
141 | <ulink url="&blfs-book;postlfs/grub-setup.html">the BLFS page</ulink>
|
---|
142 | for details.</para></listitem>
|
---|
143 |
|
---|
144 | <listitem><para>/home – Highly recommended. Share your home
|
---|
145 | directory and user customization across multiple distributions or LFS
|
---|
146 | builds. The size is generally fairly large and depends on available disk
|
---|
147 | space.</para></listitem>
|
---|
148 |
|
---|
149 | <listitem><para>/usr – In LFS,
|
---|
150 | <filename class="directory">/bin</filename>,
|
---|
151 | <filename class="directory">/lib</filename>, and
|
---|
152 | <filename class="directory">/sbin</filename> are symlinks to their
|
---|
153 | counterparts in <filename class="directory">/usr</filename>.
|
---|
154 | So <filename class="directory">/usr</filename> contains all the binaries
|
---|
155 | needed for the system to run. For LFS a separate partition for
|
---|
156 | <filename class="directory">/usr</filename> is normally not needed.
|
---|
157 | If you create it anyway, you should make a partition large enough to
|
---|
158 | fit all the programs and libraries in the system. The root partition can be
|
---|
159 | very small (maybe just one gigabyte) in this configuration, so it's
|
---|
160 | suitable for a thin client or diskless workstation (where
|
---|
161 | <filename class="directory">/usr</filename> is mounted from a remote
|
---|
162 | server). However, you should be aware that an initramfs (not covered by
|
---|
163 | LFS) will be needed to boot a system with a separate
|
---|
164 | <filename class="directory">/usr</filename> partition.</para></listitem>
|
---|
165 |
|
---|
166 | <listitem><para>/opt – This directory is most useful for
|
---|
167 | BLFS, where multiple large packages like KDE or Texlive can
|
---|
168 | be installed without embedding the files in the /usr hierarchy. If
|
---|
169 | used, 5 to 10 gigabytes is generally adequate.</para>
|
---|
170 | </listitem>
|
---|
171 |
|
---|
172 | <listitem revision='sysv'><para>/tmp – A separate /tmp partition
|
---|
173 | is rare, but useful if configuring a thin client. This partition, if
|
---|
174 | used, will usually not need to exceed a couple of
|
---|
175 | gigabytes. If you have enough RAM, you can mount a
|
---|
176 | <systemitem class='filesystem'>tmpfs</systemitem> on /tmp to make
|
---|
177 | access to temporary files faster.</para></listitem>
|
---|
178 |
|
---|
179 | <listitem revision='systemd'><para>/tmp – By default, systemd
|
---|
180 | mounts a <systemitem class='filesystem'>tmpfs</systemitem> here.
|
---|
181 | If you want to override that behavior, follow
|
---|
182 | <xref linkend='systemd-no-tmpfs'/> when configuring the LFS
|
---|
183 | system.</para></listitem>
|
---|
184 |
|
---|
185 | <listitem><para>/usr/src – This partition is very
|
---|
186 | useful for providing a location to store BLFS source files and
|
---|
187 | share them across LFS builds. It can also be used as a location
|
---|
188 | for building BLFS packages. A reasonably large partition of 30-50
|
---|
189 | gigabytes provides plenty of room.</para></listitem>
|
---|
190 |
|
---|
191 | </itemizedlist>
|
---|
192 |
|
---|
193 | <para>Any separate partition that you want automatically mounted when the
|
---|
194 | system starts must be specified in the <filename>/etc/fstab</filename> file.
|
---|
195 | Details about how to specify partitions will be discussed in <xref
|
---|
196 | linkend="ch-bootable-fstab"/>.</para>
|
---|
197 |
|
---|
198 | </sect3>
|
---|
199 | </sect2>
|
---|
200 | </sect1>
|
---|