File: Kernel-HOWTO.pl.html

package info (click to toggle)
doc-linux-pl 2002.06.14-2
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, jessie, jessie-kfreebsd, lenny, squeeze, wheezy
  • size: 6,900 kB
  • ctags: 968
  • sloc: makefile: 66
file content (1447 lines) | stat: -rw-r--r-- 63,192 bytes parent folder | download | duplicates (5)
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
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<META HTTP-EQUIV="content-type" content="text/html; charset=iso-8859-2">
<TITLE>Opis jdra Linux-a, jego instalacji itp.</TITLE>


</HEAD>
<BODY>
<H1>Opis jdra Linux-a, jego instalacji itp.<BR></H1>

<H2>Autor: Brian Ward,
<A HREF="mailto:bri@cs.uchicago.edu">bri@cs.uchicago.edu</A><BR>
v1.0, 5 Czerwca 1999<BR>
<B>Wersja polska: Bartosz Maruszewski
<A HREF="mailto:B.Maruszewski@jtz.org.pl">B.Maruszewski@jtz.org.pl</A><BR></B>
v3.0, 7 Sierpnia 1999</H2>
<P><HR>
<EM>Dokument ten jest szczegowym przewodnikiem do konfiguracji, kompilacji
i odnawiania jdra.
Zawarte s tutaj take sposoby rozwizywania problemw zwizanych z
jdrem dla
systemw na procesorach rodziny ix86.
Zosta napisany w standardzie ISO-8859-2.
Orygina tego dokumentu znajduje si pod adresem
<A HREF="ftp://ftp.icm.edu.pl/pub/Linux/sunsite/docs/HOWTO/">ftp.icm.edu.pl</A>
w katalogu <CODE>/pub/Linux/sunsite/docs/HOWTO</CODE>.
Nowsza wersja zawiera uaktualnione wskazania na katalog zawierajcy jdra na
ftp.icm.edu.pl</EM>
<HR>
<H2><A NAME="s1">1. Wprowadzenie.</A></H2>

<P>Czy powiniene to czyta? Hmm... zobaczmy czy masz nastpujce problemy:
<P>
<P>
<UL>
<LI> "Ten wredny pakiet mwi, e potrzebuje jdra w wersji 2.8.193 a
ja cigle mam 1.0.9!"</LI>
<LI> W jednym z nowszych wersji jdra jest nowy sterownik, ktry po
prostu MUSISZ mie.</LI>
<LI> W ogle nie masz pojcia jak skompilowa jdro</LI>
<LI> "Czy to w README to <I>naprawd</I> wszystko?"</LI>
<LI> Usiade, sprbowae i nie wyszo</LI>
<LI> Potrzebujesz czego, co mgby da tym wszystkim, ktrzy cigle ci
prosz ebys im zainstalowa jdro.</LI>
</UL>
<P>
<H2>1.1 Przeczytaj to najpierw! (Nie artuj)</H2>

<P>
<P>Niektre z przykadw zawartych tutaj zakadaj, e masz
zainstalowane takie programy jak: <CODE>GNU tar, find i xargs</CODE>.
S one waciwie standardowe; nie powinno by z tym problemw.
Zakada si take, e znasz struktur twojego systemu plikw.
Jeli nie znasz to koniecznie trzymaj w rku wydruk tego co
pojawia si na ekranie po poleceniu <CODE>mount</CODE>, albo wydruk
zawartoci pliku <CODE>/etc/fstab</CODE> jeli umiesz go przeczyta.
Informacja ta jest wana, i nie zmieni si dopki nie zmienisz
ukadu partycji na twoim dysku.
<P>Najnowsz wersj jdra, dostpn podczas pisania tego dokumentu,
bya wersja 2.2.9. To znaczy, e wszystko w tym dokumencie odnosi
si do tej wanie wersji. Chocia staram si napisa ten dokument
tak niezalenym jak si tylko da, jdro jest cigle rozwijane,
wic jeli dostaniesz nowsz wersj, nieuniknionym jest, e bd
jakie rnice. Ale to wci nie powinno stanowi duego problemu,
co najwyej mog wystpi jakie drobne rnice.
<P>S dwie oglne wersje rde jdra Linux-a, stabilne i testowe.
Stabilne wersje zaczynaj si od wersji 1.0.x i s numerowane
liczbami parzystymi (chodzi o liczb drug); 1.0.x, 1.2.x, 2.0.x
jak rwnie 2.2.x.
Wersje te s uwaane za najbardziej stabilne, wolne od dziur i
bdw podczas ich dystrybucji. Jdra testowe (
2.1.x, 2.3.x) s jdrami przeznaczonymi dla tych, ktrzy chc je
testowa, wprowadza jakie zmiany, moe nawet wsppracowa przy
tworzeniu go. W wersjach tych moe byc peno bdw, mog si
zawiesza chocia to wcale nie jest regu i niekoniecznie musi
si dzia. Jakby co, to zostae ostrzeony.
<P>
<H2>1.2 Sowo na temat wygldu.</H2>

<P>
<P><CODE>Tekst, ktry tak wyglda</CODE> jest albo czym co pojawi si na
ekranie, nazw pliku, albo czym co moe by bezporednio wpisane
z klawiatury (np. polecenie, czy jego opcje). Jeli czytasz ten
dokument jako zwyky plik tekstowy to tekst ten niczym si nie
rni.
<P>
<H2><A NAME="s2">2. Wane pytania i odpowiedzi na nie.</A></H2>

<P>
<P>
<H2>2.1 Co to jdro w ogle robi?</H2>

<P>
<P>Jdro w systemach typu Unix odgrywa rol porednika midzy twoimi
programami, a twoim sprztem. Najpierw zajmuje si zarzdzaniem
pamici dla wszystkich uruchomionych programw (procesw), i dba o
to, aby wszystkie one dostay rwn ilo czasu procesora. (albo
nierwn jeli tak zadasz). Dodatkowo, posiada miy interfejs
dla programw chccych "rozmawia" z twoim sprztem.
<P>Jdro spenia oczywicie o wiele wicej funkcji, ale to s
najwaniejsze, ktre naley zna.
<P>
<H2>2.2 Dlaczego miabym chcie odnowi swoje jdro?</H2>

<P>
<P>Nowsze jdra z reguy maj wieksz ilo sterownikw, czyli mog
obsuy wiksz ilo urzdze, mog mie ulepszone algorytmy
zarzdzania procesami, mog dziaa szybciej ni starsze wersje,
mog by bardziej stabilne, maj take wiele poprawek bdw,
ktre zdarzyy si w wersjach wczeniejszych. Wikszo ludzi
odnawia swoje jdra poniewa chc wikszej iloci sterownikw i
naprawionych bdw.
<P>
<H2>2.3 Jaki sprzt obsuguj nowsze wersje jdra?</H2>

<P>
<P>Przeczytaj Hardware-HOWTO. Moesz take zajrze do pliku
<CODE>config.in</CODE> w rdach jdra. Albo po prostu dowiedzie si
samemu jak napiszesz <CODE>make config</CODE>. W poleceniu tym znajd
si wszystkie obsugiwane przez dane jdro urzdzenie. Ale nie bd
to wszystkie urzdzenia, ktre obsuguje Linux. Wiele popularnych
sterownikw (jak np. sterownik do PCMCIA i niektre sterowniki do
tam) s rozprowadzane osobno jako adowalne moduy.
<P>
<H2>2.4 Jakiej wersji gcc i libc potrzebuj?</H2>

<P>
<P>Aby zobaczy jak masz wersj napisz <CODE>gcc -v</CODE>.
Linus zaleca zawsze w pliku <CODE>README</CODE> wersj gcc, ktra
powinna by uyta do kompilacji danego jdra. Jeli nie masz tej
wersji, dokumentacja w zalecanej wersji gcc powinna powiedzie ci
czy musisz odnowi libc. Nie jest to trudne, ale wane jest, aby
postpowa zgodnie ze wskazwkami.
<P>
<H2>2.5 Co to jest adowalny modu?</H2>

<P>
<P>S to czci jdra, ktre nie s zawarte bezporednio w nim.
Kompiluje si je osobno i mona je umieci a nastpnie usun z
uruchomionego jdra prawie zawsze. Z powodu tej elastycznoci
jest to teraz preferowana metoda pisania niektrych fragmentw
jdra. Wiele popularnych sterownikw urzdze to adowalne moduy.
<P>
<H2>2.6 Ile potrzebuj miejsca na dysku?</H2>

<P>
<P>To zaley od twojej konkretnej konfiguracji. Skompresowane rda
zajmuj mniej wicej 14 MB. Po rozkompresowaniu, skonfigurowaniu i
kompilacji zajmuje kolejne 67 MB.
<P>
<H2>2.7 Jak dugo zajmuje kompilacja?</H2>

<P>
<P>Na nowszych maszynach zabiera to NAPRAWD mniej czasu ni na
starych. Np. na AMD K6-2/300 z szybkim dyskiem kompilacja wersji
2.2.x moe zaj okoo 4 minut podczas gdy kompilacja tego samego
jdra na starym Pentium, 486 czy 386 moe trwa nawet godziny, czy
dni ...
<P>Jeli to ci martwi, a masz w pobliu szybszy komputer, to
skompiluj jdra na nim (zakadajc, e ustawisz poprawne parametry,
e twoje narzdzia systemowe s w odpowiednich wersjach itd), a
potem przesnie skompilowane jdro (obraz) na wolniejszy komputer.
<P>
<H2><A NAME="s3">3. Jak waciwie skonfigurowa to jdro?</A></H2>

<P>
<P>
<H2>3.1 Zdobywanie rda.</H2>

<P>
<P>rda moesz scign np. z
<CODE>ftp.kernel.org:/pub/linux/kernel</CODE> - jest to gwny
serwer dla jdra Linux-a, albo z jakiej bliszej ci kopii
tego serwera. W Polsce najlepszym miejscem jest
<A HREF="ftp://ftp.icm.edu.pl:/pub/Linux/kernel">ftp.icm.edu.pl/pub/Linux/kernel</A>. Z reguy nazwa
jdra to <CODE>linux-x.y.z.tar.gz</CODE>, gdzie x.y.z jest numerem
wersji. Tak jak ju wspomniaem, wersje z nieparzyst drug liczb
to wersje rozwojowe i mog by niestabilne. Obok wersji
<CODE>.tar.gz</CODE> s jeszcze wersje <CODE>.bz2</CODE>, ktre s mniejsze i
zabieraj mniej czasu do cignicia.
<P>Najlepiej uywa adresu <CODE>ftp.xx.kernel.org</CODE>, gdzie xx to kod
twojego kraju. Np. ftp.pl.kernel.org dla Polski.
<P>Jeli szukasz jakich oglnych informacji o Linux-ie, to zajrzyj
pod adres 
<A HREF="http://www.linux.org">www.linux.org</A>. W
Polsce take jest 
<A HREF="http://www.linux.org.pl/">Polska Grupa Uytkownikw Linux-a</A>.
<P>
<P>
<H2>3.2 Rozpakowywanie rda.</H2>

