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/2.5 --> |
6 |
|
7 |
<!-- $Id: /var/cvsroot/gentoo/xml/htdocs/doc/nl/handbook/hb-install-x86-kernel.xml,v 1.10 2006/06/12 10:49:03 neysx Exp $ --> |
8 |
|
9 |
<!-- Sync: 1.61 --> |
10 |
|
11 |
<sections> |
12 |
|
13 |
<version>3.12</version> |
14 |
<date>2006-05-28</date> |
15 |
|
16 |
<section> |
17 |
<title>Tijdzone</title> |
18 |
<body> |
19 |
|
20 |
<p> |
21 |
Allereerst moet de tijdzone ingesteld, zodat het systeem weet waar het zich |
22 |
bevindt. Zoek naar uw tijdzone in <path>/usr/share/zoneinfo</path> en kopieer |
23 |
deze dan naar <path>/etc/localtime</path>. Gebruik niet de |
24 |
<path>/usr/share/zoneinfo/Etc/GMT*</path> tijdzones, aangezien de gebruikte |
25 |
namen niet overeen komen met de zones. <path>GMT-8</path> is bijvoorbeeld |
26 |
GMT+8. |
27 |
</p> |
28 |
|
29 |
<pre caption="De tijdzone instellen"> |
30 |
# <i>ls /usr/share/zoneinfo</i> |
31 |
<comment>(Stel dat u Amsterdam wilt gebruiken)</comment> |
32 |
# <i>cp /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime</i> |
33 |
</pre> |
34 |
|
35 |
</body> |
36 |
</section> |
37 |
<section> |
38 |
<title>De sources installeren</title> |
39 |
<subsection> |
40 |
<title>Een kernel kiezen</title> |
41 |
<body> |
42 |
|
43 |
<p> |
44 |
De basis waarop alle distributies gebouwd zijn, is de Linux kernel. Het is de |
45 |
laag tussen gebruikers programma's en uw hardware. Gentoo biedt zijn |
46 |
gebruikers verschillende kernelsources. Een volledige lijst met beschrijvingen |
47 |
is beschikbaar in de <uri link="/doc/en/gentoo-kernel.xml">Gentoo Kernel |
48 |
Guide</uri> (Engelstalig). |
49 |
</p> |
50 |
|
51 |
<p> |
52 |
Voor x86-gebaseerde systemen hebben we, onder andere, <c>vanilla-sources</c> |
53 |
(de standaard kernelsource die wordt ontwikkeld door de linux-kernel |
54 |
onwikkelaars), <c>gentoo-sources</c> (de kernelsource gepatched met |
55 |
snelheidsverhogende extra's), ... |
56 |
</p> |
57 |
|
58 |
<p> |
59 |
Kies uw kernelsource en installeer die met behulp van <c>emerge</c>. De |
60 |
<c>USE="-doc"</c> optie is nodig om te voorkomen dat xorg-x11 of een ander |
61 |
afhankelijk pakket wordt geïnstalleerd. <c>USE="symlink"</c> is niet nodig |
62 |
voor een nieuwe kernel, maar zorgt er wel voor dat <path>/usr/src/linux</path> |
63 |
op de juiste manier wordt gelinkt. |
64 |
</p> |
65 |
|
66 |
<pre caption="Een kernel source installeren"> |
67 |
# <i>USE="-doc symlink" emerge gentoo-sources</i> |
68 |
</pre> |
69 |
|
70 |
<p> |
71 |
Wanneer u een kijkje neemt in <path>/usr/src</path> zou u een symlink genaamd |
72 |
<path>linux</path> moeten zien. Deze verwijst naar uw kernel source. We zullen |
73 |
aannemen dat de geïnstalleerde kernelsource <c>gentoo-sources-2.6.12-r10</c> is. |
74 |
Uw versie kan echter een andere zijn! |
75 |
</p> |
76 |
|
77 |
<pre caption="De kernel source symlink bekijken"> |
78 |
# <i>ls -l /usr/src/linux</i> |
79 |
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-2.6.12-gentoo-r10 |
80 |
</pre> |
81 |
|
82 |
<p> |
83 |
Nu is het tijd om uw kernel te configureren en te compileren. U kunt |
84 |
<c>genkernel</c> hiervoor gebruiken. Deze zal een algemene kernel aanmaken |
85 |
zoals ook LiveCD gebruikt. We zullen eerst de handmatige manier |
86 |
uitleggen omdat dit de beste manier is om uw systeem te optimaliseren. |
87 |
</p> |
88 |
|
89 |
<p> |
90 |
Als u de kernel handmatig wilt configureren, gaat u verder met <uri |
91 |
link="#manual">Standaard: handmatige configuratie</uri>. Als u <c>genkernel</c> |
92 |
wilt gebruiken, dan kunt u verder lezen in <uri link="#genkernel">Alternatief: |
93 |
genkernel gebruiken</uri>. |
94 |
</p> |
95 |
|
96 |
</body> |
97 |
</subsection> |
98 |
</section> |
99 |
<section id="manual"> |
100 |
<title>Standaard: handmatige configuratie</title> |
101 |
<subsection> |
102 |
<title>Introductie</title> |
103 |
<body> |
104 |
|
105 |
<p> |
106 |
Handmatig een kernel configureren wordt vaak gezien als het moeilijkste dat |
107 |
een Linux gebruiker ooit uit moet voeren. Niets is minder waar -- na een paar |
108 |
kernels configureren herinnert u zich niet eens meer dat het ooit moeilijk was |
109 |
;) |
110 |
</p> |
111 |
|
112 |
<p> |
113 |
Hoewel, een ding <e>is</e> is waar: u moet uw systeem kennen voordat u de |
114 |
kernel handmatig gaat configureren. De meeste informatie kunt u vergaren door |
115 |
pciutils te emergen (<c>emerge pciutils</c>), welke <c>lspci</c> bevat. U kunt |
116 |
nu <c>lspci</c> binnen de gechroote omgeving gebruiken. U kunt zonder problemen |
117 |
alle <e>pcilib</e> waarschuwingen negeren (zoals pcilib: cannot open |
118 |
/sys/bus/pci/devices) die <c>lspci</c> genereert. U kunt ook <c>lspci</c> |
119 |
vanuit een <e>niet-gechroote</e> omgeving draaien. De resultaten zullen gelijk |
120 |
zijn. U kunt verder <c>lsmod</c> draaien om te zien welke kernelmodules de LiveCD |
121 |
gebruikt (het geeft een goede hint wat u aan kunt zetten). |
122 |
</p> |
123 |
|
124 |
<p> |
125 |
Ga nu naar de kernel sourcemap en voer <c>make menuconfig</c> uit. Dit zal een |
126 |
configuratiemenu openen. |
127 |
</p> |
128 |
|
129 |
<pre caption="menuconfig starten"> |
130 |
# <i>cd /usr/src/linux</i> |
131 |
# <i>make menuconfig</i> |
132 |
</pre> |
133 |
|
134 |
<p> |
135 |
U zult worden begroet door een serie configuratiesecties. We zullen eerst |
136 |
enkele opties geven die u zeker aan moet zetten (anders zal Gentoo niet |
137 |
functioneren, of niet goed zonder enkele extra trucs). |
138 |
</p> |
139 |
|
140 |
</body> |
141 |
</subsection> |
142 |
<subsection> |
143 |
<title>Vereiste opties aan zetten</title> |
144 |
<body> |
145 |
|
146 |
<p> |
147 |
Om te beginnen activeert u het gebruik van ontwikkelings- en experimentele |
148 |
code/drivers. Je hebt dit nodig, anders zullen enkele belangrijke codes/drivers |
149 |
niet te voorschijn komen: |
150 |
</p> |
151 |
|
152 |
<pre caption="Experimentele code/drivers activeren, General setup"> |
153 |
Code maturity level options ---> |
154 |
[*] Prompt for development and/or incomplete code/drivers |
155 |
General setup ---> |
156 |
[*] Support for hot-pluggable devices |
157 |
</pre> |
158 |
|
159 |
<p> |
160 |
Zorg dat u iedere driver die essentieel is voor het opstarten van uw systeem |
161 |
(zoals SCSI controller, ...) in de kernel, en dus niet als module, compileert. |
162 |
Anders zal uw systeem niet volledig opstarten. |
163 |
</p> |
164 |
|
165 |
<p> |
166 |
Selecteer nu de juiste processorfamilie: |
167 |
</p> |
168 |
|
169 |
<pre caption="De correcte processor familie kiezen"> |
170 |
Processor type and features ---> |
171 |
<comment>(Wijzig aan de hand van uw systeem)</comment> |
172 |
(<i>Athlon/Duron/K7</i>) Processor family |
173 |
</pre> |
174 |
|
175 |
<p> |
176 |
Ga nu naar <c>File Systems</c> en kies ondersteuning voor het bestandssysteem |
177 |
dat u gebruikt. Compileer deze <e>niet</e> als modules, anders zal het Gentoo |
178 |
systeem zal de rootpartitie niet kunnen mounten. Kies ook <c>Virtual memory</c> |
179 |
en <c>/proc file system</c>. Als u een 2.4 kernel gebruikt, kies dan het |
180 |
<c>/dev file system</c>, omdat 2.4 kernels <c>udev</c> niet ondersteunen. |
181 |
</p> |
182 |
|
183 |
<pre caption="Benodigde bestandssystemen kiezen"> |
184 |
<comment>(Met een 2.4.x kernel)</comment> |
185 |
File systems ---> |
186 |
[*] Virtual memory file system support (former shm fs) |
187 |
[*] /proc file system support |
188 |
[*] /dev file system support (EXPERIMENTAL) |
189 |
[*] automatically mount /dev at boot |
190 |
[ ] /dev/pts file system for Unix98 PTYs |
191 |
|
192 |
<comment>(Met een 2.6.x kernel)</comment> |
193 |
File systems ---> |
194 |
Pseudo Filesystems ---> |
195 |
[*] /proc file system support |
196 |
[*] Virtual memory file system support (former shm fs) |
197 |
|
198 |
<comment>(Kies een of meer van de volgende, voor jouw systeem benodigde, opties)</comment> |
199 |
<*> Reiserfs support |
200 |
<*> Ext3 journalling file system support |
201 |
<*> JFS filesystem support |
202 |
<*> Second extended fs support |
203 |
<*> XFS filesystem support |
204 |
</pre> |
205 |
|
206 |
<p> |
207 |
Als uw BIOS geen grote harde schijven ondersteunt en u hebt uw harde schijf |
208 |
met jumpertjes ingesteld om een beperkte grootte door te geven, dan dient u |
209 |
één van de volgende opties mee te geven om toegang tot uw hele harde schijf |
210 |
te krijgen. |
211 |
</p> |
212 |
|
213 |
<pre caption="Autogeometry resizing support aan zetten"> |
214 |
<comment>(alleen 2.4.x kernels)</comment> |
215 |
ATA/IDE/MFM/RLL support ---> |
216 |
IDE, ATA and ATAPI Block devices ---> |
217 |
<*> Include IDE/ATA-2 DISK support |
218 |
[ ] Use multi-mode by default |
219 |
[*] Auto-Geometry Resizing support |
220 |
</pre> |
221 |
|
222 |
<p> |
223 |
Vergeet niet voor uw schijven DMA aan te zetten: |
224 |
</p> |
225 |
|
226 |
<pre caption="DMA aanzetten"> |
227 |
Device Drivers ---> |
228 |
ATA/ATAPI/MFM/RLL support ---> |
229 |
[*] Generic PCI bus-master DMA support |
230 |
[*] Use PCI DMA by default when available |
231 |
</pre> |
232 |
|
233 |
<p> |
234 |
Indien u PPPoE gebruikt om verbinding te maken met het internet of als u een |
235 |
inbelmodem gebruikt, dan dient u de volgende opties aan te zetten in de kernel: |
236 |
</p> |
237 |
|
238 |
<pre caption="Benodigde PPPoE drivers selecteren"> |
239 |
<comment>(Met een 2.4.x kernel)</comment> |
240 |
Network device support ---> |
241 |
<*> PPP (point-to-point protocol) support |
242 |
<*> PPP support for async serial ports |
243 |
<*> PPP support for sync tty ports |
244 |
|
245 |
<comment>(Met een 2.6.x kernel)</comment> |
246 |
Device Drivers ---> |
247 |
Networking support ---> |
248 |
<*> PPP (point-to-point protocol) support |
249 |
<*> PPP support for async serial ports |
250 |
<*> PPP support for sync tty ports |
251 |
</pre> |
252 |
|
253 |
<p> |
254 |
De twee compressie-opties zullen niets kapot maken, maar ze zijn niet nodig, |
255 |
net zoals de optie <c>PPP over Ethernet</c> die alleen wordt gebruikt door |
256 |
<c>rp-pppoe</c> als die wordt geconfigureerd om PPPoE in kernelmodus te |
257 |
draaien. |
258 |
</p> |
259 |
|
260 |
<p> |
261 |
Als hem nodig heeft, moet u niet vergeten de ondersteuning voor uw netwerkkaart toe |
262 |
te voegen aan uw kernel. |
263 |
</p> |
264 |
|
265 |
<p> |
266 |
Als u een Intel CPU met HyperThreading (tm) ondersteuning hebt, of een |
267 |
multi-CPU systeem, dient u ook "Symmetric multi-processing support" toe te |
268 |
voegen: |
269 |
</p> |
270 |
|
271 |
<pre caption="SMP ondersteuning inschakelen"> |
272 |
Processor type and features ---> |
273 |
[*] Symmetric multi-processing support |
274 |
</pre> |
275 |
|
276 |
<note> |
277 |
In multi-core systemen telt iedere kern (core) als één processor. |
278 |
</note> |
279 |
|
280 |
<p> |
281 |
Als u USB-invoerapparaten gebruikt (zoals toetsenbord of muis), |
282 |
vergeet dan niet die ook aan te zetten: |
283 |
</p> |
284 |
|
285 |
<pre caption="USB ondersteuning voor Input Devices"> |
286 |
USB Support ---> |
287 |
<*> USB Human Interface Device (full HID) support |
288 |
</pre> |
289 |
|
290 |
<p> |
291 |
Laptopgebruikers die PCMCIA-ondersteuning willen moeten <e>niet</e> de |
292 |
PCMCIA-drivers niet gebruiken als zij een 2.4-kernel kiezen. Recentere drivers |
293 |
zijn beschikbaar via het <c>pcmcia-cs</c> pakket welke we later zullen |
294 |
installeren. 2.6-kernelgebruikers dienen echter wel de PCMCIA-drivers uit de |
295 |
kernel te gebruiken. |
296 |
</p> |
297 |
|
298 |
<p> |
299 |
Vergeet niet naast PCMCIA ondersteuning in de 2.6 kernel te compileren ook |
300 |
ondersteuning voor de in jouw systeem aanwezige PCMCIA card bridge te kiezen. |
301 |
</p> |
302 |
|
303 |
<pre caption="PCMCIA ondersteuning in 2.6 kernels aanzetten"> |
304 |
Bus options (PCI, PCMCIA, EISA, MCA, ISA) ---> |
305 |
PCCARD (PCMCIA/CardBus) support ---> |
306 |
<*> PCCard (PCMCIA/CardBus) support |
307 |
<comment>(selecteer 16 bit als u ondersteuning voor oudere PCMCIA kaarten wil. De meeste mensen willen dit.)</comment> |
308 |
<*> 16-bit PCMCIA support |
309 |
[*] 32-bit CardBus support |
310 |
<comment>(selecteer de relevante bridges)</comment> |
311 |
--- PC-card bridges |
312 |
<*> CardBus yenta-compatible bridge support (NEW) |
313 |
<*> Cirrus PD6729 compatible bridge support (NEW) |
314 |
<*> i82092 compatible bridge support (NEW) |
315 |
<*> i82365 compatible bridge support (NEW) |
316 |
<*> Databook TCIC host bridge support (NEW) |
317 |
</pre> |
318 |
|
319 |
<p> |
320 |
Als u klaar bent met het configureren van de kernel, gaat u verder met <uri |
321 |
link="#compiling">Compileren en installeren</uri>. |
322 |
</p> |
323 |
|
324 |
</body> |
325 |
</subsection> |
326 |
<subsection id="compiling"> |
327 |
<title>Compileren en installeren</title> |
328 |
<body> |
329 |
|
330 |
<p> |
331 |
Nu de kernel is geconfigureerd is het tijd om te compileren en installeren. |
332 |
Sluit de configuratie af en start het compilatie proces: |
333 |
</p> |
334 |
|
335 |
<pre caption="De kernel compileren"> |
336 |
<comment>(Voor 2.4 kernels)</comment> |
337 |
# <i>make dep && make bzImage modules modules_install</i> |
338 |
|
339 |
<comment>(Voor 2.6 kernels)</comment> |
340 |
# <i>make && make modules_install</i> |
341 |
</pre> |
342 |
|
343 |
<p> |
344 |
Als uw kernel klaar is met compileren, kopieert u de kernel-image naar |
345 |
<path>/boot</path>. Gebruik een naam die u toepasselijk vindt voor uw |
346 |
kernel keuze en onthoudt die, want u zult deze bij het configureren van uw |
347 |
bootlader nodig hebben. Vergeet niet <path><kernel-version></path> |
348 |
te vervangen door de naam en versie van uw kernel. |
349 |
</p> |
350 |
|
351 |
<pre caption="Het installeren van de kernel"> |
352 |
# <i>cp arch/i386/boot/bzImage /boot/<kernel-version></i> |
353 |
</pre> |
354 |
|
355 |
<p> |
356 |
Ga nu verder met <uri link="#kernel_modules">Kernel Modules</uri> |
357 |
</p> |
358 |
|
359 |
</body> |
360 |
</subsection> |
361 |
</section> |
362 |
<section id="genkernel"> |
363 |
<title>Alternatief: genkernel gebruiken</title> |
364 |
<body> |
365 |
|
366 |
<p> |
367 |
Als u dit hoofdstuk leest, heeft u ervoor gekozen om het <c>genkernel</c> script |
368 |
te geruiken voor de configuratie van uw kernel. |
369 |
</p> |
370 |
|
371 |
<p> |
372 |
Nu de kernel source is geïnstalleerd, is het tijd om uw kernel te |
373 |
compileren met behulp van ons <c>genkernel</c> script. Deze bouwt automatisch |
374 |
een kernel voor u. <c>genkernel</c> werkt door een kernel bijna identiek te |
375 |
configureren aan de manier waarop onze Installatie CD kernel is geconfigureerd. |
376 |
Dit betekent dat wanneer u <c>genkernel</c> gebruikt om uw kernel te bouwen, |
377 |
uw systeem over het algemeen alle apparatuur tijdens het opstarten zal |
378 |
detecteren, net zoals onze Installatie CD dat doet. Omdat genkernel geen |
379 |
handmatige configuratie vereist, is het de ideale oplossing voor die gebruikers |
380 |
die zich niet prettig voelen bij het compileren van hun eigen kernels. |
381 |
</p> |
382 |
|
383 |
<p> |
384 |
Laten we nu eens kijken hoe we genkernel gebruiken. Emerge genkernel eerst: |
385 |
</p> |
386 |
|
387 |
<pre caption="Genkernel emergen"> |
388 |
# <i>emerge genkernel</i> |
389 |
</pre> |
390 |
|
391 |
<p> |
392 |
Als u een 2.6 kernel gaat configureren, kopier dan de kernel configuratie van |
393 |
de Installatie CD naar de locatie waar genkernel zoekt naar de standaard |
394 |
kernel configuratie: |
395 |
</p> |
396 |
|
397 |
<pre caption="De Installatie CD kernel config kopieren"> |
398 |
<comment>(Doe dit alleen als u een 2.6 kernel gaat configureren)</comment> |
399 |
# <i>zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6</i> |
400 |
</pre> |
401 |
|
402 |
<p> |
403 |
Compileer nu de kernel sources door <c>genkernel all</c> te draaien. Pas echter |
404 |
op, omdat <c>genkernel</c> een kernel compileert die bijna alle apparatuur |
405 |
ondersteunt, kan deze compilatie aardig wat tijd in beslag nemen! |
406 |
</p> |
407 |
|
408 |
<p> |
409 |
Let op, als uw bootpartitie geen ext2 of ext3 als bestandssysteem gebruikt, |
410 |
moet u mogelijk handmatig deze ondersteuning <e>in</e> de kernel (dus |
411 |
<e>niet</e> als een module) moet toevoegen. Gebruik hiervoor <c>genkernel |
412 |
--menuconfig all</c> en voeg de ondersteuning toe. Gebruikers van EVMS2 of |
413 |
LVM2 moeten ook <c>--evms2</c> of <c>--lvm2</c> als argument toevoegen. |
414 |
</p> |
415 |
|
416 |
<pre caption="Genkernel draaien"> |
417 |
# <i>genkernel all</i> |
418 |
</pre> |
419 |
|
420 |
<p> |
421 |
Als <c>genkernel</c> eenmaal klaar is, zal een kernel, een volledige set met |
422 |
modules en een <e>start-rootschijf</e> (initrd) worden gemaakt. We gebruiken |
423 |
de kernel en initrd wanneer we de bootlader zullen configureren, verderop |
424 |
in dit document. Noteer de namen van de kernel en initrd omdat u deze nodig |
425 |
zult hebben bij de bootlader configuratie. De initrd zal direct worden gestart |
426 |
na het opstarten om apparatuur autodetectie uit te voeren (net zoals op de |
427 |
Installatie CD) voordat uw "echte" systeem opstart. |
428 |
</p> |
429 |
|
430 |
<pre caption="De gecreerde kernel image naam en initrd controleren"> |
431 |
# <i>ls /boot/kernel* /boot/initramfs*</i> |
432 |
</pre> |
433 |
|
434 |
<p> |
435 |
Laten we nu nog een stap uitvoeren zodat ons systeem nog meer op de Installatie |
436 |
CD lijkt -- laten we <c>coldplug</c> emergen. De initrd detecteert de apparatuur |
437 |
die die nodig is om op te starten automatisch, <c>coldplug</c> detecteert de |
438 |
rest. Om te <c>coldplug</c> te emergen en aan zetten, typt het volgende: |
439 |
</p> |
440 |
|
441 |
<pre caption="Coldplug emergen en aan zetten"> |
442 |
# <i>emerge coldplug</i> |
443 |
# <i>rc-update add coldplug boot</i> |
444 |
</pre> |
445 |
|
446 |
</body> |
447 |
</section> |
448 |
<section id="kernel_modules"> |
449 |
<title>Kernel Modules</title> |
450 |
<subsection> |
451 |
<title>De modules configureren</title> |
452 |
<body> |
453 |
|
454 |
<p> |
455 |
U moet nu een lijst maken van alle modules die u automatisch wilt laden, doe |
456 |
dit in <path>/etc/modules.autoload.d/kernel-2.4</path> (of |
457 |
<path>kernel-2.6</path>). Je kunt indien u dit wilt ook extra opties aan de |
458 |
modules meegeven. |
459 |
</p> |
460 |
|
461 |
<p> |
462 |
Om alle beschikbare modules te zien, draait u het volgende <c>find</c> commando. |
463 |
Vergeet niet om "<kernel version>" te vervangen met de versie van de door |
464 |
u zojuist gecompileerde kernel. |
465 |
</p> |
466 |
|
467 |
<pre caption="Alle beschikbare modules vinden"> |
468 |
# <i>find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko'</i> |
469 |
</pre> |
470 |
|
471 |
<p> |
472 |
Om bijvoorbeeld automatisch de <c>3x59x.o</c> module te laden, wijzigt u het |
473 |
<path>kernel-2.4</path>- of <path>kernel-2.6</path>-bestand en zet er de |
474 |
modulenaam in. |
475 |
</p> |
476 |
|
477 |
<pre caption="/etc/modules.autoload.d/kernel-2.4 bewerken"> |
478 |
<comment>(Voorbeeld voor 2.4 kernels)</comment> |
479 |
# <i>nano -w /etc/modules.autoload.d/kernel-2.4</i> |
480 |
</pre> |
481 |
|
482 |
<pre caption="/etc/modules.autoload.d/kernel-2.4 of kernel-2.6"> |
483 |
3c59x |
484 |
</pre> |
485 |
|
486 |
<p> |
487 |
Ga verder met <uri link="?part=1&chap=8">Configuratie van het Systeem</uri>. |
488 |
</p> |
489 |
|
490 |
</body> |
491 |
</subsection> |
492 |
</section> |
493 |
</sections> |