aboutsummaryrefslogtreecommitdiff
path: root/nl_NL.ISO8859-1/books/handbook/boot/chapter.xml
blob: 674328c37cac6042a2b5f172e7b456d477c1b713 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
<?xml version="1.0" encoding="iso-8859-1"?>
<!--
     The FreeBSD Dutch Documentation Project

     $FreeBSD$

     %SOURCE%	en_US.ISO8859-1/books/handbook/boot/chapter.sgml
     %SRCID%	39544
-->

<chapter id="boot">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Erik</firstname>
	<surname>Radder</surname>
	<contrib>Vertaald door </contrib>
      </author>
    </authorgroup>
  </chapterinfo>

  <title>Het &os; opstartproces</title>

  <sect1 id="boot-synopsis">
    <title>Overzicht</title>

    <indexterm><primary>booting</primary></indexterm>

    <indexterm><primary>bootstrap</primary></indexterm>

    <para>Het proces van het starten van de computer en het laden van
      het besturingssysteem wordt het <quote>bootstrapproces</quote>
      of simpelweg <quote>booten</quote> genoemd.  Het &os;
      opstartproces levert een grote mate van flexibiliteit doordat
      gewijzigd kan worden wat er gebeurt als het systeem start en
      geeft de mogelijkheid om te kiezen uit verschillende
      geïnstalleerde besturingssystemen op dezelfde computer of
      zelfs verschillende versies van hetzelfde besturingssysteem of
      geïnstalleerde kernel.</para>

    <para>Dit hoofdstuk geeft gedetailleerde informatie over
      instellingen die gebruikt kunnen worden en hoe het &os;
      opstartproces veranderd kan worden.  Dit omvat alles wat er
      gebeurt totdat de &os; kernel wordt geladen, gezocht heeft naar
      apparaten en &man.init.8; start.  Dit vindt plaats als tijdens
      het booten de tekstkleur verandert van helder wit naar
      grijs.</para>

    <para>Na het lezen van dit hoofdstuk weet de lezer:</para>

    <itemizedlist>
      <listitem>
	<para>Wat de onderdelen zijn van het &os; bootstrap-systeem en
	  hoe zij onderling communiceren;</para>
      </listitem>

      <listitem>
	<para>De opties die meegegeven kunnen worden aan de componenten
	  in de bootstrap om het proces te sturen;</para>
      </listitem>

      <listitem>
	<para>Meer over &man.device.hints.5;;</para>
      </listitem>
    </itemizedlist>

    <note>
      <title>Alleen voor x86</title>

      <para>Dit hoofdstuk beschrijft alleen het opstartproces van &os;
	dat draait op een Intel x86 systeem.</para>
    </note>
  </sect1>

  <sect1 id="boot-introduction">
    <title>Het bootprobleem</title>

    <para>Het aanzetten van een computer en het starten van het
      besturingssysteem zorgt voor een interessant dilemma.  Vast staat
      dat een computer niet weet wat hij moet doen totdat het
      besturingssysteem gestart is.  Daar valt ook het starten van
      programma's op schijf onder.  Dus als een computer geen programma
      van schijf kan starten zonder besturingssysteem en het
      besturingssysteem staat op schijf, hoe wordt het
      besturingssysteem dan gestart?</para>

    <para>Dit is een gelijksoortig probleem als dat in het boek
      <citetitle>De avonturen van Baron von
	Münchausen</citetitle>.  Iemand is in een put gevallen en
      heeft zichzelf eruit gehaald door zijn laarsriempjes (bootstraps)
      vast te pakken en zich op te trekken.  In het begin van het
      computertijdperk is de term <firstterm>bootstrap</firstterm>
      gegeven aan het mechanisme dat het besturingssysteem laadt.
      Later werd dit afgekort tot <quote>booten</quote>.</para>

    <indexterm><primary>BIOS</primary></indexterm>

    <indexterm>
      <primary>Basis Input/Output Systeem</primary>

      <see>BIOS</see>
    </indexterm>

    <para>Op x86 machines is het Basis Input/Output Systeem (BIOS)
      verantwoordelijk voor het laden van het besturingssysteem.  Om
      dit te doen zoekt het BIOS op de harde schijf naar het Master
      Boot Record (MBR), dat op een vaste plek op de schijf staat.  Het
      BIOS heeft voldoende kennis om het MBR te starten en gaat er
      vanuit dat de MBR de rest van de taken uitvoert die nodig zijn om
      het besturingssysteem te kunnen laden, mogelijk met hulp van het
      BIOS.</para>

    <indexterm><primary>Master Boot Record (MBR)</primary></indexterm>

    <indexterm><primary>Boot Manager</primary></indexterm>

    <indexterm><primary>Boot Loader</primary></indexterm>

    <para>Aan de code binnen de MBR wordt meestal gerefereerd als een
      <emphasis>bootmanager</emphasis>, in het bijzonder als die
      interactie heeft met een gebruiker.  In dit geval heeft de
      bootmanager meestal meer code in de eerste
      <emphasis>track</emphasis> van een schijf binnen het
      bestandssysteem van een besturingssysteem.  Een bootmanager wordt
      soms ook <emphasis>boot loader</emphasis> genoemd, maar &os;
      gebruikt die term voor een later stadium van het starten.
      Populaire bootmanagers zijn onder andere
      <application>boot0</application> (ook bekend als
      <application>Boot Easy</application>, de standaard &os;
      bootmanager), <application>Grub</application>,
      <application>GAG</application> en
      <application>LILO</application> (alleen
      <application>boot0</application> past binnen de MBR.)</para>

    <para>Als er maar één besturingssysteem en een schijf
      geïnstalleerd is, voldoet een standaard PC MBR.  Dit MBR
      zoekt naar de eerste opstartbare (alias actieve) slice op schijf
      en start de code op deze slice om de rest van het
      besturingssysteem te laden.  De MBR die standaard door
      &man.fdisk.8; wordt geïnstalleerd is zo'n MBR.  Die is
      gebaseerd op <filename>/boot/mbr</filename>.</para>

    <para>Indien er meerdere besturingssystemen op schijven staan, kan
      er een andere bootmanager geïnstalleerd worden, een die een
      lijst toont met verschillende besturingssystemen en de
      mogelijkheid geeft om er één te kiezen dat
      opgestart moet worden.  In de volgende paragrafen worden er twee
      beschreven.</para>

    <para>Het resterende deel van het &os; bootstrap-systeem is
      verdeeld in drie fases.  De eerste fase wordt gestart door het
      MBR, dat net voldoende informatie heeft om de computer in een
      bepaalde toestand te zetten en de tweede fase te starten.  De
      tweede fase kan net iets meer doen voordat hij de derde fase
      start.  De derde fase voltooit het laden van het
      besturingssysteem.  Dit proces is verdeeld in drie fases omdat de
      PC-standaarden grenzen stellen aan de grootte van programma's die
      gedraaid kunnen worden in de eerste twee fases van dit proces.
      Door deze taken aan elkaar te koppelen krijgt &os; een flexibeler
      laadgedeelte.</para>

    <indexterm><primary>kernel</primary></indexterm>

    <indexterm><primary><command>init</command></primary></indexterm>

    <para>Daarna wordt de kernel gestart en begint met het zoeken naar
      en initialiseren van apparaten.  Zodra het kernel-opstartproces
      klaar is, geeft de kernel de controle over aan het
      gebruikerproces &man.init.8;, dat controleert of de schijven een
      bruikbare status hebben.  Dan start &man.init.8; de instellingen
      op gebruikersniveau die de bestandssystemen mount, de
      netwerkkaarten instelt voor communicatie met het netwerk en in
      het algemeen worden de processen gestart die moeten draaien op
      een &os; systeem bij het opstarten.</para>
  </sect1>

  <sect1 id="boot-blocks">
    <title>De bootmanager en opstartstadia</title>

    <indexterm><primary>Boot Manager</primary></indexterm>

    <sect2 id="boot-boot0">
      <title>De bootmanager</title>

      <indexterm><primary>Master Boot Record (MBR)</primary></indexterm>

      <para>De code in de MBR of bootmanager wordt soms ook wel
	<emphasis>stage zero</emphasis> van het opstartproces genoemd.
	In dit onderdeel worden twee eerder genoemde bootmanagers
	beschreven: <application>boot0</application> en
	<application>LILO</application>.</para>

      <formalpara>
	<title>De <application>boot0</application> bootmanager:</title>

	<para>De MBR die standaard door de &os; installer of
	  &man.boot0cfg.8; wordt geïnstalleerd is gebaseerd op
	  <filename>/boot/boot0</filename>.  Het programma
	  <application>boot0</application> is erg eenvoudig, omdat
	  <abbrev>MBR</abbrev> maar 446 bytes lang mag zijn vanwege de
	  slicetabel en de <literal>0x55AA</literal> identificatie aan
	  het einde van de MBR.  Als de &os; MBR is geïnstalleerd
	  en er staan andere besturingssystemen op een harde schijf, dan
	  is bij het opstarten een scherm te zien dat er ongeveer zo
	  uitziet:</para>
      </formalpara>

      <example id="boot-boot0-example">
	<title><filename>boot0</filename> schermafbeelding</title>

	<screen>F1 DOS