<P>
<P>Zaloguj si jako <CODE>root</CODE> albo uyj polecenia <CODE>su</CODE> i
zmie katalog na /usr/src <CODE>cd /usr/src</CODE>.
Jeli zainstalowae rda do jdra podczas instalacji Linux-a w
katalogu tym znajdziesz doczenie symboliczne <CODE>linux</CODE>,
ktre bdzie wskazywao na katalog <CODE>linux-x.y.z</CODE> ze
rdami, ktre wtedy zainstalowae. Jeli chcesz zachowa stare
rda to usu doczenie <CODE>linux</CODE> poleceniem <CODE>rm linux</CODE>.
<P>Jeli takiego doczenia nie ma, a jest katalog linux, to (jeli
chcesz zachowa rda starej wersji jdra) zmie nazw linux na
linux-x.y.z, gdzie x.y.z jest wersj tych rde. (zajrzyj do
pliku <CODE>linux/Makefile</CODE> - w pierwszych trzech linijkach
znajdziesz wersj rde znajdujcych si w tym katalogu).
Jeli chcesz moesz skasowa cay katalog linux i pozby si
starych rde.
W kadym razie upewnij si, e nie ma katlogu <CODE>linux</CODE> przed
rozpakowanie rde.
<P>Teraz w katalogu <CODE>/usr/src</CODE> rozpakuj rda poleceniem
<CODE>tar zxpvf linux-x.y.z.tar.gz</CODE>, jeli na kocu nazwy pliku
ze rdami nie ma <CODE>.gz</CODE> to uyj polecenia <CODE>tar xpvf
linux-x.y.z</CODE>. Zawarto archiwum wywietli si na ekranie.
Kiedy rozpakowywanie si skoczy pojawi si nowy katalog <CODE>linux</CODE>.
Dobrym pomysem byoby w tym momencie zmieni jego nazw na
<CODE>linux-x.y.z</CODE> i zrobi symboliczne doczenie do tego
katalogu o nazwie <CODE>linux</CODE>. Aby to zrobi uyj polecenia
<CODE>mv linux linux-x.y.z; ln -s linux-x.y.z linux</CODE>. Teraz
zmie biecy katalog na <CODE>linux</CODE> i przejrzyj plik
<CODE>README</CODE>. Znajdziesz tam sekcj o nazwie <CODE>INSTALLING the
kernel</CODE>. Przeczytaj j uwanie i wypenij wszystkie polecenia,
o ktrych tam mowa.
<P>Jeli cigne wersj <CODE>.bz2</CODE> i masz program bzip2 (na jego
temat mona przeczyta pod adresem 
<A HREF="http://www.muraroa.demon.co.uk/">www.muraroa.demon.co.uk/</A>), to zrb tak:
<P>
<PRE>
   bzcat2 linux-x.y.z.tar.bz2 | tar xvf -
</PRE>
<P>
<H2>3.3 Konfiguracja jdra.</H2>

<P>
<P>UWAGA: Niektre z uwag zawartych tutaj s podobne do tych z pliku
Linusa <CODE>README</CODE>.
<P>Polecenie <CODE>make config</CODE> wydane w katalogu
<CODE>/usr/src/linux</CODE> uruchamia skrypt konfiguracyjny, ktry
zadaje ci wiele pyta. Wymaga on zainstalowanego shella, wic
sprawd czy go masz. (<CODE>/bin/bash, /bin/sh lub $BASH</CODE>)
<P>W wersjach 2.0.x i nowszych istniej jeszcze dwa sposoby na
konfiguracj: <CODE>make menuconfig</CODE> jak sama nazwa wskazuje
jest to konfiguracja za pomoc menu tekstowego.  Mona te wyda
polecenie <CODE>make xconfig</CODE> co spowoduje uruchomienie miej
konfiguracji pod Xwindow. Pierwszy sposb wymaga zainstalowanej
biblioteki (n)curses. Ta druga wymaga zainstalowanej biblioteki
Tcl/Tk. Obie s dostarczane wraz ze standardowymi dystrybucjami.
Te sposoby maj podstawow zalet: jeli si pomylisz, to atwo
jest wrci i poprawi bd.
<P>Mona teraz odpowiada na kolejne pytania ukazujce si na
ekranie. Odpowiada si zwykle literami "y" - tak i "n" - nie. Przy
sterownikach jest jeszcze dodatkowa opcja "m" - oznacza
skonfigurowanie go jako adowalny modu. Bardziej komicznym
sposobem wyjanienia tej litery jest "moe". Niektre z bardziej
oczywistych czy nie-krytycznych opcji nie zostay tutaj opisane;
zobacz w sekcji "Inne opcje konfiguracji." W <CODE>make menuconfig</CODE>
spacj zaznacza si dan opcj.
<P>W wersjach 2.0.x i nowszych jest <I>polecenie</I> "?", ktra umoliwia
wywietlenie krtkiej pomocy na temat biecej opcji. Informacja ta
jest prawdopodobnie najwiesza. Oto lista waniejszych opcji, do
jakiej hierarchii nale i krtki opis.
<P>
<H3>Kernel math emulation (Processor type and features)</H3>

<P>
<P>Pytanie to dotyczy emulacji koprocesora przez jdro.
Jeli nie masz koprocesora matematycznego (masz czysty 386 albo
486SX), musisz tu odpowiedzie "y". Jeli masz koprocesor a
odpowiesz "y", nie martw si -- koprocesor bdzie uyty, a
emulacja ignorowana. W poowie przypadkw w tej chwili odpowiedzi
bdzie nie, ale nie martw si jeli przypadkowo odpowiesz tak;
jeli nie trzeba, to nie bdzie to uyte.
<P>
<H3>Enhanced (MFM/RLL) disk and IDE disk/cdrom support (Block Devices).</H3>

<P>
<P>Przypuszczalnie potrzebujesz tej obsugi. Opcja ta oznacza, e
jdro bdzie obsugiwa standardowe dyski do komputerw PC, ktre s
w posiadaniu wikszoci ludzi. Sterownik ten nie zawiera obsugi
dla dyskw SCSI, pytanie o to bdzie pniej w konfiguracji.
<P>Zostaniesz zapytany nastpnie o sterowniki "old disk-only" i "new
IDE". Wybierz jeden z nich; gwna rnica pomidzy nimi to taka,
e stary sterownik obsuguje tylko dwa dyski na pojedynczym
interfejsie, a nowy obsuguje drugi interfejs i napdy IDE/ATAPI
CD-ROM. Nowy sterownik jest o okoo 4 kB wikszy od starego i ma
by lepszy. To znaczy, e pomijajc mniejsz ilo bdw moe
dziaa bardziej wydajnie, szczeglnie jeli masz dysk typu EIDE.
<P>
<H3>Networking support (General Setup).</H3>

<P>
<P>Oglnie powiniene odpowiedzie "y" jeli twj komputer jest w
sieci takiej jak Internet, albo jeli chcesz uywa protokow
SLIP czy PPP, aby mie dostp do Internetu. Aczkolwiek wiele
pakietw (np. Xwindows) wymaga obsugi sieci nawet jeli twj
komputer nie jest podczony do adnej sieci; powiniene tu
odpowiedzie "y". Pniej, zostaniesz zapytany czy chcesz obsug
protokou TCP/IP; znowu, odpowiedz "y" jeli nie jeste
absolutnie pewien.
<P>
<H3>System V IPC (General Setup).</H3>

<P>
<P>Jedn z najlepszych definicji IPC (InterProcess Communication -
Komunikacja Pomidzy Procesami) znajduje si w glosariuszu w ksice
o Perlu. Nic wic dziwnego, e niektrzy programici piszcy w
Perlu wykorzystuj go do komunikacji midzy procesami, tak samo
jak wiele innych pakietw (DOOM - z tych najbardziej znanych ;) ),
wic odpowied "n" nie jest mdrym wyborem, o ile wiesz dokadnie
co robisz.
<P>
<H3>Processor family (Processor type and features).(w starszych wersjach: Use -m486 flag for 486-specific optimizations)</H3>

<P>
<P>Tradycyjnie, to wkompilowywao pewne optymalizacje dla konkretnego
procesora; jdra dziaay dobrze take na inncyh procesoarch, ale
byy one troche wiksze. W nowszych wersjach si ju tego nie
stosuje i powiniene odpowiedzie na jaki procesor rzeczywicie
kompilujesz jdro. Jdro skompilowane na 386 bdzie dziaa na
wszystkich procesorach.
<P>
<H3>SCSI support.</H3>

<P>
<P>Jeli masz urzdzenia SCSI odpowiedz "y". Zostaniesz nastpnie
zapytany o dalsze informacje, jak np.: obsuga CD-ROM-u,
dyskw i twojego adaptera. Zajrzyj do SCSI-HOWTO po wicej
szczegw.
<P>
<H3>Network device support.</H3>

<P>
<P>Jeli masz kart sieciow, albo chciaby uywa protokow SLIP,
PPP, albo kontrolera portu rwnolegego aby poczy si z Internetem
odpowiedz "y". Konfigurator spyta ci nastpnie o typ karty i
rodzaj protokou.
<P>
<H3>Filesystems.</H3>

