/[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.14 - (hide annotations) (download) (as text)
Wed Aug 25 15:27:42 2004 UTC (10 years, 2 months ago) by neysx
Branch: MAIN
Changes since 1.13: +4 -14 lines
File MIME type: application/xml
Cleanup, removed
- kernel 2.6 comments in code samples because it's now the only choice (2.4 has just been removed)
- traces of JFS because it is not supported on PPC (HB says so)

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 neysx 1.14 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-ppc-disk.xml,v 1.13 2004/08/24 00:00:35 pylon 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     of free space on one partition and none on another.
156     </p>
157    
158     </body>
159     </subsection>
160     </section>
161 neysx 1.2 <section id="fdisk">
162 swift 1.6 <title>Default: Using mac-fdisk (Apple/IBM) Partition your Disk</title>
163 swift 1.1 <body>
164    
165     <p>
166     At this point, create your partitions using <c>mac-fdisk</c>:
167     </p>
168    
169     <pre caption="Starting mac-fdisk">
170     # <i>mac-fdisk /dev/hda</i>
171     </pre>
172    
173     <p>
174     First delete the partitions you have cleared previously to make room for your
175     Linux partitions. Use <c>d</c> in <c>mac-fdisk</c> to delete those partition(s).
176     It will ask for the partition number to delete.
177     </p>
178    
179     <p>
180     Second, create an <e>Apple_Bootstrap</e> partition by using <c>b</c>. It will
181 pylon 1.4 ask for what block you want to start. Enter the number of your first free
182 pylon 1.5 partition, followed by a <c>p</c>. For instance this is <c>1p</c>.
183 swift 1.1 </p>
184    
185     <note>
186     This partition is <e>not</e> a "boot" partition. It is not used by Linux at all;
187     you don't have to place any filesystem on it and you should never mount it. PPC
188 pylon 1.4 users don't need a an extra partition for <path>/boot</path>.
189 swift 1.1 </note>
190    
191     <p>
192     Now create a swap partition by pressing <c>c</c>. Again <c>mac-fdisk</c> will
193 pylon 1.5 ask for what block you want to start this partition from. As we used <c>1</c>
194 swift 1.1 before to create the Apple_Bootstrap partition, you now have to enter
195 pylon 1.5 <c>2p</c>. When you're asked for the size, enter <c>512M</c> (or whatever size
196 pylon 1.4 you want -- 512MB is recommended though). When asked for a name, enter <c>swap</c>
197 swift 1.1 (mandatory).
198     </p>
199    
200     <p>
201 pylon 1.5 To create the root partition, enter <c>c</c>, followed by <c>3p</c> to select
202 swift 1.1 from what block the root partition should start. When asked for the size, enter
203 pylon 1.5 <c>3p</c> again. <c>mac-fdisk</c> will interpret this as "Use all available
204 swift 1.1 space". When asked for the name, enter <c>root</c> (mandatory).
205     </p>
206    
207     <p>
208     To finish up, write the partition to the disk using <c>w</c> and <c>q</c> to
209     quit <c>mac-fdisk</c>.
210     </p>
211    
212     <p>
213     Now that your partitions are created, you can now continue with <uri
214     link="#filesystems">Creating Filesystems</uri>.
215     </p>
216    
217     </body>
218     </section>
219 swift 1.6 <section id="parted">
220 dertobi123 1.11 <title>Using parted (especially Pegasos) to Partition your Disk</title>
221 swift 1.6 <body>
222    
223     <p>
224 dertobi123 1.11 <c>parted</c>, the Partition Editor, can now handle HFS+ partitions used by
225     Mac OS and Mac OS X. With this tool you can shrink your Mac-partitions and
226     create space for your Linux partitions. Nevertheless, the example below
227     describes partitioning for Pegasos machines only.
228     </p>
229    
230     <p>
231 swift 1.6 To begin let's fire up <c>parted</c>:
232     </p>
233    
234     <pre caption="Starting parted">
235     # <i>parted /dev/hda</i>
236     </pre>
237    
238     <p>
239     If the drive is unpartitioned, run <c>mklabel amiga</c> to create a new
240     disklabel for the drive.
241     </p>
242    
243     <p>
244     You can type <c>print</c> at any time in parted to display the current partition
245     table. Your changes aren't saved until you quit the application; if at any time
246     you change your mind or made a mistake you can press <c>Ctrl-c</c> to abort
247     parted.
248     </p>
249    
250     <p>
251     If you intend to also install MorphOS on your Pegasos create an affs1 filesystem
252     named "BI0" (BI zero) at the start of the drive. 50MB should be more than enough
253 neysx 1.14 to store the MorphOS kernel. If you have a Pegasos I or intend to use reiserfs or
254     xfs, you will also have to store your Linux kernel on this partition (the
255 swift 1.6 Pegasos II can boot from ext2/ext3 drives). To create the partition run
256     <c>mkpart primary affs1 START END</c> where <c>START</c> and <c>END</c> should
257     be replaced with the megabyte range (f.i. <c>5 55</c> creates a 50 MB partition
258     starting at 5MB and ending at 55MB.
259     </p>
260    
261     <p>
262     You need to create two partitions for Linux, one root filesystem for all your
263     program files etc, and one swap partition. To create the root filesystem you
264     must first decide which filesystem to use. Possible options are ext2, ext3,
265 neysx 1.14 reiserfs and xfs. Unless you know what you are doing, use ext3. Run
266 swift 1.6 <c>mkpart primary ext3 START END</c> to create an ext3 partition. Again, replace
267     <c>START</c> and <c>END</c> with the megabyte start and stop marks for the
268     partition.
269     </p>
270    
271     <p>
272     It is generally recommended that you create a swap partition the same size as
273     the amount of RAM in your computer times two. You will probably get away with a
274     smaller swap partition unless you intend to run a lot of applications at the
275     same time (although at least 512MB is recommended). To create the swap
276     partition, run <c>mkpart primary linux-swap START END</c>.
277     </p>
278    
279     <p>
280     Write down the partition minor numbers as they are required during the
281     installation process. To dislay the minor numbers run <c>print</c>. Your drives
282     are accessed as <path>/dev/hdaX</path> where X is replaced with the minor number
283     of the partition.
284     </p>
285    
286     <p>
287     When you are done in parted simply run <c>quit</c>.
288     </p>
289    
290     </body>
291     </section>
292 swift 1.1 <section id="filesystems">
293     <title>Creating Filesystems</title>
294     <subsection>
295     <title>Introduction</title>
296     <body>
297    
298     <p>
299     Now that your partitions are created, it is time to place a filesystem on them.
300     If you don't care about what filesystem to choose and are happy with what we use
301     as default in this handbook, continue with <uri
302     link="#filesystems-apply">Applying a Filesystem to a Partition</uri>.
303     Otherwise read on to learn about the available filesystems...
304     </p>
305    
306     </body>
307     </subsection>
308     <subsection>
309     <title>Filesystems?</title>
310     <body>
311    
312     <p>
313 pylon 1.13 Several filesystems are available. ext2, ext3, reiserfs and xfs are found stable
314     on the PPC architecture. jfs is unsupported.
315 swift 1.1 </p>
316    
317     <p>
318     <b>ext2</b> is the tried and true Linux filesystem but doesn't have metadata
319     journaling, which means that routine ext2 filesystem checks at startup time can
320     be quite time-consuming. There is now quite a selection of newer-generation
321     journaled filesystems that can be checked for consistency very quickly and are
322     thus generally preferred over their non-journaled counterparts. Journaled
323     filesystems prevent long delays when you boot your system and your filesystem
324     happens to be in an inconsistent state.
325     </p>
326    
327     <p>
328     <b>ext3</b> is the journaled version of the ext2 filesystem, providing metadata
329     journaling for fast recovery in addition to other enhanced journaling modes like
330     full data and ordered data journaling. ext3 is a very good and reliable
331     filesystem. It has an additional hashed b-tree indexing option that enables
332     high performance in almost all situations. In short, ext3 is an excellent
333     filesystem.
334     </p>
335    
336     <p>
337     <b>ReiserFS</b> is a B*-tree based filesystem that has very good overall
338     performance and greatly outperforms both ext2 and ext3 when dealing with small
339     files (files less than 4k), often by a factor of 10x-15x. ReiserFS also scales
340     extremely well and has metadata journaling. As of kernel 2.4.18+, ReiserFS is
341     solid and usable as both general-purpose filesystem and for extreme cases such
342     as the creation of large filesystems, the use of many small files, very large
343     files and directories containing tens of thousands of files.
344     </p>
345    
346     <p>
347 neysx 1.10 <b>XFS</b> is a filesystem with metadata journaling which comes with a robust
348     feature-set and is optimized for scalability. We only recommend using this
349     filesystem on Linux systems with high-end SCSI and/or fibre channel storage and
350     an uninterruptible power supply. Because XFS aggressively caches in-transit data
351     in RAM, improperly designed programs (those that don't take proper precautions
352     when writing files to disk and there are quite a few of them) can lose a good
353     deal of data if the system goes down unexpectedly.
354 swift 1.1 </p>
355    
356     </body>
357     </subsection>
358     <subsection id="filesystems-apply">
359     <title>Applying a Filesystem to a Partition</title>
360     <body>
361    
362     <p>
363     To create a filesystem on a partition or volume, there are tools available for
364     each possible filesystem:
365     </p>
366    
367     <table>
368     <tr>
369     <th>Filesystem</th>
370     <th>Creation Command</th>
371     </tr>
372     <tr>
373     <ti>ext2</ti>
374     <ti><c>mke2fs</c></ti>
375     </tr>
376     <tr>
377     <ti>ext3</ti>
378     <ti><c>mke2fs -j</c></ti>
379     </tr>
380     <tr>
381     <ti>reiserfs</ti>
382     <ti><c>mkreiserfs</c></ti>
383     </tr>
384     <tr>
385     <ti>xfs</ti>
386     <ti><c>mkfs.xfs</c></ti>
387     </tr>
388     </table>
389    
390     <p>
391     For instance, to have the root partition (<path>/dev/hda3</path> in our example)
392     in ext3 (as in our example), you would use:
393     </p>
394    
395     <pre caption="Applying a filesystem on a partition">
396     # <i>mke2fs -j /dev/hda3</i>
397     </pre>
398    
399     <p>
400     Now create the filesystems on your newly created partitions (or logical
401     volumes).
402     </p>
403    
404 dertobi123 1.11 <note>
405     Be sure that the partition which will host your kernel (the
406     <path>/boot</path>-path) must be ext2 or ext3. The bootloader can only handle
407     this filesystem.
408     </note>
409    
410 swift 1.1 </body>
411     </subsection>
412     <subsection>
413     <title>Activating the Swap Partition</title>
414     <body>
415    
416     <p>
417     <c>mkswap</c> is the command that is used to initialize swap partitions:
418     </p>
419    
420     <pre caption="Creating a Swap signature">
421 pylon 1.5 # <i>mkswap /dev/hda2</i>
422 swift 1.1 </pre>
423    
424     <p>
425     To activate the swap partition, use <c>swapon</c>:
426     </p>
427    
428     <pre caption="Activating the swap partition">
429 pylon 1.5 # <i>swapon /dev/hda2</i>
430 swift 1.1 </pre>
431    
432     <p>
433     Create and activate the swap now.
434     </p>
435    
436     </body>
437     </subsection>
438     </section>
439     <section>
440     <title>Mounting</title>
441     <body>
442    
443     <p>
444     Now that your partitions are initialized and are housing a filesystem, it is
445     time to mount those partitions. Use the <c>mount</c> command. Don't forget to
446     create the necessary mount directories for every partition you created. As an
447 pylon 1.4 example we create a mount-point and mount the root and boot partition:
448 swift 1.1 </p>
449    
450     <pre caption="Mounting partitions">
451 pylon 1.4 # <i>mkdir /mnt/gentoo</i>
452 swift 1.1 # <i>mount /dev/hda3 /mnt/gentoo</i>
453     </pre>
454    
455     <note>
456     If you want your <path>/tmp</path> to reside on a separate partition, be sure to
457     change its permissions after mounting: <c>chmod 1777 /mnt/gentoo/tmp</c>. This
458     also holds for <path>/var/tmp</path>.
459     </note>
460    
461     <p>
462 pylon 1.4 Finally we have to create the <path>/dev</path> files in our new home, which is
463     needed during the bootloader installation. This could be done by "bind"-mapping
464     the <path>/dev</path>-filesystem from the LiveCD:
465     </p>
466    
467     <pre caption="Bind-mounting the /dev-filesystem">
468     # <i>mkdir /mnt/gentoo/dev</i>
469     # <i>mount -o bind /dev /mnt/gentoo/dev</i>
470     </pre>
471    
472     <p>
473 swift 1.12 We will also have to mount the proc filesystem (a virtual interface with the
474     kernel) on <path>/proc</path>. But first we will need to place our files on the partitions.
475     </p>
476    
477     <p>
478     Continue with <uri link="?part=1&amp;chap=5">Installing the Gentoo
479 swift 1.1 Installation Files</uri>.
480     </p>
481    
482     </body>
483     </section>
484     </sections>

  ViewVC Help
Powered by ViewVC 1.1.20