F2 &os;
F3 Linux
F4 ??
F5 Drive 1

Default: F2</screen>
      </example>

      <para>Andere besturingssystemen, &windows; in het bijzonder,
	staan er om bekend dat zij bestaande MBRs overschrijven met die
	van zichzelf.  Als dit is gebeurd of als het bestaande MBR
	vervangen moet worden door het &os; MBR:</para>

      <screen>&prompt.root; <userinput>fdisk -B -b /boot/boot0 <replaceable>apparaat</replaceable></userinput></screen>

      <para>Waar <replaceable>apparaat</replaceable> het apparaat is
	waar de computer van boot, zoals <devicename>ad0</devicename>
	voor de eerste IDE-schijf <devicename>ad2</devicename> voor de
	eerste IDE-schijf op de tweede IDE-controller,
	<devicename>da0</devicename> voor de eerste SCSI-schijf,
	enzovoort.  Als het wenselijk is een aangepaste instelling te
	gebruiken voor de MBR, dan kan &man.boot0cfg.8; gebruikt
	worden.</para>

      <formalpara>
	<title>De LILO bootmanager:</title>

	<para>Start, om deze bootmanager te installeren zodat er ook
	  &os; mee gestart kan worden, eerst &linux; en voeg het
	  volgende toe aan het bestaande instellingenbestand
	  <filename>/etc/lilo.conf</filename>:</para>
      </formalpara>

      <programlisting>other=/dev/hdXY