<P>
<P>Skrypt konfiguracyjny pyta ci nastpnie o to, jakie systemy
plikw chcesz obsugiwa:
<P>Standard (minix) - Nowsze dystrybucje nie tworz tego systemu
plikw, a wielu ludzi go nie uywa, ale jednak uycie go mogoby
by dobrym pomysem, poniewa przydaje si on do odczytu dyskietek,
dla ktrych system ten jest mniej bolesny ni <CODE>ext2</CODE>.
<P>Second extended - To jest standardowy system plikw Linuxa. Prawie
na pewno masz jeden z nich i musisz odpowiedzie <CODE>y</CODE>.
<P>msdos - Jeli chcesz uywa swej partycji dos-owej, albo montowa
dyskietki sformatowane pod ten system, odpowiedz "y".
<P>Dostpne s jeszcze rne inne systemy plikw z innych systemw
operacyjnych.
<P>/proc - (Pomys jak mniemam z laboratorium Bella). Na
dysku nie tworzy si systemu plikw <CODE>proc</CODE>. To jest system
plikw, ktry suy do porozumiewania si z jdrem i procesami.
Wiele programw wywietlajcych procesy, jak np. <CODE>ps</CODE> uywa
tego systemu plikw. Sprbuj czasami wykona polecenie <CODE>cat
/proc/meminfo</CODE> albo <CODE>cat /proc/devices</CODE>.
Niektre powoki (w szczeglnoci rc) uywaj <CODE>/proc/self/fd</CODE>
(znane jako <CODE>/dev/fd</CODE> na innych systemach) do funkcji I/O.
Powiniene prawie na pewno odpowiedzie tutaj "y". Wiele wanych
narzdzi do Linux-a zaley od tego systemu plikw.
<P>NFS - Jeli twj komputer jest w sieci i chcesz uywa systemw
plikw, ktre znajduj si na innych systemach z NFS, odpowiedz "y".
<P>ISO9660 - Ten system plikw jest na przewaajcej iloci
CD-ROM-w. Jeli wic chcesz uywa CD-ROM-u odpowiedz "y".
<P>
<H3>Ale ja nie wiem jakiego systemu plikw potrzebuj!</H3>

<P>
<P>No dobra, napisz <CODE>mount</CODE>. Powinno si wywietli co jak:
<P>
<PRE>
    blah# mount
    /dev/hda1 on / type ext2 (defaults)
    /dev/hda3 on /usr type ext2 (defaults)
    none on /proc type proc (defaults)
    /dev/fd0 on /mnt type msdos (defaults)
</PRE>
<P>Spjrz na kad linijk; sowo obok <CODE>type</CODE> jest typem
systemu plikw. W tym przypadku / i /usr s typu <I>second extended</I>,
uywany jest take <I>proc</I> i jest take zamontowana dyskietka
z systemem plikw msdos (tfu!).
<P>Moesz sprbowa te <CODE>cat /proc/filesystems</CODE> jeli masz
system <I>proc</I>. Wywietli ci to systemy plikw wkompilowane
w aktulanie uywane jdro.
<P>Konfiguracja rzadko uywanych i nie krytycznych systemw plikw
moe powodowa niepotrzebne powikszanie si jdra; poczytaj
sekcj o moduach jak tego unikn i sekcj "Puapki", aby
dowiedzie si dlaczego powikszajce si jdro nie jest podane.
<P>
<H3>Character devices.</H3>

<P>
<P>Tutaj doczasz sterowniki dla drukarki (rwnolegej, znaczy si),
myszy szeregowej, myszy PS/2 (wiele Notebookw uywa protokou
PS/2 dla swoich wbudowanych myszy), niektre sterowniki do tam, i
inne tego typu "znakowe" urzdzenia. Odpowiedz "y" kiedy znajdziesz
urzdzenie, ktrego uywasz.
<P>UWAGA: gpm to program, ktry pozwala na uycie myszy poza
Xwindow i na kopiowanie tekstu pomidzy wirtualnymi konsolami.
Jest to cakiem przyjemne jeli masz zwyk myszk szeregow,
poniewa koegzystuje ona z Xwindows, ale musisz ucieka si do
specjalnych sztuczek dla innych.
<P>
<H3>Sound.</H3>

<P>
<P>Jeli czujesz wielk potrzeb usyszenia dwikw wydobywajcych
si z tej maszynerii to odpowiedz "y" i napisz wszystko co wiesz
na temat szczegw twojej karty dwikowej i
skompiluje sterownik. (Uwaga o konfiguracji kart dwikowych:
jeli zapyta ci czy chcesz zainstalowa pen wersj sterownika,
moesz odpowiedzie "n" i zaoszczdzi troch pamici wybierajc
tylko to co jest ci potrzebne.)
<P>Jeli mylisz powanie o karcie dwikowej, to zajrzyj na dwie
strony darmowych sterownikw:
<P>
<UL>
<LI>
<A HREF="http://www.linux.org.uk/OSS/">www.linux.org.uk/OSS/</A></LI>
<LI>
<A HREF="http://www.opensound.com/">www.opensound.com/</A></LI>
</UL>
<P>
<H3>Inne opcje konfiguracji.</H3>

<P>
<P>Nie wszystkie opcje konfiguracyjne s tu wymienione poniewa
zmieniaj si zbyt czsto lub s oczywiste (na przykad: obsuga
3Com 3C509). Jest cakiem spora lista wszystkich opcji wraz ze
sposobem umieszczenia jej w skrypcie <CODE>Configure</CODE>. Zajmuje si t
list Axel Boldt (
<A HREF="imailto:boldt@math.ucsb.edu">boldt@math.ucsb.edu</A>). Mona go take zobaczy jako jeden
duy plik w dystrybucji jdra <CODE>Documentation/Configure.help</CODE>
od wersji 2.0.
<P>[Od tumacza] Plik ten dla chyba dwch wersji jdra jest
przetumaczony na jzyk Polski. Zajrzyj pod adres 
<A HREF="http://www.jtz.org.pl/inne-polskie.html">www.jtz.org.pl/inne-polskie.html</A><P>
<H3>Kernel hacking.</H3>

<P>
<P>Wzite z pliku README napisanego przez Linusa:
opcja "kernel hacking" daje w rezultacie wiksze i wolniejsze
jdro, moe nawet uczyni je mniej stabilnym, przez konfigurowanie
niektrych procedur, tak aby aktywnie prboway ama ze algorytmy i 
eby mona byo znale problemy jdra. (kmalloc()). Tak wic powiniene
odpowiedzie tutaj "n" jeli chcesz mie normalnie dziaajce i
stabilne jdro.
<P>
<H2>3.4 I co teraz? (Makefile)</H2>

<P>
<P>Jak ju skoczysz konfiguracj pojawi
si na ekranie wiadomo, e jdro zostao skonfigurowane i e
naley sprawdzi <CODE>top-level Makefile</CODE> dla dodatkowej
konfiguracji.
<P>Ten <CODE>top-level Makefile</CODE> to plik o nazwie Makefile w katalogu
<CODE>/usr/src/linux</CODE>. Zajrzyj tam. Przypuszczalnie nie bdziesz
tam nic zmienia, ale spojrze nie boli :). Jak ju zainstalujesz
nowe jdro moesz zmieni jego opcje przy pomocy narzdzia
<CODE>rdev</CODE>. Jeli czujesz si zagubiony patrzc na ten plik, to
nie przejmuj si nim.
<P>
<H2><A NAME="s4">4. Kompilacja jdra.</A></H2>

<P>
<P>
<H2>4.1 Czyszczenie i zalenoci.</H2>

<P>
<P>Kiedy skrypt konfiguracyjny si skoczy kae ci napisa <CODE>make
dep</CODE> i (przypuszczalnie) <CODE>make clean</CODE>. Tak wic
zaczynamy od <CODE>make dep</CODE>.  Jest to pewne zabezpieczenie si,
ktre sprawdza rne zalenoci, jak na przykad: czy pliki
nagwkowe s na swoich miejscach. Nie zajmuje to wiele czasu, no
chyba, e twj komputer jest naprawd wolny.
<P>W starszych wersjach powiniene jeszcze wyda polecenie <CODE>make
clean</CODE>. To usuwa pozostaoci po starej kompilacji jdra
(pliki objektowe itp). <B>Nie zapomnij</B> tego kroku !!!
<P>
<H2>4.2 Kompilacja gwna.</H2>

<P>
<P>Po czyszczeniu i sprawdzeniu zalenoci moesz wpisa <CODE>make bzImage</CODE>
lub <CODE>make bzdisk</CODE> (to jest ta cz, ktra zabiera tyle
czasu). <CODE>make bzImage</CODE> skompiluje jdro i zostawi je w pliku
<CODE>/usr/src/linux/arch/i386/boot/bzImage</CODE> wrd innych rzeczy.
To jest nowe skompresowane jdro. <CODE>make bzdisk</CODE> robi to samo,
z t rnic, e umieszcza plik <CODE>bzImage</CODE> na dyskietce w
stacji A:, ktr mam nadziej woysz na czas do stacji :). (ten
czas to sam koniec kompilacji, ale na wszelki wypadek radz woy
od razu, bo potem mona zapomnie)
<CODE>make bzdisk</CODE> to dobry sposb na testowanie nowego jdra;
jeli co pjdzie nie tak, po prostu wyjmujesz dyskietk ze stacji,
resetujesz i po krzyku. Moe to by take pomocne jeli
przypadkowo usuniesz jdro z dysku. (radz uwaa na to co si robi
w katalogu gwnym a szczeglnie w katalogu <CODE>/boot</CODE>). Moesz
jej take uy do instalacji innych systemw, poniewa wystarczy
przegra zawarto tej dyskietki na inn.
<P>Wszystkie, nawet te w poowie sensowne, jdra s skompresowane, z
powodu literek "bz" na pocztku. Skompresowane jdro odkompresowuje
si automatycznie w czasie wykonywania.
<P>W starszych jdrach nie ma opcji <CODE>bzImage</CODE>. Byo to po prostu
<CODE>zImage</CODE>. Opcja ta jest wci dostpna, jednak biorc pod uwag
obecne rozmiary jdra nie poleca si tego sposobu kompresji.
<P>
<H2>4.3 Inne parametry dla "make" przy kompilowaniu jdra.</H2>

<P>
<P><CODE>make mrproper</CODE> spowoduje dokadniejsze wyczyszczenie.
Czasem jest to potrzebne; moesz to robi przy instalacji
kadej aty (patch). <CODE>make mrproper</CODE> skasuje take twj
plik z biec konfiguracj, wic moesz sobie zrobi kopi
tego pliku (<CODE>.config</CODE>).
<P><CODE>make oldconfig</CODE> sprbuje skonfigurowa jdro na podstawie
starego pliku konfiguracyjnego; przejdzie za ciebie przez proces
konfiguracji (make config). Jeli jeszcze nigdy przedtem nie
kompilowae jdra lub nie masz starego pliku konfiguracyjnego
wtedy przypuszczalnie nie powiniene tego robi, bo bdziesz
chcia zmieni konfiguracj domyln.
<P>Przeczytaj sekcj o moduach na temat szczegw dotyczcych
<CODE>make modules</CODE>.
<P>
<H2>4.4 Instalacja jdra.</H2>

