This file is indexed.

/usr/share/doc/HOWTO/pl-html/Kernel-HOWTO.pl.html is in doc-linux-pl-html 2002.06.14-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   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 j±dra Linux-a, jego instalacji itp.</TITLE>


</HEAD>
<BODY>
<H1>Opis j±dra 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 szczegó³owym przewodnikiem do konfiguracji, kompilacji
i odnawiania j±dra.
Zawarte s± tutaj tak¿e sposoby rozwi±zywania problemów zwi±zanych z
j±drem dla
systemów 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 zawieraj±cy j±dra na
ftp.icm.edu.pl</EM>
<HR>
<H2><A NAME="s1">1. Wprowadzenie.</A></H2>

<P>Czy powiniene¶ to czytaæ? Hmm... zobaczmy czy masz nastêpuj±ce problemy:
<P>
<P>
<UL>
<LI> "Ten wredny pakiet mówi, ¿e potrzebuje j±dra w wersji 2.8.193 a
ja ci±gle mam 1.0.9!"</LI>
<LI> W jednym z nowszych wersji j±dra jest nowy sterownik, który po
prostu MUSISZ mieæ.</LI>
<LI> W ogóle nie masz pojêcia jak skompilowaæ j±dro</LI>
<LI> "Czy to w README to <I>naprawdê</I> wszystko?"</LI>
<LI> Usiad³e¶, spróbowa³e¶ i nie wysz³o</LI>
<LI> Potrzebujesz czego¶, co móg³by¶ daæ tym wszystkim, którzy ci±gle ciê
prosz± ¿ebys im zainstalowa³ j±dro.</LI>
</UL>
<P>
<H2>1.1 Przeczytaj to najpierw! (Nie ¿artujê)</H2>

<P>
<P>Niektóre z przyk³adów zawartych tutaj zak³adaj±, ¿e masz
zainstalowane takie programy jak: <CODE>GNU tar, find i xargs</CODE>.
S± one w³a¶ciwie standardowe; nie powinno byæ z tym problemów.
Zak³ada siê tak¿e, ¿e znasz strukturê twojego systemu plików.
Je¶li nie znasz to koniecznie trzymaj w rêku wydruk tego co
pojawia siê na ekranie po poleceniu <CODE>mount</CODE>, albo wydruk
zawarto¶ci pliku <CODE>/etc/fstab</CODE> je¶li umiesz go przeczytaæ.
Informacja ta jest wa¿na, i nie zmieni siê dopóki nie zmienisz
uk³adu partycji na twoim dysku.
<P>Najnowsz± wersj± j±dra, dostêpn± podczas pisania tego dokumentu,
by³a wersja 2.2.9. To znaczy, ¿e wszystko w tym dokumencie odnosi
siê do tej w³a¶nie wersji. Chocia¿ staram siê napisaæ ten dokument
tak niezale¿nym jak siê tylko da, j±dro jest ci±gle rozwijane,
wiêc je¶li dostaniesz nowsz± wersjê, nieuniknionym jest, ¿e bêd±
jakie¶ ró¿nice. Ale to wci±¿ nie powinno stanowiæ du¿ego problemu,
co najwy¿ej mog± wyst±piæ jakie¶ drobne ró¿nice.
<P>S± dwie ogólne wersje ¼róde³ j±dra 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 równie¿ 2.2.x.
Wersje te s± uwa¿ane za najbardziej stabilne, wolne od dziur i
b³êdów podczas ich dystrybucji. J±dra testowe (
2.1.x, 2.3.x) s± j±drami przeznaczonymi dla tych, którzy chc± je
testowaæ, wprowadzaæ jakie¶ zmiany, mo¿e nawet wspó³pracowaæ przy
tworzeniu go. W wersjach tych mo¿e byc pe³no b³êdów, mog± siê
zawieszaæ chocia¿ to wcale nie jest regu³± i niekoniecznie musi
siê dziaæ. Jakby co, to zosta³e¶ ostrze¿ony.
<P>
<H2>1.2 S³owo na temat wygl±du.</H2>

<P>
<P><CODE>Tekst, który tak wygl±da</CODE> jest albo czym¶ co pojawi siê na
ekranie, nazw± pliku, albo czym¶ co mo¿e byæ bezpo¶rednio wpisane
z klawiatury (np. polecenie, czy jego opcje). Je¶li czytasz ten
dokument jako zwyk³y plik tekstowy to tekst ten niczym siê nie
ró¿ni.
<P>
<H2><A NAME="s2">2. Wa¿ne pytania i odpowiedzi na nie.</A></H2>

<P>
<P>
<H2>2.1 Co to j±dro w ogóle robi?</H2>

<P>
<P>J±dro w systemach typu Unix odgrywa rolê po¶rednika miêdzy twoimi
programami, a twoim sprzêtem. Najpierw zajmuje siê zarz±dzaniem
pamiêci dla wszystkich uruchomionych programów (procesów), i dba o
to, aby wszystkie one dosta³y równ± ilo¶æ czasu procesora. (albo
nierówn± je¶li tak za¿±dasz). Dodatkowo, posiada mi³y interfejs
dla programów chc±cych "rozmawiaæ" z twoim sprzêtem.
<P>J±dro spe³nia oczywi¶cie o wiele wiêcej funkcji, ale to s±
najwa¿niejsze, które nale¿y znaæ.
<P>
<H2>2.2 Dlaczego mia³bym chcieæ odnowiæ swoje j±dro?</H2>

<P>
<P>Nowsze j±dra z regu³y maj± wieksz± ilo¶æ sterowników, czyli mog±
obs³u¿yæ wiêksz± ilo¶æ urz±dzeñ, mog± mieæ ulepszone algorytmy
zarz±dzania procesami, mog± dzia³aæ szybciej ni¿ starsze wersje,
mog± byæ bardziej stabilne, maj± tak¿e wiele poprawek b³êdów,
które zdarzy³y siê w wersjach wcze¶niejszych. Wiêkszo¶æ ludzi
odnawia swoje j±dra poniewa¿ chc± wiêkszej ilo¶ci sterowników i
naprawionych b³êdów.
<P>
<H2>2.3 Jaki sprzêt obs³uguj± nowsze wersje j±dra?</H2>

<P>
<P>Przeczytaj Hardware-HOWTO. Mo¿esz tak¿e zajrzeæ do pliku
<CODE>config.in</CODE> w ¼ród³ach j±dra. Albo po prostu dowiedzieæ siê
samemu jak napiszesz <CODE>make config</CODE>. W poleceniu tym znajd±
siê wszystkie obs³ugiwane przez dane j±dro urz±dzenie. Ale nie bêd±
to wszystkie urz±dzenia, które obs³uguje Linux. Wiele popularnych
sterowników (jak np. sterownik do PCMCIA i niektóre sterowniki do
ta¶m) s± rozprowadzane osobno jako ³adowalne modu³y.
<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, która
powinna byæ u¿yta do kompilacji danego j±dra. Je¶li nie masz tej
wersji, dokumentacja w zalecanej wersji gcc powinna powiedzieæ ci
czy musisz odnowiæ libc. Nie jest to trudne, ale wa¿ne jest, aby
postêpowaæ zgodnie ze wskazówkami.
<P>
<H2>2.5 Co to jest ³adowalny modu³?</H2>

<P>
<P>S± to czê¶ci j±dra, które nie s± zawarte bezpo¶rednio w nim.
Kompiluje siê je osobno i mo¿na je umie¶ciæ a nastêpnie usun±æ z
uruchomionego j±dra prawie zawsze. Z powodu tej elastyczno¶ci
jest to teraz preferowana metoda pisania niektórych fragmentów
j±dra. Wiele popularnych sterowników urz±dzeñ to ³adowalne modu³y.
<P>
<H2>2.6 Ile potrzebujê miejsca na dysku?</H2>

<P>
<P>To zale¿y od twojej konkretnej konfiguracji. Skompresowane ¼ród³a
zajmuj± mniej wiêcej 14 MB. Po rozkompresowaniu, skonfigurowaniu i
kompilacji zajmuje kolejne 67 MB.
<P>
<H2>2.7 Jak d³ugo 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 mo¿e zaj±æ oko³o 4 minut podczas gdy kompilacja tego samego
j±dra na starym Pentium, 486 czy 386 mo¿e trwaæ nawet godziny, czy
dni ...
<P>Je¶li to ciê martwi, a masz w pobli¿u szybszy komputer, to
skompiluj j±dra na nim (zak³adaj±c, ¿e ustawisz poprawne parametry,
¿e twoje narzêdzia systemowe s± w odpowiednich wersjach itd), a
potem przesnie¶ skompilowane j±dro (obraz) na wolniejszy komputer.
<P>
<H2><A NAME="s3">3. Jak w³a¶ciwie skonfigurowaæ to j±dro?</A></H2>

<P>
<P>
<H2>3.1 Zdobywanie ¼ród³a.</H2>

<P>
<P>¬ród³a mo¿esz sci±gn±æ np. z
<CODE>ftp.kernel.org:/pub/linux/kernel</CODE> - jest to g³ówny
serwer dla j±dra Linux-a, albo z jakiej¶ bli¿szej 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 regu³y nazwa
j±dra to <CODE>linux-x.y.z.tar.gz</CODE>, gdzie x.y.z jest numerem
wersji. Tak jak ju¿ wspomnia³em, wersje z nieparzyst± drug± liczb±
to wersje rozwojowe i mog± byæ niestabilne. Obok wersji
<CODE>.tar.gz</CODE> s± jeszcze wersje <CODE>.bz2</CODE>, które s± mniejsze i
zabieraj± mniej czasu do ¶ci±gniêcia.
<P>Najlepiej u¿ywaæ adresu <CODE>ftp.xx.kernel.org</CODE>, gdzie xx to kod
twojego kraju. Np. ftp.pl.kernel.org dla Polski.
<P>Je¶li szukasz jakich¶ ogólnych informacji o Linux-ie, to zajrzyj
pod adres 
<A HREF="http://www.linux.org">www.linux.org</A>. W
Polsce tak¿e jest 
<A HREF="http://www.linux.org.pl/">Polska Grupa U¿ytkowników Linux-a</A>.
<P>
<P>
<H2>3.2 Rozpakowywanie ¼ród³a.</H2>