table=/dev/hdX
loader=/boot/chain.b
label=&os;</programlisting>

      <para>Geef in de bovenstaande regels de primaire partitie en
	schijf van &os; op met &linux; instellingen, waarbij
	<replaceable>X</replaceable> vervangen wordt door de &linux;
	schijfletter en <replaceable>Y</replaceable> door het primaire
	partitienummer van &linux;.  Wijzig bij gebruik van een
	<acronym>SCSI</acronym>-schijf
	<replaceable>/dev/hd</replaceable> in iets als
	<replaceable>/dev/sd</replaceable>.  De regel
	<option>loader=/boot/chain.b</option> kan achterwege blijven
	als de besturingssystemen op dezelfde schijf staan.  Voer
	daarna <command>/sbin/lilo&nbsp;-v</command> uit om de
	wijzigingen vast te leggen.  Controleer het vastleggen door
	controle van de schermberichten.</para>
    </sect2>

    <sect2 id="boot-boot1">
      <title>Fase één <filename>/boot/boot1</filename> en
	fase twee <filename>/boot/boot2</filename></title>

      <para>Conceptueel zijn de eerste en tweede fase onderdeel van
	hetzelfde programma op hetzelfde stukje schijf.  Door
	ruimtebeperkingen zijn ze in twee stukken gesplitst.  Ze worden
	echter altijd samen geïnstalleerd.  Ze worden
	gekopieerd uit het gecombineerde bestand
	<filename>/boot/boot</filename> door het installatieprogramma
	of <application>bsdlabel</application> (zie
	verderop).</para>

      <para>Ze staan buiten bestandssystemen in de eerste track van de
	opstartslice, beginnend bij de eerste sector.  Dit is waar
	<link linkend="boot-boot0">boot0</link> en iedere andere
	bootmanager een programma verwacht om door te gaan met het
	opstartproces.  Het aantal gebruikte sectoren kan eenvoudig
	bepaald worden uit de grootte van
	<filename>/boot/boot</filename>.</para>

      <para><filename>boot1</filename> is erg simpel omdat dit slechts
	512 bytes groot kan zijn en net genoeg weet over het &os;
	<firstterm>bsdlabel</firstterm>, dat informatie bevat over de
	slice om <filename>boot2</filename> te vinden en te
	starten.</para>

      <para><filename>boot2</filename> is iets verfijnder en begrijpt
	het &os; bestandssysteem genoeg om er bestanden op te vinden
	en geeft een simpele interface om de kernel of loader te kiezen
	die gestart moet worden.</para>

      <para><filename>boot2</filename> start meestal de <link
	  linkend="boot-loader">loader</link>, doordat deze veel
	slimmer is en gebruikersvriendelijke opstartinstellingen heeft.
	Voorheen was het zijn taak direct de kernel te starten.</para>

      <example id="boot-boot2-example">
	<title><filename>boot2</filename> schermafbeelding</title>

	<screen>&gt;&gt; &os;/i386 BOOT
