source: chapter02/creatingpartition.xml@ 0ebfdf7e

xry111/arm64 xry111/arm64-12.0
Last change on this file since 0ebfdf7e was 1b61cd1, checked in by Xi Ruoyao <xry111@…>, 18 months ago

Merge remote-tracking branch 'origin/trunk' into xry111/arm64

  • Property mode set to 100644
File size: 9.3 KB
RevLine 
[673b0d8]1<?xml version="1.0" encoding="ISO-8859-1"?>
[b06ca36]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[673b0d8]4 <!ENTITY % general-entities SYSTEM "../general.ent">
5 %general-entities;
6]>
[87bae31]7
[afcfd74]8<sect1 id="ch-partitioning-creatingpartition">
[87bae31]9 <?dbhtml filename="creatingpartition.html"?>
[1422130]10
[87bae31]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
[8e3448a]16 space, to create one.</para>
17
[210fc78]18 <para>A minimal system requires a partition of around 10 gigabytes (GB).
[87bae31]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
[210fc78]22 space. A 30 GB partition is a reasonable size to provide for growth. The LFS
[b14e957]23 system itself will not take up this much room. A large portion of this
[1118b17]24 requirement is to provide sufficient free temporary storage as well as
[0d57ec9]25 for adding additional capabilities after LFS is complete. Additionally, compiling
[b14e957]26 packages can require a lot of disk space which will be reclaimed after the
27 package is installed.</para>
[81fd230]28
[87bae31]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
[a04b192f]40 <filename class="devicefile">/dev/sda</filename> for the primary
[637d44b]41 disk drive. Create a Linux native partition and a
[87bae31]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
[387a3a4a]46 <note><para>For experienced users, other partitioning schemes are possible.
47 The new LFS system can be on a software <ulink
[0ee07e5]48 url="&blfs-book;postlfs/raid.html">RAID</ulink> array or an <ulink
49 url="&blfs-book;postlfs/aboutlvm.html">LVM</ulink> logical volume.
[387a3a4a]50 However, some of these options require an <ulink
[0ee07e5]51 url="&blfs-book;postlfs/initramfs.html">initramfs</ulink>, which is
[387a3a4a]52 an advanced topic. These partitioning methodologies are not recommended for
53 first time LFS users.</para></note>
54
[87bae31]55 <para>Remember the designation of the new partition (e.g., <filename
[cd591a6]56 class="devicefile">sda5</filename>). This book will refer to this as
[87bae31]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
[44917f1]61 <sect2>
62 <title>Other Partition Issues</title>
63
[2ca8941]64 <para>Requests for advice on system partitioning are often posted on the LFS mailing
[b99b7d3]65 lists. This is a highly subjective topic. The default for most distributions
[44917f1]66 is to use the entire drive with the exception of one small swap partition. This
[2ca8941]67 is not optimal for LFS for several reasons. It reduces flexibility, makes
[44917f1]68 sharing of data across multiple distributions or LFS builds more difficult, makes
[2ca8941]69 backups more time consuming, and can waste disk space through inefficient
[44917f1]70 allocation of file system structures.</para>
71
72 <sect3>
73 <title>The Root Partition</title>
[2ca8941]74
[ffe0a2f]75 <para>A root LFS partition (not to be confused with the
76 <filename class="directory">/root</filename> directory) of
[b99b7d3]77 twenty gigabytes is a good compromise for most systems. It provides enough
[44917f1]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>
[2ca8941]80
[44917f1]81 <sect3>
82 <title>The Swap Partition</title>
[2ca8941]83
[44917f1]84 <para>Most distributions automatically create a swap partition. Generally
[ffe0a2f]85 the recommended size of the swap partition is about twice the amount of
[44917f1]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>
[2ca8941]89
[b99b7d3]90 <para>If you want to use the hibernation feature (suspend-to-disk) of Linux,
[a04b192f]91 it writes out the contents of RAM to the swap partition before turning off
[b99b7d3]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
[58f92b0]97 observing how the system reacts to commands. With an SSD you will not
[6612f54]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
[58f92b0]100 an SSD for a swap partition should be avoided if possible. The first
[b99b7d3]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>
[23a0f82]105
[44917f1]106 <sect3>
107 <title>Convenience Partitions</title>
[2ca8941]108
[44917f1]109 <para>There are several other partitions that are not required, but should
[ffe0a2f]110 be considered when designing a disk layout. The following list
[44917f1]111 is not comprehensive, but is meant as a guide.</para>
[2ca8941]112
[44917f1]113 <itemizedlist>
[2ca8941]114
[44917f1]115 <listitem><para>/boot &ndash; Highly recommended. Use this partition to
116 store kernels and other booting information. To minimize potential boot
117 problems with larger disks, make this the first physical partition on
[6612f54]118 your first disk drive. A partition size of 200 megabytes is
[44917f1]119 adequate.</para></listitem>
[2ca8941]120
[cfaf727]121 <listitem><para>/boot/efi &ndash; The EFI System Partition, which is
122 needed for booting the system with UEFI. Read
123 <ulink url="&blfs-book;postlfs/grub-setup.html">the BLFS page</ulink>
124 for details.</para></listitem>
125
[44917f1]126 <listitem><para>/home &ndash; Highly recommended. Share your home
127 directory and user customization across multiple distributions or LFS
128 builds. The size is generally fairly large and depends on available disk
129 space.</para></listitem>
[2ca8941]130
[d7a9421]131 <listitem><para>/usr &ndash; In LFS,
132 <filename class="directory">/bin</filename>,
133 <filename class="directory">/lib</filename>, and
134 <filename class="directory">/sbin</filename> are symlinks to their
[6612f54]135 counterparts in <filename class="directory">/usr</filename>.
136 So <filename class="directory">/usr</filename> contains all the binaries
[d7a9421]137 needed for the system to run. For LFS a separate partition for
138 <filename class="directory">/usr</filename> is normally not needed.
[6612f54]139 If you create it anyway, you should make a partition large enough to
[58f92b0]140 fit all the programs and libraries in the system. The root partition can be
[d7a9421]141 very small (maybe just one gigabyte) in this configuration, so it's
142 suitable for a thin client or diskless workstation (where
143 <filename class="directory">/usr</filename> is mounted from a remote
[58f92b0]144 server). However, you should be aware that an initramfs (not covered by
[6612f54]145 LFS) will be needed to boot a system with a separate
[d7a9421]146 <filename class="directory">/usr</filename> partition.</para></listitem>
[2ca8941]147
[44917f1]148 <listitem><para>/opt &ndash; This directory is most useful for
[fc472c8]149 BLFS, where multiple large packages like KDE or Texlive can
[44917f1]150 be installed without embedding the files in the /usr hierarchy. If
[da7032a]151 used, 5 to 10 gigabytes is generally adequate.</para>
[44917f1]152 </listitem>
[2ca8941]153
[12a86f3]154 <listitem revision='sysv'><para>/tmp &ndash; A separate /tmp partition
[b00063f]155 is rare, but useful if configuring a thin client. This partition, if
156 used, will usually not need to exceed a couple of
157 gigabytes. If you have enough RAM, you can mount a
158 <systemitem class='filesystem'>tmpfs</systemitem> on /tmp to make
[58f92b0]159 access to temporary files faster.</para></listitem>
[b00063f]160
161 <listitem revision='systemd'><para>/tmp &ndash; By default, systemd
162 mounts a <systemitem class='filesystem'>tmpfs</systemitem> here.
[58f92b0]163 If you want to override that behavior, follow
164 <xref linkend='systemd-no-tmpfs'/> when configuring the LFS
[b00063f]165 system.</para></listitem>
[2ca8941]166
[44917f1]167 <listitem><para>/usr/src &ndash; This partition is very
168 useful for providing a location to store BLFS source files and
[6612f54]169 share them across LFS builds. It can also be used as a location
170 for building BLFS packages. A reasonably large partition of 30-50
171 gigabytes provides plenty of room.</para></listitem>
[2ca8941]172
[44917f1]173 </itemizedlist>
[2ca8941]174
[58f92b0]175 <para>Any separate partition that you want automatically mounted when the
176 system starts must be specified in the <filename>/etc/fstab</filename> file.
177 Details about how to specify partitions will be discussed in <xref
178 linkend="ch-bootable-fstab"/>.</para>
[2ca8941]179
[44917f1]180 </sect3>
181 </sect2>
[87bae31]182</sect1>
Note: See TracBrowser for help on using the repository browser.