aboutsummaryrefslogtreecommitdiffstats
path: root/chapter03/chapter03.xml
blob: 3e9b5dfe0e6a2a26b5f6f07501387910063fc57a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<chapter id="chapter03" xreflabel="Chapter 3">
<title>Preparing a new partition</title>
<?dbhtml filename="chapter03.html" dir="chapter03"?>


<sect1 id="ch03-introduction">
<title>Introduction</title>
<?dbhtml filename="introduction.html" dir="chapter03"?>

<para>In this chapter the partition which will host the LFS system is
prepared. We will create the partition itself, make a file system on it,
and mount it.</para>

</sect1>


<sect1 id="ch03-creatingpart">
<title>Creating a new partition</title>
<?dbhtml filename="creatingpart.html" dir="chapter03"?>

<para>In order to build our new Linux system, we will need some space:
an empty disk partition. If you don't have a free partition, and no room
on any of your hard disks to make one, then you could build LFS on the
same partition as the one on which your current distribution is installed.
This procedure is not recommended for your first LFS install, but if you
are short on disk space, and you feel brave, take a look at the hint at
<ulink url="&hints-root;lfs_next_to_existing_systems.txt"/>.</para>

<para>For a minimal system you will need a partition of around 1.2 GB.
This is enough to store all the source tarballs and compile all the packages.
But if you intend to use the LFS system as your primary Linux system, you
will probably want to install additional software, and will need more space
than this, probably around 2 or 3 GB.</para>

<para>As we almost never have enough RAM in our box, it is a good idea to
use a small disk partition as swap space -- this space is used by the kernel
to store seldom-used data to make room in memory for more urgent stuff.
The swap partition for your LFS system can be the same one as for your host
system, so you won't have to create another if your host system already uses
a swap partition.</para>

<para>Start a disk partitioning program such as <userinput>cfdisk</userinput>
or <userinput>fdisk</userinput> with an argument naming the hard disk upon
which the new partition must be created -- for example
<filename>/dev/hda</filename> for the primary IDE disk. Create a Linux native
partition and a swap partition, if needed. Please refer to the man pages of
<userinput>cfdisk</userinput> or <userinput>fdisk</userinput> if you don't yet
know how to use the programs.</para>

<para>Remember the designation of your new partition -- something like
<filename>hda5</filename>. This book will refer to it as the LFS partition.
If you (now) also have a swap partition, remember its designation too. These
names will later be needed for the <filename>/etc/fstab</filename> file.</para>

</sect1>


<sect1 id="ch03-creatingfs">
<title>Creating a file system on the new partition</title>
<?dbhtml filename="creatingfs.html" dir="chapter03"?>

<para>Now that we have a blank partition, we can create a file system on it.
Most widely used in the Linux world is the second extended file system (ext2),
but with the high-capacity hard disks of today the so-called journaling file
systems are becoming increasingly popular. Here we will create an ext2 file
system, but build instructions for other file systems can be found at <ulink
url="&blfs-root;view/stable/postlfs/filesystems.html"/>.</para>

<para>To create an ext2 file system on the LFS partition run the following:</para>

<screen><userinput>mke2fs /dev/xxx</userinput></screen>

<para>Replace <filename>xxx</filename> with the name of the LFS partition
(something like <filename>hda5</filename>).</para>

<para>If you created a (new) swap partition you need to initialize it as a
swap partition too (also known as formatting, like you did above with
<userinput>mke2fs</userinput>) by running:</para>

<screen><userinput>mkswap /dev/yyy</userinput></screen>

<para>Replace <filename>yyy</filename> with the name of the swap
partition.</para>

</sect1>


<sect1 id="ch03-mounting">
<title>Mounting the new partition</title>
<?dbhtml filename="mounting.html" dir="chapter03"?>

<para>Now that we've created a file system, we want to be able to access
the partition. For that, we need to mount it, and have to choose a mount
point. In this book we assume that the file system is mounted under
<filename>/mnt/lfs</filename>, but it doesn't matter what directory
you choose.</para>

<para>Choose a mount point and assign it to the LFS environment variable
by running:</para>

<screen><userinput>export LFS=/mnt/lfs</userinput></screen>

<para>Now create the mount point and mount the LFS file system by running:</para>

<screen><userinput>mkdir -p $LFS
mount /dev/xxx $LFS</userinput></screen>

<para>Replace <filename>xxx</filename> with the designation of the LFS
partition.</para>

<para>If you have decided to use multiple partitions for LFS (say one for
<filename>/</filename> and another for <filename>/usr</filename>), mount
them like this:</para>

<screen><userinput>mkdir -p $LFS
mount /dev/xxx $LFS
mkdir $LFS/usr
mount /dev/yyy $LFS/usr</userinput></screen>

<para>Of course, replace <filename>xxx</filename> and <filename>yyy</filename>
with the appropriate partition names.</para>

<para>You should also ensure that this new partition is not mounted with
permissions that are too restrictive (such as the nosuid, nodev or noatime
options). You can run the <userinput>mount</userinput> command without any
parameters to see with what options the LFS partition is mounted. If
you see nosuid, nodev or noatime, you will need to remount it.</para>
 
<para>Now that we've made ourselves a place to work in, we're ready to download
the packages.</para>

</sect1>


</chapter>