Default: 0:ad(0,a)/boot/loader
boot:</screen>
      </example>

      <para>Als ooit eens de geïnstalleerde
	<filename>boot1</filename> en <filename>boot2</filename>
	vervangen moeten worden kan dat met &man.bsdlabel.8;:</para>

      <screen>&prompt.root; <userinput>bsdlabel -B <replaceable>schijfslice</replaceable></userinput></screen>

      <para>In het voorbeeld hierboven is
	<replaceable>schijfslice</replaceable> de schijf en slice
	waarvan opgestart wordt, zoals <devicename>ad0s1</devicename>
	voor de eerste slice op de eerste IDE-schijf.</para>

      <warning>
	<title>Gevaarlijk toegewijde modus</title>

	<para>Als alleen een schijfnaam als
	  <devicename>ad0</devicename> gebruikt wordt in
	  &man.bsdlabel.8; wordt er een gevaarlijk toegewijde
	  schijf zonder slices gemaakt.  Dit is niet aan te raden en
	  daarom wordt aangeraden voor het uivoeren van
	  &man.bsdlabel.8; de commandoregel nog een keer te
	  controleren voordat er op <keycap>Return</keycap> wordt
	  gedrukt.</para>
      </warning>
    </sect2>

    <sect2 id="boot-loader">
      <title>Fase drie, <filename>/boot/loader</filename></title>

      <indexterm><primary>boot-loader</primary></indexterm>

      <para>De loader is de laatse fase van de drietraps-bootstrap en
	deze bevindt zich op het bestandssysteem, meestal als
	<filename>/boot/loader</filename>.</para>

      <para>De loader is bedoeld als een gebruikersvriendelijke manier
	voor de instelling, door gebruik te maken van een makkelijke
	commandoverzameling, gesteund door een krachtige vertaler met
	een wat complexere commandoverzameling.</para>

      <sect3 id="boot-loader-flow">
	<title>Loader programmaverloop</title>

	<para>Tijdens de start zoekt de loader naar een console en
	  schijven en kijkt van welke schijf er opgestart wordt.
	  Variabelen worden hiernaar gezet en er wordt een vertaler
	  gestart zodat gebruikercommando's interactief of via een
	  script kunnen worden doorgegeven.</para>

	<indexterm><primary>loader</primary></indexterm>

	<indexterm><primary>loader-configuration</primary></indexterm>

	<para>Dan leest de loader <filename>/boot/loader.rc</filename>,
	  die dan standaard
	  <filename>/boot/defaults/loader.conf</filename> leest.  Deze
	  plaatst redelijke standaarden in variabelen en leest
	  <filename>/boot/loader.conf</filename> voor lokale
	  wijzigingen op deze variabelen.
	  <filename>loader.rc</filename> reageert op deze variabelen
	  door de geselecteerde modules en kernel te laden.</para>

	<para>Als laatste wordt standaard door de loader 10 seconden
	  gewacht op toetsinvoer en als dit niet wordt onderbroken
	  laadt loader de kernel.  Als het wel wordt onderbroken krijgt
	  de gebruiker een prompt aangeboden die een eenvoudige
	  commandoverzameling begrijpt.  Hier kan de gebruiker
	  variabelen wijzigen, alle modules stoppen en/of starten en
	  uiteindelijk opstarten of herstarten.</para>
      </sect3>

      <sect3 id="boot-loader-commands">
	<title>Ingebouwde loadercommando's</title>

	<para>Hieronder worden de meest gebruikte loadercommando's
	  besproken.  Een volledige omschrijving van alle beschikbare
	  commando's staat in &man.loader.8;.</para>

	<variablelist>
	  <varlistentry>
	    <term>autoboot <replaceable>seconden</replaceable></term>

	    <listitem>
	      <para>Gaat door met het opstarten van de kernel als deze
		niet wordt onderbroken binnen de opgegeven tijd in
		seconden.  Er wordt een aftelproces getoond dat
		standaard op 10 seconden staat.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>boot
	      <optional><replaceable>-opties</replaceable></optional>
	      <optional><replaceable>kernelnaam</replaceable></optional></term>

	    <listitem>
	      <para>Start direct de kernel op met de opgegeven opties
		en naam, indien meegegeven.  Het opgeven van een
		kernelnaam op de opdrachtregel is alleen van toepassing
		nadat een <emphasis>unload</emphasis>-commando is
		gegeven, anders wordt de kernel die hiervoor was geladen
		gebruikt.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>boot-conf</term>

	    <listitem>
	      <para>Doorloopt hetzelfde automatische instellen van
		modules gebaseerd op variabelen zoals ook gebeurt bij
		het opstarten.  Dit is alleen zinnig als eerst
		<command>unload</command> is gebruikt en enkele
		variabelen zijn gewijzigd, meestal
		<envar>kernel</envar>.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>help
	      <optional><replaceable>onderwerp</replaceable></optional></term>

	    <listitem>
	      <para>Toont documentatie uit
		<filename>/boot/loader.help</filename>.  Als het
		opgegeven onderwerp <literal>index</literal> is, wordt
		een lijst met beschikbare onderwerpen getoond.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>include <replaceable>bestandsnaam</replaceable>
	      &hellip;</term>

	    <listitem>
	      <para>Verwerkt het bestand met de opgegeven naam.  Het
		bestand wordt ingelezen en regel voor regel
		vertaald.  Iedere foutmelding stopt direct het
		include-commando.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>load <optional><option>-t</option>
	      <replaceable>type</replaceable></optional>
	      <replaceable>bestandsnaam</replaceable></term>

	    <listitem>
	      <para>Laadt de kernel, kernel-module of bestand van
		opgegeven type en naam.  Ieder argument achter de
		bestandsnaam wordt doorgegeven aan het bestand.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>ls <optional><option>-l</option></optional>
	      <optional><replaceable>padnaam</replaceable></optional></term>

	    <listitem>
	      <para>Toont de lijst bestanden in het opgegeven pad of
		van de rootmap als geen pad wordt opgegeven.  Als
		<option>-l</option> wordt meegegeven wordt ook de
		bestandsgrootte weergegeven.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>lsdev <optional><option>-v</option></optional></term>

	    <listitem>
	      <para>Toont de lijst met alle apparaten waarvan het
		mogelijk is om modules te kunnen laden.  Als
		<option>-v</option> wordt meegegeven worden meer
		details getoond.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>lsmod <optional><option>-v</option></optional></term>

	    <listitem>
	      <para>Toont geladen modules.  Als <option>-v</option>
		wordt meegegeven worden meer details getoont.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>more <replaceable>bestandsnaam</replaceable></term>

	    <listitem>
	      <para>Toont de inhoud van het opgegeven bestand met een
		pauze na iedere <varname>LINES</varname> regels.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>reboot</term>

	    <listitem>
	      <para>Herstart het systeem onmiddelijk.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>set <replaceable>variabele</replaceable></term>

	    <term>set
	      <replaceable>variabele</replaceable>=<replaceable>waarde</replaceable>
	    </term>

	    <listitem>
	      <para>Vult de omgevingsvariabele van de loader.</para>
	    </listitem>
	  </varlistentry>

	  <varlistentry>
	    <term>unload</term>

	    <listitem>
	      <para>Verwijdert alle geladen modules.</para>
	    </listitem>
	  </varlistentry>
	</variablelist>
      </sect3>

      <sect3 id="boot-loader-examples">
	<title>Loader voorbeelden</title>

	<para>Hier zijn wat practische voorbeelden van het gebruik van
	  loader:</para>

	<itemizedlist>
	  <listitem>
	    <indexterm><primary>single-user modus</primary></indexterm>

	    <para>De kernel opstarten in single-user modus:</para>

	    <screen><userinput>boot -s</userinput></screen>
	  </listitem>

	  <listitem>
	    <para>De gebruikelijke kernel en modules ontladen om daarna
	      de oude (of een andere) kernel te laden:</para>

	    <indexterm>
	      <primary><filename>kernel.old</filename></primary>
	    </indexterm>

	    <screen><userinput>unload</userinput>