<P>
<P>Jeli masz ju nowe jdra i wydaje ci si, e ono dziaa tak jak
chciae, czas aby je zainstalowa. Wikszo ludzi uywa do tego
celu LILO (Linux Loader). <CODE>make bzlilo</CODE> zainstaluje jdro,
uruchomi lilo, aby odwiey informacje i przygotuje wszystko, aby
zresetowa i zaadowa nowe jdro. <B>ALE TYLKO</B> w przypadku,
gdy LILO jest skonfigurowane nastpujco:
jdro to <CODE>/vmlinuz</CODE>, lilo jest w <CODE>/sbin</CODE>, a twj
plik konfiguracyjny od lilo to <CODE>/etc/lilo.conf</CODE> i zgadza
si z tym co jest powyej.
<P>W innym przypadku musisz uy bezporednio polecenia <CODE>lilo</CODE>.
Jest to pakiet cakiem prosty do zainstalowania i uywania, ale ma
tendencj do zaamywania ludzi swoim plikiem konfiguracyjnym.
Zajrzyj do pliku <CODE>/etc/lilo/config</CODE> - w starszych wersjach;
lub <CODE>/etc/lilo.conf</CODE> - w nowszych wersjach, i sprawd
biece ustawienia. Plik ten wyglda tak:
<P>
<PRE>
    image = /vmlinuz
        label = Linux
        root = /dev/hda1
        ...
</PRE>
<P><CODE>image =</CODE> odnosi si do aktualnej wersji zainstalowanego
jdra. Wikszo uywa nazwy <CODE>/vmlinuz</CODE>. Ale rwnie dobrze
moe to by nazwa xxx, jdro, czy pliczek (nie jestem pewien co
do polskich liter, ale zawsze mona poeksperymentowa :) )
<CODE>label =</CODE> uywane jest przez LILO, aby dowiedzie si jaki
system lub jdro zaadowa, a <CODE>root =</CODE> jest katalogiem
gwnym danego systemu. Zrb kopi jdra, ktrego teraz uywasz i
skopiuj nowo zrobione jdro na miejsce starego (czyli napisz
<CODE>cp bzImage /vmlinuz</CODE> jeli uywasz nazwy vmlinuz i jeste w
katalogu <CODE>/usr/src/linux/arch/i386/boot</CODE>. Potem uruchom
LILO - w nowszych wersjach po prostu uruchamiasz <CODE>lilo</CODE>; w
starszych moe bdziesz musia uruchomi <CODE>/etc/lilo/install</CODE>
albo nawet <CODE>/etc/lilo/lilo -C /etc/lilo/config</CODE>.
<P>Jeli chcesz wiedzie wicej na temat konfiguracji LILO, albo nie
masz LILO, zdobd najnowsz wersj i poczytaj dokumentacj.
<P>Aby zaadowa jedn ze starszych wersji jdra, ktre mam nadziej
zachowae :) skopiuj linie od <CODE>image = xxx</CODE> w pliku
konfiguracyjnym LILO na d pliku, zmie xxx na nazw twojego
zachowanego pliku (wraz z pen ciek). Zmie <CODE>label = zzz</CODE>
na np. <CODE>label = old-kernel</CODE> i uruchom ponownie <CODE>lilo</CODE>.
Moesz te wstawi lini <CODE>delay = x</CODE>, gdzie x jest iloci
dziesitnych czci sekundy, do pliku konfiguracyjnego LILO, aby
zatrzyma adowanie na okrelon ilo sekund i przerwa je np.
klawiszem SHIFT, a potem wpisa nazw ktr nadae starszej
wersji jdra (t <CODE>label =</CODE> z pliku konfiguracyjnego LILO, a
nie nazw pliku jdra) w razie gdyby stao si co nieprzyjemnego.
<P>
<H2><A NAME="s5">5. atanie jdra (patchowanie).</A></H2>

<P>
<P>
<H2>5.1 Zakadanie aty.</H2>

<P>
<P>Pakiety, ktre pozwalaj na odnowienie jdra to aty. Na przykad:
jeli masz wersj 1.1.45 i znajdziesz plik o nazwie <CODE>patch46.gz</CODE>
to znaczy, e moesz odnowi swoje jdro do wersji 1.1.46. Moesz
zrobi kopi rde, ktre masz (<CODE>make clean</CODE> a potem
<CODE>cd /usr/src; tar zcvf old-kernel.tar.gz linux</CODE>)
<P>Tak wic kontynuujc powyszy przykad zamy, e masz plik
<CODE>patch46.gz</CODE> w katalogu <CODE>/usr/src</CODE>. Bedc w katalogu
<CODE>/usr/src</CODE> wydaj polecenie <CODE>zcat pacth46.gz | patch -p0</CODE>
albo <CODE>patch -p0 &lt; patch46</CODE> jeli ata nie jest
skompresowana. Zobaczysz teraz troch cieek i nazw plikw
oraz komunikatw przelatujcych przez ekran, o tym co si udao a co
nie. Wszystko to przelatuje zbyt szybko, eby nady z
czytaniem, take waciwie nie wiesz czy si udao czy nie. Moesz
uy parametru <CODE>-s</CODE> do polecenia <CODE>patch</CODE>, aby
poinformowa je, eby wywietlao tylko komunikaty o bdach.  Aby
zobaczy czy co poszo nie tak, poszukaj plikw z rozszerzeniem
<CODE>.rej</CODE> w katalogu <CODE>/usr/src/linux</CODE>.  Niektre wersje
patch (starsze wersje, ktre mogy by skompilowane na gorszym
systemie plikw) zostawiaj bdy w plikach z rozszerzeniem
<CODE>#</CODE>. Moesz uy polecenia <CODE>find</CODE>, aby znale
te pliki:
<P>
<PRE>
      cd /usr/src/linux; find ./ -name '*.rej' -print
</PRE>
<P>Polecenie to wywietli wszystkie pliki z rozszerzeniem rej
znajdujce si w biecym katalogu i jego podkatalogach.
<P>Jeli wszystko poszo dobrze, wydaj teraz po kolei polecenia
<CODE>make clean, make config i make dep</CODE> tak jak opisano w
sekcjach 3 i 4.
<P>Do polecenia patch jest troch opcji. Jak ju wspomniaem,
<CODE>patch -s</CODE> spowoduje wywietlenie na ekran tylko wiadomoci
o bdach. Jeli trzymasz rda w innym katalogu ni
<CODE>/usr/src/linux</CODE>, polecenie <CODE>patch -p1</CODE> wydane w tym
katalogu, gdzie trzymasz rda zrobi wszystko bez bdw. Inne
opcje polcenia patch s dobrze opisane w podrczniku "man".
<P>
<H2>5.2 Jeli co pjdzie nie tak.</H2>

<P>
<P>(Uwaga: ta sekcja odnosi si w gwnej mierze do starszych wersji
jdra.)
<P>Najczstszym problemem byo to, e kiedy polecenie <CODE>patch</CODE>
modyfikowao plik <CODE>config.in</CODE> nie wyglda on tak jak
powinien, bo zmodyfikowae go, aby pasowa do twojego komputera.
Zostao to ju poprawione, ale w starszych wersjach bd ten
pozosta. Aby to naprawi, przeczytaj plik <CODE>config.in.rej</CODE>
i zobacz co pozostao z oryginalnej aty. Zmiany s zwykle
zaznaczane znakami + i - na pocztku linii. Spjrz na linie
otaczajce t zaznaczon i przypomnij sobie, czy byy one
ustawione na tak, czy na nie. Teraz w pliku <CODE>config.in</CODE> 
zmie "y" na "n" i "n" na "y" tam gdzie trzeba. Wydaj polecenie
<CODE>patch -p0 &lt; config.in.rej</CODE> a jeli poinformuje ci, e
si powiodo, wtedy moesz kontynuowa konfiguracj i kompilacj.
Plik <CODE>config.in.rej</CODE> pozostanie, ale moesz go skasowa.
<P>Jeli odkryjesz dalsze problemy, moge zainstalowa jak at
nie w kolejnoci. Jeli na ekranie pojawi si taka wiadomo:
<CODE>previously applied patch detected: Assume -R?</CODE> oznacza to,
e przypuszczalnie prbujesz naoy at o wersji mniejszej ni
rda twojego jdra. Jeli odpowiesz "y", polecenie patch
sprbuje zdegradowa twoj wersj, i najprzypuszcalnie si to nie
powiedzie, przez co bdziesz musia zdoby cakiem nowe rda.
(co w sumie wcale nie jest takim zym pomysem).
<P>Aby odinstalowa jak at uyj <CODE>patch -R</CODE> na oryginalnej.
<P>Jak ju si wszystko tak pomiesza, e nie bdziesz mg doj do
adu, to najlepszym sposobem jest zdoby nowe rda jdra i zacz
od nowa.
<P>
<H2>5.3 Pozbywanie si plikw ".orig".</H2>

<P>
<P>Po zaledwie kilku atach pliki <CODE>.orig</CODE> zaczynaj niebezpiecznie
rosn. Na przykad: usunicie plikw .orig z wersji 1.1.51, ktra
bya ostatnio czyszczona w wersji 1.1.48 spowodowao zwolnienie
ponad 500 kB dysku.
<P>
<PRE>
    find . -name '*.orig' -exec rm -f {} ';'
</PRE>
<P>Polecenie to spowoduje usunicie wszystkich plikw .orig z
biecego katalogu i jego podkatalogw.
<P>Wersje patch, ktre uywaj plikw .# zamiast plikw .rej,
uywaj tyldy (~) zamiast plikw .orig.
<P>S lepsze sposoby pozbycia si plikw .orig, ktre zale od
polecenia GNU <CODE>xargs</CODE>:
<P>
<PRE>
    find .  -name '*.orig' | xargs rm
</PRE>
<P>lub metoda cakiem bezpieczna ale troch "gona" (duo
komunikatwna ekranie):
<P>
<PRE>
    find . -name '*.orig' -print0 | xargs --null rm --
</PRE>
<P>
<H2>5.4 Inne aty.</H2>

<P>
<P>S jeszcze inne aty (tzw. niestandardowe), ni te ktre
dystrybuuje Linus. Jeli ich uyjesz aty Linusa mog nie dziaa
i bdziesz musia je albo odinstalowa, dopasowa rda albo at,
zainstalowa nowe rda, albo jaka kombinacja tego. Moe to by
troch frustrujce, wic jeli nie chcesz grzeba w rdach (z
moliwoci narobienia niezego bajzlu), odinstaluj niestandardowe
wersje at zanim zainstalujesz at Linusa, albo po prostu
zainstaluj nowe rda. Wtedy moesz zobaczy czy aty
niestandardowe wci dziaaj. Jeli nie to albo utkne ze
starym jdrem i bdziesz prbowa zmusi jako rdo albo at,
eby zacza dziaa, albo bdziesz czeka (pewnie baga) o now
at.
<P>Jak pospolite s te niestandardowe aty?<BR>
Przypuszczalnie o nich usyszysz. Ja uywaem aty "noblink" na
moich wirtualnych konsolach, bo nienawidz mrugajcego kursora. Ta
ata jest (a przynajmniej bya) czsto odnawiana dla nowszych
wersji jdra. Z wikszoci nowych sterownikw jako adowalne
moduy, chocia czstotliwo niestandardowych at znacznie spada.
<P>
<H2><A NAME="s6">6. Pakiety dodatkowe.</A></H2>

