summaryrefslogtreecommitdiffstats
path: root/chapter_02.xml
blob: 1a4ef26e217324438a50c32fed0eea290768a053 (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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
<?xml version="1.0"?>
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "/usr/share/xml/docbook/xml-dtd-4.5/docbookx.dtd">

<chapter>
<title>Installation</title>

<para>
Slackware's installation is a bit more simplistic than that of many/most
 other Linux distributions, and is very reminiscent of installing one of the
varieties of BSD operating systems.  If you're familiar with those, you
should feel right at home.  If you've never installed Slackware or used
a distribution that makes use of a non-graphical installer, you may
feel a bit overwhelmed.  Don't panic.  The installation is very easy
once you understand it, and it works on just about any x86 platform.
</para>

<para>
The latest versions of Slackware Linux are distributed on DVD or CD
media, but Slackware can be installed in a variety of other ways.  This
book will only focus on the most common way: installing via optical
media.  In order to install Slackware, you'll need at least an Intel
486 (or equivalent) or x86_64 CPU, but we recommend you obtain a 586 
or better CPU if at all possible.  Slackware can be pared down to run 
on as little as 32 MB of RAM, but with the size of the 2.6 kernel and
userspace applications, you will find yourself having a much easier
time if you have a minimum of 64 MB of RAM.  If you wish to use
anything older than these, you might want to obtain an older copy of
Slackware which will perform better with fewer CPU Megahertz and less
RAM.
</para>

<section>
<title>Booting the Installer</title>

<para>
FILL THIS IN!
FILL THIS IN!
FILL THIS IN!
FILL THIS IN!
FILL THIS IN!
FILL THIS IN!
FILL THIS IN!
</para>

<para>
<imagedata fileref="img/install_keymap.png" format="PNG" />
</para>

<para>
<imagedata fileref="img/install_login.png" format="PNG" />
</para>

</section>

<section>
<title>Partitioning</title>

<para>
Unlike many other Linux distributions, Slackware does not make use of a
graphical disk partitioning tool in its installer; rather, Slackware
makes use of <application>fdisk</application>(8) and
<application>cfdisk</application>(8), both of which are console tools.
<application>cfdisk</application> is a curses-based partitioning tool
while <application>fdisk</application> is not.  Which one you decide 
to use should only rarely matter.  In this book, we'll only discuss
<application>fdisk</application>.
</para>

<para>
In order to partition your hard drive, you'll first need to know how to
identify it.  In Linux, all hardware is identified by a special file
called a device file.  These are all (typically) located in the
<filename>/dev</filename> directory.  Hard drives, both the older IDE
(PATA) and Serial ATA (SATA) disks are identified as SCSI devices by 
the kernel, and as such, they'll be assigned a device node such as 
<filename>/dev/sda</filename>.  If you don't know which device node is
assigned to your hard drive, <application>fdisk</application> can help you
find out.
</para>

<screen><prompt>root@slackware:/# </prompt><userinput>fdisk -l</userinput>

Disk /dev/sda: 72.7 GB, 72725037056 bytes
255 heads, 63 sectors/track, 8841 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
</screen>

<para>
Here, you can see that my system has a hard drive located at
<filename>/dev/sda</filename> that is 72.7 GB in size.  You can also
see some additional information about this hard drive (in my case, this 
is actually three SCSI hard drives on a hardware RAID controller that
makes them appear as a single drive).  The <arg>-l</arg> argument to
<application>fdisk</application> tells it to display the hard drives
and all the partitions it finds on those drives, but it won't make any
changes to the disks.  In order to actually partition our drives, we'll
have to tell <application>fdisk</application> the drive on which to operate.
</para>

<screen><prompt>root@slackware:/# </prompt><userinput>fdisk /dev/sda</userinput>

The number of cylinders for this disk is set to 8841.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help):
</screen>

<para>
Now we've told fdisk what disk we wish to partition, and it has dropped
us into command mode after printing an annoying warning message.  The
1024 cylinder limit has not been a problem for quite some time, and
Slackware's boot loader will have no trouble booting disks larger than
this.  Typing <arg>m</arg> and pressing ENTER will print out a helpful
message telling you what to do with <application>fdisk</application>.
</para>

<screen>Command (m for help): <userinput>m</userinput>
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)
</screen>