<userinput>load <replaceable>kernel.old</replaceable></userinput></screen>

	    <para><filename>kernel.GENERIC</filename> kan gebruikt
	      worden als de algemene kernel die meegeleverd is bij de
	      installatieschijf of <filename>kernel.old</filename> om
	      de vorige geïnstalleerde kernel te gebruiken (als
	      bijvoorbeeld de kernel is vervangen).</para>

	    <note>
	      <para>Zo worden de bekende modules geladen met een andere
		kernel:</para>

	      <screen><userinput>unload</userinput>
<userinput>set kernel="<replaceable>kernel.old</replaceable>"</userinput>
<userinput>boot-conf</userinput></screen>
	    </note>
	  </listitem>

	  <listitem>
	    <para>Voor het laden van een kernelinstellingenscript (een
	      script dat dingen doet die anders met de hand ingegeven
	      zouden worden):</para>

	    <screen><userinput>load -t userconfig_script <replaceable>/boot/kernel.conf</replaceable></userinput></screen>
	  </listitem>
	</itemizedlist>
      </sect3>

      <sect3 id="boot-splash">
	<sect3info>
	  <authorgroup>
	    <author>
	      <firstname>Joseph J.</firstname>
	      <surname>Barbish</surname>
	      <contrib>Bijgedragen door </contrib>
	    </author>
	  </authorgroup>
	</sect3info>

	<title>Splash-schermen tijdens het opstarten</title>

	<para>Het splash-scherm creëert een visueel aantrekkelijker
	  scherm in vergelijking met de originele opstartberichten.  Dit
	  scherm zal worden afgebeeld totdat een aanmeldprompt op de
	  console verschijnt of een X-schermbeheerder een aanmeldprompt
	  aanbiedt.</para>

	<para>Er zijn twee basisomgevingen beschikbaar in &os;.  De
	  eerste is de verouderde standaardomgeving met de opdrachtregel
	  op de virtuële console.  Nadat het systeem klaar is met
	  opstarten, wordt er een aanmeldprompt op de console
	  gepresenteerd.  De tweede omgeving is de grafische omgeving
	  van het X11 Bureaublad.  Nadat <link
	    linkend="x-install">X11</link> en één van de
	  grafische <link linkend="x11-wm">bureaubladomgevingen</link>,
	  zoals <application>GNOME</application>,
	  <application>KDE</application>, of
	  <application>XFce</application> zijn geïnstalleerd, kan
	  het X11-bureaublad worden gestart door het commando
	  <command>startx</command> te gebruiken.</para>

	<para>Sommige gebruikers verkiezen het grafische aanmeldscherm
	  van X11 boven de traditionele op tekst gebaseerde
	  aanmeldprompt.  Schermbeheerders zoals
	  <application>XDM</application> voor &xorg;,
	  <application>gdm</application> voor
	  <application>GNOME</application>, en
	  <application>kdm</application> voor
	  <application>KDE</application> (en anderen van de
	  Portscollectie) bieden een grafisch aanmeldscherm
	  in plaats van de aanmeldprompt op het console.  Na succesvol
	  aanmelden bieden ze de gebruiker een grafisch
	  bureaublad.</para>

	<para>In de opdrachtregelomgeving zou het splash-scherm alle
	  berichten over aftasten tijdens het opstarten en het starten
	  van taken verbergen voordat het de aanmeldprompt laat zien.
	  In een X11-omgeving zouden gebruikers een visueel
	  overzichtelijkere opstartervaring krijgen dat meer lijkt op
	  wat een gebruiker van een (&microsoft; &windows; of
	  niet-Unix-systeem) zou ervaren.</para>

	<sect4 id="boot-splash-function">
	  <title>Splash-schermfuncties</title>

	  <para>De splash-schermfunctie ondersteunt 256-kleuren-bitmaps (
	    <filename>.bmp</filename>), ZSoft <acronym>PCX</acronym> (
	    <filename>.pcx</filename>) en TheDraw (<filename>.bin</filename>)
	    bestanden.  Verder moeten de splash-afbeeldingsbestanden een
	    resolutie van 320 bij 200 pixels of minder hebben om op de
	    standaard VGA-adapters te werken.</para>

	  <para>Activeer de <acronym>VESA</acronym>-ondersteuning die in
	    &os; zit om grotere afbeeldingen, tot de maximale resolutie
	    van 1024 bij 768 pixels, te gebruiken.  Dit kan worden
	    aangezet door de <acronym>VESA</acronym>-module tijdens het
	    opstarten van het systeem te laden, of door de
	    kernelconfiguratieoptie <literal>VESA</literal> toe te
	    voegen en een eigen kernel te bouwen (zie <xref
	      linkend="kernelconfig"/>).  De ondersteuning voor
	    <acronym>VESA</acronym> geeft gebruikers de mogelijkheid om
	    een splash-schermafbeelding af te beelden dat het hele
	    scherm vult.</para>

	  <para>Zolang het splash-scherm wordt afgebeeld tijdens het
	    opstartproces, kan het ten alle tijden worden uitgezet door
	    op een toetsenbordtoets te drukken.</para>

	  <para>Het splash-scherm is standaard ook een schermbeveiliging
	    buiten X11.  Na een periode van inactiviteit zal het scherm
	    in het splash-scherm veranderen en herhaald door stappen van
	    het veranderen van de intensiteit van de afbeelding lopen,
	    van helder tot zeer donker.  Dit standaardgedrag van het
	    splash-scherm (schermbeveiliging) kan overruled worden door
	    een regel met <literal>saver=</literal> toe te voegen aan
	    <filename>/etc/rc.conf</filename>.  De optie
	    <literal>saver=</literal> heeft verschillende ingebouwde
	    schermbeveiligingen om uit te kiezen, de volledige lijst
	    staat in de handleidingpagina &man.splash.4;.  De standaard
	    schermbeveiliging heet <quote>warp</quote>.  Merk op dat de
	    optie <literal>saver=</literal> die in
	    <filename>/etc/rc.conf</filename> is gespecificeerd alleen
	    betrekking heeft op virtuele consoles.  Het heeft geen
	    effect op X11-schermbeheerders.</para>

	  <para>Enkele meldingen van de bootloader, inclusief de opties
	    van het opstartmenu en een getimede wachtende aftelprompt
	    worden afgebeeld tijdens het opstarten, zelfs als het
	    splash-scherm aanstaat.</para>

	  <para>Voorbeelden van splash-schermen kunnen gedownload worden
	    van de galerij op <ulink
	      url="http://artwork.freebsdgr.org/node/3/">http://artwork.freebsdgr.org/</ulink>.
	    Door de port <filename
	      role="package">sysutils/bsd-splash-changer</filename> te
	    installeren, kunnen de splash-afbeeldingen willekeurig elke
	    keer dat er wordt opgestart uit een verzameling worden
	    gekozen.</para>
	</sect4>

	<sect4 id="boot-splash-enable">
	  <title>De splash-schermfunctie aanzetten</title>

	  <para>Het splash-schermbestand (<filename>.bmp</filename>,
	    <filename>.pcx</filename> of <filename>.bin</filename>) moet op de
	    rootpartitie staan, bijvoorbeeld in de map <filename
	      class="directory">/boot</filename>.</para>

	  <para>Bewerk voor de standaardresolutie van het opstartscherm
	    (256 kleuren, 320 bij 200 pixels, of minder)
	    <filename>/boot/loader.conf</filename> zodat het volgende
	    erin staat:</para>

	  <programlisting>splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.bmp</replaceable>"</programlisting>

	  <para>Bewerk <filename>/boot/loader.conf</filename> voor grotere
	    videoresoluties (tot maximaal 1024 bij 768 pixels) zodat
	    dit bestand het volgende bevat:</para>

	  <programlisting>vesa_load="YES"
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.bmp</replaceable>"</programlisting>

	  <para>Het bovenstaande neemt aan dat
	    <filename><replaceable>/boot/splash.bmp</replaceable></filename>
	    voor het splash-scherm wordt gebruikt.  Wanneer een
	    <acronym>PCX</acronym>-bestand gewenst is, dienen de
	    volgende opdrachten gebruikt te worden, en afhankelijk van
	    de resolutie de regel <literal>vesa_load="YES"</literal>.</para>

	  <programlisting>splash_pcx_load="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.pcx</replaceable>"</programlisting>

	  <para>In versie 8.3 is een andere mogelijkheid het gebruik van
	    ASCII-kunst in <ulink
	      url="https://en.wikipedia.org/wiki/TheDraw">TheDraw</ulink>
	    formaat.</para>

	  <programlisting>splash_txt="YES"