<P>
<P>Zaloguj siê jako <CODE>root</CODE> albo u¿yj polecenia <CODE>su</CODE> i
zmieñ katalog na /usr/src <CODE>cd /usr/src</CODE>.
Je¶li zainstalowa³e¶ ¼ród³a do j±dra podczas instalacji Linux-a w
katalogu tym znajdziesz do³±czenie symboliczne <CODE>linux</CODE>,
które bêdzie wskazywa³o na katalog <CODE>linux-x.y.z</CODE> ze
¼ród³ami, które wtedy zainstalowa³e¶. Je¶li chcesz zachowaæ stare
¼ród³a to usuñ do³±czenie <CODE>linux</CODE> poleceniem <CODE>rm linux</CODE>.
<P>Je¶li takiego do³±czenia nie ma, a jest katalog linux, to (je¶li
chcesz zachowaæ ¼ród³a starej wersji j±dra) zmieñ nazwê linux na
linux-x.y.z, gdzie x.y.z jest wersj± tych ¼róde³. (zajrzyj do
pliku <CODE>linux/Makefile</CODE> - w pierwszych trzech linijkach
znajdziesz wersjê ¼róde³ znajduj±cych siê w tym katalogu).
Je¶li chcesz mo¿esz skasowaæ ca³y katalog linux i pozbyæ siê
starych ¼róde³.
W ka¿dym razie upewnij siê, ¿e nie ma katlogu <CODE>linux</CODE> przed
rozpakowanie ¼róde³.
<P>Teraz w katalogu <CODE>/usr/src</CODE> rozpakuj ¼ród³a poleceniem
<CODE>tar zxpvf linux-x.y.z.tar.gz</CODE>, je¶li na koñcu nazwy pliku
ze ¼ród³ami nie ma <CODE>.gz</CODE> to u¿yj polecenia <CODE>tar xpvf
linux-x.y.z</CODE>. Zawarto¶æ archiwum wy¶wietli siê na ekranie.
Kiedy rozpakowywanie siê skoñczy pojawi siê nowy katalog <CODE>linux</CODE>.
Dobrym pomys³em by³oby w tym momencie zmieniæ jego nazwê na
<CODE>linux-x.y.z</CODE> i zrobiæ symboliczne do³±czenie do tego
katalogu o nazwie <CODE>linux</CODE>. Aby to zrobiæ u¿yj polecenia
<CODE>mv linux linux-x.y.z; ln -s linux-x.y.z linux</CODE>. Teraz
zmieñ bie¿±cy katalog na <CODE>linux</CODE> i przejrzyj plik
<CODE>README</CODE>. Znajdziesz tam sekcjê o nazwie <CODE>INSTALLING the
kernel</CODE>. Przeczytaj j± uwa¿nie i wype³nij wszystkie polecenia,
o których tam mowa.
<P>Je¶li ¶ci±gn±³e¶ wersjê <CODE>.bz2</CODE> i masz program bzip2 (na jego
temat mo¿na przeczytaæ pod adresem 
<A HREF="http://www.muraroa.demon.co.uk/">www.muraroa.demon.co.uk/</A>), to zrób tak:
<P>
<PRE>
   bzcat2 linux-x.y.z.tar.bz2 | tar xvf -
</PRE>
<P>
<H2>3.3 Konfiguracja j±dra.</H2>

<P>
<P>UWAGA: Niektóre 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, który
zadaje ci wiele pytañ. Wymaga on zainstalowanego shella, wiêc
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.  Mo¿na te¿ wydaæ
polecenie <CODE>make xconfig</CODE> co spowoduje uruchomienie mi³ej
konfiguracji pod Xwindow. Pierwszy sposób wymaga zainstalowanej
biblioteki (n)curses. Ta druga wymaga zainstalowanej biblioteki
Tcl/Tk. Obie s± dostarczane wraz ze standardowymi dystrybucjami.
Te sposoby maj± podstawow± zaletê: je¶li siê pomylisz, to ³atwo
jest wróciæ i poprawiæ b³±d.
<P>Mo¿na teraz odpowiadaæ na kolejne pytania ukazuj±ce 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 wyja¶nienia tej litery jest "mo¿e". Niektóre z bardziej
oczywistych czy nie-krytycznych opcji nie zosta³y 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> "?", która umo¿liwia
wy¶wietlenie krótkiej pomocy na temat bie¿±cej opcji. Informacja ta
jest prawdopodobnie naj¶wie¿sza. Oto lista wa¿niejszych opcji, do
jakiej hierarchii nale¿± i krótki opis.
<P>
<H3>Kernel math emulation (Processor type and features)</H3>

<P>
<P>Pytanie to dotyczy emulacji koprocesora przez j±dro.
Je¶li nie masz koprocesora matematycznego (masz czysty 386 albo
486SX), musisz tu odpowiedzieæ "y". Je¶li masz koprocesor a
odpowiesz "y", nie martw siê -- koprocesor bêdzie u¿yty, a
emulacja ignorowana. W po³owie przypadków w tej chwili odpowiedzi±
bêdzie nie, ale nie martw siê je¶li przypadkowo odpowiesz tak;
je¶li nie trzeba, to nie bêdzie to u¿yte.
<P>
<H3>Enhanced (MFM/RLL) disk and IDE disk/cdrom support (Block Devices).</H3>

<P>
<P>Przypuszczalnie potrzebujesz tej obs³ugi. Opcja ta oznacza, ¿e
j±dro bêdzie obs³ugiwaæ standardowe dyski do komputerów PC, które s±
w posiadaniu wiêkszo¶ci ludzi. Sterownik ten nie zawiera obs³ugi
dla dysków SCSI, pytanie o to bêdzie pó¼niej w konfiguracji.
<P>Zostaniesz zapytany nastêpnie o sterowniki "old disk-only" i "new
IDE". Wybierz jeden z nich; g³ówna ró¿nica pomiêdzy nimi to taka,
¿e stary sterownik obs³uguje tylko dwa dyski na pojedynczym
interfejsie, a nowy obs³uguje drugi interfejs i napêdy IDE/ATAPI
CD-ROM. Nowy sterownik jest o oko³o 4 kB wiêkszy od starego i ma
byæ lepszy. To znaczy, ¿e pomijaj±c mniejsz± ilo¶æ b³êdów mo¿e
dzia³aæ bardziej wydajnie, szczególnie je¶li masz dysk typu EIDE.
<P>
<H3>Networking support (General Setup).</H3>

<P>
<P>Ogólnie powiniene¶ odpowiedzieæ "y" je¶li twój komputer jest w
sieci takiej jak Internet, albo je¶li chcesz u¿ywaæ protoko³ów
SLIP czy PPP, aby mieæ dostêp do Internetu. Aczkolwiek wiele
pakietów (np. Xwindows) wymaga obs³ugi sieci nawet je¶li twój
komputer nie jest pod³±czony do ¿adnej sieci; powiniene¶ tu
odpowiedzieæ "y". Pó¼niej, zostaniesz zapytany czy chcesz obs³ugê
protoko³u TCP/IP; znowu, odpowiedz "y" je¶li nie jeste¶
absolutnie pewien.
<P>
<H3>System V IPC (General Setup).</H3>

<P>
<P>Jedn± z najlepszych definicji IPC (InterProcess Communication -
Komunikacja Pomiêdzy Procesami) znajduje siê w glosariuszu w ksi±¿ce
o Perlu. Nic wiêc dziwnego, ¿e niektórzy programi¶ci pisz±cy w
Perlu wykorzystuj± go do komunikacji miêdzy procesami, tak samo
jak wiele innych pakietów (DOOM - z tych najbardziej znanych ;) ),
wiêc odpowied¼ "n" nie jest m±drym wyborem, o ile wiesz dok³adnie
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 wkompilowywa³o pewne optymalizacje dla konkretnego
procesora; j±dra dzia³a³y dobrze tak¿e na inncyh procesoarch, ale
by³y one troche wiêksze. W nowszych wersjach siê ju¿ tego nie
stosuje i powiniene¶ odpowiedzieæ na jaki procesor rzeczywi¶cie
kompilujesz j±dro. J±dro skompilowane na 386 bêdzie dzia³aæ na
wszystkich procesorach.
<P>
<H3>SCSI support.</H3>

<P>
<P>Je¶li masz urz±dzenia SCSI odpowiedz "y". Zostaniesz nastêpnie
zapytany o dalsze informacje, jak np.: obs³uga CD-ROM-u,
dysków i twojego adaptera. Zajrzyj do SCSI-HOWTO po wiêcej
szczegó³ów.
<P>
<H3>Network device support.</H3>

<P>
<P>Je¶li masz kartê sieciow±, albo chcia³by¶ u¿ywaæ protoko³ów SLIP,
PPP, albo kontrolera portu równoleg³ego aby po³±czyæ siê z Internetem
odpowiedz "y". Konfigurator spyta ciê nastêpnie o typ karty i
rodzaj protoko³u.
<P>
<H3>Filesystems.</H3>

<P>
<P>Skrypt konfiguracyjny pyta ciê nastêpnie o to, jakie systemy
plików chcesz obs³ugiwaæ:
<P>Standard (minix) - Nowsze dystrybucje nie tworz± tego systemu
plików, a wielu ludzi go nie u¿ywa, ale jednak u¿ycie go mog³oby
byæ dobrym pomys³em, poniewa¿ przydaje siê on do odczytu dyskietek,
dla których system ten jest mniej bolesny ni¿ <CODE>ext2</CODE>.
<P>Second extended - To jest standardowy system plików Linuxa. Prawie
na pewno masz jeden z nich i musisz odpowiedzieæ <CODE>y</CODE>.
<P>msdos - Je¶li chcesz u¿ywaæ swej partycji dos-owej, albo montowaæ
dyskietki sformatowane pod ten system, odpowiedz "y".
<P>Dostêpne s± jeszcze ró¿ne inne systemy plików z innych systemów
operacyjnych.
<P>/proc - (Pomys³ jak mniemam z laboratorium Bella). Na
dysku nie tworzy siê systemu plików <CODE>proc</CODE>. To jest system
plików, który s³u¿y do porozumiewania siê z j±drem i procesami.
Wiele programów wy¶wietlaj±cych procesy, jak np. <CODE>ps</CODE> u¿ywa
tego systemu plików. Spróbuj czasami wykonaæ polecenie <CODE>cat
/proc/meminfo</CODE> albo <CODE>cat /proc/devices</CODE>.
Niektóre pow³oki (w szczególno¶ci rc) u¿ywaj± <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 wa¿nych
narzêdzi do Linux-a zale¿y od tego systemu plików.
<P>NFS - Je¶li twój komputer jest w sieci i chcesz u¿ywaæ systemów
plików, które znajduj± siê na innych systemach z NFS, odpowiedz "y".
<P>ISO9660 - Ten system plików jest na przewa¿aj±cej ilo¶ci
CD-ROM-ów. Je¶li wiêc chcesz u¿ywaæ CD-ROM-u odpowiedz "y".
<P>
<H3>Ale ja nie wiem jakiego systemu plików potrzebujê!</H3>