<P>
<P>Jdro Linux-a ma wiele zalet, ktre nie znajduj si w rdach. S
one rozprowadzane jako osobne pakiety. Niektre z tych najbardziej
popularnych s tu wymienione.
<P>
<H2>6.1 kbd</H2>

<P>
<P>Konsola Linux-owa ma chyba wicej zalet ni na to zasuguje.
Pomidzy nimi znajduj si takie jak: zmiana czcionek, zmiana
ukadu klawiszy, zmiana trybw wywietlania (w nowszych wersjach).
Pakiet <I>kbd</I> to programy, ktre pozwalaj uytkownikowi na
robienie tego wszystkiego plus wiele czcionek i ukadw klawiatur
dla prawie wszystkich klawiatur i jest on dostpny z tego samego
miejsca, gdzie znajduj si rda jdra.
<P>
<H2>6.2 util-linux</H2>

<P>
<P>Rik Faith (
<A HREF="mailto:faith@cs.unc.edu">faith@cs.unc.edu </A>) zoy razem obszern
kolekcj narzdzi do Linux-a, ktre dziwnym trafem nazywaj si
util-linux. Obecnie zajmuje si nimi Andries Brouwer
(
<A HREF="mailto:util-linux@math.uio.no">util-linux@math.uio.no </A>). Dostpne s one poprzez
anonimowe ftp z
<A HREF="ftp://ftp.icm.edu.pl:/pub/Linux/sunsite/system/misc">ftp.icm.edu.pl</A> w katalogu <CODE>/pub/Linux/sunsite/system/misc</CODE>.
Zawiera ona takie narzdzia jak: <CODE>setterm, rdev, czy
ctrlaltdel</CODE>, ktre s zwizane z jdrem. Jak Rik twierdzi,
<I>Nie instaluj tego zestawu bez zastanowienia</I>. Nie trzeba
instalowa caej zawartoci pakietu, mogoby to nawet spowodowa
powane problemy.
<P>
<H2>6.3 hdparm</H2>

<P>
<P>Jak wiszko pakietw, ten by at i dodatkiem dla jdra. aty
zostay z czasem zwizane na stae z jdrem, a ten program sta
si osobnym pakietem. W rkach niedowiadczonego uytkownika jest
on bardzo <B>niebezpieczny</B>. Wic nie uywaj go jeli nie
wiesz co robisz.
<P>
<H2>6.4 gpm</H2>

<P>
<P>gpm - general purpose mouse czyli, w do wolnym tumaczeniu :),
mysz o oglnym zastosowaniu. Program ten pozwala na przenoszenie
zawartoi pomidzy wirtualnymi konsolami i inne poyteczne rzeczy
jak np. tumaczenie protokow pomidzy rnymi typami myszek,
uywanie wielu myszek...
<P>
<P>
<H2><A NAME="s7">7. Niektre puapki.</A></H2>

<P>
<P>
<H2>7.1 make clean</H2>

<P>
<P>Jeli twoje nowe jdro zaczyna robi dziwne rzeczy po rutynowym
odnowieniu, przypuszczalnie zapomniae wyda polecenie <CODE>make clean</CODE>
przed kompilacj nowego jdra. Oznaki takie to moe by cokolwiek
od zawieszania si systemu bez powodu, przez dziwne problemy z
funkcajmi I/O, do limaczej szybkoci. Nie zapomnij take wyda
polecenia <CODE>make dep</CODE>.
<P>
<H2>7.2 Wielkie albo wolne jdro.</H2>

<P>
<P>Jeli twoje jadro zera ogromn ilo pamici, jest zbyt due,
albo po prostu kompiluje si w nieskoczono nawet jeli masz
swoje nowiutkie Quadbazillium-III/4400, najprawdopodobniej skonfigurowae
niepotrzebnie peno sterownikw. Jeli czego nie uywasz, to nie
konfiguruj, bo to naprawd zabiera niepotrzebnie pami.
Najbardziej oczywistym symptomem przy zbyt duym jdrze jest
bardzo czste swapowanie (jeli twj dysk cigle rzzi, a nie
jest jednym z tych starych orw Fujitsu, ktre brzmi jak
ldujcy odrzutowiec, przejrzyj konfiguracj swojego jdra).
<P>Moesz dowiedzie si ile pamici zabiera twoje jdro odejmujc
warto <CODE>total mem</CODE> z pliku <CODE>/proc/meminfo</CODE> albo z
polecenia <CODE>free</CODE> od cakowitej iloci pamici w twoim
komputerze.
<P>
<H2>7.3 Port rwnolegy nie dziaa/moja drukarka nie dziaa.</H2>

<P>
<P>Opcje ktre musisz wczy na PC-cie to: Najpierw w sekcji
&quot;General Setup&quot; wcz &quot;Parallel port
support&quot; oraz &quot;PC-style hardware&quot;. Nastpnie w
sekcji &quot;Character devices&quot; wcz &quot;Parallel
printer support&quot;.
<P>No i potem zostaj nazwy. W wersji 2.2 zastosowano inne nazwy ni w
starszych wersjach. Powodem tego jest, to e w starym jdrze miae
<CODE>lp1</CODE> a teraz jest to <CODE>lp0</CODE>. Spjrz do <CODE>dmesg</CODE> albo w
katalogu <CODE>/var/log/</CODE>.
<P>
<H2>7.4 Jdro si nie kompiluje.</H2>

<P>
<P>Jeli si rzeczywicie nie kompiluje, to pewnie jaka ata si nie
zainstalowaa poprawnie. Twoja wersja "gcc" moe take by
nie w porzdku. Albo pliki nagwkowe s skopane. Upewnij si
take czy symboliczne doczenie, o ktrych Linus pisze w README,
s poprawnie zrobione. W oglnoci jeli standardowe jdro si nie
kompiluje, to co powanego jest z systemem i niezbdna jest
ponowna instalacja niektrych narzdzi.
<P>W niektrych przypadkach "gcc" moe si wysypa z powodu
problemw sprztowych. Komunikaty w tym przypadku to: <CODE>xxx
exited with signal 15</CODE> i w oglnoci s one bardzo tajemnicze.
Pewnie bym o tym nie wspomina, gdyby nie to, e mi si to
zdayo - miaem kiedy wadliw pami cache a kompilator wtedy
hula sobie po pamici gdzie chcia. Najpierw sprbuj
przeinstalwa gcc. Podejrzenia na sprzt rzucaj dopiero jeli
jdro si kompiluje przy wyczonym zewntrznym cache'u, albo przy
zmniejszonej iloci pamici RAM itp.
<P>Z reguy ludzi to troch denerwuje jak im powiesz, e maj popsuty
sprzt. C, ja tego nie zmylam. Jest FAQ na ten temat - 
<A HREF="http://www.bitwizard.nl/sig11/">www.bitwizard.nl/sig11/</A>.
<P>
<H2>7.5 Nowa wersja jdra nie chce si zaadowa.</H2>

<P>
<P>Albo nie uruchomie <CODE>lilo</CODE> po skopiowaniu jdra na miejsce
starego, albo le skonfigurowae. Najczciej spotykanym
problemem jest nie wkompilowanie obsugi twoejgo dysku lub systemu
ext2. Kiedy miaem problem z plikiem konfiguracyjnym LILO; byo
tam <CODE>boot = /dev/hda1</CODE> a powinno by <CODE>boot =
/dev/hda</CODE>. Na pocztku to moe byc naprawd denerwujce, ale
potem jak ju masz dobry plik konfiguracyjny nie powiniene go
zmienia.
<P>
<H2>7.6 Zapomniae uruchomi lilo, albo system si w ogle nie aduje.</H2>

<P>
<P>Oooj! Najlepsz rzecz jak mona zrobi to zaadowa system z
dyskietki lub CDROMu (no trzeba je oczywicie mie :) ) i przygotowa now
dyskietk startujc (np. <CODE>make zdisk</CODE>). Musisz wiedzie,
gdzie jest twj gwny system plikw i jakiego jest typu. (ext2,
minix). W przykadzie poniej musisz take wiedzie gdzie i na
jakim systemie jest /usr/src/linux i gdzie jest zwykle
zamontowany.
<P>W nastpujcym przykadzie "/" to /dev/hda1, a partycja, na ktrej
znajduje si katalog linux to /dev/hda3 normalnie montowana na
/usr. Dziaajce jdro jest w katalogu
<CODE>/usr/src/linux/arch/i386/boot</CODE> i nazywa si <CODE>bzImage</CODE>.
<P>Pomys polega na tym, e jeli masz dziaajce bzImage, mona tego
uy dla nowej dyskietki. Inna alternatywa, ktra moe, ale nie
musi dziaa (to zaley jak bardzo namieszae) opisana jest za
tym przykadem.
<P>Najpierw, zaaduj system z dyskietki, ktr akurat masz i zamontuj
system plikw, na ktrym znajduje si dziaajce jdro:
<P>
<PRE>
   mkdir /mnt
   mount -t ext2 /dev/hda3 /mnt
</PRE>
<P>Jeli pojawi si komunikat, e katalog /mnt ju jest - zignoruj
go. Przy mount na pewno pojawi si komunikat ostrzegajcy, e
montujesz niesprawdzony system plikw - zignoruj go. Zmie katalog
na ten, w ktrym znajduje si dziaajce jdro (pamitaj, e teraz
masz dysk w katalogu /mnt). Umie sformatowan dyskietk w stacji
A: (nie dyskietk, z ktrej startowae !!!), przerzu jdro na
dyskietk i skonfiguruj je dla twojego gwnego systemu plikw:
<P>
<PRE>
   cd /mnt/src/linux/arch/i386/boot
   dd if=bzImage of=/dev/fd0
   rdev /dev/fd0 /dev/hda1