bitmap_load="YES"
bitmap_name="<replaceable>/boot/splash.bin</replaceable>"</programlisting>

	  <para>De bestandsnaam is niet beperkt tot <quote>splash</quote> zoals
	    in het bovenstaande voorbeeld.  Het kan van alles zijn zolang het
	    een van de bovenstaande types is, zoals
	    <filename><replaceable>splash_640x400</replaceable>.bmp</filename>
	    of
	    <filename><replaceable>bluewave</replaceable>.pcx</filename>.</para>

	  <para>Enkele andere interessante opties voor
	    <filename>loader.conf</filename>:</para>

	  <variablelist>
	    <varlistentry>
	      <term><literal>beastie_disable="YES"</literal></term>

	      <listitem>
		<para>Dit zal het menu met opstartopties niet weergeven,
		  maar de getimede wachtende aftelprompt zal nog steeds
		  aanwezig zijn.  Zelfs zonder dat het menu met
		  opstartopties wordt afgebeeld, zal het invoeren van
		  een optie in de getimede wachtende aftelprompt de
		  actie van de overeenkomstige opstartoptie
		  uitvoeren.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term><literal>loader_logo="beastie"</literal></term>

	      <listitem>
		<para>Dit zal de standaardwoorden <quote>&os;</quote>,
		  welke rechts van het menu met opstartopties worden
		  afgebeeld vervangen door het gekleurde beastie-logo
		  zoals vroegere uitgaven die hadden.</para>
	      </listitem>
	    </varlistentry>
	  </variablelist>

	  <para>Raadpleeg voor meer informatie de handleidingpagina's
	    &man.splash.4;, &man.loader.conf.5;, en &man.vga.4;.</para>
	</sect4>
      </sect3>
    </sect2>
  </sect1>

  <sect1 id="boot-kernel">
    <title>Interactie met de kernel tijdens opstarten</title>

    <indexterm>
      <primary>kernel</primary>

      <secondary>interactie opstarten</secondary>
    </indexterm>

    <para>Zodra de kernel is geladen door de <link
	linkend="boot-loader">loader</link> (zoals gewoonlijk)
      of door <link linkend="boot-boot1">boot2</link> (zonder de
      loader), wordt er als ze er zijn gekeken naar de
      opstartvlaggen en wordt het gedrag zo nodig aangepast.</para>

    <sect2 id="boot-kernel-bootflags">
      <title>Opstartvlaggen kernel</title>

      <indexterm>
	<primary>kernel</primary>

	<secondary>opstartvlaggen</secondary>
      </indexterm>

      <para>De meest voorkomende opstartvlaggen:</para>

      <variablelist id="boot-kernel-bootflags-list">
	<varlistentry>
	  <term><option>-a</option></term>

	  <listitem>
	    <para>Vraag tijdens de opstart van de kernel om het
	      apparaat dat gemount moet worden als root
	      bestandssysteem.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><option>-C</option></term>

	  <listitem>
	    <para>Boot van cd-rom.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><option>-c</option></term>

	  <listitem>
	    <para>Start UserConfig om instellingen te maken voor de
	      kernel tijdens het opstarten.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><option>-s</option></term>

	  <listitem>
	    <para>Start naar single-user modus.</para>
	  </listitem>
	</varlistentry>

	<varlistentry>
	  <term><option>-v</option></term>

	  <listitem>
	    <para>Geef meer tekst en uitleg tijdens het opstarten van
	      de kernel.</para>
	  </listitem>
	</varlistentry>
      </variablelist>

      <note>
	<para>In &man.boot.8; staan alle bootvlaggen beschreven.</para>
      </note>
    </sect2>
  </sect1>

  <sect1 id="device-hints">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Tom</firstname>
	  <surname>Rhodes</surname>
	  <contrib>Bijgedragen door </contrib>
	</author>
      </authorgroup>
    </sect1info>

    <title>Device hints</title>

    <indexterm>
      <primary>device.hints</primary>
    </indexterm>

    <para>Tijdens het opstarten van het systeem leest de boot
      &man.loader.8; het bestand &man.device.hints.5;.  Dit bestand
      slaat opstartinformatie voor de kernel op in variabelen, ook wel
      <quote>device hints</quote>.  Deze <quote>device hints</quote>
      worden door stuurprogramma's gebruikt voor instelling van
      apparaten.</para>

    <para>Device hints kunnen ook bij het <link linkend="boot-loader">
	Fase drie, <filename>/boot/loader</filename></link> prompt
      ingevoerd worden.  Variabelen kunnen toegevoegd worden met behulp
      van <command>set</command>, verwijderd worden met
      <command>unset</command> en bekeken worden met
      <command>show</command>.  Variabelen uit
      <filename>/boot/device.hints</filename> kunnen hier ook herroepen
      worden.  Device hints die ingevoerd zijn bij de boot loader zijn
      niet permanent en zijn bij de volgende boot niet meer
      aanwezig.</para>

    <para>Zodra het systeem opgestart is, kan &man.kenv.1; gebruikt
      worden om alle variabelen te bekijken.</para>

    <para>De schrijfwijze voor <filename>/boot/device.hints</filename>
      is één variabele per regel.  Het standaard hekje
      <quote>#</quote> wordtd gebruikt voor commentaar.  Regels worden
      als volgt opgebouwd:</para>

    <screen><userinput>hint.driver.unit.keyword="<replaceable>waarde</replaceable>"</userinput></screen>

    <para>De syntaxis voor de Fase 3 bootloader is:</para>

    <screen><userinput>set hint.driver.unit.keyword=<replaceable>waarde</replaceable></userinput></screen>

    <para><literal>driver</literal> is de naam van het
      apparaatstuurprogramma, <literal>unit</literal> is het
      apparaatnummer van het stuurprogramma en
      <literal>keyword</literal> is het hint-sleutelwoord.  Dit
      sleutelwoord kan uit de volgende opties bestaan:</para>

    <itemizedlist>
      <listitem>
	<para><literal>at</literal>: beschrijft de bus waarop het
	  apparaat is aangesloten.</para>
      </listitem>

      <listitem>
	<para><literal>port</literal>: beschrijft het startadres van
	  de <acronym>I/O</acronym> die gebruikt wordt.</para>
      </listitem>

      <listitem>
	<para><literal>irq</literal>: beschrijft het interrupt request
	  nummer dat gebruikt wordt.</para>
      </listitem>

      <listitem>
	<para><literal>drq</literal>: beschrijft het DMA
	  kanaalnummer.</para>
      </listitem>

      <listitem>
	<para><literal>maddr</literal>: beschrijft het fysieke
	  geheugenadres dat gebruikt wordt door het apparaat.</para>
      </listitem>

      <listitem>
	<para><literal>flags</literal>: zet verschillende vlagbits voor
	  het apparaat.</para>
      </listitem>

      <listitem>
	<para><literal>disabled</literal>: is <literal>1</literal>
	  als het apparaat is uitgezet.</para>
      </listitem>
    </itemizedlist>

    <para>Apparaatstuurprogramma's kunnen hints die hier niet genoemd
      zijn accepteren (of eisen).  Zie hiervoor de betreffende
      handleiding: &man.device.hints.5;, &man.kenv.1;,
      &man.loader.conf.5; en &man.loader.8;.</para>
  </sect1>

  <sect1 id="boot-init">
    <title>Init: start van procesbesturing</title>

    <indexterm>
      <primary><command>init</command></primary>
    </indexterm>

    <para>Als de kernel klaar is met opstarten geeft die de besturing
      over aan het gebruikerproces &man.init.8;, te vinden in
      <filename>/sbin/init</filename> of de padnaam die staat
      is in de variabele <envar>init_path</envar> in
      <command>loader</command>.</para>

    <sect2 id="boot-autoreboot">
      <title>Automatische herstart</title>

      <para>De automatische herstart (<quote>Automatic Reboot
	  Sequence</quote>) controleert of de beschikbare
	bestandssystemen betrouwbaar zijn.  Als dat niet zo is en
	&man.fsck.8; kan de fouten niet repareren, dan brengt
	&man.init.8; het systeem terug naar <link
	  linkend="boot-singleuser">Single-user modus</link> voor de
	systeembeheerder, die het probleem dan directer kan
	aanpakken.</para>
    </sect2>

    <sect2 id="boot-singleuser">
      <title>Single-user modus</title>

      <indexterm><primary>single-user modus</primary></indexterm>

      <indexterm><primary>console</primary></indexterm>

      <para>Deze modus kan bereikt worden vanuit de <link
	  linkend="boot-autoreboot">Automatische herstart</link> of
	door de gebruiker die opstart met de optie <option>-s</option>
	of door de variabele <envar>boot_single</envar> aan te zetten
	in de <command>loader</command>.</para>

      <para>Het kan ook door &man.shutdown.8; te starten zonder
	de optie reboot (<option>-r</option>) of halt
	(<option>-h</option>), vanuit <link
	  linkend="boot-multiuser">Multi-user modus</link>.</para>

      <para>Als het systeem <literal>console</literal> op
	<literal>insecure</literal> staat in
	<filename>/etc/ttys</filename>, dan vraagt het systeem om het
	<username>root</username> wachtwoord voordat de single-user
	modus wordt gestart.</para>

      <example id="boot-insecure-console">
	<title>Onveilige console in
	  <filename>/etc/ttys</filename></title>

	<programlisting># name  getty                           type    status          comments