<P>
<P>No dobra, napisz <CODE>mount</CODE>. Powinno siê wy¶wietliæ 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>Spójrz na ka¿d± linijkê; s³owo obok <CODE>type</CODE> jest typem
systemu plików. W tym przypadku / i /usr s± typu <I>second extended</I>,
u¿ywany jest tak¿e <I>proc</I> i jest tak¿e zamontowana dyskietka
z systemem plików msdos (tfu!).
<P>Mo¿esz spróbowaæ te¿ <CODE>cat /proc/filesystems</CODE> je¶li masz
system <I>proc</I>. Wy¶wietli ci to systemy plików wkompilowane
w aktulanie u¿ywane j±dro.
<P>Konfiguracja rzadko u¿ywanych i nie krytycznych systemów plików
mo¿e powodowaæ niepotrzebne powiêkszanie siê j±dra; poczytaj
sekcjê o modu³ach jak tego unikn±æ i sekcjê "Pu³apki", aby
dowiedzieæ siê dlaczego powiêkszaj±ce siê j±dro nie jest po¿±dane.
<P>
<H3>Character devices.</H3>

<P>
<P>Tutaj do³±czasz sterowniki dla drukarki (równoleg³ej, znaczy siê),
myszy szeregowej, myszy PS/2 (wiele Notebooków u¿ywa protoko³u
PS/2 dla swoich wbudowanych myszy), niektóre sterowniki do ta¶m, i
inne tego typu "znakowe" urz±dzenia. Odpowiedz "y" kiedy znajdziesz
urz±dzenie, którego u¿ywasz.
<P>UWAGA: gpm to program, który pozwala na u¿ycie myszy poza
Xwindow i na kopiowanie tekstu pomiêdzy wirtualnymi konsolami.
Jest to ca³kiem przyjemne je¶li masz zwyk³± myszkê szeregow±,
poniewa¿ koegzystuje ona z Xwindows, ale musisz uciekaæ siê do
specjalnych sztuczek dla innych.
<P>
<H3>Sound.</H3>

<P>
<P>Je¶li czujesz wielk± potrzebê us³yszenia d¼wiêków wydobywaj±cych
siê z tej maszynerii to odpowiedz "y" i napisz wszystko co wiesz
na temat szczegó³ów twojej karty d¼wiêkowej i
skompiluje sterownik. (Uwaga o konfiguracji kart d¼wiêkowych:
je¶li zapyta ciê czy chcesz zainstalowaæ pe³n± wersjê sterownika,
mo¿esz odpowiedzieæ "n" i zaoszczêdziæ trochê pamiêci wybieraj±c
tylko to co jest ci potrzebne.)
<P>Je¶li my¶lisz powa¿nie o karcie d¼wiêkowej, to zajrzyj na dwie
strony darmowych sterowników:
<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 czêsto lub s± oczywiste (na przyk³ad: obs³uga
3Com 3C509). Jest ca³kiem 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>). Mo¿na go tak¿e zobaczyæ jako jeden
du¿y plik w dystrybucji j±dra <CODE>Documentation/Configure.help</CODE>
od wersji 2.0.
<P>[Od t³umacza] Plik ten dla chyba dwóch wersji j±dra jest
przet³umaczony na jêzyk 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>Wziête z pliku README napisanego przez Linusa:
opcja "kernel hacking" daje w rezultacie wiêksze i wolniejsze
j±dro, mo¿e nawet uczyniæ je mniej stabilnym, przez konfigurowanie
niektórych procedur, tak aby aktywnie próbowa³y ³amaæ z³e algorytmy i 
¿eby mo¿na by³o znale¼æ problemy j±dra. (kmalloc()). Tak wiêc powiniene¶
odpowiedzieæ tutaj "n" je¶li chcesz mieæ normalnie dzia³aj±ce i
stabilne j±dro.
<P>
<H2>3.4 I co teraz? (Makefile)</H2>

<P>
<P>Jak ju¿ skoñczysz konfiguracjê pojawi
siê na ekranie wiadomo¶æ, ¿e j±dro zosta³o skonfigurowane i ¿e
nale¿y 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 bêdziesz
tam nic zmienia³, ale spojrzeæ nie boli :). Jak ju¿ zainstalujesz
nowe j±dro mo¿esz zmieniæ jego opcje przy pomocy narzêdzia
<CODE>rdev</CODE>. Je¶li czujesz siê zagubiony patrz±c na ten plik, to
nie przejmuj siê nim.
<P>
<H2><A NAME="s4">4. Kompilacja j±dra.</A></H2>

<P>
<P>
<H2>4.1 Czyszczenie i zale¿no¶ci.</H2>

<P>
<P>Kiedy skrypt konfiguracyjny siê skoñczy ka¿e ci napisaæ <CODE>make
dep</CODE> i (przypuszczalnie) <CODE>make clean</CODE>. Tak wiêc
zaczynamy od <CODE>make dep</CODE>.  Jest to pewne zabezpieczenie siê,
które sprawdza ró¿ne zale¿no¶ci, jak na przyk³ad: czy pliki
nag³ówkowe s± na swoich miejscach. Nie zajmuje to wiele czasu, no
chyba, ¿e twój komputer jest naprawdê wolny.
<P>W starszych wersjach powiniene¶ jeszcze wydaæ polecenie <CODE>make
clean</CODE>. To usuwa pozosta³o¶ci po starej kompilacji j±dra
(pliki objektowe itp). <B>Nie zapomnij</B> tego kroku !!!
<P>
<H2>4.2 Kompilacja g³ówna.</H2>

<P>
<P>Po czyszczeniu i sprawdzeniu zale¿no¶ci mo¿esz wpisaæ <CODE>make bzImage</CODE>
lub <CODE>make bzdisk</CODE> (to jest ta czê¶æ, która zabiera tyle
czasu). <CODE>make bzImage</CODE> skompiluje j±dro i zostawi je w pliku
<CODE>/usr/src/linux/arch/i386/boot/bzImage</CODE> w¶ród innych rzeczy.
To jest nowe skompresowane j±dro. <CODE>make bzdisk</CODE> robi to samo,
z t± ró¿nic±, ¿e umieszcza plik <CODE>bzImage</CODE> na dyskietce w
stacji A:, któr± mam nadziejê w³o¿ysz na czas do stacji :). (ten
czas to sam koniec kompilacji, ale na wszelki wypadek radzê w³o¿yæ
od razu, bo potem mo¿na zapomnieæ)
<CODE>make bzdisk</CODE> to dobry sposób na testowanie nowego j±dra;
je¶li co¶ pójdzie nie tak, po prostu wyjmujesz dyskietkê ze stacji,
resetujesz i po krzyku. Mo¿e to byæ tak¿e pomocne je¶li
przypadkowo usuniesz j±dro z dysku. (radzê uwa¿aæ na to co siê robi
w katalogu g³ównym a szczególnie w katalogu <CODE>/boot</CODE>). Mo¿esz
jej tak¿e u¿yæ do instalacji innych systemów, poniewa¿ wystarczy
przegraæ zawarto¶æ tej dyskietki na inn±.
<P>Wszystkie, nawet te w po³owie sensowne, j±dra s± skompresowane, z
powodu literek "bz" na pocz±tku. Skompresowane j±dro odkompresowuje
siê automatycznie w czasie wykonywania.
<P>W starszych j±drach nie ma opcji <CODE>bzImage</CODE>. By³o to po prostu
<CODE>zImage</CODE>. Opcja ta jest wci±¿ dostêpna, jednak bior±c pod uwagê
obecne rozmiary j±dra nie poleca siê tego sposobu kompresji.
<P>
<H2>4.3 Inne parametry dla "make" przy kompilowaniu j±dra.</H2>

<P>
<P><CODE>make mrproper</CODE> spowoduje dok³adniejsze wyczyszczenie.
Czasem jest to potrzebne; mo¿esz to robiæ przy instalacji
ka¿dej ³aty (patch). <CODE>make mrproper</CODE> skasuje tak¿e twój
plik z bie¿±c± konfiguracj±, wiêc mo¿esz sobie zrobiæ kopiê
tego pliku (<CODE>.config</CODE>).
<P><CODE>make oldconfig</CODE> spróbuje skonfigurowaæ j±dro na podstawie
starego pliku konfiguracyjnego; przejdzie za ciebie przez proces
konfiguracji (make config). Je¶li jeszcze nigdy przedtem nie
kompilowa³e¶ j±dra lub nie masz starego pliku konfiguracyjnego
wtedy przypuszczalnie nie powiniene¶ tego robiæ, bo bêdziesz
chcia³ zmieniæ konfiguracjê domy¶ln±.
<P>Przeczytaj sekcjê o modu³ach na temat szczegó³ów dotycz±cych
<CODE>make modules</CODE>.
<P>
<H2>4.4 Instalacja j±dra.</H2>

<P>
<P>Je¶li masz ju¿ nowe j±dra i wydaje ci siê, ¿e ono dzia³a tak jak
chcia³e¶, czas aby je zainstalowaæ. Wiêkszo¶æ ludzi u¿ywa do tego
celu LILO (Linux Loader). <CODE>make bzlilo</CODE> zainstaluje j±dro,
uruchomi lilo, aby od¶wie¿yæ informacje i przygotuje wszystko, aby
zresetowaæ i za³adowaæ nowe j±dro. <B>ALE TYLKO</B> w przypadku,
gdy LILO jest skonfigurowane nastêpuj±co:
j±dro to <CODE>/vmlinuz</CODE>, lilo jest w <CODE>/sbin</CODE>, a twój
plik konfiguracyjny od lilo to <CODE>/etc/lilo.conf</CODE> i zgadza
siê z tym co jest powy¿ej.
<P>W innym przypadku musisz u¿yæ bezpo¶rednio polecenia <CODE>lilo</CODE>.
Jest to pakiet ca³kiem prosty do zainstalowania i u¿ywania, ale ma
tendencjê do za³amywania 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¼
bie¿±ce ustawienia. Plik ten wygl±da tak:
<P>
<PRE>
    image = /vmlinuz
        label = Linux
        root = /dev/hda1
        ...