</PRE>
<P>Zmie katalog na / (cd /) i odmontuj katalog /mnt (umount /mnt).
Powiniene by teraz w stanie zaadowa system tak jak normalnie z
tej dyskietki. Nie zapomnij uruchomi lilo po restarcie (czy co
tam le zrobie).
<P>Jak ju wspomniaem jest jeszcze inna metoda. Jeli masz
kopi dziaajcego jdra, moesz jej uy dla zrobienia dyskietki
startowej. Wemy znw powysze warunki i zamy, e dziaajca
kopia to /vmlinuz. Zrb to samo co powyej z tymi zmianami:
/dev/hda3 zmie na /dev/hda1/ (g. system plikw)
/mnt/src/linux na /mnt
if=bzImage na if=vmlinuz
<P>------------------------------------------------------------------<BR>
Od tumacza:
<P>Szczerze powiem/napisz, e nie wiem po co ten czowiek tak
komplikuje spraw. Podam tu sposb, ktorego ja uywam:
<P>Najpierw sprawd czy masz takie linijki na pocztku
pliku <CODE>/etc/lilo.conf</CODE>:
<P>
<PRE>
   prompt
   timeout=50
</PRE>
<P>Jeli nie to je dopisz.
<P>W swoim pliku <CODE>/etc/lilo.conf</CODE> mam zawsze dwie sekcje:
<P>
<PRE>
image=/boot/vmlinuz
        label=linux
        root=/dev/hda1
        read-only
image=/boot/vmlinuz-old
        label=linux-old
        root=/dev/hda1
        read-only
</PRE>
<P>Ja nazywam jdra z wersj na kocu (/vmlinuz-2.0.18) i robi
symboliczne doczenie ln -s /vmlinuz-2.0.18 /vmlinuz.
Jeli kompiluj t sam wersj jdra, to przed kompilacj/instalacj
<B>ZAWSZE</B> robi kopi jdra, ktre mi dziaa (powiedzmy
cp /vmlinuz-2.0.18 /vmlinuz.2.0.18.old);<BR>
Jak ju skompiluj jdro to kopiuje je na /vmlinuz-wersja, przedtem
KOPIA !!! - tylko jeli kompilujemy t sam wersj jdra, ktr
ju uywamy, bo nowsza wersja bdzie miaa inny numer na kocu. Po
skopiowaniu zmieniamy doczenie symboliczne (jeli instalujemy
now wersj) - rm /vmlinuz; ln -s /vmlinuz-nowa_wersja /vmlinuz;
oraz ln -s /vmlinuz-2.0.18.old /vmlinuz-old;
potem uruchamiamy <CODE>lilo</CODE> i restartujemy komputer. Jeli
nowe jdro nie dziaa, to startujemy stare jdro (wpisujemy po
pojawieniu si <CODE>boot:</CODE>  lub <CODE>LILO:</CODE> na ekranie linux-old) i
po wciniciu ENETERa mamy znowu dziaajcy system.
<P>Jeli nie dziaajce jdro byo w tej samej wersji co poprzednie
(po prostu potrzebowae co doda), to trzeba uruchomi system w
trybie &quot;single&quot; (linux-old init single), odzyska stare
moduy ze zrobionej poprzednio kopii katalogu
<CODE>/lib/modules/x.y.z</CODE> i zrestartowa jeszcze raz system
pamitajc, eby startowa stare jdro. Albo po prostu zmie
odpowiednie dowizanie /vmlinuz, eby wskazywao te na star
wersj jdra (ln -s /vmlinuz-x.y.z.old /vmlinuz) i <B>NIE
ZAPOMNIJ</B> po kadej takiej operacji uruchomi <CODE>/sbin/lilo</CODE>.
<P>------------------------------------------------------------------
<P>Uywanie LILO z duymi dyskami (z wieksz iloci cylindrw ni
1023) moe powodowa problemy. Przeczytaj mini-HOWTO LILO i
Large-Drives, jeli chcesz zna wicej szczegw.
<P>
<H2>7.7 Pisze mi "warning: bdflush not running".</H2>

<P>
<P>No i dobrze, e pisze, bo to moe by powany problem. Poczynajc
od wersji jdra 1.0.0 (okoo 20 kwietnia 1994) program <CODE>update</CODE>,
ktry okresowo zapisuje zawarto bufora na dysk, zosta zmieniony.
Zdobd rda programu "bdflush" (powiniene je znale tam gdzie
jdro) i skompiluj. Dopki nie uruchomisz tego programu radz
uywa wersji jdra starszej od 1.0.0 (Czy ta wersja jest jeszcze
do zdobycia !!!?). Instaluje si samo jako <CODE>update</CODE>, a po
restarcie nowe jdro nie powinno juz narzeka.
<P>
<H2>7.8 Nie mog zmusi mojego CD-ROM-u IDE/ATAPI do wsppracy.</H2>

<P>
<P>Naprawd dziwne. Bardzo duo ludzi ma ten problem. Pewnie dlatego,
e jest duo przypadkw, w ktrych to si moe dzia.
<P>Jeli twj CD-ROM to jedyne urzdzenie na konkretnym interfejsie
IDE, musi by skonfigurowany zworkami jako master lub single. To
jest najczstszy problem.
<P>Creative Labs umieszcza teraz interfejs IDE na swoich kartach
dwikowych. To prowadzi do ciekawego problemu, bo niektrzy maj
tylko jeden interfejs IDE, wielu ma dwa interfejsy IDE na swoich
pytach gwnych (zwykle na IRQ15), wic najpopularniejszym
rozwizaniem jest uczyni interfejs na karcie dwikowej trzecim
(IRQ11, a przynajmniej tak mi mwili).
<P>To powoduje w Linux-ie problemy, poniewa wersja 1.2.x nie obsuguje
trzeciego interfejsu IDE (obsuga jest w ktrej z wersji 1.3.x,
ale pamitaj - to jest wersja testowa, i nie wykrywa sama tego
interfejsu). Aby to obej masz trzy moliwoci:
<P>Jeli masz ju drugi interfejs, to prze CD-ROM na ten drugi
interfejs jeli jest wolny. Moesz wtedy wyczy interfejs z
karty dwikowej, co zachowa jedno IRQ.
<P>Jeli nie masz drugiego interfejsu, ustaw interfejs na karcie
dwikowej (ale nie ten od dwiku, tylko IDE) na przerwanie IRQ15
za pomoc zworek. Powinno dziaa.
<P>
<H2>7.9 Pisze co o przestarzaym rutingu.</H2>

<P>
<P>We now wersj programu <CODE>route</CODE> i wszelkie inne programy,
ktre si zajmuja rutingiem.
<CODE>/usr/include/linux/route.h</CODE> (ktry waciwie jest plikiem
w <CODE>/usr/src/linux</CODE>) sie zmieni.
<P>
<H2>7.10 Firewall mi nie dziaa w wersji 1.2.0</H2>

<P>
<P>We wersj co najmniej 1.2.1.
<P>
<H2>7.11 "Not a compressed kernel Image file".</H2>

<P>
<P>Nie uywaj jako jdra pliku <CODE>vmlinux</CODE> w katalogu
<CODE>/usr/src/linux</CODE> stworzonego podczas kompilacji. Plik,
ktry powiniene uy to:
<CODE>/usr/src/linux/arch/i386/boot/bzImage</CODE>.
<P>
<H2>7.12 Problemy z konsol po odnowieniu do wersji 1.3.x.</H2>

<P>
<P>Zmie sowo <CODE>dumb</CODE> na <CODE>linux</CODE> w pliku <CODE>/etc/termcap</CODE>
w sekcji dotyczcej konsoli. Mozliwe te, e bdziesz musia
zrobi terminfo.
<P>
<H2>7.13 Nie mog skompilowa rnych rzeczy po odnowieniu jdra.</H2>

<P>
<P>rda jdra zawieraj pewn liczb plikw nagwkowych (te co si
kocz na .h), do ktrych odwouj si standardowe pliki
nagwkowe w <CODE>/usr/include</CODE>. Przewanie wyglda to tak:
<P>
<PRE>
     #include &lt;linux/xxyy.h>
</PRE>
<P>Zwykle w katalogu <CODE>/usr/include</CODE> jest symboliczne
doczenie <CODE>linux</CODE> wskazujce na <CODE>/usr/src/linux/include/linux</CODE>.
Jeli doczenia tego nie ma, albo wskazuje na ze miejsce, to
rzeczywicie wikszo programw si nie skompiluje. Jeli
zdecydowae, e rda zajmuj za duo miejsca na dysku i
skasowae je, to to jest wanie twj problem. Razem z tymi
rdami skasowae pliki nagwkowe. Inny problem to problem z
dostpem do plikw: Jeli twj root ma umask ustawiony tak, e
uytkownicy nie mog widzie plikw przez niego stworzonych, i
rozpakowae rda bez opcji p (zachowaj oryginalne flagi
dostpu), uytkownicy nie bd mogli uy kompilatora. Najprociej
naprawi to w ten sposb:
<P>
<PRE>
   zaloguj si jako root
   cd /usr/src/linux/
   chmod -R go+r include/
</PRE>
<P>
<H2>7.14 Zwikszanie limitw.</H2>

<P>
<P>Kilka nastpujcych <I>przykadowych</I> polece moe pomc tym,
ktrzy zastanawiaj si jak zwikszy pewne programowe
ograniczenia wprowadzone przez jdro:
<P>
<PRE>
echo 4096 > /proc/sys/kernel/file-max
echo 12288 > /proc/sys/kernel/inode-max
echo 300 400 500 > /proc/sys/vm/freepages
</PRE>
<P>
<H2><A NAME="s8">8. Uwaga na temat uaktualnienia do wersji 2.0.x i 2.2.x.</A></H2>

<P>
<P>Wersje jdra 2.0.x i 2.2.x wprowadziy troch zmian w instalacji.
Plik <CODE>Documentation/Changes</CODE> zawiera informacje, ktre
powiniene pozna, kiedy uaktualaniasz swoje jdro do ktrej z
tych wersji.
Najprzypuszczalniej bdziesz musia odnowi take niektre
kluczowe pakiety, takie jak: gcc, libc i SysVInit, i moe
dostosowa kilka plikw systemowych. Ale nie panikuj !
<P>
<H2><A NAME="s9">9. Moduy.</A></H2>

<P>
<P>adowalne moduy jdra mog zaoszczdzi troch pamici i uatwi
konfiguracj. Obszar dziaania moduw urs ju do tego, e
zawieraj one systemy plikw, sterowniki do kart Ethernet, do
tam, do drukarek i wiele innych.
<P>
<H2>9.1 Instalacja narzdzi moduowych.</H2>

