/[gentoo]/xml/htdocs/doc/en/handbook/hb-install-ppc-disk.xml
Gentoo

Contents of /xml/htdocs/doc/en/handbook/hb-install-ppc-disk.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.16 - (hide annotations) (download) (as text)
Tue Sep 14 11:55:12 2004 UTC (10 years ago) by swift
Branch: MAIN
Changes since 1.15: +2 -2 lines
File MIME type: application/xml
#63752 - Add "and SATA" to the 15-partition limit warning

1 swift 1.1 <?xml version='1.0' encoding='UTF-8'?>
2     <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
3    
4     <!-- The content of this document is licensed under the CC-BY-SA license -->
5     <!-- See http://creativecommons.org/licenses/by-sa/1.0 -->
6    
7 swift 1.16 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-ppc-disk.xml,v 1.15 2004/08/29 12:17:07 swift Exp $ -->
8 swift 1.1
9     <sections>
10     <section>
11     <title>Introduction to Block Devices</title>
12     <subsection>
13     <title>Block Devices</title>
14     <body>
15    
16     <p>
17     We'll take a good look at disk-oriented aspects of Gentoo Linux
18     and Linux in general, including Linux filesystems, partitions and block devices.
19     Then, once you're familiar with the ins and outs of disks and filesystems,
20     you'll be guided through the process of setting up partitions and filesystems
21     for your Gentoo Linux installation.
22     </p>
23    
24     <p>
25     To begin, we'll introduce <e>block devices</e>. The most famous block device is
26     probably the one that represents the first IDE drive in a Linux system, namely
27     <path>/dev/hda</path>. If your system uses SCSI drives, then your first hard
28     drive would be <path>/dev/sda</path>.
29     </p>
30    
31     <p>
32     The block devices above represent an abstract interface to the disk. User
33     programs can use these block devices to interact with your disk without worrying
34     about whether your drives are IDE, SCSI or something else. The program can
35     simply address the storage on the disk as a bunch of contiguous,
36     randomly-accessible 512-byte blocks.
37     </p>
38    
39     </body>
40     </subsection>
41     <subsection>
42     <title>Partitions and Slices</title>
43     <body>
44    
45     <p>
46     Although it is theoretically possible to use a full disk to house your Linux
47     system, this is almost never done in practice. Instead, full disk block devices
48     are split up in smaller, more manageable block devices. On most systems,
49     these are called <e>partitions</e>. Other architectures use a similar technique,
50     called <e>slices</e>.
51     </p>
52    
53     </body>
54     </subsection>
55     </section>
56     <section>
57     <title>Designing a Partitioning Scheme</title>
58     <subsection>
59     <title>Default Partitioning Scheme</title>
60     <body>
61    
62     <p>
63     If you are not interested in drawing up a partitioning scheme for your system,
64     you can use the partitioning scheme we use throughout this book:
65     </p>
66    
67     <table>
68     <tr>
69     <th>Partition NewWorld</th>
70     <th>Partition OldWorld</th>
71 swift 1.8 <th>Partition Pegasos</th>
72 swift 1.1 <th>Filesystem</th>
73     <th>Size</th>
74     <th>Description</th>
75     </tr>
76     <tr>
77     <ti><path>/dev/hda1</path></ti>
78     <ti>(Not needed)</ti>
79 swift 1.8 <ti>(Not applicable)</ti>
80 swift 1.1 <ti>(bootstrap)</ti>
81     <ti>800k</ti>
82     <ti>Apple_Bootstrap</ti>
83     </tr>
84     <tr>
85     <ti><path>/dev/hda2</path></ti>
86     <ti><path>/dev/hda1</path></ti>
87 swift 1.8 <ti><path>/dev/hda1</path></ti>
88 swift 1.1 <ti>(swap)</ti>
89     <ti>512M</ti>
90     <ti>Swap partition</ti>
91     </tr>
92     <tr>
93     <ti><path>/dev/hda3</path></ti>
94     <ti><path>/dev/hda2</path></ti>
95 swift 1.8 <ti><path>/dev/hda2</path></ti>
96 swift 1.1 <ti>ext3</ti>
97     <ti>Rest of the disk</ti>
98     <ti>Root partition</ti>
99     </tr>
100     </table>
101    
102     <p>
103     If you are interested in knowing how big a partition should be, or even how
104     many partitions you need, read on. Otherwise continue now with
105 swift 1.6 <uri link="#fdisk">Default: Using mac-fdisk (Apple/IBM) to Partition your
106 dertobi123 1.11 Disk</uri> or <uri link="#parted">Alternative: Using parted (especially Pegasos) to
107 swift 1.6 Partition your Disk</uri>.
108 swift 1.1 </p>
109    
110     </body>
111     </subsection>
112     <subsection>
113     <title>How Many and How Big?</title>
114     <body>
115    
116     <p>
117     The number of partitions is highly dependent on your environment. For instance,
118     if you have lots of users, you will most likely want to have your
119     <path>/home</path> separate as it increases security and makes backups easier.
120     If you are installing Gentoo to perform as a mailserver, your
121     <path>/var</path> should be separate as all mails are stored inside
122     <path>/var</path>. A good choice of filesystem will then maximise your
123     performance. Gameservers will have a separate <path>/opt</path> as most gaming
124     servers are installed there. The reason is similar for <path>/home</path>:
125     security and backups.
126     </p>
127    
128     <p>
129     As you can see, it very much depends on what you want to achieve. Separate
130     partitions or volumes have the following advantages:
131     </p>
132    
133     <ul>
134     <li>
135 neysx 1.9 You can choose the best performing filesystem for each partition or volume
136 swift 1.1 </li>
137     <li>
138     Your entire system cannot run out of free space if one defunct tool is
139     continuously writing files to a partition or volume
140     </li>
141     <li>
142     If necessary, file system checks are reduced in time, as multiple checks can
143     be done in parallel (although this advantage is more with multiple disks than
144     it is with multiple partitions)
145     </li>
146     <li>
147     Security can be enhanced by mounting some partitions or volumes read-only,
148     nosuid (setuid bits are ignored), noexec (executable bits are ignored) etc.
149     </li>
150     </ul>
151    
152     <p>
153     However, multiple partitions have one big disadvantage: if not configured
154     properly, you might result in having a system with lots
155 swift 1.15 of free space on one partition and none on another. There is also a 15-partition
156 swift 1.16 limit for SCSI and SATA.
157 swift 1.1 </p>
158    
159     </body>
160     </subsection>
161     </section>
162 neysx 1.2 <section id="fdisk">
163 swift 1.6 <title>Default: Using mac-fdisk (Apple/IBM) Partition your Disk</title>
164 swift 1.1 <body>
165    
166     <p>
167     At this point, create your partitions using <c>mac-fdisk</c>:
168     </p>
169    
170     <pre caption="Starting mac-fdisk">
171     # <i>mac-fdisk /dev/hda</i>
172     </pre>
173    
174     <p>
175     First delete the partitions you have cleared previously to make room for your
176     Linux partitions. Use <c>d</c> in <c>mac-fdisk</c> to delete those partition(s).
177     It will ask for the partition number to delete.
178     </p>
179    
180     <p>
181     Second, create an <e>Apple_Bootstrap</e> partition by using <c>b</c>. It will
182 pylon 1.4 ask for what block you want to start. Enter the number of your first free
183 pylon 1.5 partition, followed by a <c>p</c>. For instance this is <c>1p</c>.
184 swift 1.1 </p>
185    
186     <note>
187     This partition is <e>not</e> a "boot" partition. It is not used by Linux at all;
188     you don't have to place any filesystem on it and you should never mount it. PPC
189 pylon 1.4 users don't need a an extra partition for <path>/boot</path>.
190 swift 1.1 </note>
191    
192     <p>
193     Now create a swap partition by pressing <c>c</c>. Again <c>mac-fdisk</c> will
194 pylon 1.5 ask for what block you want to start this partition from. As we used <c>1</c>
195 swift 1.1 before to create the Apple_Bootstrap partition, you now have to enter
196 pylon 1.5 <c>2p</c>. When you're asked for the size, enter <c>512M</c> (or whatever size
197 pylon 1.4 you want -- 512MB is recommended though). When asked for a name, enter <c>swap</c>
198 swift 1.1 (mandatory).
199     </p>
200    
201     <p>
202 pylon 1.5 To create the root partition, enter <c>c</c>, followed by <c>3p</c> to select
203 swift 1.1 from what block the root partition should start. When asked for the size, enter
204 pylon 1.5 <c>3p</c> again. <c>mac-fdisk</c> will interpret this as "Use all available
205 swift 1.1 space". When asked for the name, enter <c>root</c> (mandatory).
206     </p>
207    
208     <p>
209     To finish up, write the partition to the disk using <c>w</c> and <c>q</c> to
210     quit <c>mac-fdisk</c>.
211     </p>
212    
213     <p>
214     Now that your partitions are created, you can now continue with <uri
215     link="#filesystems">Creating Filesystems</uri>.
216     </p>
217    
218     </body>
219     </section>
220 swift 1.6 <section id="parted">
221 dertobi123 1.11 <title>Using parted (especially Pegasos) to Partition your Disk</title>
222 swift 1.6 <body>
223    
224     <p>
225 dertobi123 1.11 <c>parted</c>, the Partition Editor, can now handle HFS+ partitions used by
226     Mac OS and Mac OS X. With this tool you can shrink your Mac-partitions and
227     create space for your Linux partitions. Nevertheless, the example below
228     describes partitioning for Pegasos machines only.
229     </p>
230    
231     <p>
232 swift 1.6 To begin let's fire up <c>parted</c>:
233     </p>
234    
235     <pre caption="Starting parted">
236     # <i>parted /dev/hda</i>
237     </pre>
238    
239     <p>
240     If the drive is unpartitioned, run <c>mklabel amiga</c> to create a new
241     disklabel for the drive.
242     </p>
243    
244     <p>
245     You can type <c>print</c> at any time in parted to display the current partition
246     table. Your changes aren't saved until you quit the application; if at any time
247     you change your mind or made a mistake you can press <c>Ctrl-c</c> to abort
248     parted.
249     </p>
250    
251     <p>
252     If you intend to also install MorphOS on your Pegasos create an affs1 filesystem
253     named "BI0" (BI zero) at the start of the drive. 50MB should be more than enough
254 neysx 1.14 to store the MorphOS kernel. If you have a Pegasos I or intend to use reiserfs or
255     xfs, you will also have to store your Linux kernel on this partition (the
256 swift 1.6 Pegasos II can boot from ext2/ext3 drives). To create the partition run
257     <c>mkpart primary affs1 START END</c> where <c>START</c> and <c>END</c> should
258     be replaced with the megabyte range (f.i. <c>5 55</c> creates a 50 MB partition
259     starting at 5MB and ending at 55MB.
260     </p>
261    
262     <p>
263     You need to create two partitions for Linux, one root filesystem for all your
264     program files etc, and one swap partition. To create the root filesystem you
265     must first decide which filesystem to use. Possible options are ext2, ext3,
266 neysx 1.14 reiserfs and xfs. Unless you know what you are doing, use ext3. Run
267 swift 1.6 <c>mkpart primary ext3 START END</c> to create an ext3 partition. Again, replace
268     <c>START</c> and <c>END</c> with the megabyte start and stop marks for the
269     partition.
270     </p>
271    
272     <p>
273     It is generally recommended that you create a swap partition the same size as
274     the amount of RAM in your computer times two. You will probably get away with a
275     smaller swap partition unless you intend to run a lot of applications at the
276     same time (although at least 512MB is recommended). To create the swap
277     partition, run <c>mkpart primary linux-swap START END</c>.
278     </p>
279    
280     <p>
281     Write down the partition minor numbers as they are required during the
282     installation process. To dislay the minor numbers run <c>print</c>. Your drives
283     are accessed as <path>/dev/hdaX</path> where X is replaced with the minor number
284     of the partition.
285     </p>
286    
287     <p>
288     When you are done in parted simply run <c>quit</c>.
289     </p>
290    
291     </body>
292     </section>
293 swift 1.1 <section id="filesystems">
294     <title>Creating Filesystems</title>
295     <subsection>
296     <title>Introduction</title>
297     <body>
298    
299     <p>
300     Now that your partitions are created, it is time to place a filesystem on them.
301     If you don't care about what filesystem to choose and are happy with what we use
302     as default in this handbook, continue with <uri
303     link="#filesystems-apply">Applying a Filesystem to a Partition</uri>.
304     Otherwise read on to learn about the available filesystems...
305     </p>
306    
307     </body>
308     </subsection>
309     <subsection>
310     <title>Filesystems?</title>
311     <body>
312    
313     <p>
314 pylon 1.13 Several filesystems are available. ext2, ext3, reiserfs and xfs are found stable
315     on the PPC architecture. jfs is unsupported.
316 swift 1.1 </p>
317    
318     <p>
319     <b>ext2</b> is the tried and true Linux filesystem but doesn't have metadata
320     journaling, which means that routine ext2 filesystem checks at startup time can
321     be quite time-consuming. There is now quite a selection of newer-generation
322     journaled filesystems that can be checked for consistency very quickly and are
323     thus generally preferred over their non-journaled counterparts. Journaled
324     filesystems prevent long delays when you boot your system and your filesystem
325     happens to be in an inconsistent state.
326     </p>
327    
328     <p>
329     <b>ext3</b> is the journaled version of the ext2 filesystem, providing metadata
330     journaling for fast recovery in addition to other enhanced journaling modes like
331     full data and ordered data journaling. ext3 is a very good and reliable
332     filesystem. It has an additional hashed b-tree indexing option that enables
333     high performance in almost all situations. In short, ext3 is an excellent
334     filesystem.
335     </p>
336    
337     <p>
338     <b>ReiserFS</b> is a B*-tree based filesystem that has very good overall
339     performance and greatly outperforms both ext2 and ext3 when dealing with small
340     files (files less than 4k), often by a factor of 10x-15x. ReiserFS also scales
341     extremely well and has metadata journaling. As of kernel 2.4.18+, ReiserFS is
342     solid and usable as both general-purpose filesystem and for extreme cases such
343     as the creation of large filesystems, the use of many small files, very large
344     files and directories containing tens of thousands of files.
345     </p>
346    
347     <p>
348 neysx 1.10 <b>XFS</b> is a filesystem with metadata journaling which comes with a robust
349     feature-set and is optimized for scalability. We only recommend using this
350     filesystem on Linux systems with high-end SCSI and/or fibre channel storage and
351     an uninterruptible power supply. Because XFS aggressively caches in-transit data
352     in RAM, improperly designed programs (those that don't take proper precautions
353     when writing files to disk and there are quite a few of them) can lose a good
354     deal of data if the system goes down unexpectedly.
355 swift 1.1 </p>
356    
357     </body>
358     </subsection>
359     <subsection id="filesystems-apply">
360     <title>Applying a Filesystem to a Partition</title>
361     <body>
362    
363     <p>
364     To create a filesystem on a partition or volume, there are tools available for
365     each possible filesystem:
366     </p>
367    
368     <table>
369     <tr>
370     <th>Filesystem</th>
371     <th>Creation Command</th>
372     </tr>
373     <tr>
374     <ti>ext2</ti>
375     <ti><c>mke2fs</c></ti>
376     </tr>
377     <tr>
378     <ti>ext3</ti>
379     <ti><c>mke2fs -j</c></ti>
380     </tr>
381     <tr>
382     <ti>reiserfs</ti>
383     <ti><c>mkreiserfs</c></ti>
384     </tr>
385     <tr>
386     <ti>xfs</ti>
387     <ti><c>mkfs.xfs</c></ti>
388     </tr>
389     </table>
390    
391     <p>
392     For instance, to have the root partition (<path>/dev/hda3</path> in our example)
393     in ext3 (as in our example), you would use:
394     </p>
395    
396     <pre caption="Applying a filesystem on a partition">
397     # <i>mke2fs -j /dev/hda3</i>
398     </pre>
399    
400     <p>
401     Now create the filesystems on your newly created partitions (or logical
402     volumes).
403     </p>
404    
405 dertobi123 1.11 <note>
406     Be sure that the partition which will host your kernel (the
407     <path>/boot</path>-path) must be ext2 or ext3. The bootloader can only handle
408     this filesystem.
409     </note>
410    
411 swift 1.1 </body>
412     </subsection>
413     <subsection>
414     <title>Activating the Swap Partition</title>
415     <body>
416    
417     <p>
418     <c>mkswap</c> is the command that is used to initialize swap partitions:
419     </p>
420    
421     <pre caption="Creating a Swap signature">
422 pylon 1.5 # <i>mkswap /dev/hda2</i>
423 swift 1.1 </pre>
424    
425     <p>
426     To activate the swap partition, use <c>swapon</c>:
427     </p>
428    
429     <pre caption="Activating the swap partition">
430 pylon 1.5 # <i>swapon /dev/hda2</i>
431 swift 1.1 </pre>
432    
433     <p>
434     Create and activate the swap now.
435     </p>
436    
437     </body>
438     </subsection>
439     </section>
440     <section>
441     <title>Mounting</title>
442     <body>
443    
444     <p>
445     Now that your partitions are initialized and are housing a filesystem, it is
446     time to mount those partitions. Use the <c>mount</c> command. Don't forget to
447     create the necessary mount directories for every partition you created. As an
448 pylon 1.4 example we create a mount-point and mount the root and boot partition:
449 swift 1.1 </p>
450    
451     <pre caption="Mounting partitions">
452 pylon 1.4 # <i>mkdir /mnt/gentoo</i>
453 swift 1.1 # <i>mount /dev/hda3 /mnt/gentoo</i>
454     </pre>
455    
456     <note>
457     If you want your <path>/tmp</path> to reside on a separate partition, be sure to
458     change its permissions after mounting: <c>chmod 1777 /mnt/gentoo/tmp</c>. This
459     also holds for <path>/var/tmp</path>.
460     </note>
461    
462     <p>
463 pylon 1.4 Finally we have to create the <path>/dev</path> files in our new home, which is
464     needed during the bootloader installation. This could be done by "bind"-mapping
465     the <path>/dev</path>-filesystem from the LiveCD:
466     </p>
467    
468     <pre caption="Bind-mounting the /dev-filesystem">
469     # <i>mkdir /mnt/gentoo/dev</i>
470     # <i>mount -o bind /dev /mnt/gentoo/dev</i>
471     </pre>
472    
473     <p>
474 swift 1.12 We will also have to mount the proc filesystem (a virtual interface with the
475     kernel) on <path>/proc</path>. But first we will need to place our files on the partitions.
476     </p>
477    
478     <p>
479     Continue with <uri link="?part=1&amp;chap=5">Installing the Gentoo
480 swift 1.1 Installation Files</uri>.
481     </p>
482    
483     </body>
484     </section>
485     </sections>

  ViewVC Help
Powered by ViewVC 1.1.20