</PRE>
<P><CODE>image =</CODE> odnosi siê do aktualnej wersji zainstalowanego
j±dra. Wiêkszo¶æ u¿ywa nazwy <CODE>/vmlinuz</CODE>. Ale równie dobrze
mo¿e to byæ nazwa xxx, j±dro, czy pliczek (nie jestem pewien co
do polskich liter, ale zawsze mo¿na poeksperymentowaæ :) )
<CODE>label =</CODE> u¿ywane jest przez LILO, aby dowiedzieæ siê jaki
system lub j±dro za³adowaæ, a <CODE>root =</CODE> jest katalogiem
g³ównym danego systemu. Zrób kopiê j±dra, którego teraz u¿ywasz i
skopiuj nowo zrobione j±dro na miejsce starego (czyli napisz
<CODE>cp bzImage /vmlinuz</CODE> je¶li u¿ywasz 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 mo¿e bêdziesz musia³ uruchomiæ <CODE>/etc/lilo/install</CODE>
albo nawet <CODE>/etc/lilo/lilo -C /etc/lilo/config</CODE>.
<P>Je¶li chcesz wiedzieæ wiêcej na temat konfiguracji LILO, albo nie
masz LILO, zdob±d¼ najnowsz± wersjê i poczytaj dokumentacjê.
<P>Aby za³adowaæ jedn± ze starszych wersji j±dra, które mam nadziejê
zachowa³e¶ :) skopiuj linie od <CODE>image = xxx</CODE> w pliku
konfiguracyjnym LILO na dó³ pliku, zmieñ xxx na nazwê twojego
zachowanego pliku (wraz z pe³n± ¶cie¿k±). Zmieñ <CODE>label = zzz</CODE>
na np. <CODE>label = old-kernel</CODE> i uruchom ponownie <CODE>lilo</CODE>.
Mo¿esz te¿ wstawiæ liniê <CODE>delay = x</CODE>, gdzie x jest ilo¶ci±
dziesiêtnych czê¶ci sekundy, do pliku konfiguracyjnego LILO, aby
zatrzymaæ ³adowanie na okre¶lon± ilo¶æ sekund i przerwaæ je np.
klawiszem SHIFT, a potem wpisaæ nazwê któr± nada³e¶ starszej
wersji j±dra (tê <CODE>label =</CODE> z pliku konfiguracyjnego LILO, a
nie nazwê pliku j±dra) w razie gdyby sta³o siê co¶ nieprzyjemnego.
<P>
<H2><A NAME="s5">5. £atanie j±dra (patchowanie).</A></H2>

<P>
<P>
<H2>5.1 Zak³adanie ³aty.</H2>

<P>
<P>Pakiety, które pozwalaj± na odnowienie j±dra to ³aty. Na przyk³ad:
je¶li masz wersjê 1.1.45 i znajdziesz plik o nazwie <CODE>patch46.gz</CODE>
to znaczy, ¿e mo¿esz odnowiæ swoje j±dro do wersji 1.1.46. Mo¿esz
zrobiæ kopiê ¼róde³, które masz (<CODE>make clean</CODE> a potem
<CODE>cd /usr/src; tar zcvf old-kernel.tar.gz linux</CODE>)
<P>Tak wiêc kontynuuj±c powy¿szy przyk³ad za³ó¿my, ¿e masz plik
<CODE>patch46.gz</CODE> w katalogu <CODE>/usr/src</CODE>. Bed±c w katalogu
<CODE>/usr/src</CODE> wydaj polecenie <CODE>zcat pacth46.gz | patch -p0</CODE>
albo <CODE>patch -p0 &lt; patch46</CODE> je¶li ³ata nie jest
skompresowana. Zobaczysz teraz trochê ¶cie¿ek i nazw plików
oraz komunikatów przelatuj±cych przez ekran, o tym co siê uda³o a co
nie. Wszystko to przelatuje zbyt szybko, ¿eby nad±¿yæ z
czytaniem, tak¿e w³a¶ciwie nie wiesz czy siê uda³o czy nie. Mo¿esz
u¿yæ parametru <CODE>-s</CODE> do polecenia <CODE>patch</CODE>, aby
poinformowaæ je, ¿eby wy¶wietla³o tylko komunikaty o b³êdach.  Aby
zobaczyæ czy co¶ posz³o nie tak, poszukaj plików z rozszerzeniem
<CODE>.rej</CODE> w katalogu <CODE>/usr/src/linux</CODE>.  Niektóre wersje
patch (starsze wersje, które mog³y byæ skompilowane na gorszym
systemie plików) zostawiaj± b³êdy w plikach z rozszerzeniem
<CODE>#</CODE>. Mo¿esz u¿yæ polecenia <CODE>find</CODE>, aby znale¼æ
te pliki:
<P>
<PRE>
      cd /usr/src/linux; find ./ -name '*.rej' -print
</PRE>
<P>Polecenie to wy¶wietli wszystkie pliki z rozszerzeniem rej
znajduj±ce siê w bie¿±cym katalogu i jego podkatalogach.
<P>Je¶li wszystko posz³o 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¿ wspomnia³em,
<CODE>patch -s</CODE> spowoduje wy¶wietlenie na ekran tylko wiadomo¶ci
o b³êdach. Je¶li trzymasz ¼ród³a w innym katalogu ni¿
<CODE>/usr/src/linux</CODE>, polecenie <CODE>patch -p1</CODE> wydane w tym
katalogu, gdzie trzymasz ¼ród³a zrobi wszystko bez b³êdów. Inne
opcje polcenia patch s± dobrze opisane w podrêczniku "man".
<P>
<H2>5.2 Je¶li co¶ pójdzie nie tak.</H2>

<P>
<P>(Uwaga: ta sekcja odnosi siê w g³ównej mierze do starszych wersji
j±dra.)
<P>Najczêstszym problemem by³o to, ¿e kiedy polecenie <CODE>patch</CODE>
modyfikowa³o plik <CODE>config.in</CODE> nie wygl±da³ on tak jak
powinien, bo zmodyfikowa³e¶ go, aby pasowa³ do twojego komputera.
Zosta³o to ju¿ poprawione, ale w starszych wersjach b³±d ten
pozosta³. Aby to naprawiæ, przeczytaj plik <CODE>config.in.rej</CODE>
i zobacz co pozosta³o z oryginalnej ³aty. Zmiany s± zwykle
zaznaczane znakami + i - na pocz±tku linii. Spójrz na linie
otaczaj±ce tê zaznaczon± i przypomnij sobie, czy by³y 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 je¶li poinformuje ciê, ¿e
siê powiod³o, wtedy mo¿esz kontynuowaæ konfiguracjê i kompilacjê.
Plik <CODE>config.in.rej</CODE> pozostanie, ale mo¿esz go skasowaæ.
<P>Je¶li odkryjesz dalsze problemy, mog³e¶ zainstalowaæ jak±¶ ³atê
nie w kolejno¶ci. Je¶li na ekranie pojawi siê taka wiadomo¶æ:
<CODE>previously applied patch detected: Assume -R?</CODE> oznacza to,
¿e przypuszczalnie próbujesz na³o¿yæ ³atê o wersji mniejszej ni¿
¼ród³a twojego j±dra. Je¶li odpowiesz "y", polecenie patch
spróbuje zdegradowaæ twoj± wersjê, i najprzypuszcalnie siê to nie
powiedzie, przez co bêdziesz musia³ zdobyæ ca³kiem nowe ¼ród³a.
(co w sumie wcale nie jest takim z³ym pomys³em).
<P>Aby odinstalowaæ jak±¶ ³atê u¿yj <CODE>patch -R</CODE> na oryginalnej.
<P>Jak ju¿ siê wszystko tak pomiesza, ¿e nie bêdziesz móg³ doj¶æ do
³adu, to najlepszym sposobem jest zdobyæ nowe ¼ród³a j±dra i zacz±æ
od nowa.
<P>
<H2>5.3 Pozbywanie siê plików ".orig".</H2>

<P>
<P>Po zaledwie kilku ³atach pliki <CODE>.orig</CODE> zaczynaj± niebezpiecznie
rosn±æ. Na przyk³ad: usuniêcie plików .orig z wersji 1.1.51, która
by³a ostatnio czyszczona w wersji 1.1.48 spowodowa³o zwolnienie
ponad 500 kB dysku.
<P>
<PRE>
    find . -name '*.orig' -exec rm -f {} ';'
</PRE>
<P>Polecenie to spowoduje usuniêcie wszystkich plików .orig z
bie¿±cego katalogu i jego podkatalogów.
<P>Wersje patch, które u¿ywaj± plików .# zamiast plików .rej,
u¿ywaj± tyldy (~) zamiast plików .orig.
<P>S± lepsze sposoby pozbycia siê plików .orig, które zale¿± od
polecenia GNU <CODE>xargs</CODE>:
<P>
<PRE>
    find .  -name '*.orig' | xargs rm