<P>
<P>Narzdzia te sa dostpne stamtd, skd masz rda jdra. Nazywaj
si <CODE>modutils-x.y.z.tar.gz</CODE>; wybierz najwysz wersj rwn,
albo mniejsz od wersji twojego jdra. Rozpakuj poleceniem <CODE>tar
zxvf modutils-x.y.z</CODE>. Wejd do stworzonego katalogu i poczytaj
plik README. Wypenij dokadnie instrukcje na temat instalacji
(jest ona z reguy bardzo prosta: <CODE>make install</CODE> lub co
podobnego). Powiniene mie teraz programy: <CODE>insmod, rmmod,
ksyms, lsmod, genksyms, modprobe i depmod</CODE> w katalogu /sbin.
Jeli chcesz przetestowa narzdzia z przykadowym sterownikiem
"hw" w <CODE>insmod</CODE>; przejrzyj plik <CODE>INSTALL</CODE> w tym
katalogu.
<P><CODE>insmod</CODE> aduje modu do uruchomionego jdra. Moduy maj z
reguy roszerzenie .o; przykadowy modu wspomniany wyej nazywa
si <CODE>drv_hello.o</CODE>, a wic aby go zaadowa, napisz:
<CODE>insmod drv_hello.o</CODE>. Aby zobaczy jakie moduy s
aktualnie uywane przez jdro uyj <CODE>lsmod</CODE>. Powinien
wywietli co takiego
<P>
<PRE>
   blah# lsmod
   Module:      #pages: Usedby:
   drv_hello       1
</PRE>
<P>drv_hello jest nazw moduu, uywa jednej strony (4kB) pamici i
adne inne moduy nie zale od niego w tej chwili. Aby usun ten
modu z jdra uyj <CODE>rmmod drv_hello</CODE>. Zauwa, e
<CODE>rmmod</CODE> chce nazwy moduu a nie pliku. We j z polecenia
<CODE>lsmod</CODE>. Inne narzdzia moduowe s opisane w podrczniku
<B>man</B>.
<P>
<H2>9.2 Moduy dystrybuowane z jdrem.</H2>

<P>
<P>Jeli chodzi o wersj 2.0.30 wikszo sterownikw dostpna jest w
postaci moduw. Aby ich uy, najpierw upewnij si czy nie
skonfigurowae ich jako stae czci jdra. To znaczy: nie
odpowiadaj "y" na pytania ich dotyczce podczas konfiguracji, ale
"m" jeli jest taka moliwo. Po skompilowaniu jdra napisz
<CODE>make modules</CODE> i <CODE>make modules_install</CODE>. Pierwsze
polecenie skompiluje wszystkie sterowniki wyspecyfikowane jako
moduy, a drugie zainstaluje je w katalogu <CODE>/lib/modules/x.y.z</CODE>,
gdzie x.y.z jest wersj jdra. Po zainstalowaniu tych moduw
wejd do katalogu <CODE>/lib/modules/x.y.z</CODE> i napisz <CODE>modprobe -a</CODE>,
jeli masz ten program.
<P>$lsqb;Od tumacza] Jeli kompilujesz jdro o wersji takie
samej jak to ktre uywasz obecnie, to na wszleki wypadek przed
poleceniem <CODE>make modules_install</CODE>, zrb w katalogu
/lib/modules/ kopi katalogu o nazwie takiej samej jak wersja
obecnego jdra.
<P>Moduy s szczeglnie przydatne do systemw plikw albo sterownikw
urzdze, ktrych rzadko uywasz. Np. jeli chcesz uy dyskietki
msdos, to najpierw piszesz <CODE>insmod /lib/modules/x.y.z/fs/msdos.o</CODE>
i uywasz tej dyskietki. Po skoczeniu piszesz <CODE>rmmod msdos</CODE>.
Operacja ta zaoszczdza jakie 50 kB RAM-u - niby nic ale jak si
uzbiera kilka takich sterownikw to docenisz t zalet. Co do
systemu plikw <B>minix</B> to powinien on by <B>zawsze</B>
wkompilowany w jdro na stae, w razie uycia dyskietki startowej.
Na dyskietkach jest wanie minix.
<P>------------------------------------------------------------------<BR>
Od tumacza:
Znowu facet skomplikowa spraw.
Jest narzdzie, ktre zajmuje si za ciebie adowaniem i usuwaniem
odpowiednich moduw do i z pamici. Nazywa si <CODE>kerneld</CODE>
czyli kernel daemon. Jeli uyjesz czego co wymaga sterownika w
module, kerneld zaaduje za ciebie ten modu, a potem go wyrzuci jak
ju przestaniesz tego uywa. Aby go uy musisz odpowiedzie na pytanie
konfiguracyjne dotyczce <CODE>kerneld</CODE> "Kernel daemon support"
"y". Przedtem jeszcze odpowiedz "y" na pytanie "Modules support"
czy jako tak, eby mc w ogle uywa moduw. Po kompilacji
jdra wszystko idzie tak samo jak opisane powyej. Jeszcze jedno:
jeli masz dystrybucj RH to sprawd czy w pliku
<CODE>/etc/rc.d/rc.sysinit</CODE> jest uruchamiany /sbin/kerneld.
Jeli nie, to sprawd czy uruchamia si tam program <CODE>depmod</CODE>.
jeli te nie to dopisz te linijki:
<P>
<PRE>
     /sbin/depmod -a
     
     if [ -x /sbin/kerneld ]; then
        /sbin/kerneld
     fi
</PRE>
<P>za linijk ktra wyglda mniej wicej tak:
<P>
<PRE>
      mount -n -o remount,rw /
</PRE>
<P>Jeli masz Slackware sprawd czy w pliku <CODE>/etc/rc.d/rc.M</CODE>
jest uruchamiany /sbin/kerneld. Jeli nie, to sprawd czy uruchamia
si tam program <CODE>depmod</CODE>. Jeli te nie, to dopisz te linijki
<P>
<PRE>
     /sbin/depmod -a
     
     if [ -x /sbin/kerneld ]; then
        /sbin/kerneld
     fi
</PRE>
<P>za linijk ktra wyglda mniej wicej tak:
<P>
<PRE>
      mount -n -o remount,rw /
</PRE>
<P>Jeli masz dystrybucj Debian to:
1) sprawd czy jest plik <CODE>/etc/init.d/kerneld</CODE>, jeli tak to
2) sprawd czy w <CODE>/etc/rcX.d/</CODE> jest dowizanie do tego pliku
(bdzie to plik SYYkerneld), jeli jest, to wszystko jest w
porzdku. X - numer runlevel-u ktry standardowo uruchamiasz.
(sprawd w pliku <CODE>/etc/inittab</CODE> linijk initdefault)<BR>
Jeli ktry z tych warunkw jest niespeniony to:
<P>ad 1) za plik <CODE>/etc/init.d/kerneld</CODE> o treci:
<P>
<PRE>
#!/bin/bash

# source function library
. /etc/rc.d/init.d/functions


case "$1" in
  start)
        echo -n "Starting kerneld "
        if [ -f "/sbin/kerneld" ]; then
                /sbin/kerneld
                /sbin/depmod -a
        fi

        touch /var/lock/subsys/kerneld
        ;;
  stop)
        echo -n "Shutting down kerneld: "
        killproc kerneld
        rm -f /var/lock/subsys/kernled
        echo
        ;;
  *)
        echo "Usage: kerneld {start|stop}"
        exit 1
esac

exit 0
</PRE>
<P>ad 2) napisz
<P>
<PRE>
     cd /etc/rcX.d/
     ln -s /etc/init.d/kerneld SYYkerneld
</PRE>
<P>YY musi by numerem przed adowaniem moduw; najlpiej jak
najwczeniej.
------------------------------------------------------------------
<P>
<H2><A NAME="s10">10. Sztuczki i wskazwki.</A></H2>

<P>
<P>
<H2>10.1 Przekierowywanie wyjcia z polece make i patch.</H2>

<P>
<P>Jeli chciaby mie zapisane w pliku to co dziao si podczas
wykonywania polece <CODE>make i patch</CODE>, moesz przekierowa
wyjcie tych komend do pliku. Najpierw dowiedz si w jakiej
powoce pracujesz:
<P>
<PRE>
   echo $shell
</PRE>
<P>Jeli jest to /bin/sh albo /bin/bash, wtedy przekierowywanie
wyjcia wyglda tak:
<P>
<PRE>
   polecenie 2>&amp;1 | tee nazwa_pliku_do_zapisania
</PRE>
<P>Jeli jest to /bin/csh albo /bin/tcsh, to wyglda to tak
<PRE>
   polecenie |&amp; tee nazwa_pliku_do_zapisania
</PRE>
<P>Jeli uywasz rc (a raczej nie uywasz), wtedy wyglda to tak:
<PRE>
   polecenie >[2=1] | tee nazwa_pliku_do_zapisania
</PRE>
<P>
<H2>10.2 Instalacja warunkowa jdra.</H2>

<P>
<P>S jeszcze inne metody testowania nowego jdra bez ruszania starego,
oprcz tych z dyskietkami. LILO ma moliwo adowania jdra z
jakiegokolwiek miejsca na dysku (jeli twj dysk ma wicej ni
1023 cylindry [512 MB lub wicej], przeczytaj dokumentacj LILO,
eby dowiedzie si jakie s z tym zwizane problemy). Tak wic
jeli dodasz takie linie:
<P>
<PRE>
     image = (tu wstaw katalog, w ktrym znajduje si nowe jdro)
         label = new_kernel
</PRE>
<P>na kocu pliku konfiguracyjnego LILO, moesz wybra jakie jdro
chcesz adowa, bez ruszania starego jdra (po wykonaniu lilo
oczywicie). Najprostszym sposobem poinformowania LILO, ktre
jdro chcemy zaadowa jest wcinicie klawisz SHIFT podczas
startu (w momencie kiedy na ekranie pojawi si "LILO"). Wtedy
pojawi si znak zachty. Wpisujc tu <CODE>new_kernel</CODE>, lub
nazw, ktr nadae w pliku konfiguracyjnym LILO nowemu jdru,
poinformujesz LILO, eby zaadowao nowe jdro.
<P>Jeli chcesz trzyma kilka rnych rde jdra na dysku (to
zabiera <B>DUO</B> miejsca - ostronie) najprostszym sposobem
jest nazywanie ich linux-wersja_jdra. Musisz wtedy zrobi
symboliczne doczenie <CODE>ln -s linux-wersja linux</CODE> eby
uywa wybranej wersji. Przed zrobieniem takiego doczenie
upewnij si, e ostatni parametr do "ln" nie jest katalogiem, bo
wtedy nie bdzie to to, czego si spodziewae.
<P>
<H2>10.3 Odnowienia jdra.</H2>