#
# Als de console op "insecure" staat vraagt init om het root wachtwoord
# voor het naar single-user modus gaan.
console none                            unknown off insecure</programlisting>
      </example>

      <note>
	<para>Met een <literal>insecure</literal> console wordt bedoeld
	  dat de fysieke beveiliging van het console niet goed is en
	  dat alleen personen die het <username>root</username>
	  wachtwoord kennen naar single-user modus mogen gaan.  Het
	  betekent niet dat het console onveilig wordt ingesteld.  Als
	  het veilig moet, wordt er dus voor
	  <literal>insecure</literal> gekozen en niet voor
	  <literal>secure</literal>.</para>
      </note>
    </sect2>

    <sect2 id="boot-multiuser">
      <title>Multi-user modus</title>

      <indexterm><primary>multi-user modus</primary></indexterm>

      <para>Als &man.init.8; vindt dat het bestandssysteem
	in orde is of zodra de gebruiker klaar is in <link
	  linkend="boot-singleuser">Single-user modus</link>, gaat het
	systeem over naar multi-user modus, waarin het de resource
	configuration (broninstellingen) van het systeem start.</para>

      <sect3 id="boot-rc">
	<title>Bronconfiguratie (rc)</title>

	<indexterm><primary>rc-bestanden</primary></indexterm>

	<para>Het broninstellingensysteem leest de
	  standaard instellingen in vanuit
	  <filename>/etc/defaults/rc.conf</filename> en
	  specifieke systeemdetails uit
	  <filename>/etc/rc.conf</filename> en gaat daarna door
	  met het mounten van de bestandssystemen voor het systeem
	  die genoemd worden in <filename>/etc/fstab</filename>,
	  start netwerkdiensten, start andere systeemdaemons en start
	  als laatste de opstartscripts van lokaal
	  geïnstalleerde packages.</para>

	<para>&man.rc.8; is een goede referentie voor het
	  broninstellingensysteem.  Dat zijn de scripts zelf
	  natuurlijk ook.</para>
      </sect3>
    </sect2>
  </sect1>

  <sect1 id="boot-shutdown">
    <title>Afsluitvolgorde</title>

    <indexterm>
      <primary><command>shutdown</command></primary>
    </indexterm>

    <para>Bij een gecontroleerde shutdown met &man.shutdown.8; probeert
      &man.init.8; om het script <filename>/etc/rc.shutdown</filename>
      te starten en daarna aan alle processen het
      <literal>TERM</literal> signaal te sturen en eventueel het
      <literal>KILL</literal> signaal aan alle processen die niet op
      tijd zijn gestopt.</para>

    <para>Om een &os; machine uit te zetten die energiebeheer
      ondersteund, kan het commando <command>shutdown -p now</command>
      gegeven worden om gelijk de stroom af te schakelen.  Als er
      herstart moet worden dan kan <command>shutdown -r now</command>
      gebruikt worden.  De gebruiker die dit uitvoert moet wel
      <username>root</username> zijn of lid van de
      <groupname>operator</groupname> groep om &man.shutdown.8; te
      mogen gebruiken.  &man.halt.8; en &man.reboot.8; kunnen ook
      gebruikt worden.  Meer informatie is in de betreffende
      handleidingpagina's te vinden.</para>

    <note>
      <para>Voor energiebeheer is &man.acpi.4; ondersteuning in de
	kernel nodig of via een module die ingeladen moet worden.</para>
    </note>
  </sect1>
</chapter>