</PRE>
<P>lub metoda ca³kiem bezpieczna ale trochê "g³o¶na" (du¿o
komunikatówna 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 które
dystrybuuje Linus. Je¶li ich u¿yjesz ³aty Linusa mog± nie dzia³aæ
i bêdziesz musia³ je albo odinstalowaæ, dopasowaæ ¼ród³a albo ³atê,
zainstalowaæ nowe ¼ród³a, albo jaka¶ kombinacja tego. Mo¿e to byæ
trochê frustruj±ce, wiêc je¶li nie chcesz grzebaæ w ¼ród³ach (z
mo¿liwo¶ci± narobienia niez³ego bajzlu), odinstaluj niestandardowe
wersje ³at zanim zainstalujesz ³atê Linusa, albo po prostu
zainstaluj nowe ¼ród³a. Wtedy mo¿esz zobaczyæ czy ³aty
niestandardowe wci±¿ dzia³aj±. Je¶li nie to albo utkn±³e¶ ze
starym j±drem i bêdziesz próbowa³ zmusiæ jako¶ ¼ród³o albo ³atê,
¿eby zaczê³a dzia³aæ, albo bêdziesz czeka³ (pewnie b³aga³) o now±
³atê.
<P>Jak pospolite s± te niestandardowe ³aty?<BR>
Przypuszczalnie o nich us³yszysz. Ja u¿ywa³em ³aty "noblink" na
moich wirtualnych konsolach, bo nienawidzê mrugaj±cego kursora. Ta
³ata jest (a przynajmniej by³a) czêsto odnawiana dla nowszych
wersji j±dra. Z wiêkszo¶ci± nowych sterowników jako ³adowalne
modu³y, chocia¿ czêstotliwo¶æ niestandardowych ³at znacznie spada.
<P>
<H2><A NAME="s6">6. Pakiety dodatkowe.</A></H2>

<P>
<P>J±dro Linux-a ma wiele zalet, które nie znajduj± siê w ¼ród³ach. S±
one rozprowadzane jako osobne pakiety. Niektóre z tych najbardziej
popularnych s± tu wymienione.
<P>
<H2>6.1 kbd</H2>

<P>
<P>Konsola Linux-owa ma chyba wiêcej zalet ni¿ na to zas³uguje.
Pomiêdzy nimi znajduj± siê takie jak: zmiana czcionek, zmiana
uk³adu klawiszy, zmiana trybów wy¶wietlania (w nowszych wersjach).
Pakiet <I>kbd</I> to programy, które pozwalaj± u¿ytkownikowi na
robienie tego wszystkiego plus wiele czcionek i uk³adów klawiatur
dla prawie wszystkich klawiatur i jest on dostêpny z tego samego
miejsca, gdzie znajduj± siê ¼ród³a j±dra.
<P>
<H2>6.2 util-linux</H2>

<P>
<P>Rik Faith (
<A HREF="mailto:faith@cs.unc.edu">faith@cs.unc.edu </A>) z³o¿y³ razem obszern±
kolekcjê narzêdzi do Linux-a, które 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>). Dostêpne 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 narzêdzia jak: <CODE>setterm, rdev, czy
ctrlaltdel</CODE>, które s± zwi±zane z j±drem. Jak Rik twierdzi,
<I>Nie instaluj tego zestawu bez zastanowienia</I>. Nie trzeba
instalowaæ ca³ej zawarto¶ci pakietu, mog³oby to nawet spowodowaæ
powa¿ne problemy.
<P>
<H2>6.3 hdparm</H2>

<P>
<P>Jak wiêszko¶æ pakietów, ten by³ ³at± i dodatkiem dla j±dra. £aty
zosta³y z czasem zwi±zane na sta³e z j±drem, a ten program sta³
siê osobnym pakietem. W rêkach niedo¶wiadczonego u¿ytkownika jest
on bardzo <B>niebezpieczny</B>. Wiêc nie u¿ywaj go je¶li nie
wiesz co robisz.
<P>
<H2>6.4 gpm</H2>

<P>
<P>gpm - general purpose mouse czyli, w do¶æ wolnym t³umaczeniu :),
mysz o ogólnym zastosowaniu. Program ten pozwala na przenoszenie
zawarto¶æi pomiêdzy wirtualnymi konsolami i inne po¿yteczne rzeczy
jak np. t³umaczenie protoko³ów pomiêdzy ró¿nymi typami myszek,
u¿ywanie wielu myszek...
<P>
<P>
<H2><A NAME="s7">7. Niektóre pu³apki.</A></H2>

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

<P>
<P>Je¶li twoje nowe j±dro zaczyna robiæ dziwne rzeczy po rutynowym
odnowieniu, przypuszczalnie zapomnia³e¶ wydaæ polecenie <CODE>make clean</CODE>
przed kompilacj± nowego j±dra. Oznaki takie to mo¿e byæ cokolwiek
od zawieszania siê systemu bez powodu, przez dziwne problemy z
funkcajmi I/O, do ¶limaczej szybko¶ci. Nie zapomnij tak¿e wydaæ
polecenia <CODE>make dep</CODE>.
<P>
<H2>7.2 Wielkie albo wolne j±dro.</H2>

<P>
<P>Je¶li twoje jadro z¿era ogromn± ilo¶æ pamiêci, jest zbyt du¿e,
albo po prostu kompiluje siê w nieskoñczono¶æ nawet je¶li masz
swoje nowiutkie Quadbazillium-III/4400, najprawdopodobniej skonfigurowa³e¶
niepotrzebnie pe³no sterowników. Je¶li czego¶ nie u¿ywasz, to nie
konfiguruj, bo to naprawdê zabiera niepotrzebnie pamiêæ.
Najbardziej oczywistym symptomem przy zbyt du¿ym j±drze jest
bardzo czêste swapowanie (je¶li twój dysk ci±gle rzêzi, a nie
jest jednym z tych starych or³ów Fujitsu, które brzmi± jak
l±duj±cy odrzutowiec, przejrzyj konfiguracjê swojego j±dra).
<P>Mo¿esz dowiedzieæ siê ile pamiêci zabiera twoje j±dro odejmuj±c
warto¶æ <CODE>total mem</CODE> z pliku <CODE>/proc/meminfo</CODE> albo z
polecenia <CODE>free</CODE> od ca³kowitej ilo¶ci pamiêci w twoim
komputerze.
<P>
<H2>7.3 Port równoleg³y nie dzia³a/moja drukarka nie dzia³a.</H2>

<P>
<P>Opcje które musisz w³±czyæ na PC-cie to: Najpierw w sekcji
&quot;General Setup&quot; w³±cz &quot;Parallel port
support&quot; oraz &quot;PC-style hardware&quot;. Nastêpnie w
sekcji &quot;Character devices&quot; w³±cz &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 j±drze mia³e¶
<CODE>lp1</CODE> a teraz jest to <CODE>lp0</CODE>. Spójrz do <CODE>dmesg</CODE> albo w
katalogu <CODE>/var/log/</CODE>.
<P>
<H2>7.4 J±dro siê nie kompiluje.</H2>

<P>
<P>Je¶li siê rzeczywi¶cie nie kompiluje, to pewnie jaka¶ ³ata siê nie
zainstalowa³a poprawnie. Twoja wersja "gcc" mo¿e tak¿e byæ
nie w porz±dku. Albo pliki nag³ówkowe s± skopane. Upewnij siê
tak¿e czy symboliczne do³±czenie, o których Linus pisze w README,
s± poprawnie zrobione. W ogólno¶ci je¶li standardowe j±dro siê nie
kompiluje, to co¶ powa¿nego jest z systemem i niezbêdna jest
ponowna instalacja niektórych narzêdzi.
<P>W niektórych przypadkach "gcc" mo¿e siê wysypaæ z powodu
problemów sprzêtowych. Komunikaty w tym przypadku to: <CODE>xxx
exited with signal 15</CODE> i w ogólno¶ci s± one bardzo tajemnicze.
Pewnie bym o tym nie wspomina³, gdyby nie to, ¿e mi siê to
zda¿y³o - mia³em kiedy¶ wadliw± pamiêæ cache a kompilator wtedy
hula³ sobie po pamiêci gdzie chcia³. Najpierw spróbuj
przeinstalwaæ gcc. Podejrzenia na sprzêt rzucaj dopiero je¶li
j±dro siê kompiluje przy wy³±czonym zewnêtrznym cache'u, albo przy
zmniejszonej ilo¶ci pamiêci RAM itp.
<P>Z regu³y ludzi to trochê denerwuje jak im powiesz, ¿e maj± popsuty
sprzêt. Có¿, ja tego nie zmy¶lam. Jest FAQ na ten temat - 
<A HREF="http://www.bitwizard.nl/sig11/">www.bitwizard.nl/sig11/</A>.
<P>
<H2>7.5 Nowa wersja j±dra nie chce siê za³adowaæ.</H2>

<P>
<P>Albo nie uruchomi³e¶ <CODE>lilo</CODE> po skopiowaniu j±dra na miejsce
starego, albo ¼le skonfigurowa³e¶. Najczê¶ciej spotykanym
problemem jest nie wkompilowanie obs³ugi twoejgo dysku lub systemu
ext2. Kiedy¶ mia³em problem z plikiem konfiguracyjnym LILO; by³o
tam <CODE>boot = /dev/hda1</CODE> a powinno byæ <CODE>boot =
/dev/hda</CODE>. Na pocz±tku to mo¿e byc naprawdê denerwuj±ce, ale
potem jak ju¿ masz dobry plik konfiguracyjny nie powiniene¶ go
zmieniaæ.
<P>
<H2>7.6 Zapomnia³e¶ uruchomiæ lilo, albo system siê w ogóle nie ³aduje.</H2>

<P>
<P>Oooj! Najlepsz± rzecz± jak± mo¿na zrobiæ to za³adowaæ system z
dyskietki lub CDROMu (no trzeba je oczywi¶cie mieæ :) ) i przygotowaæ now±
dyskietkê startuj±c± (np. <CODE>make zdisk</CODE>). Musisz wiedzieæ,
gdzie jest twój g³ówny system plików i jakiego jest typu. (ext2,
minix). W przyk³adzie poni¿ej musisz tak¿e wiedzieæ gdzie i na
jakim systemie jest /usr/src/linux i gdzie jest zwykle
zamontowany.
<P>W nastêpuj±cym przyk³adzie "/" to /dev/hda1, a partycja, na której
znajduje siê katalog linux to /dev/hda3 normalnie montowana na
/usr. Dzia³aj±ce j±dro jest w katalogu
<CODE>/usr/src/linux/arch/i386/boot</CODE> i nazywa siê <CODE>bzImage</CODE>.
<P>Pomys³ polega na tym, ¿e je¶li masz dzia³aj±ce bzImage, mo¿na tego
u¿yæ dla nowej dyskietki. Inna alternatywa, która mo¿e, ale nie
musi dzia³aæ (to zale¿y jak bardzo namiesza³e¶) opisana jest za
tym przyk³adem.
<P>Najpierw, za³aduj system z dyskietki, któr± akurat masz i zamontuj
system plików, na którym znajduje siê dzia³aj±ce j±dro:
<P>
<PRE>
   mkdir /mnt
   mount -t ext2 /dev/hda3 /mnt