<para>
Now that we know what commands will do what, it's time to begin partitioning
our drive.  At a minimum, you will need a single <filename>/</filename> 
partition, and you should also create a swap partition.
You might also want to make a separate <filename>/home</filename>
partition for storing user files (this will make it easier to upgrade
later or to install a different Linux operating system by keeping all of
your users' files on a separate partition).  Therefore, let's go ahead and
make three partitions.  The command to create a new partition is
<arg>n</arg> (which you noticed when you read the help).
</para>

<screen>Command: (m for help): <userinput>n</userinput>
Command action
   e   extended
   p   primary partition (1-4)
<userinput>p</userinput>
Partition number (1-4): <userinput>1</userinput>
First cylinder (1-8841, default 1): <userinput>1</userinput>
Last cylinder or +size or +sizeM or +sizeK (1-8841, default 8841): <userinput>+8G</userinput>

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
<userinput>p</userinput>
Partition number (1-4): <userinput>2</userinput>
First cylinder (975-8841, default 975): <userinput>975</userinput>
Last cylinder or +size or +sizeM or +sizeK (975-8841, default 8841): <userinput>+1G</userinput>
</screen>

<para>
Here we have created two partitions.  The first is 8GB in size, and the
second is only 1GB.  We can view our existing partitions with the
<arg>p</arg> command.
</para>

<screen> Command (m for help): <userinput>p</userinput>

Disk /dev/sda: 72.7 GB, 72725037056 bytes
255 heads, 63 sectors/track, 8841 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot       Start      End          Blocks   Id  System
/dev/sda1                1      974         7823623+  83  Linux
/dev/sda2              975     1097          987997+  83  Linux

</screen>

<para>
Both of these partitions are of type "83" which is the standard Linux
filesystem.  We will need to change <filename>/dev/sda2</filename> to
type "82" in order to make this a swap partition.  We will do this with
the <arg>t</arg> argument to <application>fdisk</application>.
</para>

<screen>Command (m for help): <userinput>t</userinput>
Partition number (1-4): <userinput>2</userinput>
Hex code (type L to list codes): <userinput>82</userinput>

Command (me for help): <userinput>p</userinput>

Disk /dev/sda: 72.7 GB, 72725037056 bytes
255 heads, 63 sectors/track, 8841 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot       Start      End          Blocks   Id  System
/dev/sda1                1      974         7823623+  83  Linux
/dev/sda2              975     1097          987997+  82  Linux swap

</screen>

<para>The swap partition is a special partition that is used for
virtual memory by the Linux kernel.  If for some reason you run out of
RAM, the kernel will move the contents of some of the RAM to swap in
order to prevent a crash.  The size of your swap partition is up to
you.  A great many people have participated in a great many flamewars 
on the size of swap partitions, but a good rule of thumb is to make your 
swap partition about twice the size of your system's RAM.  Since my machine 
has only 512MB of RAM, I decided to make my swap partition 1GB.  You may 
wish to experiment with your swap partition's size and see what works best 
for you, but generally there is no harm in having "too much" swap.
That being said, there's generally no good reason to follow this "rule of
thumb" if you have a *lot* of RAM (e.g. more than 2 GB).  If you plan to
use hibernation (suspend to disk), you will need to have at least as much
swap space as you have physical memory (RAM), so keep that in mind.
</para>

<para>
At this point we can stop, write these changes to the disk, and
continue on, but I'm going to go ahead and make a third partition which
will be mounted at <filename>/home</filename>.
</para>

<screen>Command: (me for help): <userinput>n</userinput>
Command action
   e   extended
   p   primary partition (1-4)
<userinput>p</userinput>
Partition number (1-4): <userinput>3</userinput>
First cylinder (1098-8841, default 1098): <userinput>1098</userinput>
Last cylinder or +size or +sizeM or +sizeK (1098-8841, default 8841): <userinput>8841</userinput>
</screen>

<para>
Now it's time to finish up and write these changes to disk.
</para>

<screen>Command: (me for help): <userinput>w</userinput>
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
<prompt>root@slackware:/# </prompt>
</screen>

<para>
At this point, we are done partitioning our disks and are ready to
begin the <application>setup</application> program.  However, if you
have created any extended partitions, you may wish to reboot once to
ensure that they are properly read by the kernel.
</para>

</section>

<section>
<title>The <application>setup</application> Program</title>

  <!-- Each part of setup gets its individual subsection. -->

  <section>
  <title>Help</title>

  </section>

  <section>
  <title>Keymap</title>

  </section>

  <section>
  <title>Addswap</title>

  </section>

  <section>
  <title>Target</title>

  </section>

  <section>
  <title>Source</title>

  </section>

  <section>
  <title>Select</title>

  </section>

  <section>
  <title>Install</title>

  </section>

  <section>
  <title>Configure</title>

  </section>

</section>

</chapter>