<P>
<P>Russel Nelson (
<A HREF="mailto:nelson@crynwr.com">nelson@crynwr.com </A>) umieszcza zmiany jakie
zaszy w biecej wersji jdra. S one krtkie i moesz zajrze
tam zanim postanowisz odnowi jdro. S one dostpne poprzez
anonimowe ftp z <CODE>ftp.emlist.com</CODE> w katalogu <CODE>pub/kchanges</CODE>
lub poprzez WWW - 
<A HREF="http://www.crynwr.com/kchanges">http://www.crynwr.com/kchanges</A>.
Spis zmian moesz znale take w
<A HREF="ftp://ftp.icm.edu.pl/pub/Linux/sunsite/kernel/changes">ftp.icm.edu.pl</A> w katalogu <CODE>/pub/Linux/sunsite/kernel/changes</CODE>.
<P>
<H2><A NAME="s11">11. Inne dokumenty HOWTO, ktre mog si przyda to:</A></H2>

<P>
<P>
<UL>
<LI> Sound-HOWTO: karty dwikowe i narzdzia do nich</LI>
<LI> SCSI-HOWTO: wszystko na temat kontrolerw i urzdze SCSI</LI>
<LI> NET-3-HOWTO: wszystko o sieci</LI>
<LI> PPP-HOWTO: protok PPP w Linux-ie</LI>
<LI> PCMCIA-HOWTO: o sterownikach do twojego Notebook-a</LI>
<LI> ELF-HOWTO: ELF: co to ELF</LI>
<LI> Hardware-HOWTO: przegld obsugiwanego przez Linux-a sprztu.</LI>
<LI> Module-HOWTO: wicej na temat moduw.</LI>
<LI> Kerneld mini-HOWTO: na temat kerneld.</LI>
<LI> BogoMips mini-HOWTO: w razie gdyby chcia wiedzie</LI>
</UL>
<P>
<H2><A NAME="s12">12. Rnoci</A></H2>

<P>
<P>
<H2>12.1 Od autora.</H2>

<P>
<P>Autorem i czowiekim opiekujcym si tym dokumentem jest
Brian Ward
<A HREF="mailto:bri@cs.uchicago.edu">bri@cs.uchicago.edu</A>
Prosz przysya mi wszelkie komentarze, dodatki, poprawki (te s
najwaniejsze).
<P>Jak chcesz moesz zajrze na moj stron WWW:
<PRE>
            
&lt;htmlurl url="http://www.math.psu.edu/bri/" name="www.math.psu.edu/bri/">
</PRE>
<P>Pomimo, i staram si odpowiada na poczt kiedy tylko mog, to
musisz pamita, e dostaje <B>duo</B> listw codziennie. Wic
odpowiedzenie na twj list moe zaj troch czasu. Szczeglnie
jeli wysae mi jakie pytanie, sprbuj by jak najbardziej
dokadny. Jeli piszesz o niedziaajcym sprzcie (czy co
podobnego) musz wiedzie jaka jest konfiguracja tego sprztu.
Jeli piszesz o bdzie, to nie pisz, e "prbowaem, ale nie
dziaa..." Musz zna chocia bd jaki si pojawi. Chciabym
take wiedzie jaka bya wersja jdra, gcc i libc. Jeli powiesz
mi, e uywasz tej-i-tej dystrybucji to mi wiele nie powie. Nie obchodzi
mnie to, e zadajesz proste pytania. Kto pyta, nie bdzi!
Chciabym podzikowa wszystkim, ktrzy wspierali mnie podzas
pisania tego dokumentu.
<P>Jeli twoje pytanie nie byo zwizane z jdrem albo jest w jakim
jzyku, ktrego nie znam, to mog nie odpowiedzie.
<P>Jeli wysae do mnie list i nie otrzymae odpowiedzi w jakim
sensownym czasie (3+ tygodni). To cakiem moliwe, e przypadkowo
skasowaem twj list (przepraszam). Napisz jeszcze raz.
<P>Dostaj duo poczty z pytaniami, ktre s waciwie problemami
sprztowymi. W porzdku, ale pamitaj, e przecie nie znam
wszystkich urzdze na wiecie i nie wiem na ile mog by pomocny.
Osobicie uywam maszyn z procesorem AMD, kontrolery SCSI Adaptec
i Sybios oraz dyski SCSI IBM.
<P>
<P>Wersja -0.1 zostaa napisana 3 padziernika 1994. Dokument ten
jest dostpny w formatach: SGML, PostScript, TeX, roff i jako
czysty tekst.
<P>
<H2>12.2 Co jest jeszcze do zrobienia.</H2>

<P>
<P>Sekcja na temat sztuczek i wskazwek jest jeszcze troch maa. Mam
nadziej, e si rozronie wraz z przybywaniem sugestii.
To samo odnosi si do sekcji pakiety dodatkowe.
Potrzeba mi wicej informacji na temat ledzenia (debugging) i
odzyskiwania po padach systemu.
<P>
<H2>12.3 Oto ci, ktrzy si przyczynili do powstania tego HOWTO.</H2>

<P>
<P>Doczona jest maa cz README Linusa na temat opcji rozgryzania
jdra.(kernel hacking) (Dziki Ci Linus!)
<P><EM>uc@brian.lunetix.de</EM> (Ulrich Callmeier): polecenia patch -s, xargs.
<P><EM>quinlan@yggdrasil.com</EM> (Daniel Quinlan): poprawki i dodatki
do wielu sekcji.
<P><EM>nat@nataa.fr.eu.org</EM> (Nat Makarevitch): mrproper, tar -p i
wiele innych
<P><EM>boldt@math.ucsb.edu</EM> (Axel Boldt): uzbierany spis opcji
konfiguracyjnych jdra dotyczcych sieci. Przesane mi.
<P><EM>lembark@wrkhors.psyber.com</EM> (Steve Lembark): sugestie
odnonie wyboru jdra przy starcie.
<P><EM>kbriggs@earwax.pd.uwa.edu.au</EM> (Keith Briggs): kilka
sugestii i poprawek.
<P><EM>rmcguire@freenet.columbus.oh.us</EM> (Ryan McGuire): dodatki
na temat "make"
<P><EM>dumas@excalibur.ibp.fr</EM> (Eric Dumas): tumaczenie francuskie
<P><EM>simazaki@ab11.yamanashi.ac.jp</EM> (Yasutada Shimazaki):
tumaczenie japoskie
<P><EM>jjamor@lml.ls.fi.upm.es</EM> (Juan Jose Amor Iglesias):
tumaczenie hiszpaskie
<P><EM>mva@sbbs.se</EM> (Martin Wahlen): tumaczenie szwedzkie
<P><EM>jzp1218@stud.u-szeged.hu</EM> (Zoltan Vamosi): tumaczenie
wgierskie
<P><EM>B.Maruszewski@jtz.org.pl</EM> (Bartosz Maruszewski):
tumaczenie polskie
<P><EM>donahue@tiber.nist.gov</EM> (Michael J Donahue): korekta
literwek, wygra konkurs o kromk chleba
<P><EM>rms@gnu.ai.mit.edu</EM> (Richard Stallman): pomys na
bezpatn dokumentacj i dystrybucj
<P><EM>dak@Pool.Informatik.RWTH-Aachen.DE</EM> (David Kastrup): NFS
<P><EM>esr@snark.thyrsus.com</EM> (Eric Raymond): rnoci.
<P>Ci, ktrzy przysyali mi pytania z problemami take byli pomocni.
<P>
<H2>12.4 Prawa autorskie, licencja i takie inne.</H2>

<P>
<P>Dokument chroniony prawami autorskimi &copy; Briana Warda,
1994-1999.
Mona rozprowadza kopie tego dokumentu o ile na wszystkich bdzie
zachowana uwaga o prawach autorskich i to pozwolenie.
<P>Mona kopiowa i dystrybuwa ten dokument w wersji modyfikowanej
pod warunkiem dosownego kopiowania zakadajc, e praca pochodna jest
dystrybuowana z takimi samymi prawami jak ten dokument.
Tumaczenia zaliczaj si take do wersji modyfikowanych.
<P>
<P>Gwarancja: adna.
<P>Zalecenia:
Dystrybucja komercyjna jest dozwolona. Jednak zaleca si najpierw
kontakt z autorem, aby mie najwiesze dane (moesz mi wysa
kopi tego co chcesz dystrybuowa). Tumacze s take zobowizani
najpierw si skontaktowa ze mn. Wersja wydrukowana wyglda o
wiele adniej.
<P>
<H2>12.5 Od tumacza.</H2>

<P>
<P>Tumaczenie to jest chronione prawami autorskimi &copy; Bartosza
Maruszewskiego.
Dozwolone jest rozprowadzanie i dystrybucja na prawach takich
samych jak dokument oryginalny.
<P>Jeli znalaze jakie race bdy ortograficzne, gramatyczne,
skadniowe, techniczne to pisz do mnie:
<P>
<A HREF="mailto:B.Maruszewski@jtz.org.pl">B.Maruszewski@jtz.org.pl</A><P>Oficjaln stron tumacze HOWTO jest
<A HREF="http://www.jtz.org.pl/">http://www.jtz.org.pl/</A><P>Aktualne wersje przetumaczonych dokumentw znajduj si na
teje stronie. Dostpne s take poprzez anonimowe ftp pod adresem
<A HREF="ftp://ftp.jtz.org.pl/HOWTO/">ftp.jtz.org.pl</A> w katalogu <CODE>/pub/Linux/JTZ/</CODE>.
<P>Przetumaczone przeze mnie dokumenty znajduj si take na
<A HREF="http://www.jtz.org.pl/bartek/tlumaczenie.html">mojej stronie WWW.</A> S tam te odwoania do Polskiej Strony
Tumaczeniowej.
<P>Kontakt z nasz grup, grup tumaczy moesz uzyska poprzez list
dyskusyjn jtz@ippt.gov.pl. Jeli chcesz sie na ni zapisa, to
wylij list o treci <CODE>subscribe jtz Imi Nazwisko</CODE> na adres
<CODE>majordomo@ippt.gov.pl</CODE>
<P>Zmiany w tym dokumencie wprowadzone przez tumacza to:
<UL>
<LI>- dodatkowy sposb na zaadowanie dobrego jdra</LI>
<LI>- informacja o kerneld</LI>
<LI>- a take odnoniki do polskich serwerw ftp i WWW</LI>
</UL>
<P>
</BODY>
</HTML>