</PRE>
<P>Je¶li pojawi siê komunikat, ¿e katalog /mnt ju¿ jest - zignoruj
go. Przy mount na pewno pojawi siê komunikat ostrzegaj±cy, ¿e
montujesz niesprawdzony system plików - zignoruj go. Zmieñ katalog
na ten, w którym znajduje siê dzia³aj±ce j±dro (pamiêtaj, ¿e teraz
masz dysk w katalogu /mnt). Umie¶æ sformatowan± dyskietkê w stacji
A: (nie dyskietkê, z której startowa³e¶ !!!), przerzuæ j±dro na
dyskietkê i skonfiguruj je dla twojego g³ównego systemu plików:
<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 za³adowaæ system tak jak normalnie z
tej dyskietki. Nie zapomnij uruchomiæ lilo po restarcie (czy co
tam ¼le zrobi³e¶).
<P>Jak ju¿ wspomnia³em jest jeszcze inna metoda. Je¶li masz
kopiê dzia³aj±cego j±dra, mo¿esz jej u¿yæ dla zrobienia dyskietki
startowej. We¼my znów powy¿sze warunki i za³ó¿my, ¿e dzia³aj±ca
kopia to /vmlinuz. Zrób to samo co powy¿ej z tymi zmianami:
/dev/hda3 zmieñ na /dev/hda1/ (g³. system plików)
/mnt/src/linux na /mnt
if=bzImage na if=vmlinuz
<P>------------------------------------------------------------------<BR>
Od t³umacza:
<P>Szczerze powiem/napiszê, ¿e nie wiem po co ten cz³owiek tak
komplikuje sprawê. Podam tu sposób, ktorego ja u¿ywam:
<P>Najpierw sprawd¼ czy masz takie linijki na pocz±tku
pliku <CODE>/etc/lilo.conf</CODE>:
<P>
<PRE>
   prompt
   timeout=50
