Gentoo Archives: gentoo-doc-cvs

From: swift <swift@×××××××××××.org>
To: gentoo-doc-cvs@l.g.o
Subject: [gentoo-doc-cvs] cvs commit: handbook.xml
Date: Fri, 06 Jan 2006 20:05:32
Message-Id: 200601062005.k06K5AtF015527@robin.gentoo.org
<
1 swift 06/01/06 20:05:08
2
3 Added: xml/htdocs/doc/en/handbook/draft/complete handbook.xml
4 hb-admin-centralised.xml hb-admin-logs.xml
5 hb-admin-portage.xml hb-app_arch-x86.xml
6 hb-desktop-collaboration.xml
7 hb-desktop-graphical.xml hb-desktop-plugnplay.xml
8 hb-enterprise-backups.xml hb-enterprise-lvm.xml
9 hb-enterprise-printing.xml hb-enterprise-swraid.xml
10 hb-install-bootprocess.xml hb-install-building.xml
11 hb-install-configure.xml hb-install-kernel.xml
12 hb-install-media.xml hb-install-minenv.xml
13 hb-install-network.xml hb-install-next.xml
14 hb-install-storage.xml hb-intro-choice.xml
15 hb-intro-linux.xml hb-intro-next.xml
16 hb-intro-resources.xml hb-intro-support.xml
17 hb-intro-user_fhs.xml hb-intro-versions.xml
18 hb-tuning-io.xml hb-tuning-network.xml
19 hb-tuning-profiling.xml hb-tuning-rendering.xml
20 hb-tuning-userinput.xml
21 Log:
22 Humpty dumpty sitting in the tree... a framework for a large project?
23
24 Revision Changes Path
25 1.1 xml/htdocs/doc/en/handbook/draft/complete/handbook.xml
26
27 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/handbook.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
28 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/handbook.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
29
30 Index: handbook.xml
31 ===================================================================
32 <?xml version='1.0' encoding='UTF-8'?>
33 <!DOCTYPE book SYSTEM "/dtd/book.dtd">
34
35 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/handbook.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
36
37 <book link="handbook.xml" lang="en">
38 <title>the Complete Gentoo/Linux handbook</title>
39
40 <author title="Author">
41 <mail link="swift@g.o">Sven Vermeulen</mail>
42 </author>
43
44 <abstract>
45 This handbook tries to extend on various subjects regarding Linux and the Gentoo
46 Linux operating system. It is written with the casual user in mind who wants to
47 learn about Linux rather than just follow instructions to the letter. Although I
48 hope this handbook will eventually be complete, it currently lacks so many
49 important subjects that it is far from ready yet to be officially published.
50 </abstract>
51
52 <!-- The content of this document is licensed under the CC-BY-SA license -->
53 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
54 <license/>
55
56 <version>0.0</version>
57 <date>2005-06-09</date>
58
59 <part>
60 <title>Introduction to Linux</title>
61 <abstract>
62 Linux is a great concept. It is a wonderful kernel and has wonderful userland
63 utilities making it a perfect operating system. But for most people, it is quite
64 new and too exciting to just dive in. This part tries to cover Linux: what is
65 it, how does it work, what can you expect etc.
66 </abstract>
67
68 <chapter>
69 <title>What is Linux?</title>
70 <abstract>
71 What is Linux exactly? How does this all fit in "Free Software"? What is a
72 distribution and why would you care? How is Linux developed? What can you expect
73 from it? All that is covered in this chapter.
74 </abstract>
75 <include href="hb-intro-linux.xml"/>
76 </chapter>
77
78 <chapter>
79 <title>Users and the Linux file system</title>
80 <abstract>
81 Linux is built upon the UNIX knowledge and concepts. This means it is fairly
82 robust and uses a very logical approach to files, users and such. But for most
83 people, this logical approach is just what seems the most illogical since they
84 are not used to it. In this chapter, we try to inform those users about how
85 Linux sees a multi-user environment and what the Linux file system is structured
86 like.
87 </abstract>
88 <include href="hb-intro-user_fhs.xml"/>
89 </chapter>
90
91 <chapter>
92 <title>Freedom, support and finances</title>
93 <abstract>
94 The most powerful asset of the Linux operating system is the freedom it gives
95 you. But many folks are afraid that this freedom comes with a price: no support,
96 no company backing up Linux. This is all FUD (Fear, Uncertainty, Doubt) and well
97 explained in this chapter.
98 </abstract>
99 <include href="hb-intro-support.xml"/>
100 </chapter>
101
102 <chapter>
103 <title>Staying up to date</title>
104 <abstract>
105 With the decentralised development model that Linux uses, keeping a system up to
106 date might seem like a huge effort. Indeed, it is, but it is covered by the
107 various distributions (such as Gentoo). However, because of the openness that
108 the development model imposes, users have conflicting feelings about stability
109 and the differences between all version models. This chapter explains what all
110 the differences between version models are.
111 </abstract>
112 <include href="hb-intro-versions.xml"/>
113 </chapter>
114
115 <chapter>
116 <title>Making a choice</title>
117 <abstract>
118 Now that most non-technical stuff is covered, it is time for you to make
119 choices. Will you use Linux? What distribution? What graphical environment? What
120 mail client? In this chapter we discuss the various differences between
121 major distributions and explain that, once you have picked a distribution, all
122 other choices are reversible.
123 </abstract>
124 <include href="hb-intro-choice.xml"/>
125 </chapter>
126
127 <chapter>
128 <title>Finding information</title>
129 <abstract>
130 You have a lot of resources at your disposal, but you need to know where to look
131 for them. In this chapter we provide you a quick overview on the available
132 resources, how to use them for your queries and what you can do to contribute to
133 them.
134 </abstract>
135 <include href="hb-intro-resources.xml"/>
136 </chapter>
137
138 <chapter>
139 <title>So far so good</title>
140 <abstract>
141 Now that the introduction to Linux has ended, we will talk about the next few
142 parts and the syntax we use throughout this document.
143 </abstract>
144 <include href="hb-intro-next.xml"/>
145 </chapter>
146 </part>
147
148 <part>
149 <title>Installing Gentoo</title>
150 <abstract>
151 So you decided to install Gentoo. That's great, so how to continue? Installing
152 Gentoo is a breeze, but not a soft one. You need to have a fair knowledge of the
153 Linux environment if you want to get it right from the first time. In this part,
154 we discuss how to install Gentoo using the available Gentoo media.
155 </abstract>
156
157 <chapter>
158 <title>Versions, media and installation concerns</title>
159 <abstract>
160 Gentoo provides installation media, with specific versions, for specific
161 architectures, for specific installation methods. This chapter informs you how
162 to pick the right media for your system.
163 </abstract>
164 <include href="hb-install-media.xml"/>
165 </chapter>
166
167 <chapter>
168 <title>Starting from a minimal environment</title>
169 <abstract>
170 The start of every Gentoo installation process begins with a minimal Linux
171 environment, allowing you to extract a basic Gentoo environment on your disk.
172 Regardless of what minimal environment you are in, you need to know a few basic
173 things about the system. This chapter covers the use of important tools.
174 </abstract>
175 <include href="hb-install-minenv.xml"/>
176 </chapter>
177
178 <chapter>
179 <title>Preparing the network</title>
180 <abstract>
181 When you are known to the minimal environment, it is time to get the network up
182 and running. We will inform you how a network is set up, what TCP/IP is and how
183 to deal with networking on Linux, including wireless networks.
184 </abstract>
185 <include href="hb-install-network.xml"/>
186 </chapter>
187
188 <chapter>
189 <title>Putting the minimal environment in place</title>
190 <abstract>
191 In this chapter we prepare your disk(s) to store the Gentoo Linux environment.
192 We will cover a few additional storage concepts (LVM2, RAID) but the real use of
193 these technologies is postponed for later. Next, we store a minimal Gentoo
194 environment on your disks.
195 </abstract>
196 <include href="hb-install-storage.xml"/>
197 </chapter>
198
199 <chapter>
200 <title>Building the system</title>
201 <abstract>
202 Once the minimal environment was available, we took the dive and chrooted in it.
203 Now, we'll set up the basic configuration directives, build the Gentoo
204 system until it is bootstrapped and has the core system packages available.
205 </abstract>
206 <include href="hb-install-building.xml"/>
207 </chapter>
208
209 <chapter>
210 <title>Building the Linux kernel</title>
211 <abstract>
212 The core of any Linux Operating System is the kernel. Configuring a kernel might
213 seem like a difficult task, but once you get to know how it works, it hardly is
214 a challenge anymore. In this chapter we will discuss how to configure and build
215 your kernel, either automatically using genkernel, or manually with the kernel
216 configuration dialog.
217 </abstract>
218 <include href="hb-install-kernel.xml"/>
219 </chapter>
220
221 <chapter>
222 <title>Configuring the boot process</title>
223 <abstract>
224 The next step is to configure the boot process. The boot process covers the boot
225 loader tool, which loads the Linux kernel in memory, and the init process which
226 governs all the applications and processes that should start on a Linux system.
227 </abstract>
228 <include href="hb-install-bootprocess.xml"/>
229 </chapter>
230
231
232 <chapter>
233 <title>Configuring the system</title>
234 <abstract>
235 Most of the system's configuration is stored inside /etc. In this almost final
236 chapter we describe what you should configure prior to rebooting (such as the
237 file system table, networking stuff, user accounts, ...). It is important to
238 read this entire chapter completely.
239 </abstract>
240 <include href="hb-install-configure.xml"/>
241 </chapter>
242
243 <chapter>
244 <title>Finishing off</title>
245 <abstract>
246 Now that everything is (hopefully) configured correctly, we reboot in the Gentoo
247 Linux Operating System to discover that we have a nice running minimal
248 environment. Now, where to go from here? You obviously can't work immediately
249 since nothing is installed yet...
250 </abstract>
251 <include href="hb-install-next.xml"/>
252 </chapter>
253 </part>
254
255 <part>
256 <title>Gentoo Linux for the desktop user</title>
257 <abstract>
258 Most Gentoo users have a Gentoo-powered desktop system, yet are often unaware of
259 the massive tools and helpful features that Linux offers to increase their
260 desktop experience. In this part you'll find pointers to various tips and
261 tricks, but also best practices for desktop users.
262 </abstract>
263
264 <chapter>
265 <title>Graphical Linux</title>
266 <abstract>
267 Linux is not an operating system where command-line utilities must be used. Once
268 the system is installed, any user should be able to use it without any knowledge
269 of command-line utilities. Indeed, this is perfectly possible, but requires some
270 configuration. This chapter covers the setup of a graphical desktop.
271 </abstract>
272 <include href="hb-desktop-graphical.xml"/>
273 </chapter>
274
275 <chapter>
276 <title>Plug and play</title>
277 <abstract>
278 Your laptop detects an open wireless network and authenticates itself
279 immediately. You plug in your USB key which gets mounted immediately so you can
280 download the latest Gentoo release on it. While you are at it, your calendar
281 synchronises with your friends while your laptop tries to consume as little
282 power as possible because it is working on batteries. No, this is no utopia...
283 </abstract>
284 <include href="hb-desktop-plugnplay.xml"/>
285 </chapter>
286
287 <chapter>
288 <title>Software collaboration</title>
289 <abstract>
290 Open standards allow for easy integration of different software tools. However,
291 the race for the best open standard hasn't been won, so various tools only work
292 with one standard while other tools use a different one. This chapter gives a
293 quick overview of the various collaboration-related standards and the
294 applications (or libraries which they use) that make use of them.
295 </abstract>
296 <include href="hb-desktop-collaboration.xml"/>
297 </chapter>
298
299 </part>
300
301 <part>
302 <title>Gentoo Linux for enterprise environments</title>
303 <abstract>
304 Enterprises require more than just a stable Operating System. Depending on their
305 requirements, a system should be high-available, have a high throughput, connect
306 with legacy systems, have a low maintenance cost, requires zero manual
307 configuration steps, etc. This part will attempt to discuss various interesting
308 topics that might help you get more out of Gentoo Linux.
309 </abstract>
310
311 <chapter>
312 <title>Software RAID</title>
313 <abstract>
314 If you need a very low-cost system but still want redundancy, using software
315 RAID is a minimal requirement. In this chapter we will describe how to use
316 software RAID within Gentoo Linux.
317 </abstract>
318 <include href="hb-enterprise-swraid.xml"/>
319 </chapter>
320
321 <chapter>
322 <title>Logical Volume Management</title>
323 <abstract>
324 With LVM, storage concerns can be tackled easily since your files are located on
325 top of a specific layer, able to hide the complexity of storage from the file
326 system. Learn how to store files across various file systems, moving data
327 without the need to put the system in a frozen state, take live backups without
328 having your data touched while you are busy, ... and all that using LVM2.
329 </abstract>
330 <include href="hb-enterprise-lvm.xml"/>
331 </chapter>
332
333 <chapter>
334 <title>Backup systems</title>
335 <abstract>
336 You don't want to lose your files, but eventually you will. Having backups at
337 hand is a prerequisite for good system householding, but is also often
338 overlooked or deemed less important. This chapter will cover a few basics on
339 backups and proposes a few solutions that will help you keep your data safe.
340 </abstract>
341 <include href="hb-enterprise-backups.xml"/>
342 </chapter>
343
344 <chapter>
345 <title>Print server</title>
346 <abstract>
347 High quality printing is a requirement for every office. Linux makes a fine
348 print server, capable of interacting with all possible applications and
349 operating systems.
350 </abstract>
351 <include href="hb-enterprise-printing.xml"/>
352 </chapter>
353
354 </part>
355
356 <part>
357 <title>System Administration</title>
358 <abstract>
359 Once your system is set up, your next concern is to decide how to administer the
360 system. Some people have made system administration their full-time job. We'll
361 try to keep the administration to a minimum without losing flexibility.
362 </abstract>
363
364 <chapter>
365 <title>Software management</title>
366 <abstract>
367 Gentoo's Portage is a powerful software management tool with lots of features.
368 Not only can you easily install and remove software, rebuild tools when they are
369 affected by changes or update your system entirely, it also supports prebuilt
370 packages and different repositories.
371 </abstract>
372 <include href="hb-admin-portage.xml"/>
373 </chapter>
374
375 <chapter>
376 <title>Log files</title>
377 <abstract>
378 Not many resources talk about log files. Most documents assume that log files
379 are mentioned by the application documentation, yet many applications just
380 inform you what information you can find in the logs and that isn't sufficient
381 for a good log management policy. Log rotation, event filtering, summary
382 creation, ... are all aspects that this chapter covers.
383 </abstract>
384 <include href="hb-admin-logs.xml"/>
385 </chapter>
386
387 <chapter>
388 <title>Centralised system management</title>
389 <abstract>
390 When you administer more than one system, it might be beneficial to set up and
391 maintain your environment from a single location. You can use SSH to log on to
392 other systems, but more advanced tools exist that offer a wide variety of
393 features.
394 </abstract>
395 <include href="hb-admin-centralised.xml"/>
396 </chapter>
397
398 </part>
399
400 <part>
401 <title>Performance tuning</title>
402 <abstract>
403 No system is equal, so many systems have one or more performance bottlenecks due
404 to general settings that aren't as optimal for their systems as they are for
405 others. You can increase your systems performance on many areas as long as you
406 understand why they are bottlenecks and what sacrifices you need to make to
407 increase the throughput.
408 </abstract>
409
410 <chapter>
411 <title>Input/output performance</title>
412 <abstract>
413 Storage performance. If there is one device in your system that has the highest
414 importance but one of the lowest access times, it is your storage. Disks aren't
415 fast, network storage isn't much better and memory disks are generally too small
416 to contain your entire system. So what can you do to increase the IO
417 performance?
418 </abstract>
419 <include href="hb-tuning-io.xml"/>
420 </chapter>
421
422 <chapter>
423 <title>Network performance</title>
424 <abstract>
425 If you are on a 28.8 kbps network, you'll always find that it is slow. Many
426 people still think their network is slow while they're using a 1 Gbps network.
427 By identifying the bottlenecks in your network and designing a good topology,
428 you can increase the performance of your network to a good level.
429 </abstract>
430 <include href="hb-tuning-network.xml"/>
431 </chapter>
432
433 <chapter>
434 <title>Rendering performance</title>
435 <abstract>
436 A gamers wet dream: screens and graphical cards that render 3D images so
437 detailed and so fast that it seems that you're looking through a window. Of
438 course, this isn't achievable yet, but it is possible to tune the 3D performance
439 of your card. Of course, we'll take a look at 2D rendering as well.
440 </abstract>
441 <include href="hb-tuning-rendering.xml"/>
442 </chapter>
443
444 <chapter>
445 <title>Software profiling</title>
446 <abstract>
447 Programmers don't always write the most performant code; perhaps because they
448 rely on the compiler to enhance the machine code or because they want to write
449 clean and maintainable code, setting their priorities elsewhere. Using profiling
450 tools, you can find out where in the software the performance bottlenecks may
451 lie.
452 </abstract>
453 <include href="hb-tuning-profiling.xml"/>
454 </chapter>
455
456 <chapter>
457 <title>User-observed performance</title>
458 <abstract>
459 Lately, developers have come to the conclusion that even the fastest solution
460 can lose against a less performant system - at least if a human being is to
461 observe and judge. Many interesting projects have emerged where design
462 patterns and guidelines are discussed that try to embrace the users thoughts on
463 speed and performance.
464 </abstract>
465 <include href="hb-tuning-userinput.xml"/>
466 </chapter>
467
468 </part>
469
470
471 <part>
472 <title>Appendix: architecture specific information</title>
473 <abstract>
474 Not all aspects of a Gentoo Linux system are similar on all architectures. Some
475 small differences come up during and after the installation. This part will
476 cover all architecture-specific information, nicely divided in separate chapters
477 for each architecture.
478 </abstract>
479
480 <chapter>
481 <title>The x86 Architecture</title>
482 <abstract>
483 The x86 architecture covers all 32-bit Intel and Intel-clones, such as the
484 various AMD processors (the K-series and Athlon/Duron), VIA and Cyrix. The CPU
485 types range from the old (but functional) i386 to the latest Intel Pentium IV
486 and AMD Athlons.
487 </abstract>
488 <include href="hb-app_arch-x86.xml"/>
489 </chapter>
490 </part>
491
492 </book>
493
494
495
496 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-admin-centralised.xml
497
498 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-admin-centralised.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
499 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-admin-centralised.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
500
501 Index: hb-admin-centralised.xml
502 ===================================================================
503 <?xml version='1.0' encoding='UTF-8'?>
504 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
505
506 <!-- The content of this document is licensed under the CC-BY-SA license -->
507 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
508
509 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-admin-centralised.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
510
511 <sections>
512
513 <version>0.0</version>
514 <date>2005-06-19</date>
515
516 <section>
517 <title></title>
518 </section>
519
520 </sections>
521
522
523
524 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-admin-logs.xml
525
526 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-admin-logs.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
527 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-admin-logs.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
528
529 Index: hb-admin-logs.xml
530 ===================================================================
531 <?xml version='1.0' encoding='UTF-8'?>
532 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
533
534 <!-- The content of this document is licensed under the CC-BY-SA license -->
535 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
536
537 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-admin-logs.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
538
539 <sections>
540
541 <version>0.0</version>
542 <date>2005-06-19</date>
543
544 <section>
545 <title></title>
546 </section>
547
548 </sections>
549
550
551
552 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-admin-portage.xml
553
554 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-admin-portage.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
555 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-admin-portage.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
556
557 Index: hb-admin-portage.xml
558 ===================================================================
559 <?xml version='1.0' encoding='UTF-8'?>
560 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
561
562 <!-- The content of this document is licensed under the CC-BY-SA license -->
563 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
564
565 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-admin-portage.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
566
567 <sections>
568
569 <version>0.0</version>
570 <date>2005-06-19</date>
571
572 <section>
573 <title>Software maintenance</title>
574 </section>
575
576 <section>
577 <title>Using prebuilt software packages</title>
578 </section>
579
580 <section>
581 <title>Understanding ebuilds</title>
582 </section>
583
584 </sections>
585
586
587
588 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-app_arch-x86.xml
589
590 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-app_arch-x86.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
591 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-app_arch-x86.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
592
593 Index: hb-app_arch-x86.xml
594 ===================================================================
595 <?xml version='1.0' encoding='UTF-8'?>
596 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
597
598 <!-- The content of this document is licensed under the CC-BY-SA license -->
599 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
600
601 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-app_arch-x86.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
602
603 <sections>
604
605 <version>0.0</version>
606 <date>2005-06-19</date>
607
608 <section>
609 <title>Booting CDs</title>
610 <subsection>
611 <title>BIOS</title>
612 <body>
613
614 <p>
615 The BIOS (Basic Input/Output System) is the first system started when you power
616 on your computer. It first performs a POST (Power-On Self Test) to verify if
617 your hardware is still in good shape. When the POST gives the BIOS an okay, the
618 BIOS will load the boot loader from the boot device configured in its memory.
619 This boot loader then fires up the operating system and the entire system dance
620 starts...
621 </p>
622
623 <p>
624 To boot from a CD, you need to configure your BIOS so that the CD-ROM device is
625 the first boot device. Reboot your system and fire up the BIOS. You will be
626 informed about what key to press right after (or during) the POST to get in the
627 BIOS setup. Most BIOSses use <c>Esc</c>, <c>F1</c>, <c>F2</c>, <c>DEL</c> or
628 <c>F8</c>.
629 </p>
630
631 <p>
632 Once you are inside the BIOS setup, search for the setting where you can change
633 the boot device sequence. Some BIOSses place it beneith <e>CMOS Setup</e>, but
634 there isn't a standard - each BIOS has its differences. Change the order so that
635 the CD-ROM device is mentioned first before the first hard disk (HD-0). Such a
636 setting will allow you to boot from a bootable CD if there is one in the CD-ROM
637 drive, or boot from the hard drive otherwise.
638 </p>
639
640 </body>
641 </subsection>
642 </section>
643
644 <section>
645 <title>Partitioning the disks</title>
646 <subsection>
647 <title>Partition layout</title>
648 <body>
649
650 <p>
651 Each disk on an x86 system should have at most <e>four</e> primary partitions.
652 This is a remnesence of the old days where four partitions were found enough.
653 Each primary partition has its identification inside the first sector on the
654 disk (the <e>boot record</e>). When you want more than four partitions, you
655 should configure one of the primary partitions to contain all the non-primary
656 partitions. This large primary partition is called the <e>extended</e> partition
657 and the partitions inside it are called <e>logical</e> partitions.
658 </p>
659
660 <p>
661 The de-facto standard device naming convention tells us that the primary
662 partitions for a disk are numbered as 1 to 4 while the logical ones are 5
663 and higher, regardless of how many primary partitions you use. The naming
664 convention also tells us how the disks themselves are called.
665 </p>
666
667 <ul>
668 <li>
669 IDE device names start with <path>hd</path> followed by an alphabetic
670 character which resembles the location of the disk in the system: the
671 primary master<sup>1</sup> is <path>hda</path>, the primary slave
672 <path>hdb</path>, the secundary master <path>hdc</path>, etc.
673 </li>
674 <li>
675 SCSI device names (and most Serial ATA ones as well) start with
676 <path>sd</path> followed by an alphabetic character which resembles the
677 position of the disk in the disk chain: the first one is <path>sda</path>,
678 the second one <path>sdb</path>, etc.
679 </li>
680 </ul>
681
682 <p>
683 Device files are located inside <path>/dev</path>, so if you want to identify
684 the primary master IDE drive you would state <path>/dev/hda</path>.
685 </p>
686
687 <note>
688 <sup>1</sup> IDE drives are controlled by an IDE controller. Each controller can
689 govern two IDE devices at most: a master and a slave. The master drive has
690 higher priority when both drives are attempting to send or receive data. A
691 standard x86 system has two controllers, a primary one (<path>ide0</path>) and a
692 secundary one (<path>ide1</path>).
693 </note>
694
695 </body>
696 </subsection>
697 <subsection>
698 <title>Partitioning using cfdisk</title>
699 <body>
700
701 <p>
702 The <c>cfdisk</c> tool allows you to quickly partition your disks and is a lot
703 easier to use than <c>fdisk</c>. When you have fired up <c>cfdisk</c> (which
704 selects <path>/dev/hda</path> by default - you can use a different disk by
705 giving the device file name as an argument) you will get an overview of the
706 available partitions, each one listed with the device name, partition type, file
707 system type and size.
708 </p>
709
710 <p>
711 When you take a look at the interface, you'll notice that it is quite
712 self-explanatory:
713 </p>
714
715 <ul>
716 <li>
717 When you select a free space region, you can add new partitions by pressing
718 <c>New</c>. <c>cfdisk</c> will ask you what kind of partition you want
719 (primary or logical) and its size after which the partition is added to the
720 overview pane.
721 </li>
722 <li>
723 When you select a partition entry, you can change the file system type. Just
724 select <c>Type</c> and search for the type you are interested in (probably
725 82 - Linux swap / Solaris, or 83 - Linux).
726 </li>
727 <li>
728 Since some BIOSses require the partition that stores the boot loader for the
729 operating system to be marked as bootable, there is also an option of doing
730 so.
731 </li>
732 </ul>
733
734 <p>
735 You should create your partitions, not forgetting to mark at least one of them
736 for swap usage. Even though swap files are supported by Linux, it is not
737 recommended since they have some impact on the system's performance.
738 </p>
739
740 <p>
741 A frequently asked question is how to partition the disk. There is no satisfying
742 answer to that, and any attempt to obtain one will result in a cataclystic
743 series of flamewars. So we stick with one advise: it doesn't hurt to use two
744 partitions: one for the entire Linux system and one for the swap space. You'll
745 get to know your own preferences when you are more experienced with Linux.
746 </p>
747
748 </body>
749 </subsection>
750 </section>
751
752 <section>
753 <title>The make.conf file</title>
754 <subsection>
755 <title>Introduction</title>
756 <body>
757
758 <p>
759 The information given in this section is not meant to be exhaustive. We provide
760 you with the settings Gentoo supports. If you use different settings we don't
761 say that Gentoo doesn't support it, but it is possible. We list the settings by
762 subarchitecture - a set of machine instructions supported by a range of x86
763 systems. All subarchitectures are derived from older, <e>compatible</e>
764 subarchitectures. If at any time you are uncertain which one to pick, you should
765 use the oldest subarchitecture. Picking one that is more recent than the one
766 your system supports will result in segmentation faults or internal errors.
767 </p>
768
769 <p>
770 The <c>CXXFLAGS</c> setting is never shown, you should set it to the
771 <c>CFLAGS</c> one:
772 </p>
773
774 <pre caption="Setting the CXXFLAGS variable">
775 CFLAGS="..."
776 <i>CXXFLAGS="${CFLAGS}"</i>
777 </pre>
778
779 </body>
780 </subsection>
781 <subsection>
782 <title>The generic x86 subarchitecture</title>
783 <body>
784
785 <p>
786 The next settings work on every x86 system (apart from the i286 and lower):
787 </p>
788
789 <pre caption="Generic x86 settings">
790 CHOST="i386-pc-linux-gnu"
791 CFLAGS="-march=i386 -O2 -pipe"
792 </pre>
793
794 </body>
795 </subsection>
796 <subsection>
797 <title>The ix86 series</title>
798 <body>
799
800 <p>
801 The ix86 series (i486, i586, i686) all refer to Intel- and Intel compatible
802 CPUs. The i586 instruction set is also known as the <e>Pentium</e> and the i686
803 one as the <e>Pentium Pro</e>, the predecessor of the <e>Pentium MMX</e>.
804 </p>
805
806 <pre caption="ix86 Series">
807 <comment>(Substitute i486 with i586 or i686 accordingly)</comment>
808 CHOST="i486-pc-linux-gnu"
809 CFLAGS="-march=i486 -O2 -pipe"
810 </pre>
811
812 <p>
813 You can also substitute the <c>i486</c> value <e>inside the CFLAGS</e> setting
814 (and <e>not</e> the CHOST one) with <c>pentium</c> or
815 <c>pentium-pro</c> for such systems.
816 </p>
817
818 </body>
819 </subsection>
820 <subsection>
821 <title>Intel CPUs</title>
822 <body>
823
824 <p>
825 Additional support is available for various Intel CPUs, such as
826 <c>pentium-mmx</c>, <c>pentium2</c> (including Celeron), <c>pentium3</c> and
827 <c>pentium4</c>:
828 </p>
829
830 <pre caption="Intel CPU series">
831 <comment>(Substitute the pentium-mmx value in CFLAGS with the value you need)</comment>
832 CHOST="i686-pc-linux-gnu"
833 CFLAGS="-march=pentium-mmx -O2 -pipe"
834 </pre>
835
836 </body>
837 </subsection>
838 <subsection>
839 <title>AMD CPUs</title>
840 <body>
841
842 <p>
843 AMD CPU users can use any of the following settings for <c>-march</c>:
844 <c>athlon-xp</c>, <c>athlon-mp</c>, <c>athlon-tbird</c>, <c>athlon</c>,
845 <c>k6</c>, <c>k6-2</c> or <c>k6-3</c>.
846 </p>
847
848 <pre caption="AMD CPU series">
849 <comment>(Substitute the athlon-xp value in CFLAGS with the value you need)</comment>
850 CHOST="i686-pc-linux-gnu"
851 CFLAGS="-march=athlon-xp -O2 -pipe"
852 </pre>
853
854 </body>
855 </subsection>
856 </section>
857
858 <section>
859 <title>Bootloaders</title>
860 <subsection>
861 <title>GRUB</title>
862 <body>
863
864 <p>
865 The <c>grub</c> bootloader is a powerful application, able to boot various
866 operating systems, including Microsoft Windows. One of its most powerful
867 features is its ability to understand various file systems, which makes it
868 possible for <c>grub</c> to aide you in your boot setup, especially when there
869 are some issues you need to fix.
870 </p>
871
872 <p>
873 For instance, you can browse a file system looking for files, reading different
874 <c>grub</c> configurations, using various Linux kernels, locate files on the
875 system (and view their contents), but also hide partitions, boot from a network
876 using BOOTP (a simple file transfer protocol, very often used to send boot
877 images to various systems), change the partition table, ...
878 </p>
879
880 </body>
881 </subsection>
882 <subsection>
883 <title>GRUB: configuration</title>
884 <body>
885
886 <p>
887 To use <c>grub</c>, you need to install it first (from within the chrooted
888 environment):
889 </p>
890
891 <pre caption="Installing GRUB">
892 # <i>emerge grub</i>
893 </pre>
894
895 <p>
896 Next, edit (or create) the <path>/boot/grub/grub.conf</path> file.
897 We'll first give you a simple example of a <path>grub.conf</path> file:
898 </p>
899
900 <pre caption="Example grub.conf file">
901 default 0
902 timeout 5
903
904 title=Gentoo Linux
905 root (hd0,5)
906 kernel /kernel-2.6.14-gentoo-r2 root=/dev/sda8
907 </pre>
908
909 <p>
910 <c>grub</c> always starts counting from zero. For instance, to boot the first
911 entry by default, we state <c>default&nbsp;0</c>. The other line,
912 <c>timeout&nbsp;5</c>, tells GRUB to wait 5 seconds before it actually boots the
913 entry pointed to by the <c>default</c> setting.
914 </p>
915
916 <p>
917 This is of course not the most difficult part of GRUB. The entries themselves
918 however are. In the given example, there are three commands given to GRUB:
919 </p>
920
921 <ol>
922 <li>
923 The <c>title</c> entry tells GRUB what to display to the user when he is
924 asked to make his selection.
925 </li>
926 <li>
927 The <c>root</c> entry informs GRUB where his own files are stored. This is
928 <brite>not</brite> the Linux root file system (it can be, but this isn't
929 always true). If you have <path>/boot</path> (where GRUB stores its files)
930 as a separate partition, you point this directive to that partition.
931 </li>
932 <li>
933 The <c>kernel</c> entry is used by GRUB to know what Linux kernel to boot
934 (relative to the file system where <c>root</c> points to) and what boot
935 parameters to add.
936 </li>
937 </ol>
938
939 <p>
940 Many users often make a mistake when they configure the <c>root</c> parameter.
941 That's mostly because the syntax used by GRUB to identify partitions is
942 different from what they're used to work with. Its syntax is quite simple:
943 </p>
944
945 <pre caption="GRUBs partition syntax">
946 (hd<i>harddisk-#</i>,<i>partition-#</i>)
947 </pre>
948
949 <p>
950 The <c>harddisk-#</c> is the hard disk number, starting from 0. If you only have
951 one hard disk, it is <c>0</c>, regardless of where the disk is at. If you have
952 several disks, start counting from the one which your system checks first. For
953 instance, if you only have IDE disks, your system will probably start with the
954 primary master, then primary slave, then secundary master, ...
955 </p>
956
957 <p>
958 The <c>partition-#</c> is the partition number, starting from 0, and uses the
959 same logic used with the partitioning you did earlier. The first four partitions
960 (0-3) are the primary partitions. The logical partitions start from the number
961 4. So, in the above example, the GRUB files are stored on the second logical
962 partition on the first disk (also known as <path>/dev/sda6</path>).
963 </p>
964
965 <p>
966 You'll find more information about GRUB (including nicely commented
967 configuration examples) in the GRUB info pages:
968 </p>
969
970 <pre caption="Retrieving GRUB information">
971 # <i>info grub</i>
972 </pre>
973
974 </body>
975 </subsection>
976 <subsection>
977 <title>GRUB: installation</title>
978 <body>
979
980 <p>
981 You still have to install <c>grub</c> in the MBR (Master Boot Record) though, so
982 that your BIOS is able to find and start it. Otherwise, your system will inform
983 you that no operating system is found...
984 </p>
985
986 <p>
987 The recommended method uses <c>grub-install</c> to setup GRUB. Yet this tool
988 relies on some information not present on your system yet: the
989 <path>/etc/mtab</path> file, a cache file which contains information about the
990 mounted file systems. Create one that makes <c>grub-install</c> happy, you only
991 need to enter the file system for your root partition (<path>/</path>) and, if
992 you have one, for your boot partition (<path>/boot</path>):
993 </p>
994
995 <pre caption="Example /etc/mtab file">
996 /dev/sda8 / ext3 rw,noatime 0 0
997 /dev/sda6 /boot ext2 rw,noatime 0 0
998 </pre>
999
1000 <p>
1001 Then, run <c>grub-install</c> with the device that resembles your first
1002 disk that the system will boot. For instance, if that first disk is
1003 <path>/dev/sda</path>:
1004 </p>
1005
1006 <pre caption="Installing GRUB in the MBR using grub-install">
1007 <comment>(grub-install also supports the (hd0) notation)</comment>
1008 # <i>grub-install /dev/sda</i>
1009 </pre>
1010
1011 <p>
1012 The <c>grub-install</c> tool will then search through <path>/etc/mtab</path> to
1013 find out where the GRUB files are stored and install a minimal boot loader in
1014 the MBR whose only job is to find and start the rest of the GRUB files.
1015 </p>
1016
1017 <p>
1018 If you come to the conclusion that the installation has failed, you can try to
1019 perform the <c>grub-install</c> steps manually. Run <c>grub</c>, then enter the
1020 configuration commands <c>root</c> (where are the GRUB files located - same as
1021 the one in the configuration file <path>grub.conf</path>), <c>setup</c> (where
1022 to install GRUB - <path>(hd0)</path> is most likely) and <c>quit</c> (to exit
1023 the GRUB installation):
1024 </p>
1025
1026 <pre caption="Performing the GRUB installation steps manually">
1027 <comment>(The following is just an example)</comment>
1028 # <i>grub</i>
1029 grub&gt; <i>root (hd0,5)</i>
1030 grub&gt; <i>setup (hd0)</i>
1031 grub&gt; <i>quit</i>
1032 </pre>
1033
1034 </body>
1035 </subsection>
1036 </section>
1037
1038 </sections>
1039
1040
1041
1042 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-collaboration.xml
1043
1044 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-collaboration.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
1045 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-collaboration.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
1046
1047 Index: hb-desktop-collaboration.xml
1048 ===================================================================
1049 <?xml version='1.0' encoding='UTF-8'?>
1050 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
1051
1052 <!-- The content of this document is licensed under the CC-BY-SA license -->
1053 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
1054
1055 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-collaboration.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
1056
1057 <sections>
1058
1059 <version>0.0</version>
1060 <date>2005-06-19</date>
1061
1062 <section>
1063 <title>Interoperable data formats</title>
1064 <subsection>
1065 <title>Chosing the file type wisely</title>
1066 <body>
1067
1068 </body>
1069 </subsection>
1070 <subsection>
1071 <title>Converting files</title>
1072 <body>
1073
1074 </body>
1075 </subsection>
1076 <subsection>
1077 <title>Using legacy formats</title>
1078 <body>
1079
1080 </body>
1081 </subsection>
1082 </section>
1083
1084 <section>
1085 <title>Drag and drop</title>
1086 <subsection>
1087 <title>The underlying widgets</title>
1088 <body>
1089
1090 </body>
1091 </subsection>
1092 <subsection>
1093 <title>Trolltech Qt</title>
1094 <body>
1095
1096 </body>
1097 </subsection>
1098 <subsection>
1099 <title>GNOME GTK</title>
1100 <body>
1101
1102 </body>
1103 </subsection>
1104 </section>
1105
1106 <section>
1107 <title>Team collaboration</title>
1108 <subsection>
1109 <title>Concurrent access and versioning</title>
1110 <body>
1111
1112 </body>
1113 </subsection>
1114 <subsection>
1115 <title>Wrappers</title>
1116 <body>
1117
1118 <!-- Wrapper to open files (rcs, cvs, svn, ...) -->
1119
1120 </body>
1121 </subsection>
1122 <subsection>
1123 <title>Plug-ins</title>
1124 <body>
1125
1126 </body>
1127 </subsection>
1128 </section>
1129
1130 <section>
1131 <title>Message busses</title>
1132 <subsection>
1133 <title>Theory</title>
1134 <body>
1135
1136 </body>
1137 </subsection>
1138 <subsection>
1139 <title>DBus</title>
1140 <body>
1141
1142 </body>
1143 </subsection>
1144 </section>
1145
1146 </sections>
1147
1148
1149
1150 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-graphical.xml
1151
1152 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-graphical.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
1153 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-graphical.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
1154
1155 Index: hb-desktop-graphical.xml
1156 ===================================================================
1157 <?xml version='1.0' encoding='UTF-8'?>
1158 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
1159
1160 <!-- The content of this document is licensed under the CC-BY-SA license -->
1161 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
1162
1163 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-graphical.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
1164
1165 <sections>
1166
1167 <version>0.0</version>
1168 <date>2005-06-19</date>
1169
1170 <section>
1171 <title>The X server</title>
1172 <subsection>
1173 <title>Introduction</title>
1174 <body>
1175
1176 </body>
1177 </subsection>
1178 <subsection>
1179 <title>Configuration</title>
1180 <body>
1181
1182 </body>
1183 </subsection>
1184 </section>
1185
1186 <section>
1187 <title>Desktop Environments</title>
1188 <subsection>
1189 <title>KDE</title>
1190 <body>
1191
1192 </body>
1193 </subsection>
1194 <subsection>
1195 <title>GNOME</title>
1196 <body>
1197
1198 </body>
1199 </subsection>
1200 <subsection>
1201 <title>XFCE</title>
1202 <body>
1203
1204 </body>
1205 </subsection>
1206 </section>
1207
1208 <section>
1209 <title>Window Managers</title>
1210 <subsection>
1211 <title>WMs are no desktop environments</title>
1212 <body>
1213
1214 </body>
1215 </subsection>
1216 <subsection>
1217 <title>Fluxbox</title>
1218 <body>
1219
1220 </body>
1221 </subsection>
1222 </section>
1223
1224 </sections>
1225
1226
1227
1228 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-plugnplay.xml
1229
1230 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-plugnplay.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
1231 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-plugnplay.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
1232
1233 Index: hb-desktop-plugnplay.xml
1234 ===================================================================
1235 <?xml version='1.0' encoding='UTF-8'?>
1236 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
1237
1238 <!-- The content of this document is licensed under the CC-BY-SA license -->
1239 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
1240
1241 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-desktop-plugnplay.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
1242
1243 <sections>
1244
1245 <version>0.0</version>
1246 <date>2005-06-19</date>
1247
1248 <section>
1249 <title>Identify your needs</title>
1250 <subsection>
1251 <title>Nothing is automated at first</title>
1252 <body>
1253 </body>
1254 </subsection>
1255 </section>
1256
1257 <section>
1258 <title>Removable media</title>
1259 </section>
1260
1261 <section>
1262 <title>Network detection</title>
1263 </section>
1264
1265 <section>
1266 <title>Data synchronisation</title>
1267 </section>
1268
1269 <section>
1270 <title>Power consumption</title>
1271 </section>
1272
1273 </sections>
1274
1275
1276
1277 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-backups.xml
1278
1279 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-backups.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
1280 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-backups.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
1281
1282 Index: hb-enterprise-backups.xml
1283 ===================================================================
1284 <?xml version='1.0' encoding='UTF-8'?>
1285 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
1286
1287 <!-- The content of this document is licensed under the CC-BY-SA license -->
1288 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
1289
1290 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-backups.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
1291
1292 <sections>
1293
1294 <version>0.0</version>
1295 <date>2005-06-19</date>
1296
1297 <section>
1298 <title>Purpose of your files</title>
1299 <subsection>
1300 <title>Know what to backup</title>
1301 <body>
1302
1303 </body>
1304 </subsection>
1305 <subsection>
1306 <title>User versus system files</title>
1307 <body>
1308
1309 </body>
1310 </subsection>
1311 <subsection>
1312 <title>Immediately recoverable or not?</title>
1313 <body>
1314
1315 </body>
1316 </subsection>
1317 </section>
1318
1319 <section>
1320 <title>Backing up on a per-file basis</title>
1321 </section>
1322
1323 <section>
1324 <title>Backing up file systems</title>
1325 </section>
1326
1327 <section>
1328 <title>Backing up an entire system</title>
1329 </section>
1330
1331 <section>
1332 <title>Backup strategies</title>
1333 <subsection>
1334 <title>Full backups</title>
1335 <body>
1336
1337 </body>
1338 </subsection>
1339 <subsection>
1340 <title>Incremental backups</title>
1341 <body>
1342
1343 </body>
1344 </subsection>
1345 <subsection>
1346 <title>Individual backups</title>
1347 <body>
1348
1349 </body>
1350 </subsection>
1351 <subsection>
1352 <title>Backup locations</title>
1353 <body>
1354
1355 </body>
1356 </subsection>
1357 <subsection>
1358 <title>Verify the backups</title>
1359 <body>
1360
1361 </body>
1362 </subsection>
1363 </section>
1364
1365 </sections>
1366
1367
1368
1369 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-lvm.xml
1370
1371 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-lvm.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
1372 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-lvm.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
1373
1374 Index: hb-enterprise-lvm.xml
1375 ===================================================================
1376 <?xml version='1.0' encoding='UTF-8'?>
1377 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
1378
1379 <!-- The content of this document is licensed under the CC-BY-SA license -->
1380 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
1381
1382 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-lvm.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
1383
1384 <sections>
1385
1386 <version>0.0</version>
1387 <date>2005-06-19</date>
1388
1389 <section>
1390 <title>Logical Volume Management</title>
1391 <subsection>
1392 <title>Introduction</title>
1393 <body>
1394
1395 </body>
1396 </subsection>
1397 <subsection>
1398 <title>Physical, group and logical</title>
1399 <body>
1400
1401 </body>
1402 </subsection>
1403 <subsection>
1404 <title>Configuring the kernel</title>
1405 <body>
1406
1407 </body>
1408 </subsection>
1409 <subsection>
1410 <title>Installing the tools</title>
1411 <body>
1412
1413 </body>
1414 </subsection>
1415 </section>
1416
1417 <section>
1418 <title>Configuring LVM</title>
1419 <subsection>
1420 <title>Creating the meta devices</title>
1421 <body>
1422
1423 </body>
1424 </subsection>
1425 <subsection>
1426 <title>Choosing a file system</title>
1427 <body>
1428
1429 <!-- Think file system resizing -->
1430
1431 </body>
1432 </subsection>
1433 <subsection>
1434 <title>Automatical activation during system boot</title>
1435 <body>
1436
1437 </body>
1438 </subsection>
1439 </section>
1440
1441 <section>
1442 <title>Maintaining LVM</title>
1443 <subsection>
1444 <title>Adding or removing physical extends</title>
1445 <body>
1446
1447 </body>
1448 </subsection>
1449 <subsection>
1450 <title>Creating a snapshot</title>
1451 <body>
1452
1453 </body>
1454 </subsection>
1455 </section>
1456
1457 </sections>
1458
1459
1460
1461 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-printing.xml
1462
1463 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-printing.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
1464 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-printing.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
1465
1466 Index: hb-enterprise-printing.xml
1467 ===================================================================
1468 <?xml version='1.0' encoding='UTF-8'?>
1469 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
1470
1471 <!-- The content of this document is licensed under the CC-BY-SA license -->
1472 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
1473
1474 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-printing.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
1475
1476 <sections>
1477
1478 <version>0.0</version>
1479 <date>2005-06-19</date>
1480
1481 <section>
1482 <title></title>
1483 </section>
1484
1485 </sections>
1486
1487
1488
1489 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-swraid.xml
1490
1491 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-swraid.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
1492 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-swraid.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
1493
1494 Index: hb-enterprise-swraid.xml
1495 ===================================================================
1496 <?xml version='1.0' encoding='UTF-8'?>
1497 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
1498
1499 <!-- The content of this document is licensed under the CC-BY-SA license -->
1500 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
1501
1502 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-enterprise-swraid.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
1503
1504 <sections>
1505
1506 <version>0.0</version>
1507 <date>2005-06-19</date>
1508
1509 <section>
1510 <title>Software RAID</title>
1511 <subsection>
1512 <title>Introduction</title>
1513 <body>
1514
1515 <!-- Supports partitions as well, we'll only use disks since
1516 partition crash = disk crash -->
1517
1518 </body>
1519 </subsection>
1520 <subsection>
1521 <title>Advantages</title>
1522 <body>
1523
1524 </body>
1525 </subsection>
1526 <subsection>
1527 <title>Disadvantages</title>
1528 <body>
1529
1530 </body>
1531 </subsection>
1532 </section>
1533
1534 <section>
1535 <title>Setting up software RAID</title>
1536 <subsection>
1537 <title>Installing the tools</title>
1538 <body>
1539
1540 </body>
1541 </subsection>
1542 <subsection>
1543 <title>Using software RAID</title>
1544 <body>
1545
1546 </body>
1547 </subsection>
1548 <subsection>
1549 <title>Software RAID for root file system</title>
1550 <body>
1551
1552 </body>
1553 </subsection>
1554 </section>
1555
1556 <section>
1557 <title>Managing software RAID</title>
1558 <subsection>
1559 <title>Adding and removing disks</title>
1560 <body>
1561
1562 </body>
1563 </subsection>
1564 </section>
1565
1566 <section>
1567 <title>Further resources</title>
1568 <subsection>
1569 <title>Online</title>
1570 <body>
1571
1572 </body>
1573 </subsection>
1574 </section>
1575
1576 </sections>
1577
1578
1579
1580 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-install-bootprocess.xml
1581
1582 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-install-bootprocess.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
1583 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-install-bootprocess.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
1584
1585 Index: hb-install-bootprocess.xml
1586 ===================================================================
1587 <?xml version='1.0' encoding='UTF-8'?>
1588 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
1589
1590 <!-- The content of this document is licensed under the CC-BY-SA license -->
1591 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
1592
1593 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-install-bootprocess.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
1594
1595 <sections>
1596
1597 <version>0.0</version>
1598 <date>2005-06-19</date>
1599
1600 <section>
1601 <title>Loading the kernel in memory</title>
1602 <subsection>
1603 <title>Introduction to bootloaders</title>
1604 <body>
1605
1606 <p>
1607 When your system is powered on, your system will first perform some sanity
1608 checks against its own components. When all tests succeed, the system loads the
1609 kernel image which you have built previously in memory. This action is performed
1610 by the boot loader.
1611 </p>
1612
1613 <p>
1614 Since loading files in memory is very architecture specific, you should consult
1615 the architecture specific information for your architecture now to find out
1616 how to install and configure a boot loader.
1617 </p>
1618
1619 </body>
1620 </subsection>
1621 </section>
1622
1623 <section>
1624 <title>Configuring the kernel</title>
1625 <subsection>
1626 <title>Kernel parameters</title>
1627 <body>
1628
1629 <p>
1630 Inside the configuration file of your boot loader you can enter specific
1631 instructions for the Linux kernel. These parameters allow you to tweak and
1632 change the kernel behaviour at boot-time.
1633 </p>
1634
1635 </body>
1636 </subsection>
1637 <subsection>
1638 <title>Important parameters</title>
1639 <body>
1640
1641 <p>
1642 <b>Root File System Location</b>
1643 </p>
1644
1645 <p>
1646 The first parameter we'll discuss is the <c>root</c> parameter. This tells the
1647 Linux kernel where the root file system of the Linux system is located. You
1648 really should provide this parameter as the Linux kernel will otherwise not know
1649 where the Linux installation is.
1650 </p>
1651
1652 <pre caption="Example root parameter">
1653 <comment>(The root file system in this example is at /dev/sda3)</comment>
1654 root=/dev/sda3
1655 </pre>
1656
1657 <p>
1658 <e>However</e>, you can only specify the root file system <e>if</e> you are
1659 certain that the kernel image (not through separate kernel modules, but really
1660 inside the kernel image) has support for:
1661 </p>
1662
1663 <ul>
1664 <li>
1665 the device controller that governs your disk (for instance the SATA
1666 controller if you use SATA disks), and
1667 </li>
1668 <li>
1669 the file system that the partition uses (for instance ext3 support)
1670 </li>
1671 </ul>
1672
1673 <p>
1674 If this isn't the case, then you have probably made an initialized RAM disk
1675 which allows the Linux kernel to load the appropriate kernel modules in memory
1676 before it continues with the Gentoo boot-up. Users of the <c>genkernel</c> tool
1677 have indeed made such an <e>initrd</e> file, perhaps without their knowledge.
1678 </p>
1679
1680 <p>
1681 To use such an initrd file, you need to specify <path>/dev/ram0</path> as the
1682 root file system and the real root file system with the <c>real_root=</c>
1683 parameter<sup>1</sup>. It is also adviseable to inform the kernel about the
1684 amount of memory you want to reserve for the RAM disk.
1685 </p>
1686
1687 <p>
1688 You also need to tell the boot loader where the initrd file is. This is boot
1689 loader specific so we don't mention that here - consult the information for your
1690 boot loader for more information.
1691 </p>
1692
1693 <p>
1694 For instance:
1695 </p>
1696
1697 <pre caption="Example kernel parameters for initrd users">
1698 root=/dev/ram0 ramdisk=8192 real_root=/dev/sda3
1699 </pre>
1700
1701 <p>
1702 <b>The Initial Program</b>
1703 </p>
1704
1705 <p>
1706 When the kernel has finished its own procedures and mounted the root file
1707 system, it hands over the control to the system to the <c>init</c> process. This
1708 process then takes care of the rest of the boot sequence. By default, the kernel
1709 looks for this tool at <path>/sbin/init</path>. You can however define another
1710 initial program if you like using the <c>init=</c> parameter.
1711 </p>
1712
1713 <p>
1714 For instance, to get a Unix shell immediately, use <c>init=/bin/sh</c>. This
1715 is often used to allow you to remount your partitions and make fixes that
1716 prevent your system from booting regularly (or when you forgot your root
1717 password).
1718 </p>
1719
1720 <p>
1721 <b>Single User Mode</b>
1722 </p>
1723
1724 <p>
1725 To inform the system to boot up in the single user mode (which is the
1726 <c>single</c> run level we've talked about in the previous chapter), simply add
1727 an <c>S</c>.
1728 </p>
1729
1730 <note>
1731 <sup>1</sup> The <c>real_root</c> parameter is not really a kernel parameter but
1732 is intended for a script inside the initrd file. However, the parameter is used
1733 just like kernel parameters which is why we list it here.
1734 </note>
1735
1736 </body>
1737 </subsection>
1738 <subsection>
1739 <title>Hardware related parameters</title>
1740 <body>
1741
1742 <p>
1743 <b>ACPI Support</b>
1744 </p>
1745
1746 <p>
1747 Not all hardware devices are conform the ACPI specification, even though they
1748 think they are. This sometimes results in unstable behaviour of the device, or
1749 of other devices influenced by the device.
1750 </p>
1751
1752 <p>
1753 You can specifically disable ACPI support using the <c>acpi=off</c> parameter.
1754 </p>
1755
1756 <p>
1757 <b>Disabling IDE Controllers</b>
1758 </p>
1759
1760 <p>
1761 When one of your IDE disks is broken, your system might not be able to boot even
1762 though the system itself is stored on a disk controlled by a different IDE
1763 controller. If this is the case, you can explicitly disable a controller using
1764 <c>ide0=noprobe</c>.
1765 </p>
1766
1767 <p>
1768 <b>Disabling Multi-Processing</b>
1769 </p>
1770
1771 <p>
1772 If you have an SMP system (Synchronous MultiProcessor), you can tell the Linux
1773 kernel to only use one CPU by setting <c>nosmp</c>.
1774 </p>
1775
1776 <p>
1777 <b>Disabling USB Support</b>
1778 </p>
1779
1780 <p>
1781 To disable USB support, use <c>nousb</c>
1782 </p>
1783
1784 </body>
1785 </subsection>
1786 <subsection>
1787 <title>More parameters</title>
1788 <body>
1789
1790 <p>
1791 More extensive information about available kernel parameters can be found at
1792 <path>/usr/src/linux/Documentation/kernel-parameters.txt</path>.
1793 </p>
1794
1795 </body>
1796 </subsection>
1797 </section>
1798
1799 <section>
1800 <title>The boot sequence</title>
1801 <subsection>
1802 <title>Init</title>
1803 <body>
1804
1805 <p>
1806 When the Linux kernel has almost finished with its boot process (where it
1807 initializes the memory structures, loads drivers, etc.) it mounts the root file
1808 system (given by the <c>root</c> parameter) and then starts the <c>init</c>
1809 process (which is default at <c>/sbin/init</c> but can be configured).
1810 </p>
1811
1812 <p>
1813 The <c>init</c> process is responsible for the rest of the system boot sequence.
1814 It looks for the <path>/etc/inittab</path> file which contains the instructions
1815 how to further boot the system. At first, it fires up the command that is
1816 assigned to the <e>boot</e> and <e>bootwait</e> entries which are, in Gentoo's
1817 case:
1818 </p>
1819
1820 <pre caption="Bootwait entry">
1821 rc::bootwait:/sbin/rc boot
1822 </pre>
1823
1824 <p>
1825 Where <c>init</c> is rather distribution-independant (and quite simple in its
1826 use too), <c>/sbin/rc</c> is quite distribution-specific, especially the
1827 <c>rc</c> that Gentoo offers. Its task is to make sure that the scripts in a run
1828 level are started well or take appropriate action if they aren't.
1829 </p>
1830
1831 <p>
1832 Once the boot runlevel has succeeded, the <c>init</c> process goes on by
1833 executing the command for the specified runlevel. By default, the runlevel
1834 entered at the <e>initdefault</e> part of <path>/etc/inittab</path> is started,
1835 but you can ask <c>init</c> to start a different run level by specifying its
1836 corresponding number as a boot parameter (entirely similar to how you add kernel
1837 parameters).
1838 </p>
1839
1840 <pre caption="Default run level and corresponding command">
1841 id:3:initdefault:
1842 <comment>(...)</comment>
1843 l3:3:wait:/sbin/rc default
1844 </pre>
1845
1846 <p>
1847 When this run level has also finished starting its required scripts, the
1848 <c>init</c> process starts the terminal processes at the various ttys (the
1849 Alt+F# locations where you get a logon prompt):
1850 </p>
1851
1852 <pre caption="Example terminal processes for Alt-F1 till F6">
1853 c1:12345:respawn:/sbin/agetty 38400 tty1 linux
1854 c2:2345:respawn:/sbin/agetty 38400 tty2 linux
1855 c3:2345:respawn:/sbin/agetty 38400 tty3 linux
1856 c4:2345:respawn:/sbin/agetty 38400 tty4 linux
1857 c5:2345:respawn:/sbin/agetty 38400 tty5 linux
1858 c6:2345:respawn:/sbin/agetty 38400 tty6 linux
1859 </pre>
1860
1861 </body>
1862 </subsection>
1863 <subsection>
1864 <title>Managing runlevels</title>
1865 <body>
1866
1867 <p>
1868 You can manage the runlevels using the <c>rc-update</c> tool. Its syntax is
1869 quite simple:
1870 </p>
1871
1872 <pre caption="rc-update syntax">
1873 # <i>rc-update &lt;add | del&gt; &lt;initscript&gt; &lt;runlevel&gt;</i>
1874 </pre>
1875
1876 <p>
1877 All the init scripts that you can use are located inside
1878 <path>/etc/init.d</path>. You will most likely use at least the runlevels
1879 <e>boot</e> and <e>default</e>.
1880 </p>
1881
1882 <ul>
1883 <li>
1884 The <e>boot</e> runlevel makes sure that the most important init scripts,
1885 which are required for every succesful system boot, are started properly.
1886 Any init script that is added to the boot runlevel may not require any
1887 service offered by the init scripts in the default runlevel (as it is
1888 started later). It may depend on other scripts in the boot runlevel though,
1889 Gentoo's <c>rc</c> is smart enough to tackle dependencies.
1890 </li>
1891 <li>
1892 The <e>default</e> runlevel contains all init scripts which should be
1893 started during normal system operation. This is the runlevel where you will
1894 probably add most of the init scripts.
1895 </li>
1896 </ul>
1897
1898 </body>
1899 </subsection>
1900 </section>
1901
1902
1903 </sections>
1904
1905
1906
1907 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-install-building.xml
1908
1909 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-install-building.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
1910 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-install-building.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
1911
1912 Index: hb-install-building.xml
1913 ===================================================================
1914 <?xml version='1.0' encoding='UTF-8'?>
1915 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
1916
1917 <!-- The content of this document is licensed under the CC-BY-SA license -->
1918 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
1919
1920 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-install-building.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
1921
1922 <sections>
1923
1924 <version>0.0</version>
1925 <date>2005-06-19</date>
1926
1927 <section>
1928 <title>Configuring the Gentoo environment</title>
1929 <subsection>
1930 <title>The build configuration file</title>
1931 <body>
1932
1933 <p>
1934 As Gentoo is primarily a <e>build the software</e>-distribution it requires a
1935 bit more configuration directives than most other distributions. The first and
1936 foremost configuration file is <path>/etc/make.conf</path> (remember, we are now
1937 inside the chrooted environment - outside it would be
1938 <path>/mnt/gentoo/etc/make.conf</path>). Open up the file with <c>nano</c>, an
1939 easy to use editor. We add the <c>-w</c> option to turn off word wrapping since
1940 this might harm the configuration itself.
1941 </p>
1942
1943 <pre caption="Editing /etc/make.conf">
1944 # <i>nano -w /etc/make.conf</i>
1945 </pre>
1946
1947 <p>
1948 Inside this configuration file you can define various configuration directives
1949 that affect Portage' behavior or the software building process. We will only
1950 discuss a few here - others exist as well, but are not that important at the
1951 beginning of the installation procedure.
1952 </p>
1953
1954 <p>
1955 Each directive is a variable with some specific content. Variables are often
1956 used throughout Linux (and this is even more so within Gentoo). To set a certain
1957 variable, you define its name followed by an equal sign and then the content of
1958 the variable.
1959 </p>
1960
1961 <pre caption="Example variable definition">
1962 MYVARIABLE="value of the variable"
1963 </pre>
1964
1965 </body>
1966 </subsection>
1967 </section>
1968
1969 <section>
1970 <title>Compiler directives</title>
1971 <subsection>
1972 <title>The compiler flags</title>
1973 <body>
1974
1975 <p>
1976 The first directives that we'll discuss are the compiler flags. A compiler is a
1977 tool that builds executable code from source code and one of the benefits of
1978 using Gentoo is that you can define how the compiler should behave. More
1979 precisely, you can tell the compiler to use certain optimizations on your
1980 system. Although a compiler can take a lot more options than just optimization
1981 options, most Gentoo users only use the optimization options.
1982 </p>
1983
1984 <p>
1985 The GNU Compiler Collection, the compiler toolchain used by most architectures,
1986 supports more than hundred optimization flags. Some of them are interesting,
1987 others hardly used. Some of them are harmless, others quite intrusive. We must
1988 warn you that <brite>using anything beyond the Gentoo-recommended optimization
1989 flags is not supported</brite>.
1990 </p>
1991
1992 </body>
1993 </subsection>
1994 <subsection>
1995 <title>CFLAGS and CXXFLAGS</title>
1996 <body>
1997
1998 <p>
1999 The <c>CFLAGS</c> and <c>CXXFLAGS</c> directives are immediately passed to the
2000 C and C++ compilers respectively as command line arguments. They are often used
2001 to inform the compiler about the destination architecture and optimization
2002 settings.
2003 </p>
2004
2005 <p>
2006 Quite often, the <c>CXXFLAGS</c> is told to contain the same setting as the
2007 <c>CFLAGS</c> variable:
2008 </p>
2009
2010 <pre caption="Setting CXXFLAGS">
2011 CXXFLAGS="${CFLAGS}"
2012 </pre>
2013
2014 <p>
2015 The GNU Compiler Collection has lots of possible directives. The first directive
2016 that most users will want to set is the destination CPU type. This is
2017 configurable with the <c>-march=&lt;CPU-TYPE&gt;</c> setting. For most people,
2018 finding out what CPU-TYPE to pick is quite a challenge and indeed, it is not
2019 possible to document what you should use. What we can tell you is that it is
2020 safe to pick an older type while a more recent type can cause malformed software
2021 on your system.
2022 </p>
2023
2024 <p>
2025 To obtain a list of valid <c>-march=</c> settings, please consult the GCC Manual
2026 or the GCC Info pages:
2027 </p>
2028
2029 <pre caption="Consulting the gcc info pages">
2030 # <i>info gcc</i>
2031 Select <i>GCC Command Options</i>,
2032 <i>Submodel Options</i>,
2033 and pick your architecture.
2034 </pre>
2035
2036 <p>
2037 A second often used compiler setting is the optimization setting. By adding a
2038 <c>-O</c> followed by a number you can ask the compiler to optimize the code in
2039 various degrees. Gentoo recommends <c>-O2</c> (that is "O" for "Optimization",
2040 not "0" like in "007"). The highest possible value is <c>-O3</c> - if you want
2041 even stronger optimization settings you'll need to add them to the variable.
2042 </p>
2043
2044 <p>
2045 If you don't want to optimize the code for speed but for size, use <c>-Os</c>.
2046 </p>
2047
2048 <p>
2049 The third option we add is <c>-pipe</c> which tells GCC that it can use process
2050 pipes instead of temporary files for communication between the various stages of
2051 compilation. This considerably improves compiling performance on systems with
2052 sufficient memory.
2053 </p>
2054
2055 </body>
2056 </subsection>
2057 <subsection>
2058 <title>CHOST</title>
2059 <body>
2060
2061 <p>
2062 The <c>CHOST</c> variable is an identifier for the target host for which the
2063 compiler should build software. It is vital that this variable identifies your
2064 system, but it is even more vital that you <brite>do not edit this variable if
2065 you are not performing a bootstrap installation</brite>. If you alter this
2066 variable, any toolchain rebuild will cause the toolchain to be in an
2067 intermediate state, possibly producing malfunctioning libraries.
2068 </p>
2069
2070 </body>
2071 </subsection>
2072 <subsection>
2073 <title>So your settings would be ...</title>
2074 <body>
2075
2076 <p>
2077 At the end of this handbook you will find architecture-specific chapters. For
2078 each architecture, precise (and valid) examples for various systems are listed
2079 so that you can pick one of those if the above explanation isn't sufficient.
2080 </p>
2081
2082 </body>
2083 </subsection>
2084 </section>
2085
2086 <section>
2087 <title>Gentoo directives</title>
2088 <subsection>
2089 <title>USE</title>
2090 <body>
2091
2092 <p>
2093 The <c>USE</c> variable is probably the most important setting of all inside
2094 <path>/etc/make.conf</path>. With this variable you define what purposes your
2095 system serves. Each flag set in the <c>USE</c> variable enables or disables
2096 specific support in one or more packages.
2097 </p>
2098
2099 <p>
2100 The idea is pretty simple: if your system has a DVD reader, you'll probably set
2101 <c>dvd</c> as one of the <c>USE</c> flags to add support for DVD readers. When
2102 you want to play DVDs as well, <c>dvdread</c> should be added. Writing DVDs will
2103 require the <c>dvdr</c> setting.
2104 Similar, if your system will host an IBM DB2 server (or any application you'll
2105 use connects to such a server) you'll probably want <c>db2</c> as a <c>USE</c>
2106 flag.
2107 </p>
2108
2109 <p>
2110 A list of all possible USE flags can be found in
2111 <path>/usr/portage/profiles/use.desc</path>. This is a plain text file which is
2112 also reproduced online at the <uri
2113 link="http://www.gentoo.org/dyn/use-index.xml">Gentoo web site</uri>. But
2114 starting to dig through this list is cumbersome as many USE flags will have no
2115 clear description (which is <e>not</e> because we want to remain vague on the
2116 subject, but because the USE flag is either used by different applications for
2117 slightly different purposes, or because the topic itself is too technical).
2118 </p>
2119
2120 <p>
2121 To resolve this issue, Gentoo provides you with a default <c>USE</c> setting. To
2122 find out what the default setting is, run <c>emerge&nbsp;--info</c> and filter
2123 out the line that starts with <c>USE</c>:
2124 </p>
2125
2126 <pre caption="Checking the default USE setting">
2127 # <i>emerge --info | grep -E ^USE</i>
2128 </pre>
2129
2130 <p>
2131 Any setting you place in <path>/etc/make.conf</path> is <e>added</e> to the USE
2132 flag - you don't substitute the default setting but embrace and extend it.
2133 Therefore you need to place a hyphen in front of the USE flags you do not want.
2134 For instance, the <c>arts</c> USE flag (which enables support for the aRts sound
2135 daemon) might be set by default. To deselect it, use <c>-arts</c>. As an example
2136 we'll select support for the Enlightened Sound Daemon and disable support for
2137 aRts:
2138 </p>
2139
2140 <pre caption="Example USE flag">
2141 USE="-arts esd"
2142 </pre>
2143
2144 <p>
2145 There are also USE flags that are specific to a single package. Such USE flags
2146 are called <e>local USE flags</e>. Although you can set those USE flags in
2147 <path>/etc/make.conf</path>, it is wiser to enable or disable those USE flags on
2148 a per-package basis. We'll refrain from explaining how to do this here - you
2149 don't need to set USE flags during the installation, Portage is intelligent
2150 enough to handle USE flag changes after an installation.
2151 </p>
2152
2153 <p>
2154 Before we go on with the next setting there are four remarks we want to make
2155 regarding USE flags:
2156 </p>
2157
2158 <ol>
2159 <li>
2160 Changing the USE flag in this stage of the installation might result in
2161 Portage downloading tools you don't want to install at this point yet.
2162 A frequently occurring issue is where a USE flag combination triggers the
2163 installation of <c>kde-base/kdebase</c> which is a quite huge build. You
2164 should consider altering the USE flags at any point later and ask Portage
2165 to just rebuild those tools that are affected by the USE flag change.
2166 </li>
2167 <li>
2168 USE flags allow Gentoo to make decisions regarding <e>optional</e> support
2169 and features. If any feature or support is not optional but mandatory or
2170 inherent to the package, the respective USE flags are ignored. A good
2171 example here is the <c>qt</c> USE flag. If a package can (but doesn't have
2172 to) support the Qt Graphical Widget library, it uses the <c>qt</c> USE flag
2173 to decide whether or not to build in support for Qt. If the package requires
2174 Qt to function, it'll install Qt regardless of USE flag.
2175 </li>
2176 <li>
2177 Some packages override the default USE flag settings (not the one you
2178 specify in <path>/etc/make.conf</path> though) if you install them. For
2179 instance, the <c>tetex</c> USE flag is not set by default, but when you
2180 install the TeX distribution, Gentoo will automatically enable the
2181 <c>tetex</c> USE flag so that other programs can now be built with
2182 TeX support if they can handle it.
2183 </li>
2184 <li>
2185 If you want to hard-set a custom USE flag listing regardless of the default
2186 USE flags, you can start with deactivating all USE flags and then list those
2187 you want to enable. This can be accomplished using
2188 <c>USE="-*&nbsp;flag1&nbsp;flag2&nbsp;..."</c>.
2189 </li>
2190 </ol>
2191
2192 </body>
2193 </subsection>
2194 <subsection>
2195 <title>The Gentoo Portage repository</title>
2196 <body>
2197
2198 <p>
2199 Any Gentoo package information is stored inside an ebuild. That is a small text
2200 file which contains some metadata about the package (like the description, home
2201 page, source code location, ...) and instructions for Gentoo on how to
2202 succesfully build and deploy the package on your system.
2203 </p>
2204
2205 <p>
2206 The complete set of all supported ebuilds is stored inside the Gentoo Portage
2207 Tree, also known as the Gentoo Portage Repository. You will find a snapshot of
2208 this repository at <path>/usr/portage</path> where all the ebuilds are
2209 categorised by function and name. Gentoo Portage, Gentoo's software management
2210 tool, builds decisions such as "What packages should be updated" or "What
2211 software is available for installation" based on the content of the repository
2212 snapshot <e>on your disk</e>.
2213 </p>
2214
2215 <p>
2216 It is therefore quite important that you regularly update the snapshot on your
2217 disk with the latest Gentoo Portage Repository content released by the Gentoo
2218 Developers. By default, Gentoo Portage chooses a random mirror<sup>1</sup> but
2219 it is more efficient to use a mirror that is either close to you or fastest for
2220 your environment. The <c>SYNC</c> variable is where you put the location of the
2221 Gentoo Portage Repository where you want to take a snapshot of.
2222 </p>
2223
2224 <p>
2225 Because you can't know what mirrors are available, Gentoo provides an easy to
2226 remember naming scheme for the mirrors. The default setting picks a random
2227 mirror. The country-based still picks a random mirror, but only of a pool of
2228 mirrors inside that country. The single mirror syntax always picks the mirror
2229 you define.
2230 </p>
2231
2232 <pre caption="Mirror syntax">
2233 <comment>(Default)</comment> rsync://rsync.gentoo.org/gentoo-portage
2234 <comment>(Country-based)</comment> rsync://rsync.${COUNTRYCODE}.gentoo.org/gentoo-portage
2235 <comment>(Single mirror)</comment> rsync://rsync#.${COUNTRYCODE}.gentoo.org/gentoo-portage
2236 </pre>
2237
2238 <p>
2239 An example setting for <path>/etc/make.conf</path> could be:
2240 </p>
2241
2242 <pre caption="Setting the SYNC variable">
2243 SYNC="rsync://rsync3.us.gentoo.org/gentoo-portage"
2244 </pre>
2245
2246 <note>
2247 <sup>1</sup> A mirror is a location on a server on the Internet where the exact
2248 content of another server location is replicated. The idea behind mirrors is to
2249 decrease the stress put on a single server by allowing clients to retrieve the
2250 data from various sources.
2251 </note>
2252
2253 </body>
2254 </subsection>
2255 <subsection>
2256 <title>Gentoo source code location</title>
2257 <body>
2258
2259 <p>
2260 Most Gentoo ebuilds inform Gentoo about the original location of the source
2261 code. This could be a mirror set (like with the many sourceforge hosted
2262 projects) or a fixed URL. Some ebuilds can't point to this location for whatever
2263 possible reason. If this is the case, the source code is pushed on the Gentoo
2264 mirrors in a specific location called the <path>distfiles/</path> directory.
2265 </p>
2266
2267 <p>
2268 The <c>GENTOO_MIRRORS</c> variable declares what mirrors Gentoo Portage should
2269 check to find the required source code. Each mirror declared in this variable
2270 should point to the parent location of the mirror (i.e. not the
2271 <path>distfiles/</path> directory but one level higher). A list of possible
2272 mirrors can be found <uri
2273 link="http://www.gentoo.org/main/en/mirrors.xml">online</uri>.
2274 </p>
2275
2276 </body>
2277 </subsection>
2278 </section>
2279
2280 <section>
2281 <title>Bootstrapping</title>
2282 <subsection>
2283 <title>What is bootstrapping?</title>
2284 <body>
2285
2286 <p>
2287 A bootstrap procedure prepares a system with the c library and compiler
2288 specifically for a certain environment. This procedure is very sensitive for
2289 problems which is why you shouldn't touch the bootstrap script (called
2290 <path>bootstrap.sh</path> inside <path>/usr/portage/scripts</path>).
2291 </p>
2292
2293 <p>
2294 And because you shouldn't really touch it, you also don't really need to perform
2295 a bootstrap yourself: if you are using a stage-2 or stage-3 tarball, the
2296 bootstrapping has already been done. If you do want to rebuild your system (for
2297 instance, because you altered your compiler directives), you should follow the
2298 method explained next.
2299 </p>
2300
2301 </body>
2302 </subsection>
2303 <subsection>
2304 <title>Bootstrapping your system from stage 3</title>
2305 <body>
2306
2307 <p>
2308 If you are performing a bootstrap installation where you don't alter the
2309 <path>bootstrap.sh</path> script, the procedure should perform the following
2310 steps:
2311 </p>
2312
2313 <ol>
2314 <li>Use your current toolchain to rebuild itself using the new settings</li>
2315 <li>
2316 Use the new toolchain to rebuild itself again. Unlike the previous time,
2317 your toolchain is now built, not only with the new settings, but also by a
2318 toolchain built with those settings.
2319 </li>
2320 <li>
2321 Use the new toolchain to build the rest of the packages using the new
2322 settings.
2323 </li>
2324 <li>
2325 Rebuild the packages again to make sure that all packages are built against
2326 rebuilt libraries. If you don't have any circular dependencies, this won't
2327 be necessary, but as you will probably not know if this is the
2328 case<sup>1</sup> it is better to perform this step anyway.
2329 </li>
2330 </ol>
2331
2332 <p>
2333 These steps can all be performed using the following commands:
2334 </p>
2335
2336 <pre caption="Bootstrapping the system">
2337 # <i>emerge -e system</i>
2338 # <i>emerge -e world</i>
2339 # <i>emerge -e world</i>
2340 </pre>
2341
2342 <p>
2343 To be honest, the last <c>emerge -e world</c> will rebuild some tools that don't
2344 need to be rebuilt: the <e>world</e> collection (all packages that should be
2345 installed on your system) contains the <e>system</e> collection (all packages
2346 that are vital for your system) as well, so that the system collection is built
2347 three times where it only needs to be built twice.
2348 </p>
2349
2350 <p>
2351 Since in this stage of the installation you don't have any differences between
2352 the system collection and the world one, performing <c>emerge -e system</c>
2353 twice instead of the system-world-world combination is sufficient.
2354 </p>
2355
2356 <note>
2357 <sup>1</sup> Although Portage can detect circular dependencies, it only detects
2358 those on metadata level. That means that it depends on the content of the
2359 ebuild, written by the package maintainer, and not on the <e>real</e>
2360 dependencies that the package has (the maintainer can always miss one or two
2361 that are almost always met) so Portage doesn't know that it needs to rebuild the
2362 dependency before the package.
2363 </note>
2364
2365 </body>
2366 </subsection>
2367 <subsection>
2368 <title>Bootstrapping your system from stage 1</title>
2369 <body>
2370
2371 <p>
2372 When you need to bootstrap your system different from the procedure set forth in
2373 the <path>bootstrap.sh</path> script, you can use any tarball you like,
2374 including a stage1. You can base your bootstrap procedure from the one
2375 documented in the <path>bootstrap.sh</path> script but you don't have to.
2376 However, make sure that the toolchain you build it built with Portage (using
2377 <c>emerge</c>), otherwise the Portage database will be inconsistent.
2378 </p>
2379
2380 <pre caption="Bootstrapping the toolchain">
2381 # <i>/usr/portage/scripts/bootstrap.sh</i>
2382 </pre>
2383
2384 </body>
2385 </subsection>
2386 </section>
2387
2388 <section>
2389 <title>Progressing from a bootstrapped system</title>
2390 <subsection>
2391 <title>Installing core system packages</title>
2392 <body>
2393
2394 <p>
2395 A bootstrapped system doesn't offer much beyond some libraries and compiler. You
2396 will need additional core system packages before you can actually work on your
2397 system. Gentoo Portage obtains a list of core system packages from your profile
2398 and installs them on your system after building them with the bootstrapped
2399 toolchain.
2400 </p>
2401
2402 <p>
2403 The list of core system packages is available as the <e>system</e> keyword for
2404 <c>emerge</c>. <c>emerge</c> is Gentoo's command-line interface to Gentoo
2405 Portage, Gentoo's software management system.
2406 </p>
2407
2408 <p>
2409 If you have bootstrapped your system previously, or you are installing Gentoo
2410 through a stage-2 tarball, or you are installing Gentoo through a stage-3
2411 tarball but want to rebuild your packages with the configuration directives
2412 you've set in your <path>make.conf</path> previously, run the following command
2413 to build all core system packages for your profile:
2414 </p>
2415
2416 <pre caption="Building core system packages">
2417 # <i>emerge -e system</i>
2418 </pre>
2419
2420 <p>
2421 Remember, most users will not need to perform this step: the stage3 tarball
2422 provided by Gentoo already contains a prepared system.
2423 </p>
2424
2425 </body>
2426 </subsection>
2427 </section>
2428
2429 </sections>
2430
2431
2432
2433 1.1 xml/htdocs/doc/en/handbook/draft/complete/hb-install-configure.xml
2434
2435 file : http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-install-configure.xml?rev=1.1&content-type=text/x-cvsweb-markup&cvsroot=gentoo
2436 plain: http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/doc/en/handbook/draft/complete/hb-install-configure.xml?rev=1.1&content-type=text/plain&cvsroot=gentoo
2437
2438 Index: hb-install-configure.xml
2439 ===================================================================
2440 <?xml version='1.0' encoding='UTF-8'?>
2441 <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
2442
2443 <!-- The content of this document is licensed under the CC-BY-SA license -->
2444 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
2445
2446 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/draft/complete/hb-install-configure.xml,v 1.1 2006/01/06 20:05:07 swift Exp $ -->
2447
2448 <sections>
2449
2450 <version>0.0</version>
2451 <date>2005-06-19</date>
2452
2453 <section>
2454 <title>File system information</title>
2455 <subsection>
2456 <title>The fstab file</title>
2457 <body>
2458
2459 <p>
2460 <path>fstab</path> stands for <e>file system table</e>; when you would take a
2461 look at a fully configured <path>/etc/fstab</path> file you can easily see why:
2462 </p>
2463
2464 <pre caption="Example fstab file">
2465 /dev/sda8 / ext3 defaults,noatime 0 0
2466 /dev/sda5 none swap sw 0 0
2467 /dev/sda6 /boot ext2 noauto,noatime 0 0
2468 /dev/sda7 /home ext3 defaults,noatime,noexec 0 0
2469 /dev/cdroms/cdrom0 /media/cdrom auto defaults,user,noauto 0 0
2470
2471 none /proc proc defaults 0 0
2472 none /dev/shm tmpfs defaults 0 0
2473 </pre>
2474
2475 <p>
2476 Each line declares what storage location (first field) is mounted at a certain
2477 location (second field) using a file system (third field) and mounted with
2478 one or more options (fourth field). The last two numbers are not that actively
2479 used anymore so you can safely set them to <path>0 0</path>.
2480 </p>
2481
2482 <p>
2483 It is vital that your <path>/etc/fstab</path> file is a reflection of your
2484 environment. By default, Gentoo offers an almost empty <path>/etc/fstab</path>
2485 file with illegal storage locations (such as <path>/dev/BOOT</path> and
2486 <path>/dev/ROOT</path>). Any user should change the file, otherwise the system
2487 might not boot.
2488 </p>
2489
2490 <p>
2491 The <path>fstab</path> file is used during the system boot procedure to find out
2492 what file systems should be mounted, but also during regular system operation.
2493 For instance, when you insert a CD in your CD-ROM player, Linux ought to know
2494 where it should mount the CD so that you (and perhaps other users) can reach it.
2495 </p>
2496
2497 </body>
2498 </subsection>
2499 <subsection>
2500 <title>Mount options</title>
2501 <body>
2502
2503 <p>
2504 The mount options which you can place in the fourth field in
2505 <path>/etc/fstab</path> are well documented in the <c>mount</c> manual page:
2506 </p>
2507
2508 <pre caption="Reading the mount manual page">
2509 # <i>man mount</i>
2510 </pre>
2511
2512 <p>
2513 Each set of mount options is documented in a section pertaining to the file
2514 system used (for instance, ext2, reiserfs, ...). Some of them are available to
2515 all file systems, such as <c>defaults</c>, <c>auto</c> or <c>noauto</c>
2516 (automatically mount file system or not).
2517 </p>
2518
2519 </body>
2520 </subsection>
2521 <subsection>
2522 <title>Special file systems</title>
2523 <body>
2524
2525 <p>
2526 Some lines in the <path>/etc/fstab</path> file have a <e>none</e> as the storage
2527