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 < 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 < 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
"General Setup" wcz "Parallel port
support" oraz "PC-style hardware". Nastpnie w
sekcji "Character devices" wcz "Parallel
printer support".
<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 "single" (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 <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>&1 | tee nazwa_pliku_do_zapisania
</PRE>
<P>Jeli jest to /bin/csh albo /bin/tcsh, to wyglda to tak
<PRE>
polecenie |& 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>
<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 © 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 © 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>
|