</PRE>
<P>Je¶li 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 j±dra z wersj± na koñcu (/vmlinuz-2.0.18) i robiê
symboliczne do³±czenie ln -s /vmlinuz-2.0.18 /vmlinuz.
Je¶li kompilujê tê sam± wersjê j±dra, to przed kompilacj±/instalacj±
<B>ZAWSZE</B> robiê kopiê j±dra, które mi dzia³a (powiedzmy
cp /vmlinuz-2.0.18 /vmlinuz.2.0.18.old);<BR>
Jak ju¿ skompilujê j±dro to kopiuje je na /vmlinuz-wersja, przedtem
KOPIA !!! - tylko je¶li kompilujemy tê sam± wersjê j±dra, któr±
ju¿ u¿ywamy, bo nowsza wersja bêdzie mia³a inny numer na koñcu. Po
skopiowaniu zmieniamy do³±czenie symboliczne (je¶li 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. Je¶li
nowe j±dro nie dzia³a, to startujemy stare j±dro (wpisujemy po
pojawieniu siê <CODE>boot:</CODE>  lub <CODE>LILO:</CODE> na ekranie linux-old) i
po wci¶niêciu ENETERa mamy znowu dzia³aj±cy system.
<P>Je¶li nie dzia³aj±ce j±dro by³o w tej samej wersji co poprzednie
(po prostu potrzebowa³e¶ co¶ dodaæ), to trzeba uruchomiæ system w
trybie &quot;single&quot; (linux-old init single), odzyskaæ stare
modu³y ze zrobionej poprzednio kopii katalogu
<CODE>/lib/modules/x.y.z</CODE> i zrestartowaæ jeszcze raz system
pamiêtaj±c, ¿eby startowaæ stare j±dro. Albo po prostu zmieñ
odpowiednie dowi±zanie /vmlinuz, ¿eby wskazywa³o te¿ na star±
wersjê j±dra (ln -s /vmlinuz-x.y.z.old /vmlinuz) i <B>NIE
ZAPOMNIJ</B> po ka¿dej takiej operacji uruchomiæ <CODE>/sbin/lilo</CODE>.
<P>------------------------------------------------------------------
<P>U¿ywanie LILO z du¿ymi dyskami (z wieksz± ilo¶ci± cylindrów ni¿
1023) mo¿e powodowaæ problemy. Przeczytaj mini-HOWTO LILO i
Large-Drives, je¶li chcesz znaæ wiêcej szczegó³ów.
<P>
<H2>7.7 Pisze mi "warning: bdflush not running".</H2>

<P>
<P>No i dobrze, ¿e pisze, bo to mo¿e byæ powa¿ny problem. Poczynaj±c
od wersji j±dra 1.0.0 (oko³o 20 kwietnia 1994) program <CODE>update</CODE>,
który okresowo zapisuje zawarto¶æ bufora na dysk, zosta³ zmieniony.
Zdob±d¼ ¼ród³a programu "bdflush" (powiniene¶ je znale¼æ tam gdzie
j±dro) i skompiluj. Dopóki nie uruchomisz tego programu radzê
u¿ywaæ wersji j±dra starszej od 1.0.0 (Czy ta wersja jest jeszcze
do zdobycia !!!?). Instaluje siê samo jako <CODE>update</CODE>, a po
restarcie nowe j±dro nie powinno juz narzekaæ.
<P>
<H2>7.8 Nie mogê zmusiæ mojego CD-ROM-u IDE/ATAPI do wspó³pracy.</H2>

<P>
<P>Naprawdê dziwne. Bardzo du¿o ludzi ma ten problem. Pewnie dlatego,
¿e jest du¿o przypadków, w których to siê mo¿e dziaæ.
<P>Je¶li twój CD-ROM to jedyne urz±dzenie na konkretnym interfejsie
IDE, musi byæ skonfigurowany zworkami jako master lub single. To
jest najczêstszy problem.
<P>Creative Labs umieszcza teraz interfejs IDE na swoich kartach
d¼wiêkowych. To prowadzi do ciekawego problemu, bo niektórzy maj±
tylko jeden interfejs IDE, wielu ma dwa interfejsy IDE na swoich
p³ytach g³ównych (zwykle na IRQ15), wiêc najpopularniejszym
rozwi±zaniem jest uczyniæ interfejs na karcie d¼wiêkowej trzecim
(IRQ11, a przynajmniej tak mi mówili).
<P>To powoduje w Linux-ie problemy, poniewa¿ wersja 1.2.x nie obs³uguje
trzeciego interfejsu IDE (obs³uga jest w której¶ z wersji 1.3.x,
ale pamiêtaj - to jest wersja testowa, i nie wykrywa sama tego
interfejsu). Aby to obej¶æ masz trzy mo¿liwo¶ci:
<P>Je¶li masz ju¿ drugi interfejs, to prze³ó¿ CD-ROM na ten drugi
interfejs je¶li jest wolny. Mo¿esz wtedy wy³±czyæ interfejs z
karty d¼wiêkowej, co zachowa jedno IRQ.
<P>Je¶li nie masz drugiego interfejsu, ustaw interfejs na karcie
d¼wiêkowej (ale nie ten od d¼wiêku, tylko IDE) na przerwanie IRQ15
za pomoc± zworek. Powinno dzia³aæ.
<P>
<H2>7.9 Pisze co¶ o przestarza³ym rutingu.</H2>

<P>
<P>We¼ now± wersjê programu <CODE>route</CODE> i wszelkie inne programy,
które siê zajmuja rutingiem.
<CODE>/usr/include/linux/route.h</CODE> (który w³a¶ciwie jest plikiem
w <CODE>/usr/src/linux</CODE>) sie zmieni³.
<P>
<H2>7.10 Firewall mi nie dzia³a 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 u¿ywaj jako j±dra pliku <CODE>vmlinux</CODE> w katalogu
<CODE>/usr/src/linux</CODE> stworzonego podczas kompilacji. Plik,
który powiniene¶ u¿yæ 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ñ s³owo <CODE>dumb</CODE> na <CODE>linux</CODE> w pliku <CODE>/etc/termcap</CODE>
w sekcji dotycz±cej konsoli. Mozliwe te¿, ¿e bêdziesz musia³
zrobiæ terminfo.
<P>
<H2>7.13 Nie mogê skompilowaæ ró¿nych rzeczy po odnowieniu j±dra.</H2>

<P>
<P>¬ród³a j±dra zawieraj± pewn± liczbê plików nag³ówkowych (te co siê
koñcz± na .h), do których odwo³uj± siê standardowe pliki
nag³ówkowe w <CODE>/usr/include</CODE>. Przewa¿nie wygl±da to tak:
<P>
<PRE>
     #include &lt;linux/xxyy.h>
</PRE>
<P>Zwykle w katalogu <CODE>/usr/include</CODE> jest symboliczne
do³±czenie <CODE>linux</CODE> wskazuj±ce na <CODE>/usr/src/linux/include/linux</CODE>.
Je¶li do³±czenia tego nie ma, albo wskazuje na z³e miejsce, to
rzeczywi¶cie wiêkszo¶æ programów siê nie skompiluje. Je¶li
zdecydowa³e¶, ¿e ¼ród³a zajmuj± za du¿o miejsca na dysku i
skasowa³e¶ je, to to jest w³a¶nie twój problem. Razem z tymi
¼ród³ami skasowa³e¶ pliki nag³ówkowe. Inny problem to problem z
dostêpem do plików: Je¶li twój root ma umask ustawiony tak, ¿e
u¿ytkownicy nie mog± widzieæ plików przez niego stworzonych, i
rozpakowa³e¶ ¼ród³a bez opcji p (zachowaj oryginalne flagi
dostêpu), u¿ytkownicy nie bêd± mogli u¿yæ kompilatora. Najpro¶ciej
naprawiæ to w ten sposób:
<P>
<PRE>
   zaloguj siê jako root
   cd /usr/src/linux/
   chmod -R go+r include/
</PRE>
<P>
<H2>7.14 Zwiêkszanie limitów.</H2>

<P>
<P>Kilka nastêpuj±cych <I>przyk³adowych</I> poleceñ mo¿e pomóc tym,
którzy zastanawiaj± siê jak zwiêkszyæ pewne programowe
ograniczenia wprowadzone przez j±dro:
<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 j±dra 2.0.x i 2.2.x wprowadzi³y trochê zmian w instalacji.
Plik <CODE>Documentation/Changes</CODE> zawiera informacje, które
powiniene¶ poznaæ, kiedy uaktualaniasz swoje j±dro do której¶ z
tych wersji.
Najprzypuszczalniej bêdziesz musia³ odnowiæ tak¿e niektóre
kluczowe pakiety, takie jak: gcc, libc i SysVInit, i mo¿e
dostosowaæ kilka plików systemowych. Ale nie panikuj !
<P>
<H2><A NAME="s9">9. Modu³y.</A></H2>

<P>
<P>£adowalne modu³y j±dra mog± zaoszczêdziæ trochê pamiêci i u³atwiæ
konfiguracjê. Obszar dzia³ania modu³ów urós³ ju¿ do tego, ¿e
zawieraj± one systemy plików, sterowniki do kart Ethernet, do
ta¶m, do drukarek i wiele innych.
<P>
<H2>9.1 Instalacja narzêdzi modu³owych.</H2>

<P>
<P>Narzêdzia te sa dostêpne stamt±d, sk±d masz ¼ród³a j±dra. Nazywaj±
siê <CODE>modutils-x.y.z.tar.gz</CODE>; wybierz najwy¿sz± wersjê równ±,
albo mniejsz± od wersji twojego j±dra. Rozpakuj poleceniem <CODE>tar
zxvf modutils-x.y.z</CODE>. Wejd¼ do stworzonego katalogu i poczytaj
plik README. Wype³nij dok³adnie instrukcje na temat instalacji
(jest ona z regu³y 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.
Je¶li chcesz przetestowaæ narzêdzia z przyk³adowym sterownikiem
"hw" w <CODE>insmod</CODE>; przejrzyj plik <CODE>INSTALL</CODE> w tym
katalogu.
<P><CODE>insmod</CODE> ³aduje modu³ do uruchomionego j±dra. Modu³y maj± z
regu³y roszerzenie .o; przyk³adowy modu³ wspomniany wy¿ej nazywa
siê <CODE>drv_hello.o</CODE>, a wiêc aby go za³adowaæ, napisz:
<CODE>insmod drv_hello.o</CODE>. Aby zobaczyæ jakie modu³y s±
aktualnie u¿ywane przez j±dro u¿yj <CODE>lsmod</CODE>. Powinien
wy¶wietliæ co¶ takiego
<P>
<PRE>
   blah# lsmod
   Module:      #pages: Usedby:
   drv_hello       1
</PRE>
<P>drv_hello jest nazw± modu³u, u¿ywa jednej strony (4kB) pamiêci i
¿adne inne modu³y nie zale¿± od niego w tej chwili. Aby usun±æ ten
modu³ z j±dra u¿yj <CODE>rmmod drv_hello</CODE>. Zauwa¿, ¿e
<CODE>rmmod</CODE> chce nazwy modu³u a nie pliku. We¼ j± z polecenia
<CODE>lsmod</CODE>. Inne narzêdzia modu³owe s± opisane w podrêczniku
<B>man</B>.
<P>
<H2>9.2 Modu³y dystrybuowane z j±drem.</H2>

<P>
<P>Je¶li chodzi o wersjê 2.0.30 wiêkszo¶æ sterowników dostêpna jest w
postaci modu³ów. Aby ich u¿yæ, najpierw upewnij siê czy nie
skonfigurowa³e¶ ich jako sta³e czê¶ci j±dra. To znaczy: nie
odpowiadaj "y" na pytania ich dotycz±ce podczas konfiguracji, ale
"m" je¶li jest taka mo¿liwo¶æ. Po skompilowaniu j±dra napisz
<CODE>make modules</CODE> i <CODE>make modules_install</CODE>. Pierwsze
polecenie skompiluje wszystkie sterowniki wyspecyfikowane jako
modu³y, a drugie zainstaluje je w katalogu <CODE>/lib/modules/x.y.z</CODE>,
gdzie x.y.z jest wersj± j±dra. Po zainstalowaniu tych modu³ów
wejd¼ do katalogu <CODE>/lib/modules/x.y.z</CODE> i napisz <CODE>modprobe -a</CODE>,
je¶li masz ten program.
<P>$lsqb;Od t³umacza] Je¶li kompilujesz j±dro o wersji takie
samej jak to które u¿ywasz obecnie, to na wszleki wypadek przed
poleceniem <CODE>make modules_install</CODE>, zrób w katalogu
/lib/modules/ kopiê katalogu o nazwie takiej samej jak wersja
obecnego j±dra.
<P>Modu³y s± szczególnie przydatne do systemów plików albo sterowników
urz±dzeñ, których rzadko u¿ywasz. Np. je¶li chcesz u¿yæ dyskietki
msdos, to najpierw piszesz <CODE>insmod /lib/modules/x.y.z/fs/msdos.o</CODE>
i u¿ywasz tej dyskietki. Po skoñczeniu piszesz <CODE>rmmod msdos</CODE>.
Operacja ta zaoszczêdza jakie¶ 50 kB RAM-u - niby nic ale jak siê
uzbiera kilka takich sterowników to docenisz tê zaletê. Co do
systemu plików <B>minix</B> to powinien on byæ <B>zawsze</B>
wkompilowany w j±dro na sta³e, w razie u¿ycia dyskietki startowej.
Na dyskietkach jest w³a¶nie minix.
<P>------------------------------------------------------------------<BR>
Od t³umacza:
Znowu facet skomplikowa³ sprawê.
Jest narzêdzie, które zajmuje siê za ciebie ³adowaniem i usuwaniem
odpowiednich modu³ów do i z pamiêci. Nazywa siê <CODE>kerneld</CODE>
czyli kernel daemon. Je¶li u¿yjesz czego¶ co wymaga sterownika w
module, kerneld za³aduje za ciebie ten modu³, a potem go wyrzuci jak
ju¿ przestaniesz tego u¿ywaæ. Aby go u¿yæ musisz odpowiedzieæ na pytanie
konfiguracyjne dotycz±ce <CODE>kerneld</CODE> "Kernel daemon support"
"y". Przedtem jeszcze odpowiedz "y" na pytanie "Modules support"
czy jako¶ tak, ¿eby móc w ogóle u¿ywaæ modu³ów. Po kompilacji
j±dra wszystko idzie tak samo jak opisane powy¿ej. Jeszcze jedno:
je¶li masz dystrybucjê RH to sprawd¼ czy w pliku
<CODE>/etc/rc.d/rc.sysinit</CODE> jest uruchamiany /sbin/kerneld.
Je¶li nie, to sprawd¼ czy uruchamia siê tam program <CODE>depmod</CODE>.
je¶li te¿ nie to dopisz te linijki:
<P>
<PRE>
     /sbin/depmod -a
     
     if [ -x /sbin/kerneld ]; then
        /sbin/kerneld
     fi
</PRE>
<P>za linijk± która wygl±da mniej wiêcej tak:
<P>
<PRE>
      mount -n -o remount,rw /
</PRE>
<P>Je¶li masz Slackware sprawd¼ czy w pliku <CODE>/etc/rc.d/rc.M</CODE>
jest uruchamiany /sbin/kerneld. Je¶li nie, to sprawd¼ czy uruchamia
siê tam program <CODE>depmod</CODE>. Je¶li te¿ nie, to dopisz te linijki
<P>
<PRE>
     /sbin/depmod -a
     
     if [ -x /sbin/kerneld ]; then
        /sbin/kerneld
     fi
</PRE>
<P>za linijk± która wygl±da mniej wiêcej tak:
<P>
<PRE>
      mount -n -o remount,rw /
</PRE>
<P>Je¶li masz dystrybucjê Debian to:
1) sprawd¼ czy jest plik <CODE>/etc/init.d/kerneld</CODE>, je¶li tak to
2) sprawd¼ czy w <CODE>/etc/rcX.d/</CODE> jest dowi±zanie do tego pliku
(bêdzie to plik SYYkerneld), je¶li jest, to wszystko jest w
porz±dku. X - numer runlevel-u który standardowo uruchamiasz.
(sprawd¼ w pliku <CODE>/etc/inittab</CODE> linijkê initdefault)<BR>
Je¶li który¶ z tych warunków jest niespe³niony to:
<P>ad 1) za³ó¿ plik <CODE>/etc/init.d/kerneld</CODE> o tre¶ci:
<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 modu³ów; najlpiej jak
najwcze¶niej.
------------------------------------------------------------------
<P>
<H2><A NAME="s10">10. Sztuczki i wskazówki.</A></H2>

<P>
<P>
<H2>10.1 Przekierowywanie wyj¶cia z poleceñ make i patch.</H2>

<P>
<P>Je¶li chcia³by¶ mieæ zapisane w pliku to co dzia³o siê podczas
wykonywania poleceñ <CODE>make i patch</CODE>, mo¿esz przekierowaæ
wyj¶cie tych komend do pliku. Najpierw dowiedz siê w jakiej
pow³oce pracujesz:
<P>
<PRE>
   echo $shell
</PRE>
<P>Je¶li jest to /bin/sh albo /bin/bash, wtedy przekierowywanie
wyj¶cia wygl±da tak:
<P>
<PRE>
   polecenie 2>&amp;1 | tee nazwa_pliku_do_zapisania
</PRE>
<P>Je¶li jest to /bin/csh albo /bin/tcsh, to wygl±da to tak
<PRE>
   polecenie |&amp; tee nazwa_pliku_do_zapisania
</PRE>
<P>Je¶li u¿ywasz rc (a raczej nie u¿ywasz), wtedy wygl±da to tak:
<PRE>
   polecenie >[2=1] | tee nazwa_pliku_do_zapisania
</PRE>
<P>
<H2>10.2 Instalacja warunkowa j±dra.</H2>

<P>
<P>S± jeszcze inne metody testowania nowego j±dra bez ruszania starego,
oprócz tych z dyskietkami. LILO ma mo¿liwo¶æ ³adowania j±dra z
jakiegokolwiek miejsca na dysku (je¶li twój dysk ma wiêcej ni¿
1023 cylindry [512 MB lub wiêcej], przeczytaj dokumentacjê LILO,
¿eby dowiedzieæ siê jakie s± z tym zwi±zane problemy). Tak wiêc
je¶li dodasz takie linie:
<P>
<PRE>
     image = (tu wstaw katalog, w którym znajduje siê nowe j±dro)
         label = new_kernel
