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