</PRE>
<P>na koñcu pliku konfiguracyjnego LILO, mo¿esz wybraæ jakie j±dro
chcesz ³adowaæ, bez ruszania starego j±dra (po wykonaniu lilo
oczywi¶cie). Najprostszym sposobem poinformowania LILO, które
j±dro chcemy za³adowaæ jest wci¶niêcie klawisz SHIFT podczas
startu (w momencie kiedy na ekranie pojawi siê "LILO"). Wtedy
pojawi siê znak zachêty. Wpisuj±c tu <CODE>new_kernel</CODE>, lub
nazwê, któr± nada³e¶ w pliku konfiguracyjnym LILO nowemu j±dru,
poinformujesz LILO, ¿eby za³adowa³o nowe j±dro.
<P>Je¶li chcesz trzymaæ kilka ró¿nych ¼róde³ j±dra na dysku (to
zabiera <B>DU¯O</B> miejsca - ostro¿nie) najprostszym sposobem
jest nazywanie ich linux-wersja_j±dra. Musisz wtedy zrobiæ
symboliczne do³±czenie <CODE>ln -s linux-wersja linux</CODE> ¿eby
u¿ywaæ wybranej wersji. Przed zrobieniem takiego do³±czenie
upewnij siê, ¿e ostatni parametr do "ln" nie jest katalogiem, bo
wtedy nie bêdzie to to, czego siê spodziewa³e¶.
<P>
<H2>10.3 Odnowienia j±dra.</H2>

<P>
<P>Russel Nelson (
<A HREF="mailto:nelson@crynwr.com">nelson@crynwr.com </A>) umieszcza zmiany jakie
zasz³y w bie¿±cej wersji j±dra. S± one krótkie i mo¿esz zajrzeæ
tam zanim postanowisz odnowiæ j±dro. S± one dostêpne 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 mo¿esz znale¼æ tak¿e 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, które mog± siê przydaæ to:</A></H2>

<P>
<P>
<UL>
<LI> Sound-HOWTO: karty d¼wiêkowe i narzêdzia do nich</LI>
<LI> SCSI-HOWTO: wszystko na temat kontrolerów i urz±dzeñ 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: przegl±d obs³ugiwanego przez Linux-a sprzêtu.</LI>
<LI> Module-HOWTO: wiêcej na temat modu³ów.</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. Ró¿no¶ci</A></H2>

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

<P>
<P>Autorem i cz³owiekim opiekuj±cym siê tym dokumentem jest
Brian Ward
<A HREF="mailto:bri@cs.uchicago.edu">bri@cs.uchicago.edu</A>
Proszê przysy³aæ mi wszelkie komentarze, dodatki, poprawki (te s±
najwa¿niejsze).
<P>Jak chcesz mo¿esz 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 pamiêtaæ, ¿e dostaje <B>du¿o</B> listów codziennie. Wiêc
odpowiedzenie na twój list mo¿e zaj±æ trochê czasu. Szczególnie
je¶li wys³a³e¶ mi jakie¶ pytanie, spróbuj byæ jak najbardziej
dok³adny. Je¶li piszesz o niedzia³aj±cym sprzêcie (czy co¶
podobnego) muszê wiedzieæ jaka jest konfiguracja tego sprzêtu.
Je¶li piszesz o b³êdzie, to nie pisz, ¿e "próbowa³em, ale nie
dzia³a..." Muszê znaæ chocia¿ b³±d jaki siê pojawi³. Chcia³bym
tak¿e wiedzieæ jaka by³a wersja j±dra, gcc i libc. Je¶li powiesz
mi, ¿e u¿ywasz tej-i-tej dystrybucji to mi wiele nie powie. Nie obchodzi
mnie to, ¿e zadajesz proste pytania. Kto pyta, nie b³±dzi!
Chcia³bym podziêkowaæ wszystkim, którzy wspierali mnie podzas
pisania tego dokumentu.
<P>Je¶li twoje pytanie nie by³o zwi±zane z j±drem albo jest w jakim¶
jêzyku, którego nie znam, to mogê nie odpowiedzieæ.
<P>Je¶li wys³a³e¶ do mnie list i nie otrzyma³e¶ odpowiedzi w jakim¶
sensownym czasie (3+ tygodni). To ca³kiem mo¿liwe, ¿e przypadkowo
skasowa³em twój list (przepraszam). Napisz jeszcze raz.
<P>Dostajê du¿o poczty z pytaniami, które s± w³a¶ciwie problemami
sprzêtowymi. W porz±dku, ale pamiêtaj, ¿e przecie¿ nie znam
wszystkich urz±dzeñ na ¶wiecie i nie wiem na ile mogê byæ pomocny.
Osobi¶cie u¿ywam maszyn z procesorem AMD, kontrolery SCSI Adaptec
i Sybios oraz dyski SCSI IBM.
<P>
<P>Wersja -0.1 zosta³a napisana 3 pa¼dziernika 1994. Dokument ten
jest dostêpny 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 wskazówek jest jeszcze trochê ma³a. Mam
nadziejê, ¿e siê rozro¶nie wraz z przybywaniem sugestii.
To samo odnosi siê do sekcji pakiety dodatkowe.
Potrzeba mi wiêcej informacji na temat ¶ledzenia (debugging) i
odzyskiwania po padach systemu.
<P>
<H2>12.3 Oto ci, którzy siê przyczynili do powstania tego HOWTO.</H2>

<P>
<P>Do³±czona jest ma³a czê¶æ README Linusa na temat opcji rozgryzania
j±dra.(kernel hacking) (Dziêki 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 j±dra dotycz±cych sieci. Przes³ane mi.
<P><EM>lembark@wrkhors.psyber.com</EM> (Steve Lembark): sugestie
odno¶nie wyboru j±dra 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): t³umaczenie francuskie
<P><EM>simazaki@ab11.yamanashi.ac.jp</EM> (Yasutada Shimazaki):
t³umaczenie japoñskie
<P><EM>jjamor@lml.ls.fi.upm.es</EM> (Juan Jose Amor Iglesias):
t³umaczenie hiszpañskie
<P><EM>mva@sbbs.se</EM> (Martin Wahlen): t³umaczenie szwedzkie
<P><EM>jzp1218@stud.u-szeged.hu</EM> (Zoltan Vamosi): t³umaczenie
wêgierskie
<P><EM>B.Maruszewski@jtz.org.pl</EM> (Bartosz Maruszewski):
t³umaczenie polskie
<P><EM>donahue@tiber.nist.gov</EM> (Michael J Donahue): korekta
literówek, wygra³ konkurs o kromkê chleba
<P><EM>rms@gnu.ai.mit.edu</EM> (Richard Stallman): pomys³ na
bezp³atn± dokumentacjê i dystrybucjê
<P><EM>dak@Pool.Informatik.RWTH-Aachen.DE</EM> (David Kastrup): NFS
<P><EM>esr@snark.thyrsus.com</EM> (Eric Raymond): ró¿no¶ci.
<P>Ci, którzy przysy³ali mi pytania z problemami tak¿e byli pomocni.
<P>
<H2>12.4 Prawa autorskie, licencja i takie inne.</H2>

<P>
<P>Dokument chroniony prawami autorskimi &copy; Briana Warda,
1994-1999.
Mo¿na rozprowadzaæ kopie tego dokumentu o ile na wszystkich bêdzie
zachowana uwaga o prawach autorskich i to pozwolenie.
<P>Mo¿na kopiowaæ i dystrybuwaæ ten dokument w wersji modyfikowanej
pod warunkiem dos³ownego kopiowania zak³adaj±c, ¿e praca pochodna jest
dystrybuowana z takimi samymi prawami jak ten dokument.
T³umaczenia zaliczaj± siê tak¿e do wersji modyfikowanych.
<P>
<P>Gwarancja: ¯adna.
<P>Zalecenia:
Dystrybucja komercyjna jest dozwolona. Jednak zaleca siê najpierw
kontakt z autorem, aby mieæ naj¶wie¿sze dane (mo¿esz mi wys³aæ
kopiê tego co chcesz dystrybuowaæ). T³umacze s± tak¿e zobowi±zani
najpierw siê skontaktowaæ ze mn±. Wersja wydrukowana wygl±da o
wiele ³adniej.
<P>
<H2>12.5 Od t³umacza.</H2>

<P>
<P>T³umaczenie to jest chronione prawami autorskimi &copy; Bartosza
Maruszewskiego.
Dozwolone jest rozprowadzanie i dystrybucja na prawach takich
samych jak dokument oryginalny.
<P>Je¶li znalaz³e¶ jakie¶ ra¿±ce b³êdy ortograficzne, gramatyczne,
sk³adniowe, techniczne to pisz do mnie:
<P>
<A HREF="mailto:B.Maruszewski@jtz.org.pl">B.Maruszewski@jtz.org.pl</A><P>Oficjaln± stron± t³umaczeñ HOWTO jest
<A HREF="http://www.jtz.org.pl/">http://www.jtz.org.pl/</A><P>Aktualne wersje przet³umaczonych dokumentów znajduj± siê na
tej¿e stronie. Dostêpne s± tak¿e 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>Przet³umaczone przeze mnie dokumenty znajduj± siê tak¿e na
<A HREF="http://www.jtz.org.pl/bartek/tlumaczenie.html">mojej stronie WWW.</A> S± tam te¿ odwo³ania do Polskiej Strony
T³umaczeniowej.
<P>Kontakt z nasz± grup±, grup± t³umaczy mo¿esz uzyskaæ poprzez listê
dyskusyjn± jtz@ippt.gov.pl. Je¶li chcesz sie na ni± zapisaæ, to
wy¶lij list o tre¶ci <CODE>subscribe jtz Imiê Nazwisko</CODE> na adres
<CODE>majordomo@ippt.gov.pl</CODE>
<P>Zmiany w tym dokumencie wprowadzone przez t³umacza to:
<UL>
<LI>- dodatkowy sposób na za³adowanie dobrego j±dra</LI>
<LI>- informacja o kerneld</LI>
<LI>- a tak¿e odno¶niki do polskich serwerów ftp i WWW</LI>
</UL>
<P>
</BODY>
</HTML>