This file is indexed.

/usr/share/doc/HOWTO/pl-html/Bootdisk-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
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
<!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>The Linux Bootdisk HOWTO</TITLE>


</HEAD>
<BODY>
<H1>The Linux Bootdisk HOWTO</H1>

<H2>Autor: Tom Fawcett
<A HREF="mailto:fawcett@croftj.net">fawcett@croftj.net</A><BR>

v3.4, maj 1999<BR>
<B>Wersja polska: Adam Byrtek
<A HREF="mailto:alpha@irc.pl">alpha@irc.pl</A></B><BR>

v1.2, lipiec 1999</H2>
<P><HR>
<EM>Dokument ten opisuje, jak tworzyæ swoje w³asne dyskietki startowe dla Linuxa.
Dyskietki te mog± zostaæ u¿yte jako dyskietki ratunkowe, lub w celu
przetestowania nowych sk³adników systemu. Je¶li nie czyta³e¶ jeszcze Linux
FAQ i powi±zanych dokumentów, takich jak Linux Installation HOWTO czy Linux
Install Guide, to nie powiniene¶ tworzyæ dyskietek startowych. Je¶li
potrzebujesz jedynie dyskietki ratunkowej na wypadek awarii, to zajrzyj do
dodatku 
<A HREF="#distbootdisks">Gotowe dyskietki</A>.</EM>
<HR>
<H2><A NAME="s1">1. Przedmowa.</A></H2>

<P>
<P><B>Uwaga: Ten dokument mo¿e byæ przestarza³y.</B> Je¶li up³ynê³o wiêcej
ni¿ sze¶æ miesiêcy od daty podanej na stronie tytu³owej, to poszukaj nowej
wersji tego dokumentu na stronie Linux Documentation Project
<A HREF="http://metalab.unc.edu/LDP/HOWTO/Bootdisk-HOWTO.html">http://metalab.unc.edu/LDP/HOWTO/Bootdisk-HOWTO.html</A>.
<P>Dokument ten powinien byæ czytelny w formacie tekstowym, jednak dziêki
wykorzystaniu typografii wygl±da on <EM>znacznie</EM> lepiej w formacie Postscript
(<CODE>.ps</CODE>) lub HTML. Zachêcamy do wybrania jednego z tych formatów. Wersja
w formacie Info jest tak okrojona, ¿e staje siê bezu¿yteczna.
<P>
<H2>1.1 Uwagi na temat wersji.</H2>

<P>
<!--
j±dro, wersje
-->
<P>Graham Chapman (<CODE>grahamc@zeta.org.au</CODE>) napisa³ oryginaln± wersjê
Bootdisk-HOWTO i opiekowa³ siê tym dokumentem a¿ do wersji 3.1. Tom Fawcett
(<CODE>fawcett@croftj.net</CODE>) doda³ sporo materia³u na temat j±dra 2.0
i jest on opiekunem tego dokumetu od wersji 3.2. W dokumencie pozosta³o sporo
oryginalnego tekstu Chapmana.
<P>Dokument ten jest napisany w oparciu o <B>j±dro Linux-a w wesji 2.0 lub
pó¼niejszej</B>. Je¶li posiadasz starsze j±dro (1.2.xx lub ni¿sze), to zajrzyj
do poprzedniej wersji Bootdisk-HOWTO, któr± mo¿esz znale¼æ na 
<A HREF="http://www.zeta.org.au/~grahamc/linux.html">Stronie domowej Grahama Chapmana</A>.
<P>Informacje zawarte w tym dokumencie dotycz± platformy <B>Intel</B>. Wiele z
nich mo¿e byæ równie¿ poprawnych dla innych procesorów, ale nie mamy na ten
temat ¿adnych danych. Prosimy o kontakt ludzi maj±cych do¶wiadczenia z
dyskietkami startowymi na innych platformach sprzêtowych.
<P>
<H2>1.2 Opinie.</H2>

<P>
<P>Czekamy na wszystkie opinie, czy to dobre, czy z³e, na temat zawarto¶ci tego
dokumentu. Starali¶my siê, aby informacje w nim umieszczone by³y jak
najbardziej pewne i dok³adne. Daj nam znaæ gdy znajdziesz jakie¶ b³êdy.
<P>Dziekujemy ludziom, którzy pomagali nam przysy³aj±c poprawki czy sugestie.
Ich wk³ad uczyni³ ten dokument o wiele lepszym, ni¿ gdyby¶my tworzyli go sami.
<P>Wysy³aj komentarze, sugestie i poprawki na adres email autora podany
powy¿ej. Nie mam nic przeciwko odpowiadaniu na pytania, jednak radzê
najpierw przeczytaæ dzia³ 
<A HREF="#troubleshooting">Rozwi±zywanie problemów</A>.
<P>
<P>
<H2>1.3 Rozpowszechnianie.</H2>

<P>
<P>Copyright &copy; 1995,1996,1997,1998,1999 by Tom Fawcett and Graham Chapman.
Ten dokument mo¿e zostaæ rozpowszechniany na warunkach ustalonych przez
Licencjê Linux Documentation Project, znajduj±c± siê pod adresem 
<A HREF="http://metalab.unc.edu/LDP/HOWTO/Bootdisk-HOWTO.html">http://metalab.unc.edu/LDP/HOWTO/Bootdisk-HOWTO.html</A>. Skontaktuj siê z
autorem, je¶li nie jeste¶ w stanie otrzymaæ licencji.
<P>Ta dokumentacja jest darmowa. Jest rozpowszechniana z nadziej±, ¿e oka¿e siê
u¿yteczna, jednak <B>bez ¿adnej gwarancji</B>.
<P>
<H2><A NAME="s2">2. Wprowadzenie.</A></H2>

<P>
<P>Dyskietki startowe s± przydatne w wielu sytuacjach, takich jak:
<P>
<UL>
<LI>Testowanie nowego j±dra.
</LI>
<LI>Odzyskiwanie danych po awarii dysku -- od utraconego boot sektora a¿ 
po uszkodzenie g³owicy.
</LI>
<LI>Leczenie uszkodzonego systemu. Nawet drobne potkniêcie w czasie gdy
jeste¶ zalogowany jako root mo¿e unieruchomiæ ca³y system. ¯eby go naprawiæ,
trzeba bêdzie wystartowaæ go z dyskietki startowej.
</LI>
<LI>Uaktualnianie plików krytycznych dla dzia³ania systemu, takich jak
<CODE>libc.so</CODE>.
</LI>
</UL>
<P>Istnieje kilka sposobów otrzymywania dyskietek startowych:
<P>
<UL>
<LI>U¿ycie dyskietki z dystrybucji takiej jak Slackware. Umo¿liwi ci ona
przynajmniej wystartowanie systemu.
</LI>
<LI>U¿ycie pakietu ratunkowego do stworzenia dyskietek ratunkowych.
</LI>
<LI>Nauczenie siê co jest potrzebne do dzia³ania dyskietki startowej, a
nastêpnie zbudowanie jej samodzielnie.
</LI>
</UL>
<P>Niektórzy u¿ywaj± tej ostatniej metody i robi± wszystko sami. Dziêki temu
je¶li co¶ pójdzie nie tak, to wiadomo co zrobiæ aby to naprawiæ. Dodatkowo
jest to bardzo dobra metoda na nauczenie siê jak dzia³a Linux.
<P>Ten dokument zak³ada podstawow± znajomo¶æ zasad administracji systemu Linux.
Przyk³adowo powiniene¶ wiedzieæ co¶ katalogach, systemach plików i
dyskietkach. Powiniene¶ wiedzieæ, jak u¿ywaæ poleceñ <CODE>mount</CODE> i <CODE>df</CODE>.
Powiniene¶ wiedzieæ, do czego s³u¿± i jak wygl±daj± pliki
/etc/passwd i fstab. Powiniene¶ wiedzieæ, ¿e
wiêkszo¶æ poleceñ w tym HOWTO powinna byæ wykonywana gdy jeste¶ zalogowany
jako root.
<P>Konstruowanie swojej w³asnej dyskietki startowej od zera mo¿e byæ
skomplikowane. Je¶li nie czyta³e¶ Linux FAQ i powi±zanych dokumentów, takich
jak Linux Installation HOWTO i Linux Installation Guide, to nie powiniene¶
tworzyæ dyskietek startowych. Je¶li potrzebujesz jedynie dzia³aj±cej
dyskietki startowej na wypadek awarii, to o <EM>wiele</EM> ³atwiej bêdzie
¶ci±gn±æ gotow±. Aby je znale¼æ, zajrzyj do dodatku 
<A HREF="#distbootdisks">Gotowe dyskietki</A>.
<P>
<H2><A NAME="s3">3. Dyskietki startowe i proces startu systemu.</A></H2>

<P>
<!--
proces startu systemu
-->
<P>Dyskietka startowa jest po prostu miniaturowym systemem Linux na dyskietce.
Musi on spe³niaæ wiele funkcji wykonywanych przez zwyk³y, pe³nowymiarowy
system Linux. Zanim spróbujesz stworzyæ w³asn± dyskietkê, musisz zrozumieæ
podstawy startowania systemu Linux. Prezentujemy tutaj jedynie podstawy,
które s± wystarczaj±ce do zrozumienia reszty tego dokumentu. Wiele
szczegó³ów i opcji alternatywnych zosta³o ominiêtych.
<P>
<H2>3.1 Proces startu systemu.</H2>

<P>
<!--
boot sektor
-->
<P>Wszystkie komputery PC rozpoczynaj± proces startu systemu przez wykonanie
kodu znajduj±cego siê w pamiêci ROM (konkretnie w BIOS-ie), który
³aduje jeden sektor z sektora 0, cylindra 0 napêdu startowego. Napêd
startowy to zazwyczaj pierwszy napêd dyskietek (oznaczony <CODE>A:</CODE> w DOS-ie
i /dev/fd0 w Linuxie). Nastêpnie BIOS próbuje wykonaæ zawarto¶æ
tego sektora. Na wiêkszo¶ci dyskietek startowych sektor 0, cylinder 0
zawiera:
<P>
<UL>
<LI>kod programu ³aduj±cego takiego jak LILO, który, aby wystartowaæ system,
lokalizuje j±dro, ³aduje je i wykonuje.
</LI>
<LI>pocz±tek j±dra systemu operacyjnego, takiego jak Linux.
</LI>
</UL>
<P>Je¶li j±dro Linuxa zosta³o przekopiowane bezpo¶rednio na dyskietkê, to
pierwszy sektor dyskietki bêdzie jednocze¶nie pierwszym sektorem j±dra. Kod
znajduj±cy siê w pierwszym sektorze bêdzie kontynuowa³ proces startu
³aduj±c resztê j±dra z dyskietki.
<P>Gdy j±dro zostanie w ca³o¶ci za³adowane, rozpoczyna ono inicjalizacjê
sterowników. Nastêpnie próbuje ono za³adowaæ i zamontowaæ <B>g³ówny
system plików</B> z jednego z urz±dzeñ. G³ówny system plików to po prostu
system montowany jako ``/''. J±dro musi wiedzieæ, gdzie szukaæ g³ównego
systemu plików, je¶li nie znajdzie tam obrazu który mo¿na za³adowaæ,
zawiesza siê.
<P>W niektórych sytuacjach -- czêsto w czasie startowania z dyskietki --
g³ówny system plików zostaje za³adowany do <B>ramdysku</B>, czyli
do pamiêci RAM która jest traktowana przez system tak, jakby by³a dyskiem.
Istniej± dwa powody dla których system ³aduje siê do ramdysku. Po pierwsze,
RAM jest o wiele szybszy ni¿ dyskietka, tak wiêc operacje systemowe s±
wykonywane szybko. Po drugie, j±dro mo¿e za³adowaæ
<B>skompresowany system plików</B> z dyskietki i rozpakowaæ go do
ramdysku, dzieki czemu na dyskietce mo¿na zmie¶ciæ o wiele wiêcej plików.
<P>Gdy g³ówny system plików zostanie za³adowany i zamontowany, ujrzysz tak±
informacjê:
<P>
<PRE>
      VFS: Mounted root (ext2 filesystem) readonly.
</PRE>
<P>
<!--
init
-->

<!--
inittab
-->

<!--
sysinit
-->
<P>Nastêpnie system odnajduje w g³ównym systemie plików program <CODE>init</CODE> (w 
katalogu <CODE>/bin</CODE> lub <CODE>/sbin</CODE>) i wykonuje go. <CODE>init</CODE> odczytuje
swój plik konfiguracyjny /etc/inittab, szuka lini oznaczonej
<CODE>sysinit</CODE> i wykonuje podany tam skrypt. Skrypt <CODE>sysinit</CODE> to najczê¶ciej
plik /etc/rc, /etc/init.d/boot lub podobny. Ten
skrypt to seria komend pow³oki, które inicjalizuj± podstawowe us³ugi systemu,
oraz wykonuj± czynno¶ci takie jak:
<P>
<UL>
<LI>Uruchamianie <CODE>fsck</CODE> na wszystkich dyskach,</LI>
<LI>£adowanie potrzebnych modu³ów j±dra,</LI>
<LI>Startowanie pamiêci swap,</LI>
<LI>Inicjalizacja sieci,</LI>
<LI>Montowanie dysków wymienionych w <CODE>fstab</CODE>.
</LI>
</UL>
<P>Ten skrypt czêsto wywo³uje inne skrypty odpowiadaj±ce za inicjalizacjê
poszczególnych modu³ów. Na przyk³ad, w typowej procedurze inicjalizacyjnej
systemów zgodnych z SysV, katalog /etc/rc.d/ zawiera z³o¿on±
strukturê podkatalogów, których pliki odpowiedzialne s± za za³±czanie i
wy³±czanie poszczególnych us³ug systemu. Jednak na dyskietce startowej
skrypty sysinit s± na ogó³ bardzo proste.
<P>Gdy skrypt sysinit zakoñczy pracê, kontrola powraca do programu <CODE>init</CODE>,
który nastêpnie wchodzi na <EM>domy¶lny poziom pracy</EM>, podany w pliku
<CODE>inittab</CODE> przy s³owie kluczowym <CODE>initdefault</CODE>. Linie poziomów pracy na
ogó³ wyszczególniaj± program taki jak <CODE>getty</CODE>, który jest
odpowiedzialny za obs³ugê komunikacji przez konsolê i terminale. To w³asnie
program <CODE>getty</CODE> wypisuje znan± wszystkim liniê zachêty ``<CODE>login:</CODE>''.
Wywo³uje on nastêpnie program <CODE>login</CODE>, który przeprowadza
weryfikacje i ustanawia sesjê u¿ytkownika.
<P>
<H2>3.2 Typy dysków.</H2>

<P>
<P>Po zapoznaniu siê z podstawami procesu startowania systemu, mo¿emy
zdefiniowaæ ró¿ne typy dyskietek. Dzielimy je na cztery rodzaje. 
<P>
<DL>
<P>
<DT><B>startowa</B><DD><P>Dyskietka zawieraj±ca j±dro które mo¿e zostaæ uruchomione.
Dyskietka mo¿e zostaæ u¿yta do wystartowania j±dra, które nastêpnie mo¿e
za³adowaæ g³ówny system plików z innego dysku. J±dro na dyskietce startowej
zwykle musi wiedzieæ, gdzie znale¼æ swój g³ówny system plików.
<P>Czêsto dyskietka startowa ³aduje g³ówny system plików z innej dyskietki, ale
jest tak¿e mó¿liwe ³adowanie g³ównego systemu plików z twardego dysku.
Najczê¶ciej robi siê to po to, aby przetestowaæ nowe j±dro (w
rzeczywisto¶ci podczas kompilacji nowego j±dra polecenie ``<CODE>make zdisk</CODE>''
utworzy tak± dyskietkê startow±).
<P>
<DT><B>g³ówna</B><DD><P>Dyskietka z systemem plików zawieraj±cym pliki wymagane do
uruchomienia systemu Linux. Taka dyskietka nie musi zawieraæ j±dra czy
programu ³aduj±cego. 
<!--
dyskietka g³ówna
-->
<P>Gdy j±dro zosta³o ju¿ wystartowane, g³ówna dyskietka mo¿e zostaæ u¿yta, aby
uruchomiæ system niezale¿nie od innego dysku. Zazwyczaj g³ówna
dyskietka jest automatycznie kopiowana do ramdysku. Znacznie przyspiesza to
dostêp do danych, oraz zwalnia miejsce w stacji na dyskietkê narzêdziow±.
<P>
<DT><B>startowa/g³ówna</B><DD><P>Dyskietka zawieraj±ca zarówno j±dro, 
<!--
dyskietka startowa/g³ówna
-->
 jak i g³ówny system plików. Innymi
s³owy zawiera ona wszystko, co potrzebne do wystartowania i uruchomienia
Linuxa bez twardego dysku. Zalet± takich dyskietek jest ich zwiêz³o¶æ --
wszystko znajduje siê na jednej dyskietce. Jednak rozmiary wszystkich
elementów ci±gle siê powiêkszaj±, wiêc coraz trudniej zmie¶ciæ wszystko na
jednej dyskietce, nawet przy u¿yciu kompresji.
<P>
<DT><B>narzêdziowa</B><DD><P>Dyskietka ta zawiera system plików, ale nie jest on jednak
montowany jako g³ówny system plików. Jest to dodatkowa dyskietka z danymi.
U¿ywa siê jej aby dostarczyæ dodatkowe programy narzêdziowe niemieszcz±ce
siê na g³ównej dyskietce. 
<!--
dyskietka narzêdziowa
-->
<P>
</DL>
<P>Gdy mówimy o ``tworzeniu dyskietki startowej'', mamy na my¶li tworzenie
zarówno czê¶ci startowej (j±dra) jak i g³ównej (plików). Mog± one znajdowaæ
siê razem lub osobno. Najbardziej elastycznym rozwi±zaniem w przypadku
dyskietek ratunkowych jest u¿ycie osobnej dyskietki startowej i g³ównej,
oraz jednej lub wiêcej dyskietki narzêdziowej.
<P>
<H2><A NAME="s4">4. Budowanie g³ównego systemu plików.</A></H2>

<P>
<A NAME="buildroot"></A> <P>Tworzenie g³ównego systemu plików wymaga wyselekcjonowania plików niezbêdnych
dla dzia³ania systemu. W tym rozdziale opiszemy, jak zbudowaæ
<EM>skompresowany g³ówny system plików</EM>. Rzadziej spotykanym
rozwi±zaniem jest stworzenie nieskompresowanego systemu plików na dyskietce,
która bêdzie mog³a zostaæ bezpo¶rednio zamontowana jako g³ówna. Taka
alternatywa jest opisana w rozdziale 
<A HREF="#nonramdiskroot">Systemy plików bez ramdysku</A>.
<P>
<H2>4.1 Wiadomo¶ci ogólne.</H2>

<P>
<P>G³ówny system plików musi zawieraæ to wszystko, co potrzebne jest do
prawid³owego dzia³ania pe³nego systemu Linux. Aby tego dokonaæ, dyskietka
musi spe³niaæ minimalne wymagania dla systemu Linux, to znaczy musi posiadaæ:
<P>
<UL>
<LI>Podstawow± strukturê systemu plików,</LI>
<LI>Minimalny zestaw katalogów: <CODE>/dev, /proc, /bin, /etc, /lib, /usr,
/tmp</CODE>,</LI>
<LI>Podstawowy zestaw programów u¿ytkowych: <CODE>sh, ls, cp, mv</CODE>,
itd.,</LI>
<LI>Minimalny zestaw plików konfiguracyjnych: <CODE>rc, inittab, fstab</CODE>,
itd.,</LI>
<LI>Urz±dzenia: <CODE>/dev/hd*, /dev/tty*, /dev/fd0</CODE>, etc.,</LI>
<LI>Biblioteki zapewnieniaj±ce podstawowych funkcji u¿ywanych przez
programy u¿ytkowe.</LI>
</UL>
<P>Oczywi¶cie system staje siê u¿yteczny tylko wtedy, gdy mo¿na co¶ na nim
uruchomiæ. Dyskietka g³ówna w zasadzie staje siê u¿yteczna tylko wtedy, gdy
mo¿na wykonaæ poni¿sze czynno¶ci:
<P>
<UL>
<LI>Sprawdziæ system plików na innym dysku. Na przyk³ad aby sprawdziæ g³ówny
system plików na dysku twardym musisz uruchomiæ system z innego dysku,
takiego jak dyskietka startowa. Nastêpnie musisz uruchomiæ program
<CODE>fsck</CODE> sprawdzaj±cy dysk twardy gdy nie jest on zamontowany.
</LI>
<LI>Odzyskaæ ca³o¶æ lub czê¶æ twardego dysku z kopii zapasowej, u¿ywaj±c
programów kompresuj±cych i archiwizuj±cych takich jak <CODE>cpio, tar, gzip</CODE>
i <CODE>ftape</CODE>.
</LI>
</UL>
<P>Opiszemy jak stworzyæ <EM>skompresowany</EM> system plików, nazwany tak dlatego,
¿e jest on spakowany na dyskietce a podczas startu systemu zostaje
zdekompresowany do ramdysku. 
<!--
skompresowany system plików
-->
 W
skompresowanym systemie plików mo¿na zmie¶ciæ sporo plików (oko³o sze¶æ
megabajtów) na standardowej dyskietce 1.44MB. System plików jest wiêkszy ni¿
dyskietka, wiêc nie mo¿na go tworzyæ na dyskietce. Musimy stworzyæ go gdzie
indziej, skompresowaæ a nastêpnie skopiowaæ na dyskietkê.
<P>
<H2>4.2 Tworzenie systemu plików.</H2>

<P>
<A NAME="creatingrootfs"></A> <P>Aby stworzyæ g³ówny system plików potrzebne jest wolne urz±dzenie, na którym
musz± zmie¶ciæ siê pliki przed kompresj±. Potrzebujesz urz±dzenia o
rozmiarze co oko³o czterech megabajtów. Istnieje kilka mo¿liwo¶ci:
<P>
<UL>
<LI>U¿yj <B>ramdysku</B> (URZ¡DZENIE = /dev/ram0). W
takiej sytuacji pamiêæ operacyjna jest wykorzystywana do zasymulowania
dysku. Ramdysk musi byæ odpowiedniej wielko¶ci, tak, aby zmie¶ci³ siê na nim
tworzony system plików. Je¶li korzystasz z LILO, to w pliku konfiguracyjnym
(/etc/lilo.conf) powinna znajdowaæ siê linia:

<PRE>
      RAMDISK_SIZE = nnn
</PRE>

<!--
RAMDISK_SIZE, parametry LILO
-->

która ustala ilo¶æ przydzielanej pamiêci RAM. Warto¶ci± domy¶ln± jest 4096K,
co powinno wystarczyæ do naszych celów. Prawdopodobnie nie powiniene¶
tworzyæ takiego ramdysku na komputerze z mniej ni¿ 8MB RAM.

Upewnij siê czy istnieje urz±dzenie /dev/ram0, /dev/ram czy
/dev/ramdisk. Je¶li nie, to utwórz /dev/ram0 za
pomoc± polecenia <CODE>mknod</CODE> (liczba g³ówna 1, poboczna 0).
</LI>
<LI>Dobrym rozwi±zaniem jest wystarczaj±co du¿a partycja na dysku twardym.
</LI>
<LI>U¿yj <B>u¿±dzenia zwrotnego</B>, które umo¿liwia traktowanie
pliku na dysku jako urz±dzenia. Korzystaj±c z urz±dzenia zwrotnego mo¿esz
stworzyæ na dysku twardym plik maj±cy trzy megabajty i zbudowaæ w nim system
plików.

Wpisz <CODE>man losetup</CODE> aby uzyskaæ informacje na temat korzystania z urz±dzeñ
zwrotnych. Je¶li nie posiadasz <CODE>losetup</CODE>, mo¿esz go znale¼æ razem z
kompatybilnymi wersjami <CODE>mount</CODE> i <CODE>umount</CODE> w pakiecie <CODE>util-linux</CODE>
pod adresem 
<A HREF="ftp://ftp.win.tue.nl/pub/linux/utils/util-linux/">ftp://ftp.win.tue.nl/pub/linux/utils/util-linux/</A>.

<P>Je¶li nie posiadasz urz±dzenia zwrotnego (/dev/loop0,
/dev/loop1, itd.) w systemie, to musisz je stworzyæ za pomoc±
polecenia ``<CODE>mknod /dev/loop0 b 7 0</CODE>''. Po zainstalowaniu nowych
wersji <CODE>mount</CODE> i <CODE>umount</CODE> stwórz na dysku plik tymczasowy o
odpowiednim rozmiarze (np. /tmp/fsfile). Mo¿esz u¿yæ komendy
<P>
<PRE>
        dd if=/dev/zero of=/tmp/fsfile bs=1k count=&lt;it/nnn/
</PRE>

aby stworzyæ plik o d³ugo¶ci <EM>nnn</EM> bloków.
<P>W poni¿szych przyk³adach u¿yj nazwy pliku zamiast s³owa URZ¡DZENIE. Gdy
montujesz taki plik, musisz dodaæ opcjê ``<CODE>-o loop</CODE>'' aby
poinformowaæ system, ¿e jest to urz±dzenie zwrotne. 
<!--
urz±dzenie zwrotne
-->

Na przyk³ad polecenie
<PRE>
      mount -o loop -t ext2 /tmp/fsfile /mnt
</PRE>
<P>zamontuje plik /tmp/fsfile (poprzez urz±dzenie zwrotne) w
katalogu <CODE>/mnt</CODE>. Polecenie <CODE>df</CODE> potwierdzi to.
<P>
</LI>
</UL>
<P>Gdy ju¿ wybra³e¶ jedn± z tych mo¿liwo¶ci, przygotuj URZ¡DZENIE za pomoc±
polecenia:
<PRE>
      dd if=/dev/zero of=URZ¡DZENIE bs=1k count=3000
</PRE>
<P>Ta komenda wyzerowuje urz±dzenie. Ten krok jest bardzo wa¿ny, poniewa¿
system plików zostanie pó¼niej skompresowany, wiêc niewykorzystany obszar
powinien zostaæ wype³niony zerami, aby otrzymaæ jak najlepsz± kompresjê.
<P>
<!--
i-wêz³y, allokacja
-->

Nastêpnie stwórz system plików. J±dro Linuxa rozpoznaje i kopiuje z
dyskietki g³ównej do ramdysku dwa rodzaje systemów plików. S± to minix i
ext2, jednak preferowany jest ten drugi. Je¶li zdecydujesz siê na ext2, to
przydatna mo¿e okazaæ siê opcja <CODE>-i</CODE>, dziêki której mo¿esz stworzyæ
wiêcej i-wêz³ów ni¿ jest to przyjête domy¶lnie. Zalecane jest u¿ycie opcji
<CODE>-i 2000</CODE>, aby nie zabrak³o ci i-wêz³ów. Ewentualnie mo¿esz zaoszczêdziæ
sporo i-wêz³ów poprzez usuniêcie wielu niepotrzebnych plików z katalogu
<CODE>/dev</CODE>. Na dyskietce 1.44MB polecenie <CODE>mke2fs</CODE> domy¶lnie utworzy
360 i-wêz³ów. Na mojej dyskietce ratunkowej wystarcza w zupe³no¶ci 120
i-wêz³ów, jednak gdy do³±czysz wszystkie urz±dzenia z katalogu
<CODE>/dev</CODE> z pewno¶ci± przekroczysz 360. U¿ycie skompresowanego systemu
plików daje do dyspozycji wiêcej miejsca, czyli jednocze¶nie wiêksz± ilo¶æ
domy¶lnych i-wêz³ów, ale ci±gle mo¿e okazaæ siê konieczna redukcja liczby
plików czy zwiêkszenie liczby i-wêz³ów.
<P>Tak wiêc polecenie które u¿yjesz powinno wygl±daæ mniej wiêcej tak:
<PRE>
      mke2fs -m 0 -i 2000 URZ¡DZENIE
</PRE>
<P>(Je¶li korzystasz z urz±dzenia zwrotnego, to w miejsce URZ¡DZENIA powiniene¶
podaæ nazwê pliku. W tej sytuacji program <CODE>mke2fs</CODE> zapyta czy naprawdê
chcesz to zrobiæ, odpowiedz tak).
<P>Program <CODE>mke2fs</CODE> automatycznie wykryje ilo¶æ wolnego miejsca i
odpowiednio siê skonfiguruje. Opcja <CODE>-m 0</CODE> zapobiega rezerwowaniu miejsca
dla u¿ytkownika root, powiêkszaj±c w ten sposób dostêpny obszar na dysku.
<P>Nastêpnie zamontuj urz±dzenie:
<P>
<PRE>
      mount -t ext2 URZ¡DZENIE /mnt
</PRE>
<P>(Musisz stworzyæ katalog <CODE>/mnt</CODE> je¶li jeszcze nie intnieje.) W
pozosta³ych dzia³ach wszystkie nazwy katalogów bêd± podawane wzgêdem
katalogu <CODE>/mnt</CODE>.
<P>
<H2>4.3 Zape³nianie systemu plików.</H2>

<P>
<P>Poni¿ej znajduje siê minimalny zestaw katalogów dla twojego g³ównego systemu
plików:
<P>
<UL>
<LI> <CODE>/dev</CODE> -- Urz±dzenia, wymagane do operacji wej¶cia/wyj¶cia</LI>
<LI> <CODE>/proc</CODE> -- Katalog wymagana przez system plików proc</LI>
<LI> <CODE>/etc</CODE> -- Pliki konfiguracyjne systemu</LI>
<LI> <CODE>/sbin</CODE> -- Programy krytyczne dla dzia³ania systemu</LI>
<LI> <CODE>/bin</CODE>  -- Podstawowe programy uwa¿ane za czê¶æ systemu</LI>
<LI> <CODE>/lib</CODE> -- Biblioteki dzielone</LI>
<LI> <CODE>/mnt</CODE> -- Miejsce montowania innych systemów plików</LI>
<LI> <CODE>/usr</CODE> -- Dodatkowe narzêdzia i aplikacje</LI>
</UL>
<P>(Pokazana tutaj struktura katalogów odnosi siê jedynie do g³ównych
dyskietek. Prawdziwe systemy Linux u¿ywaj± bardziej z³o¿onych i
rygorystycznych zasad ustalania gdzie plik powinien siê znajdowaæ, zwanych
Filesystem Hierarchy Standard).
<P>
<!--
proc
-->
<!--
mnt
-->
<!--
usr
-->

Trzy katalogi w g³ównym systemie plików pozostan± puste, wiêc wystarczy je
utworzyæ komend± <CODE>mkdir</CODE>. Katalog <CODE>/proc</CODE> to po prostu miejsce, w
którym umieszczony zostanie system plików proc. Katalogi <CODE>/mnt</CODE> i
<CODE>/usr</CODE> s± tylko miejscami montowania innych systemów plików gdy
dyskietka startowa/g³ówna ju¿ dzia³a. Tak¿e te katalogi wystarczy jedynie
utworzyæ.
<P>Pozosta³e cztery katalogi s± opisane w nastêpnych dzia³ach.
<P>
<P>
<H3>/dev</H3>

<P>
<P>
<!--
katalog urz±dzeñ (dev)
-->
<P>Katalog <CODE>/dev</CODE> zawiera specjalne pliki dla ka¿dego wykorzystywanego
przez system urz±dzenia, katalog ten jest obowi±zkowy. Jest to zwyk³y
katalog, wiêc mo¿e zostaæ stworzony poleceniem <CODE>mkdir</CODE>. Jednak
poszczególne pliki urz±dzeñ musz± zostaæ utworzone w nietypowy sposób,
za pomoc± komendy <CODE>mknod</CODE>.
<P>Istnieje jednak droga na skróty, mo¿esz skopiowaæ zawarto¶æ istniej±cego ju¿
katalogu <CODE>/dev</CODE> i skasowaæ niepotrzebne pliki. Podczas kopiowania
musisz u¿yæ opcji <CODE>-R</CODE>, dziêki temu nie bêdzie kopiowana zawarto¶æ
plików. <EM>Upewnij siê, ¿e u¿y³e¶ R pisanego wielk± liter±</EM>. Je¶li
u¿yjesz ma³ej litery <CODE>-r</CODE>, prawdopodobnie bêdziesz kopiowa³ zawarto¶æ
wszystkich swoich twardych dysków, a raczej tyle, ile siê z nich zmie¶ci na
dyskietce. Tak wiêc uwa¿aj i u¿yj komedy:
<P>
<PRE>
      cp -dpR /dev /mnt
</PRE>
<P>przyjmuj±c ¿e system plików jest zamontowany w <CODE>/mnt</CODE>. Opcja <CODE>dp</CODE>
spowoduje, ¿e po³±czenia symboliczne zostan± skopiowane jako po³±czenia, a
nie odpowiadaj±ce im pliki, oraz zostan± zachowane oryginalne atrybuty
plików, w³±czaj±c w to prawa w³asno¶ci.
<P>Je¶li jednak masz ochotê trochê siê pomêczyæ, u¿yj komendy <CODE>ls -l</CODE> aby
wy¶wietliæ g³ówne i pomniejsze numery potrzebnych urz±dzeñ, a nastêpnie
utwórz je w katalogu docelowym u¿ywaj±c polecenia <CODE>mknod</CODE>.
<P>Gdy pliki zostan± skopiowane, warto sprawdziæ czy posiadasz wszystkie
potrzebne urz±dzenia. Na przyk³ad <CODE>ftape</CODE> korzysta z napêdów
ta¶mowych, wiêc musisz skopiowaæ to urz±dzenie je¶li chcesz mieæ dostêp do
napêdu ta¶mowego z dyskietki startowej.
<P>Pamiêtaj, ¿e ka¿dy plik urz±dzenia wymaga jednego i-wêz³a, wiêc
i-wêz³y s± cennym zasobem, szególnie w przypadku systemów
dyskietkowych. Dobrym pomys³em jest usuniêcie niepotrzebnych urz±dzeñ z
katalogu <CODE>/dev</CODE> dyskietki. Wiele urz±dzeñ jest kompletnie
nieprzydatnych w konkretnych systemach. Na przyk³ad je¶li nie posiadasz
¿adnych dysków SCSI, mo¿esz bez ¿adnych problemów usun±æ wszystkie urz±dzenia
zaczynaj±ce siê na <CODE>sd</CODE>. Je¶li nie masz zamiaru korzystaæ z portu
szeregowego, mo¿esz usun±c wszystkie pliki zaczynaj±ce siê od <CODE>cua</CODE>.
<P><EM>Upewnij siê, ¿e posiadasz nastêpuj±ce urz±dzenia:</EM>
<CODE>console, kmem, mem, null, ram, tty1</CODE>.
<P>
<H3>/etc</H3>

<P>
<!--
katalog etc
-->
<P>Ten katalog musi zawieraæ pliki konfiguracyjne. Zwykle pliki w tym katalogu
dziel± siê na trzy grupy:
<P>
<OL>
<LI>Zawsze wymagane przez system, <I>np.</I> <CODE>rc, fstab, passwd</CODE>.
<!--
rc
-->
<!--
fstab
-->
<!--
passwd
-->
</LI>
<LI>Wymagane w niektórych sytuacjach.</LI>
<LI>Pozosta³e ¶mieci.</LI>
</OL>
<P>Pliki, które nie s± najwa¿niejsze, mog± zostaæ znalezione za pomoc± komendy:
<P>
<BLOCKQUOTE><CODE>
<PRE>
      ls -ltru
</PRE>
</CODE></BLOCKQUOTE>
<P>Wy¶wietla ona listê plików posortowan± wed³ug daty ostatniego dostêpu, wiêc
je¶li plik nie by³ czytany, to znaczy ¿e mo¿na go pomin±æ na g³ównej
dyskietce.
<P>Na mojej g³ównej dyskietce mam oko³o 15 plików konfiguracyjnych. Zmniejsza
to ilo¶æ pracy, któr± trzeba po¶wieciæ na poprawê trzch grup plików:
<P>
<OL>
<LI>Pliki, które nale¿y skonfigurowaæ:

<OL>
<LI><CODE>rc.d/*</CODE> -- skrypty startu systemu i zmiany poziomu pracy</LI>
<LI><CODE>fstab</CODE> -- lista systemów plików, które nale¿y
zamontowaæ</LI>
<LI><CODE>inittab</CODE> -- parametry dla programu <CODE>init</CODE>,
uruchamianego przy starcie systemu. 
<!--
init
-->
</LI>
</OL>

</LI>
<LI>Pliki, które nale¿y poprawiæ:
<OL>
<LI><CODE>passwd</CODE> -- spis u¿ytkowników, katalogów domowych itd.</LI>
<LI><CODE>group</CODE> -- grupy u¿ytkowników 
<!--
grupy u¿ytkowników
-->
</LI>
<LI><CODE>shadow</CODE> -- has³a u¿ytkowników, mo¿esz nie posiadaæ tego pliku.
<!--
has³a shadow
-->
</LI>
<LI><CODE>termcap</CODE> -- the terminal capability database.</LI>
</OL>


Gdy liczy siê bezpieczeñstwo, pliki <CODE>passwd</CODE> i <CODE>shadow</CODE> powinny zostaæ
okrojone, aby uniemo¿liwiæ kopiowanie hase³ poza system. 
<!--
odtwarzanie
plików
-->


Upewnij siê, ¿e plik <CODE>passwd</CODE> zawiera przynajmniej u¿ytkownika
<CODE>root</CODE>. Je¶li chcesz umo¿liwiæ logowanie siê innym u¿ytkownikom, to
upewnij siê czy istniej± ich pow³oki i katalogi domowe.

<CODE>termcap</CODE>, baza danych terminali, zwykle liczy kilkaset kilobajtów.
Wersja znajduj±ca siê na dyskietce powinna byæ okrojona tak, aby zawiera³a
jedynie u¿ywany terminal(e), czyli najczê¶ciej jedynie wpis
<CODE>linux-console</CODE>.
</LI>
<LI>Pozosta³e pliki. Na razie dzia³aj±, wiêc mo¿na zostawiæ je w spokoju.
</LI>
</OL>
<P>Teraz trzeba skonfigurowaæ jedynie dwa pliki, ich zawarto¶æ jest zaskakuj±co
ma³a.
<UL>
<LI>Plik <CODE>rc</CODE> powinien zawieraæ:
<PRE>
      #!/bin/sh
      /bin/mount -av
      /bin/hostname Kangaroo
</PRE>


Upewnij siê, ¿e katalogi s± poprawne. W zasadzie nie musisz uruchamiaæ
<CODE>hostname</CODE>, jednak jest to zalecane.
</LI>
<LI>Plik <CODE>fstab</CODE> powinien zawieraæ conajmniej:

<PRE>
      /dev/ram0       /               ext2    defaults
      /dev/fd0        /               ext2    defaults
      /proc           /proc           proc    defaults
</PRE>


Mo¿esz te¿ skopiowaæ pozycje z istniej±cego pliku <CODE>fstab</CODE>, ale nie
powiniene¶ automatycznie montowaæ partycji na twardym dysku. U¿yj przy nich
opcji <CODE>noauto</CODE>. Pamiêtaj, twój dysk twardy mo¿e byæ uszkodzony, gdy
bêdziesz korzysta³ z dyskietki startowej.
</LI>
</UL>
<P>Plik <CODE>inittab</CODE> powinien byæ zmodyfikowany tak, aby pozycja
<CODE>sysinit</CODE> uruchamia³a <CODE>rc</CODE>, czy jaki¶ inny skrypt startowy.
Dodatkowo, je¶li nie chcesz pozwoliæ u¿ytkownikom logowaæ siê przez port
szeregowy, dodaj znak komentarza przed ka¿d± lini± <CODE>getty</CODE> zawieraj±c±
na koñcu urz±dzenie <CODE>ttys</CODE> lub <CODE>ttyS</CODE>. Pozostaw porty <CODE>tty</CODE>, aby¶
móg³ siê zalogowaæ z konsoli.
<P>Minimalny plik <CODE>inittab</CODE> wygl±da tak:
<PRE>
      id:2:initdefault:
      si::sysinit:/etc/rc
      1:2345:respawn:/sbin/getty 9600 tty1
      2:23:respawn:/sbin/getty 9600 tty2
</PRE>
<P>Plik <CODE>inittab</CODE> okre¶la, co system robi w niektórych sytuacjach i
na poszczególnych poziomach pracy. Upewnij siê, ¿e istniej± wszystkie nazwy
plików wymienione w <CODE>inittab</CODE>, <CODE>init</CODE> zawiesi siê bez ¿adnego
komunikatu o b³êdzie, je¶li nie znajdzie którego¶ z wymienionych tam
programów.
<P>Nale¿y sprawdziæ, czy komendy znajduj±ce
siê w pliku <CODE>inittab</CODE> odpo³uj± siê do programów, które istniej± w
odpowiednim katalogu. Je¶li umie¶cisz programy na dyskietce korzystaj±c ze
spisu w dodatku 
<A HREF="#listings">Spis plików przyk³adowej dyskietki g³ównej</A> i skopiujesz plik <CODE>inittab</CODE> z dysku bez dokonania poprawek, to
prawdopodobnie ponad po³owa wpisów w tym pliku bêdzie siê odwo³ywa³a do
nieistniej±cych programów czy nieprawid³owych katalogów.
<P>
<!--
¶ci¶le okre¶lone miejsca
-->
<P>Niektóre programy nie mog± zostaæ przeniesione gdzie indziej, poniewa¿ inne
programy szuaj± ich w ¶ci¶le okre¶lonym miejscu. Na przyk³ad w moim systemie
/etc/shutdown wymaga /etc/reboot. Je¶li przeniosê
<CODE>reboot</CODE> do /bin/reboot i wykonam komendê <CODE>shutdown</CODE>, to
wyst±pi b³±d, poniewa¿ nie mo¿e on znale¼æ pliku <CODE>reboot</CODE>.
<P>
<!--
katalog etc
-->
<P>Je¶li chodzi o resztê, to skopiuj pozosta³e pliki tekstowe oraz potrzebne
programy z katalogu <CODE>/etc</CODE>. Jako przyk³ad mo¿e s³u¿yæ dodatek 
<A HREF="#listings">Spis plików przyk³adowej dyskietki startowej</A>.
Prawdopodobnie wystarczy skopiowaæ tylko te pliki, które tam wypisano,
jednak poszczególne systemy bardzo siê ró¿ni±, wiêc nie mo¿esz byæ pewien,
czy nazwy pliku na tej li¶cie pokrywaj± siê z nazwami w twoim systemie.
Jedyn± pewn± metod± jest sprawdzenie w pliku <CODE>inittab</CODE>, które pliki s±
wymagane.
<P>Wiêkszo¶æ systemów posiada katalog /etc/rc.d/ zawieraj±cy
skrypty dla poszczególnych poziomów pracy. Aby system dzia³a³, wymagany jest
przynajmniej jeden skrypt <CODE>rc</CODE>, jednak pro¶ciej skopiowaæ plik
<CODE>inittab</CODE> i katalog /etc/rc.d z istniej±cego
systemu i wyci±æ niepotrzebne dla systemu dyskietkowego pozycje ze skryptów w
katalogu <CODE>rc.d</CODE>.
<P>
<H3>/bin i /sbin</H3>

<P>
<!--
katalog bin
-->

<!--
katalog sbin
-->
<P>Katalog <CODE>/bin</CODE> jest odpowiednim miejscem dla dodatkowych programów
u¿ytkowych wykonuj±cych podstawowe operacje, takich jak <CODE>ls</CODE>, <CODE>mv</CODE>,
<CODE>cat</CODE> czy <CODE>dd</CODE>. W dodatku 
<A HREF="#listings">Spis plików przyk³adowej dyskietki startowej</A> znajdziesz przyk³adow± listê plików
katalogu <CODE>/bin</CODE> i <CODE>/sbin</CODE>. Nie zawiera ona jednak programów
potrzebnych do odtwarzania plików z kopii zapasowych, takich jak <CODE>cpio</CODE>,
<CODE>tar</CODE> i <CODE>gzip</CODE>, poniewa¿, aby zaoszczêdziæ miejsce, umieszczam je na
osobnej dyskietce narzêdziowej. Gdy g³ówna/startowa dyskietka zostaje
wystartowana, zostaje ona skopiowana do ramdysku, pozostawiaj±c miejsce w
napêdzie do zamontowania kolejnej dyskietki --- dyskietki narzêdziowej.
Zwykle montujê j± w katalogu <CODE>/usr</CODE>.
<P>Tworzenie dyskietki narzêdziowej jest opisane dalej, w dziale 
<A HREF="#utilitydisk">Budowanie dyskietki narzêdziowej</A>. Zalecane jest
skopiowanie tych samych wersji programów, co u¿yte do stworzenia kopii
zapasowej, aby nie zdarzy³o siê, ¿e nie mo¿esz odtworzyæ swojej kopii,
poniewa¿ wersje s± niekompatybilne.
<P><EM>Upewnij siê, ¿e skopiowa³e¶ nastêpuj±ce programy:</EM> <CODE>init</CODE>,
<CODE>getty</CODE> lub ich odpowiedniki, <CODE>login</CODE>, <CODE>mount</CODE>, jak±¶ pow³okê
potrafi±c± uruchomiæ skrypty rc, dowi±zanie <CODE>sh</CODE> do pow³oki.
<P>
<!--
init
-->
<!--
getty
-->
<!--
login
-->
<!--
pow³oki
-->
<P>
<H3>/lib</H3>

<P>
<!--
katalog bibliotek (lib)
-->

<!--
biblioteki
-->
<P>W katalogu <CODE>/lib</CODE> umieszczasz potrzebne biblioteki dzielone oraz
programy s³u¿±ce do ich ³adowania. Je¶li wymagane biblioteki nie zostan±
odnalezione w katalogu <CODE>/lib</CODE>, to system siê nie zostanie
wystartowany. Przy odrobinie szczê¶cia mo¿esz ujrzeæ komunikat mówi±cy o
b³êdzie.
<P>
<!--
libc.so
-->

Prawie ka¿dy program wymaga co najmniej biblioteki <CODE>libc</CODE>, 
<CODE>libc.so.<I>N</I></CODE>, gdzie <I>N</I> to numer wersji. Sprawdz w swoim
katalogu <CODE>/lib</CODE>. Plik <CODE>libc.so.N</CODE> jest na ogó³ symbolicznym
dowi±zaniem do aktualnej wersji:
<P>
<BLOCKQUOTE><CODE>
<PRE>
 % ls -l /lib/libc*
 -rwxr-xr-x   1 root     root      4016683 Apr 16 18:48 libc-2.1.1.so*
 lrwxrwxrwx   1 root     root           13 Apr 10 12:25 libc.so.6 ->
</PRE>
</CODE></BLOCKQUOTE>
<P>W tym przypadku potrzebny jest plik <CODE>libc-2.1.1.so</CODE>. Aby dowiedzieæ siê,
jakie jeszcze biblioteki s± potrzebne, powiniene¶ sprawdziæ wszystkie pliki
wykonywalne które chcesz umie¶ciæ na dyskietce i sprawdziæ ich zale¿no¶ci
komend± <CODE>ldd</CODE>. Na przyk³ad:
<P>
<PRE>
      % ldd /sbin/mke2fs
              libext2fs.so.2 => /lib/libext2fs.so.2
              libcom_err.so.2 => /lib/libcom_err.so.2
              libuuid.so.1 => /lib/libuuid.so.1
              libc.so.5 => /lib/libc.so.5
</PRE>
<P>Wymagany jest ka¿dy plik po prawej stronie. Pamiêtaj, ¿e wymienione
biblioteki mog± byæ tylko symbolicznymi dowi±zaniami.
<P>Zauwa¿, ¿e niektóre biblioteki s± ca³kiem spore i mog± nie zmie¶ciæ siê w
g³ównym systemie plików. Na przyk³ad biblioteka <CODE>libc.so</CODE> wspomniana
wy¿ej liczy oko³o 4MB. Prawdopodobnie bêdziesz musia³ okroiæ biblioteki
przed kopiowaniem. Zajrzyj do dzia³u 
<A HREF="#slimfast">Redukowanie g³ównego systemu plików</A> po wiêcej informacji.
<P>
<!--
loadery
-->
<!--
ELF
-->
<!--
a.out
-->
<P>Dodatkowo w katalogu <CODE>/lib</CODE> musisz umie¶ciæ program ³aduj±cy
biblioteki. Jest to plik <CODE>ld.so</CODE> (dla bibliotek a.out) lub <CODE>ld-linux.so</CODE>
(dla bibliotek ELF). Je¶li nie jeste¶ pewien którego z nich potrzebujesz,
wykonaj komendê <CODE>file</CODE> z nazw± biblioteki jako parametr. Na przyk³ad:
<P>
<PRE>
        % file/lib/libc.so.4.7.2 /lib/libc.so.5.4.33 /lib/libc-2.1.1.so
        /lib/libc.so.4.7.2: Linux/i386 demand-paged executable (QMAGIC), stripped
        /lib/libc.so.5.4.33: ELF 32-bit LSB shared object, Intel 80386, version 1, stripped
        /lib/libc-2.1.1.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not stripped
</PRE>
<P><CODE>QMAGIC</CODE> oznacza, ¿e wersja <CODE>4.7.2</CODE> jest bibliotek± a.out, a <CODE>ELF</CODE>
oznacza, ¿e wersja <CODE>5.4.33</CODE> i <CODE>2.1.1</CODE> jest bibliotek± ELF.
<!--
ELF
-->
<!--
a.out
-->
<P>Skopiuj odpowiedni program ³aduj±cy biblioteki do tworzonego g³ównego systemu
plików. Powiniene¶ <EM>dok³adnie</EM> sprawdziæ, czy posiadasz wszystkie
konieczne biblioteki i odpowiedni program ³aduj±cy. Je¶li j±dro nie potrafi
za³adowaæ potrzebnej biblioteki, na ogó³ zawiesza siê bez ¿adnego
komunikatu.
<P>
<H2>4.4 Providing for PAM and NSS.</H2>

<P>
<A NAME="PAMNSS"></A> <P>System mo¿e wymagaæ dynamicznie ³adowanych bibliotek niewidocznych dla
ldd.
<P>
<H3>PAM (Pluggable Authentication Modules).</H3>

<P>
<P>Je¶li twój system korzysta z PAM (Pluggable Authentication Modules), to
musisz siê na to przygotowaæ, poniewa¿ w przeciwnym wypadku nie
bêdziesz móg³ siê zalogowaæ. Ogólnie mówi±c PAM to skomplikowany modularny
sposób uwierzytelniania u¿ytkowników i kontroli ich dostêpu do us³ug.
Je¶li w katalogu /etc znajduje siê katalog pam.conf lub
pam.d, musisz do³±czyæ pewne minimalne wsparcie dla PAM. (Mo¿esz
tak¿e uruchomiæ ldd na pliku login, je¶li w wyj¶ciu znajdzie
siê tekst libpam.so, potrzebujesz PAM).
<P>Na szczê¶cie kwestie bezpieczeñstwa nie s± zazwyczaj istotne przy tworzeniu
dyskietki startowej, jako ¿e ka¿dy posiadaj±cy fizyczny dostêp do komputera
mo¿e z nim zrobiæ wszystko. Tak wiêc mo¿esz po prostu wy³±czyæ PAM tworz±c
w g³ównym systemie plików prosty plik /etc/pam.conf, taki jak
ten:
<P>
<HR>
<PRE>
OTHER   auth       optional     /lib/security/pam_permit.so
OTHER   account    optional     /lib/security/pam_permit.so
OTHER   password   optional     /lib/security/pam_permit.so
OTHER   session    optional     /lib/security/pam_permit.so
</PRE>
<HR>
<P>Skopiuj tak¿e plik /lib/security/pam_permit.so do
g³ównego systemu plików. Ta biblioteka liczy jedynie 8KB.
<P>Zauwa¿, ¿e taka konfiguracja daje ka¿demu pe³ny dostêp do plików i us³ug
w systemie. Je¶li z jaki¶ wzglêdów bezpieczeñstwo dyskietki startowej jest
dla ciebie wa¿ne, musisz skopiowaæ niektóre lub wszystkie pliki
konfiguracyjne PAM z twardego dysku. Przeczytaj uwa¿nie dokumentacjê PAM i
skopuj wszystkie potrzebne biblioteki z /lib/security do
g³ównego systemu plików.
<P>Musisz tak¿e skopiowaæ na dyskietkê plik /lib/libpam.so, ale o
tym ju¿ wiesz, poniewa¿ uruchomi³e¶ <CODE>ldd</CODE> na /bin/login, który
pokaza³ zale¿no¶æ.
<P>
<H3>NSS (Name Service Switch).</H3>

<P>
<P>Je¶li korzystasz z glibc (aka libc6), bêdziesz musia³ przygotowaæ siê na
us³ugi nazw, w przeciwnym wypadku nie bêdziesz móg³ siê zalogowaæ. Plik
/etc/nsswitch.conf kontroluje dostêp do bazy danych dla
poszczególnych us³ug. Je¶li nie planujesz korzystaæ z us³ug przez sieæ (np.
DNS i NIS), musisz przygotowaæ jedynie prosty plik
nsswitch.conf, taki jak ten:
<P>
<HR>
<PRE>
     passwd:     files 
     shadow:     files 
     group:      files 
     hosts:      files
     services:   files
     networks:   files
     protocols:  files
     rpc:        files
     ethers:     files
     netmasks:   files     
     bootparams: files
     automount:  files 
     aliases:    files
     netgroup:   files
     publickey:  files
</PRE>
<HR>
<P>Okre¶la to, ¿e ka¿da us³uga bêdzie udostêpniana jedynie poprzez lokalne
pliki. Bêdziesz musia³ tak¿e do³±czyæ plik
<CODE>/lib/libnss_files.so.1</CODE>, który bêdzie dynamicznie ³adowany
aby obs³u¿yæ ¿±dania.
<P>Je¶li chcesz mieæ dostêp do sieci z dyskietki startowej, mo¿esz utworzyæ
bardziej rozbudowany plik nsswitch.conf. Aby dowiedzieæ siê wiêcej,
zajrzyj na stronê man nsswitch. Pamiêtaj ¿e musisz do³±czyæ plik
<CODE>/lib/libnss_</CODE><I>us³uga</I><CODE>.so.1</CODE>
dla ka¿dej <I>us³ugi</I>.
<P>
<H2>4.5 Modu³y.</H2>

<P> 
<!--
modu³y
-->
<P>Je¶li posiadasz j±dro obs³uguj±ce modu³y, to musisz zastanowiæ siê, które
modu³y mog± byæ potrzebne po wystartowaniu systemu. Prawdopodobnie
potrzebujesz modu³ów <CODE>ftape</CODE> i <CODE>zftape</CODE> je¶li posiadasz napêd ta¶mowy,
modu³ów do urz±dzeñ SCSI je¶li takie posiadasz i ewentualnie modu³ów do
obs³ugi PPP i SLIP je¶li chcesz mieæ dostêp do sieci. 
<!--
ftape
-->
<P>Te modu³y powinny zostaæ umieszczone w katalogu /lib/modules.
Powiniene¶ tak¿e do³±czyæ programy <CODE>insmod</CODE>, <CODE>rmmod</CODE> i <CODE>lsmod</CODE>.
Je¶li chcesz automatycznie ³adowaæ modu³y, to mo¿esz do³±czyæ <CODE>modprobe</CODE>,
<CODE>depmod</CODE> i <CODE>swapout</CODE>. Je¶li korzystasz z <CODE>kerneld</CODE>, to do³±cz go
razem z plikiem /etc/conf.modules.
<P>Jednak najwiêksz± zalet± korzystania z modu³ów jest mo¿liwo¶æ przeniesienia
niektórych z nich na dystkietkê narzêdziow±, oszczêdzaj±c w ten sposób
miejsce na g³ównej dyskietce. Gdy potrzebna jest obs³uga wielu ró¿nych
urz±dzeñ, takie podej¶cie jest lepsze ni¿ budowa jednego wielkiego j±dra
z wieloma wbudowanymi sterownikami.
<P><EM>Pamiêtaj, aby wystartowaæ skompresowany system plików ext2, musisz
posiadaæ wbudowan± w j±dro obs³ugê ext2 i ramdysku</EM>. Nie mog± znajdowaæ siê
one w postaci modu³ów.
<P>
<H2>4.6 Koñcowe detale.</H2>

<P>
<P>Pewne programy systemowe, takie jak <CODE>login</CODE>, do poprawnego dzia³ania
wymagaj± pliku /var/run/utmp i katalogu /var/log.
Tak wiêc:
<P>
<PRE>
      mkdir -p /mnt/var/{log,run}
      touch /mnt/var/run/utmp
</PRE>
<P>Na koniec, gdy skopiowa³e¶ ju¿ wszystkie wymagane biblioteki, uruchom
program <CODE>ldconfig</CODE> aby od¶wie¿yæ plik /etc/ld.so.cache w
g³ównym systemie plików. Plik ten informuje program ³aduj±cy gdzie znale¼æ
biblioteki. Aby od¶wie¿yæ <CODE>ld.so.cache</CODE> wykonaj nastêpuj±ce komendy:
<!--
ldconfig
-->
<!--
ld.so.cache
-->
<P>
<PRE>
      chdir /mnt; chroot /mnt /sbin/ldconfig
</PRE>
<P>Polecenie <CODE>chroot</CODE> jest konieczne, poniewa¿ <CODE>ldconfig</CODE> zawsze
od¶wie¿a plik cache dla g³ównego katalogu.
<P>
<H2>4.7 Kopiowanie na dyskietkê.</H2>

<P>
<A NAME="wrappingitup"></A> <P>Gdy ju¿ skoñczy³e¶ tworzenie g³ównego systemu plików, odmontuj go, skopiuj
do pliku i skompresuj:
<P>
<PRE>
      umount /mnt
      dd if=URZ¡DZENIE bs=1k | gzip -v9 > rootfs.gz
</PRE>
<P>Zostanie utworzony plik <CODE>rootfs.gz</CODE> który jest skompresowanym g³ównym
systemem plików. Powiniene¶ sprawdziæ, czy zmie¶ci siê na dyskietce, je¶li
nie, to bêdziesz musia³ cofn±æ siê i usun±æ jakie¶ pliki. Dzia³
<A HREF="#slimfast">Redukowanie g³ównego systemu plików</A> zawiera kilka
porad na ten temat.
<P>
<H2><A NAME="s5">5. Wybieranie j±dra.</A></H2>

<P>
<!--
j±dro, wybór
-->
<P>W tej chwili posiadasz skompresowany g³ówny system plików. Nastêpny krok to
zbudowanie lub wybranie j±dra. W wiekszo¶ci przypadków mo¿liwe jest
skopiowanie aktualnego j±dra i wystartowanie z niego dyskietki. Jednak w
niektórych przypadkach bêdziesz chcia³ stworzyæ swoje w³asne j±dro.
<P>Pierwszym powodem jest jego rozmiar. Je¶li tworzysz pojedyñcz± dyskietkê
startow±/g³ówna, to j±dro bêdzie jednym z najwiêkszych plików na dyskietce,
wiêc bêdziesz musia³ jak najbardziej zredukowaæ jego rozmiar.
Aby zmniejszyæ rozmiar j±dra, skompiluj je z minimaln± liczb± opcji
konieczn± do dzia³ania systemu. Powiniene¶ wy³±czyæ wszystko,
co nie jest potrzebne. Mo¿na spokojnie wyrzuciæ obs³ugê sieci, jak równie¿
obs³ugê wszystkich napêdów i innych urz±dzeñ których nie potrzebujesz w
czasie korzystania z dyskietki. Pamiêtaj, ¿e twoje j±dro <EM>musi</EM> posiadaæ
wbudowan± obs³ugê ramdysku oraz systemu plików ext2.
<P>Po wybraniu minimalnej konfiguracji j±dra, powiniene¶ zastanowiæ siê co
jeszcze mo¿e byæ ci potrzebne. Naczê¶ciej korzysta siê z dyskietki startowej
aby sprawdziæ i odzyskaæ uszkodzone dane w systemie plików, a do tego mo¿esz
potrzebowaæ wbudowanej obs³ugi w j±drze. Na przyk³ad je¶li swoje kopie
zapasowe przechowujesz na ta¶mie u¿ywaj±c Ftape, to je¶li utracisz swój
system plików i napêdy zawieraj±ce Ftape, nie bêdziesz móg³ odtworzyæ
danych z ta¶m zapasowych. Bêdziesz musia³ przeinstalowaæ Linuxa, ¶ci±gn±æ i
przeinstalowaæ ftape i dopiero wtedy odczytywaæ kopie zapasowe.
<P>Generalnie chodzi o to, aby instalowaæ w j±dze obs³ugê wszystkich
potrzebnych urz±dzeñ wej¶cia/wyj¶cia.
<P>
<!--
j±dro, kompilowanie
-->
<P>Procedura kompilowania j±dra jest opisana w dokumentacji do³±czonej do
j±dra. Jest ona bardzo ³atwa, najpierw zajrzyj do katalogu
/usr/src/linux. Je¶li masz probemy ze skompilowaniem j±dra, to
raczej nie powiniene¶ braæ siê do tworzenia dyskietki startowej. Pamiêtaj,
aby skompresowaæ j±dro poleceniem ``<CODE>make zImage</CODE>''.
<P>
<H2><A NAME="s6">6. Sk³adnie tego wszystkiego: tworzenie dyskietek.</A></H2>

<P>
<P>W tym momencie powiniene¶ posiadaæ j±dro oraz skompresowany g³ówny system
plików. Je¶li tworzysz dyskietkê startow±/g³ówn±, sprawd¼, czy oba pliki
zmieszcz± siê na dyskietce. Je¶li tworzysz osobno dystkietkê startow± i
g³ówn±, sprawd¼, czy g³ówny system plików zmie¶ci siê na jednej dyskietce.
<P>Powiniene¶ zdecydowaæ, czy u¿ywaæ LILO do wystartowania j±dra. Alternatywnym
rozwi±zaniem jest skopiowanie j±dra bezpo¶rednio na dyskietkê i
wystartowanie bez LILO. Zalet± korzystania z LILO jest to, ¿e
umo¿liwia on przekazanie pewnych parametrów do j±dra które mog± byæ
konieczne do inicjalizacji sprzêtu. Sprawd¼ plik
/etc/lilo.conf. Je¶li istnieje on i zawiera liniê
``<CODE>append=...</CODE>'', prawdopodobnie musisz przekazaæ jakie¶ parametry. Wad±
korzystania z LILO jest to, ¿e tworzenie dyskietki jest bardziej
skomplikowane, i zajmuje trochê wiêcej miejsca. Musisz utworzyæ odrêbny
system plików, który nazwiemy <B>systemem plików j±dra</B>, do którego
skopiujesz j±dro i kilka innych plików wymaganych przez LILO.
<P>
<!--
lilo.conf
-->
<!--
system plików lilo
-->
<!--
j±dro, parametry
-->
<P>Je¶li zamierzasz korzystaæ z LILO, czytaj dalej. Je¶li chcesz skopiowaæ
j±dro bezpo¶rednio na dyskietkê, przejd¼ do dzia³u 
<A HREF="#withoutlilo">Przenoszenie j±dra bez LILO</A>.
<P>
<H2>6.1 Przenoszenie j±dra z LILO. <!--LILO--></H2>

<P>
<A NAME="usinglilo"></A> <P>Pierwsz± rzecz±, która musisz zrobiæ, jest stworzenie ma³ego pliku
konfiguracyjnego dla LILO. Powinien on wygl±daæ mniej wiêcej tak:
<P>
<HR>
<PRE>
      boot      =/dev/fd0
      install   =/boot/boot.b
      map       =/boot/map
      read-write
      backup    =/dev/null
      compact
      image     = KERNEL
      label     = Bootdisk
      root      =/dev/fd0
</PRE>
<HR>
<P>Znaczenia tych parametrów szukaj w dokumentacji LILO. Prawdopodobnie
bêdziesz chcia³ równie¿ dodaæ do pliku liniê <CODE>append=...</CODE> tak± sam±, jak
w pliku /etc/lilo.conf na dysku twardym. 
<!--
lilo.conf
-->
<P>Zapisz ten plik jako <CODE>bdlilo.conf</CODE>.
<P>Nastêpnie musisz stworzyæ ma³y system plików, który nazwiemy
<B>systemem plików j±dra</B>, aby odró¿niæ go od g³ównego systemu
plików.
<P>Najpierw sprawd¼, jak du¿y powinien byæ ten system plików. We¼ rozmiar
twojego j±dra w blokach (rozmiar pokazywany przez komendê ``<CODE>ls -l
KERNEL</CODE>'' podzielony przez 1024 i zaokr±glony w górê) i dodaj 50.
Oko³o piêædziesi±t bloków to obszar potrzebny na i-wêz³y oraz pozosta³e
pliki. Je¶li chcesz, mo¿esz dok³adnie obliczyæ ten obszar, lub po prostu
u¿yæ liczby 50. Je¶li tworzysz osobno dyskietkê startow± i g³ówn±, to mo¿esz
spokojnie przeznaczyæ nawet wiêcej miejsca, jako ¿e pierwsza dyskietka jest
w ca³o¶ci przeznaczona na j±dro. Nazwijmy tê liczbê <CODE>BLOKI_J¡DRA</CODE>.
<!--
BLOKI_J¡DRA
-->
<P>W³ó¿ dyskietkê do stacji dysków (przyjmiemy ¿e jest ni±
/dev/fd0) i utwórz na niej system plików ext2:
<P>
<PRE>
      mke2fs -i 8192 -m 0 /dev/fd0 BLOKI_J¡DRA
</PRE>
<P>
<!--
inode'y, alokacja
-->
<P>Opcja ``<CODE>-i 8192</CODE>'' oznacza, ¿e chcemy jeden inode co 8192 bajty.
Nastêpnie zamontuj system plików, usuñ katalog <CODE>lost+found</CODE> oraz utwórz
katalogi <CODE>dev</CODE> i <CODE>boot</CODE> dla LILO:
<P>
<PRE>
      mount /dev/fd0 /mnt
      rm -rf /mnt/lost+found
      mkdir /mnt/{boot,dev}
</PRE>
<P>Nastêpnie utwórz urz±dzenia /dev/null i /dev/fd0.
Zamiast szukania ich numerów, mo¿esz po prostu skopiowaæ je z twardego dysku
u¿ywaj±c opcji <CODE>-R</CODE>:
<P>
<PRE>
      cp -R /dev/{null,fd0} /mnt/dev
</PRE>
<P>LILO wymaga kopii swojego programu startuj±cego, <CODE>boot.b</CODE>, który
mo¿esz przegraæ z twardego dysku. Zwykle znajduje siê on w katalogu
<CODE>/boot</CODE>:
<P>
<PRE>
      cp /boot/boot.b /mnt/boot
</PRE>
<P>Na koniec skopiuj plik konfiguracyjny LILO który utworzy³e¶ poprzednio oraz
swoje j±dro. Oba pliki mog± zostaæ umieszczone w g³ównym katalogu:
<P>
<PRE>
      cp bdlilo.conf KERNEL /mnt
</PRE>
<P>W tej chwili w systemie plików j±dra znajduje siê wszystko co potrzebne dla
LILO, wiêc jeste¶ teraz gotowy do uruchomienia go. Opcja <CODE>-r</CODE> oznacza
instalowanie programu startuj±cego w katalogu innym ni¿ g³ówny: 
<!--
LILO
-->
<P>
<PRE>
      lilo -v -C bdlilo.conf -r /mnt
</PRE>
<P>LILO powinien zakoñczyæ dzia³anie bez ¿adnych b³êdów, nastêpnie system
plików powinien wygl±daæ podobnie jak poni¿ej:
<P>
<HR>
<PRE>
total 361
  1 -rw-r--r--   1 root     root          176 Jan 10 07:22 bdlilo.conf
  1 drwxr-xr-x   2 root     root         1024 Jan 10 07:23 boot/
  1 drwxr-xr-x   2 root     root         1024 Jan 10 07:22 dev/
358 -rw-r--r--   1 root     root       362707 Jan 10 07:23 vmlinuz
boot:
total 8
  4 -rw-r--r--   1 root     root         3708 Jan 10 07:22 boot.b
  4 -rw-------   1 root     root         3584 Jan 10 07:23 map
dev:
total 0
  0 brw-r-----   1 root     root       2,   0 Jan 10 07:22 fd0
  0 crw-r--r--   1 root     root       1,   3 Jan 10 07:22 null
</PRE>
<HR>
<P>
<!--
system plików j±dra
-->
<P>Nie przejmuj siê, je¶li rozmiary plików sê nieco inne.
<P>Nastêpnie pozostaw dysk w napêdzie i przenie¶ siê do dzia³u 
<A HREF="#ramdiskword">Konfiguracja s³owa ramdysku</A>.
<P>
<H2>6.2 Przenoszenie j±dra bez LILO.</H2>

<P>
<A NAME="withoutlilo"></A> <P>Je¶li <EM>nie</EM> korzystasz z LILO, to skopiuj j±dro na dyskietkê startow±
u¿ywaj±c komendy <CODE>dd</CODE>:
<P>
<PRE>
      % dd if=KERNEL of=/dev/fd0 bs=1k
      353+1 records in
      353+1 records out
</PRE>
<P>W tym przyk³adzie <CODE>dd</CODE> zapisa³ 353 kompletne rekordy oraz 1 niekompletny,
tak wiêc j±dro zajmuje teraz pierwsze 353 bloki na dyskietce. Nazwij tê
liczbê  <CODE>BLOKI_J¡DRA</CODE> i zapamiêtaj j±, poniewa¿ bêdzie ona
potrzebna w nastêpnym dziale. 
<!--
BLOKI_J¡DRA
-->
<P>Na koniec ustaw dyskietkê jako g³ówne urz±dzenie i skonfigguruj je tak, aby
by³o dostêpne do zapisu i odczytu:
<P>
<PRE>
      rdev /dev/fd0 /dev/fd0
      rdev -R /dev/fd0 0
</PRE>
<P>
<!--
rdev
-->
<P>Pamiêtaj, aby u¿yæ opcji <CODE>-R</CODE> pisanej wielk± liter± w drugiej komendzie
<CODE>rdev</CODE>.
<P>
<H2>6.3 Konfiguracja s³owa ramdysku.</H2>

<P>
<A NAME="ramdiskword"></A> <P>Wewn±trz obrazu j±dra znajduje siê <B>s³owo ramdysku</B>, które
mówi, gdzie znajduje siê g³ówny system plików, oraz zawiera pewne inne opcje.
S³owo to mo¿na zmieniaæ za pomoc± polecenia <CODE>rdev</CODE>, a interpretowane jest w
nastêpuj±cy sposób:
<P>
<PRE>
      bity  0-10:     Przemieszczenie ramdysku, w blokach 1024-bajtowych
      bity 11-13:     nieu¿ywane
      bit     14:     Flaga oznaczaj±ca, ¿e ramdysk na zostaæ za³adowany
      bit     15:     Flaga oznaczaj±ca, aby pytaæ przez ³adowaniem
                      g³ównego systemu plików
</PRE>
<P>Je¶li bit 15 jest ustawiony, to podczas startu zostaniesz poproszony o
w³o¿enie do napêdu nowej dyskietki. Jest to konieczne w przypadku
korzystania z dwóch dyskietek.
<P>Istniej± dwa przypadki, w zale¿no¶ci od tego, czy budujesz pojedyncz±
dyskietkê startow±/g³ówn±, czy dwie osobne dyskietki, startow± i g³ówn±.
<P>
<OL>
<LI>Je¶li budujesz system na jednej dyskietce, to skompresowany g³ówny
system plików zostanie umieszczony zaraz za j±drem, wiêc przemieszczenie
ramdysku bêdzie nastêpnym wolnym blokiem za j±drem (czyli powinno wymosiæ
tyle samo, ile <CODE>BLOKI_J¡DRA</CODE>). Bit 14 zostanie ustawiony na 1, a
bit 15 bêdzie wynosi³ zero. 
<!--
BLOKI_J¡DRA
-->

</LI>
<LI>Je¶li budujesz zestaw dwóch dyskietek, to g³ówny system plików
rozpocznie siê w bloku zero drugiej dyskietki, wiêc przemieszczenie bêdzie
wynosiæ zero. Bity 14 oraz 15 bêd± ustawione na 1.
</LI>
</OL>
<P>
<!--
rdev
-->
<!--
s³owo ramdysku
-->
<P>Po skrupulatnych obliczniach warto¶ci s³owa ramdysku, ustaw j± poleceniem
<CODE>rdev -r</CODE>. Upewnij siê, ¿e poda³e¶ warto¶æ <EM>dziesiêtn±</EM>. Je¶li
korzystasz z LILO, to argumentem dla <CODE>rdev</CODE> powinna byæ <EM>¶cie¿ka do
j±dra</EM>, np. <CODE>/mnt/vmlinuz</CODE>. Je¶li kopiowa³e¶ j±dro za pomoc± polecenia
<CODE>dd</CODE>, to u¿yj zamiast tego nazwê urz±dzenia stacji dysków (<I>np.</I>
<CODE>/dev/fd0</CODE>).
<P>
<PRE>
      rdev -r J¡DRO_LUB_STACJA_DYSKÓW WARTO¦Æ
</PRE>
<P>Je¶li korzystasz z LILO, odmontuj teraz dyskietkê.
<P>
<H2>6.4 Przenoszenie g³ównego systemu plików.</H2>

<P>
<P>Ostatnim krokiem jest przeniesienie g³ównego systemu plików.
<P>
<UL>
<LI>Je¶li g³ówny system plików ma zostaæ umieszczony na <EM>tej samej</EM>
dyskietce co j±dro, to przenie¶ go u¿ywaj±c komendy <CODE>dd</CODE> z opcj±
<CODE>seek</CODE>, która okre¶la ile bloków nale¿y przeskoczyæ:

<PRE>
      dd if=rootfs.gz of=/dev/fd0 bs=1k seek=BLOKI_J¡DRA
</PRE>

</LI>
<LI>Je¶li system plików ma zostaæ umieszczony na <EM>drugiej</EM> dyskietce,
to wyjmij ze stacji pierwsz±, w³ó¿ drug± a nastêpnie przenie¶ na na ni±
g³ówny system plików:

<PRE>
      dd if=rootfs.gz of=/dev/fd0 bs=1k
</PRE>

</LI>
</UL>
<P>Moje gratulacje, dyskietki s± ju¿ gotowe! <EM>Zawsze powniniene¶ przetestowaæ
swoje dyskietki startowe zanim od³o¿ysz je na bok do czasu awarii!</EM>
Je¶li co¶ siê nie uda, czytaj dalej.
<P>
<H2><A NAME="s7">7. Rozwi±zywanie problemów.</A></H2>

<P>
<A NAME="troubleshooting"></A> 
<!--
rozwi±zywanie problemów
-->
<P>Po stworzeniu dyskietek kilka pierwszych prób wystartowania systemu czêsto
koñczy siê niepowodzeniem. Najlepszym podej¶ciem podczas budowania g³ównego
systemu plików jest ³±czenie elementów istniej±cego systemu tak, aby system
dyskietkowy przynajmiej wy¶wietla³ komunikaty na konsoli. Gdy zacznie on
komunikowaæ siê z tob±, jeste¶ ju¿ w po³owie drogi do sukcesu, poniewa¿
mo¿esz zobaczyæ, co sprawia problemy i naprawiæ je pojedynczo a¿ system
bêdzie dzia³a³ poprawnie. Je¶li system po prostu wiesza siê bez ¿adnego
komunikatu, to odnalezienie przyczyny staje siê trudne. Stworzenie systemu,
który zostanie poprawnie wystartowany do momentu, w którym bêdzie móg³
komunikowaæ siê z u¿ytkownikiem, wymaga zainstalowania i skonfigurowania
kilku komponentów. Zalecan± metoda badania problemu gdy system nie chce siê
komunikowaæ z u¿ytkownikiem jest nastêpuj±ca:
<P>
<UL>
<LI>Mo¿esz ujrzeæ komunikat taki jak ten:

<PRE>
Kernel panic: VFS: Unable to mount root fs on XX:YY
</PRE>


Jest to powszechny problem i ma jedynie kilka przyczyn. Po pierwsze, sprawdz
nazwê urz±dzenia <I>XX:YY</I> z list±. Czy to poprawne urz±dzenie g³ówne?
Je¶li nie, prawdopodobnie nie uruchomi³e¶ <CODE>rdev -R</CODE>, lub zrobi³e¶ to na
z³ym obrazie. Je¶li kod urz±dzenia jest poprawny, sprawd¼ uwa¿nie sterowniki
w³±czone do j±dra. Upewnij siê ¿e stacja dysków, ramdysk i system plików
ext2 zosta³y wbudowane.
</LI>
<LI>Sprawd¼, czy g³ówna dyskietka faktycznie zawiera odpowiednie katalogi.
Mo¿e siê zdarzyæ, ¿e skopiujesz nieodpowiedni katalog, w rezultacie
otrzymuj±c na g³ównej dyskietce przyk³adowo katalog /rootdisk/bin
zamiast <CODE>/bin</CODE>.
</LI>
<LI>Sprawd¼, czy plik /lib/libc.so jest dowi±zaniem do tego
samego pliku, co /lib/libc.so na twardym dysku. 
<!--
libc.so
-->

</LI>
<LI>Sprawd¼, czy symboliczne dowi±zania z katalogu <CODE>/dev</CODE> na dysku
twardym istniej± tak¿e dla odpowiednich urz±dzeñ na g³ównej dyskietce.
W wielu sytuacjach szczególnie istotne jest <CODE>/dev/console</CODE>.
<!--
katalog urz±dzeñ (dev)
-->

</LI>
<LI>Sprawd¼, czy do³±czy³e¶ pliki <CODE>/dev/tty1, /dev/null, /dev/zero,
/dev/mem, /dev/ram</CODE> i <CODE>/dev/kmem</CODE>.
</LI>
<LI>Sprawd¼ konfiguracjê j±dra, obs³uga wszystkich zasobów wymaganych do
zalogowania siê musi byæ wbudowana w j±dro, a nie w postaci modu³ów. Tak
wiêc <EM>obs³uga ramdysku i systemu plików ext2 musi byæ wbudowana</EM>.
</LI>
<LI>Sprawd¼, czy w j±drze g³ówne urz±dzenie oraz parametry ramdysku s±
ustawione poprawnie.
</LI>
</UL>
<P>Gdy przeanalizujesz ju¿ wszystkie powy¿sze przypadki, mo¿esz sprawdziæ
nastêpuj±ce pliki:
<P>
<OL>
<LI>Upewnij siê, ¿e istnieje plik /sbin/init lub
/bin/init. Upewnij siê, ¿e ma on uprawnienia do
wykonywania.
<!--
init
-->

</LI>
<LI>Uruchom <CODE>ldd init</CODE> aby sprawdziæ biblioteki wymagane przez
init. Na ogó³ jest to jedynie <CODE>libc.so</CODE>, ale zawsze warto sprawdziæ.
Upewnij siê, ¿e istniej± wymagane biblioteki i program ³aduj±cy.
</LI>
<LI>Upewnij siê, ¿e posiadasz odpowiedni program ³aduj±cy biblioteki --
<CODE>ld.so</CODE> dla bibliotek a.out lub <CODE>ld-linux.so</CODE> dla bibliotek
ELF.
<!--
program ³aduj±cy
-->

</LI>
<LI>Sprawd¼ odwo³ania do <CODE>getty</CODE> (lub podobnego programu, jak
<CODE>agetty</CODE>, <CODE>mgetty</CODE> czy <CODE>getty_ps</CODE>) w pliku <CODE>inittab</CODE>.
Porównaj je z plikiem <CODE>inittab</CODE> na dysku twardym. Przejrzyj strony man
u¿ywanych programów. W³a¶nie w pliku <CODE>inittab</CODE> mo¿e wyst±piæ najwiêcej
problemów, poniewa¿ jego sk³adnia zale¿y od konkretnego systemu i wersji
programu init. Jedynym rozwi±zaniem jest przeczytanie stron man o
<CODE>init</CODE> oraz <CODE>inittab</CODE>, prze¶ledzenie, co dok³adnie system robi po
wystartowaniu. Sprawd¼, czy w pliku /etc/inittab znajduje siê
pozycja inicjalizacji systemu. Zawiera ona ¶cie¿kê do skryptu inicjalizacji
systemu, który musi istnieæ.
</LI>
<LI>Tak samo jak w przypadku <CODE>init</CODE>, uruchom <CODE>ldd</CODE> podaj±c jako
parametr twój program <CODE>getty</CODE> i sprawd¼, czy istniej± wszystkie
potrzebne biblioteki oraz program ³aduj±cy.
</LI>
<LI>Upewnij siê, ¿e do³±czy³e¶ pow³okê (np. <CODE>bash</CODE> czy <CODE>ash</CODE>), która
potrafi wykonaæ wszystkie skrypty rc.
<!--
pow³oka
-->

</LI>
<LI>Je¶li na dyskietce istnieje plik /etc/ld.so.cache, to
od¶wie¿ go.
<!--
ld.so.cache
-->

</LI>
</OL>
<P>
<P>
<P>Je¶li <CODE>init</CODE> startuje, ale otrzymujesz komunikat:
<PRE>
      Id xxx respawning too fast: disabled for 5 minutes
</PRE>
<P>
<!--
respawning too fast
-->

pochodzi on z programu <CODE>init</CODE> i oznacza, ¿e <CODE>getty</CODE> lub <CODE>login</CODE>
koñcz± pracê zaraz po uruchomieniu. 
<!--
init
-->
<!--
getty
-->
<!--
login
-->

Sprawdz pliki <CODE>getty</CODE> i <CODE>login</CODE> i wszystkie potrzebne im biblioteki.
Upewnij siê, ¿e ich wywo³ania w pliku /etc/inittab s±
prawid³owe. Je¶li otrzymujesz dziwne komunikaty od <CODE>getty</CODE>, mo¿e to
oznaczaæ, ¿e jego wywo³anie z /etc/inittab jest nieprawid³owe.
Opcje dla programów <I>getty</I> s± zró¿nicowane, nawet poszczególne wersje
<CODE>agetty</CODE> posiadaj± niekompatybilne ze sob± opcje przy
wywo³aniu.
<!--
inittab
-->
<P>Je¶li podajesz poprawn± nazwê u¿ytkownika, ale system pyta natychmiast o 
inn± nazwê, to problemem mo¿e byæ PAM b±d¼ NSS. Zajrzyj do dzia³u 
<A HREF="#PAMNSS">PAM i NSS</A>. Problem mo¿e byæ tak¿e spowodowany tym,
¿e korzystasz z hase³ shadow, ale nie skopiowa³e¶ pliku
/etc/shadow na dyskietkê.
<P>Je¶li próbujesz uruchomiæ jaki¶ program, przyk³adowo <CODE>df</CODE>, który znajduje
siê na dyskietce, ale otrzymujesz komunikat: <CODE>df: not found</CODE>, to sprawd¼
dwie rzeczy. Po pierwsze, upewnij siê, ¿e katalog w którym znajduje siê
program jest w zmiennej PATH. Po drugie, sprawd¼, czy istniej± wszystkie
potrzebne biblioteki oraz program ³aduj±cy.
<P>
<H2><A NAME="s8">8. Ró¿ne tematy.</A></H2>

<P>
<P>
<H2>8.1 Redukcja g³ównego systemu plików.</H2>

<P>
<A NAME="slimfast"></A> <P>Czasem g³ówny system plików jest zbyt du¿y, aby zmie¶ciæ siê na dyskietce,
nawet po kompresji. Poni¿ej podano kilka sposobów zmniejszenia rozmiaru
systemu plików, uporz±dkowanych wed³ug efetywno¶ci:
<P>
<DL>
<P>
<DT><B>Zwiêksz gêsto¶æ dyskietki</B><DD><P>Standardowo dyskietki s± formatowane na
1440K, ale dostêpne s± formaty o wiêkszej gêsto¶ci. Program
fdformat umo¿liwia formatowanie dyskietki na nastêpuj±ce
wielko¶ci: 1600, 1680, 1711, 1743, 1760, 1840 i 1920. Wiêkszo¶æ napêdów
1440K obs³uguje dyskietki 1722K, wiêc dla dyskietek startowych zawsze u¿ywam
tego formatu. Zobacz stronê man fdformat oraz
/usr/src/linux/Documentation/devices.txt.
<P>
<DT><B>Wymieñ pow³okê</B><DD><P>Najbardziej populare pow³oki dla Linuxa, takie jak
<CODE>bash</CODE> i <CODE>tcsh</CODE>, zajmuj± bardzo du¿o miejsca i wymagaj± wielu
bibliotek. Istniej± jednak alternatywne pow³oki, takie jak
<CODE>ash</CODE>, <CODE>lsh</CODE>, <CODE>kiss</CODE> czy <CODE>smash</CODE>, które s± o wiele mniejsze i
wymagaj± mniej (lub ¿adnych) bibliotek. Wiêkszo¶æ tych zastêpczych pow³ok
jest dostêpna pod adresem 
<A HREF="http://metalab.unc.edu/pub/Linux/system/shells/">http://metalab.unc.edu/pub/Linux/system/shells/</A>. Upewnij siê, ¿e
pow³oka z której korzystasz potrafi wykonaæ wszystkie polecenia w plikach
<CODE>rc</CODE> na dyskietce.
<!--
pow³oki
-->
<P>
<DT><B>Obetnij biblioteki i programy</B><DD><P>
<!--
biblioteki
-->

Biblioteki i programy s± czêsto nieobciête (zawieraj± symbole dla debuggera).
Taki plik po uruchomieniu na nim <CODE>file</CODE> bêdzie oznaczony jako `<CODE>not
stripped</CODE>'. Podczas kopiowania programów do g³ównego systemu plików dobrym
pomys³em jest korzystanie z polecenia:
<P>
<PRE>
      objcopy --strip-all ¬RÓD£O CEL
</PRE>
<P>
<!--
obcinanie
-->
<!--
objcopy
-->
<!--
biblioteki, obcinanie
-->

Gdy kopiujesz biblioteki, u¿yj:
<P>
<PRE>
      objcopy --strip-debug ¬RÓD£Ó CEL
</PRE>
<P>
<DT><B>Przenie¶ mniej wa¿ne pliki na dyskietkê narzêdziow±</B><DD><P>Je¶li jakie¶
programy nie s± wymagane do wystartowania systemu i zalogowania siê, to
mo¿esz przenie¶æ je na dyskietkê narzêdziow±. Szczegó³ów szkukaj w dziale
<A HREF="#utilitydisk">Tworzenie dyskietki narzêdziowej</A>. Mo¿esz tak¿e
zastanowiæ siê nad przeniesieniem modu³ów na dyskietkê narzêdziow±.
<!--
dyskietka narzêdziowa
-->
<P>
</DL>
<P>
<H2>8.2 Systemy plików bez ramdysku.</H2>

<P>
<A NAME="nonramdiskroot"></A> 
<!--
ramdisk
-->
<P>Dzia³ 
<A HREF="#buildroot">Budowanie g³ównego systemu plików</A> zawiera
informacje na temat tworzenia skompresowanego g³ównego systemu plików, który
po uruchomieniu systemu jest ³adowany do ramdysku. Ta metoda posiada wiele
zalet, wiêc jest czêsto u¿ywana. Jednak niektóre systemy posiadaj± za ma³o
pamiêci RAM, w takich sytuacjach g³ówny system plików mo¿e zostaæ
zamontowany bezpo¶rednio, a nie kopiowany do ramdysku.
<P>W sumie ³atwiej stworzyæ taki w³a¶nie system plików ni¿ skompresowany,
poniewa¿ mo¿e on zostaæ zbudowany bezpo¶rednio na dyskietce, a nie na jakim¶
innym urz±dzeniu i nie musi on byæ kompresowany. Opiszemy tutaj ogólnie
ró¿nice w tworzeniu takiego w³a¶nie systemu plików. Je¶li zdecydujesz siê
z niego korzystaæ, pamiêtaj, ¿e bêdziesz mia³ do dyspozycji <EM>o wiele
mniej</EM> miejsca.
<P>
<OL>
<LI>Oblicz, ile wolnego miejsca pozostanie na g³ówny system plików.

Je¶li tworzysz pojedyncz± dyskietkê startow±/g³ówn±, to musisz zmie¶ciæ na
niej wszystkie bloki j±dra oraz wszystkie bloki g³ównego systemu plików.
</LI>
<LI>Korzystaj±c z programu <CODE>mke2fs</CODE> utwórz na dyskietce g³ówny system
plików o odpowiedniej wielko¶ci.
</LI>
<LI>Zape³nij system plików tak, jak to opisano w osobnym dziale.
</LI>
<LI>Gdy ju¿ skoñczysz, odmontuj system plików i przenie¶ go do pliku na
dysku, ale <EM>nie kompresuj go</EM>.
</LI>
<LI>Przenie¶ j±dro na dyskietkê, tak jak to opisano w osobnym dziale.
Podczas obliczania s³owa ramdysku <B>wyzeruj bit 14</B>, aby zaznaczyæ, ¿e
g³ówny system plików nie ma byæ ³adowany do ramdysku. Uruchom <CODE>rdev</CODE> z
odpowiednimi parametrami.
<!--
rdev
-->
<!--
s³owo ramdysku
-->

</LI>
<LI>Przenie¶ g³ówny system plików tak, jak poprzednio.
</LI>
</OL>
<P>Istnieje kilka dróg na skróty. Je¶li budujesz dwu-dyskietkowy zestaw, to
mo¿esz stworzyæ kompletny system plików bezpo¶rednio na drugiej dyskietce,
bez potrzeby przenoszenia go na twardy dysk i z powrotem. Je¶li budujesz
pojedyncz± dyskietkê startow±/g³ówn± i korzystasz z LILO, to mo¿esz zbudowaæ
<EM>jeden</EM> system plików na ca³ej dyskietce, zawieraj±cy j±dro, pliki LILO
oraz pliki g³ówne, a nastêpnie uruchomiæ LILO jako ostatni krok.
<P>
<H2>8.3 Tworzenie dyskietki narzêdziowej.</H2>

<P>
<A NAME="utilitydisk"></A> 
<!--
dyskietka narzêdziowa
-->
<P>Tworzenie dyskietki narzêdziowej jest stosunkowo proste, wystarczy stworzyæ
system plików na sformatowanej dyskietce i skopiowaæ do niego pliki. Aby
korzystaæ z niej podczas u¿ywania dyskietki startowej, wystarczy zamontowaæ
j± rêcznie po uruchomieniu systemu.
<P>We wcze¶niejszych rozdzia³ach wspomnieli¶my, ¿e dyskietka narzêdziowa
powinna zostaæ zamontowana w katalogu <CODE>/usr</CODE>. W tej systuacji
programy powinny byæ umieszczone w katalogu <CODE>/bin</CODE> dyskietki
narzêdziowej, aby po zamontowaniu by³y dostêpne pod ¶cie¿k±
/usr/bin. Dodatkowe biblioteki wymagane przez programy powinny
zostaæ umieszczone w katalogu <CODE>/lib</CODE> na dyskietce.
<P>Istnieje kilka istotnych aspektów, o których nale¿y pamiêtaæ podczas
projektowania dyskietki narzêdziowej:
<P>
<OL>
<LI>Nie umieszczaj na dyskietce narzêdziowej plików krytycznych dla
dzia³ania systemu, poniewa¿ bêdzie j± mo¿na zamontowaæ dopiero po
wystartowaniu systemu.
</LI>
<LI>Nie mo¿esz w tym samym czasie korzystaæ z napêdu ta¶mowego i napêdu
dyskietek. Oznacza to, ¿e je¶li posiadasz napêd ta¶mowy, to nie bêdziesz
mia³ do niego dostêpu gdy dyskietka narzêdziowa jest zamontowana.
</LI>
<LI>Dostêp do plików na dyskietce narzêdziowej bêdzie bardzo powolny.
</LI>
</OL>
<P>W Dodatku 
<A HREF="#utilitylist">Spis plików przyk³adowej dyskietki startowej</A> mo¿esz zobaczyæ przyk³adowe pliki na dyskietce narzêdziowej.
Oto kilka pomys³ow na programy, które mog± okazaæ siê przydatne: programy do
badania i manipulacji dyskami (<CODE>format, fdisk</CODE>) i systemami plików
(<CODE>mke2fs, fsck, debugfs, isofs.o</CODE>), ma³y edytor tekstów (<CODE>elvis, jove</CODE>),
narzêdzia do kompresji i archiwizacji (<CODE>gzip, tar, cpio, afio</CODE>),
narzêdzia do obs³ugi ta¶m (<CODE>mt, tob, taper</CODE>), narzêdzia komunikacyjne
(<CODE>ppp.o, slip.o, minicom</CODE>) i narzêdzia do obs³ugiu urz±dzeñ
(<CODE>setserial, mknod</CODE>).
<P>
<H2><A NAME="s9">9. Jak robi± to profesjonali¶ci.</A></H2>

<P>
<A NAME="pros"></A> <P>Pewnie zauwa¿y³e¶, ¿e dyskietki startowe u¿ywane przez najwiêksze
dystrybucje, takie jak Slackware, RedHat czy Debian, wydaj± siê o wiele
bardziej skomplikowane, ni¿ te opisane w tym dokumencie. Profesjonalne
dyskietki startowe s± bazowane na tych samych za³o¿eniach, które tu
podali¶my, ale wykorzystuj± ró¿ne triki, poniewa¿ takie dyskietki maj± o
wiele wiêksze wymagania. Po pierwsze, musz± wspó³pracowaæ z szerok± gam±
sprzêtu, tak wiêc musz± one umieæ komunikowaæ siê z u¿ytkownikiem i ³adowaæ
odpowiednie sterowniki urz±dzeñ. Po drugie, musz± byæ przygotowane do
dzia³ania z wieloma ró¿nymi opcjami instalacji, dodatkowo wykonuj±c pewne
dzia³ania automatycznie. Po trzecie dystrybucyjne dyskietki startowe na ogó³
spê³niaj± zarówno rolê instalacyjn±, jak i ratunkow±.
<P>
<!--
pocz±tkowy ramdysk (initrd)
-->
<P>Niektóre dyskietki startowe korzystaj± z us³ugi zwanej <B>initrd</B>
(<B>initial ramdisk</B>). Zosta³a ona wprowadzona w j±drze wersji 2.0.x
i daje o wiele wiêksz± elastyczno¶æ,
startuj±c j±dro w dwóch fazach. Na pocz±tku ³adowany jest pocz±tkowy obraz
ramdysku z dyskietki startowej. Pocz±tkowy ramdysk to g³ówny system plików
zawieraj±cy programy, które zostan± uruchomione zanim zostanie za³adowany
prawdziwy g³ówny system plików. Ten program najczê¶ciej bada otoczenie i/lub
prosi u¿ytkownika o wybranie ró¿nych opcji startowych, takich jak
urz±dzenie, z którego zostanie za³adowany prawdziwy g³ówny system plików.
Czêsto ³aduje on te¿ dodatkowe modu³y nie wbudowane do j±dra. Gdy dzia³anie
tego programu zakoñczy siê, j±dro ³aduje prawdziwy g³ówny obraz i
uruchamianie jest kontynuowanie normalnie. Wiêcej informacji o <CODE>initrd</CODE>
szukaj w /usr/src/linux/Documentation/initrd.txt i
<A HREF="ftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/initrd-example.tgz">ftp://elserv.ffm.fgan.de/pub/linux/loadlin-1.6/initrd-example.tgz</A>.
<P>Poni¿ej znajduje siê podsumowanie tego, jak dzia³aj± dyskietki startowe
poszczególnych dystrybucji, oparte na przegl±daniu ich systemu systemu
plików i/lub kodu ¼ród³owego. Nie gwarantujemy, ¿e ta informacja jest
dok³adna, ani ¿e nic siê nie zmieni³o od czasu opisanej wersji.
<P>Slackware (v.2.1) po prostu startuje system przy u¿yciu LILO, tak jak to
opisano w dziale 
<A HREF="#usinglilo">Przenoszenie j±dra z LILO</A>.
Dyskietki startowe Slackware przy starcie wypisuj± komunikat (``<CODE>Welcome
to the Slackware Linux bootkernel disk!</CODE>'') u¿ywaj±c do tego parametru
LILO <CODE>message</CODE>. Informuje to u¿ytkownika, ¿e mo¿e podaæ dodatkowe
parametry startowe, je¶li to konieczne. Po wystartowaniu, g³ówny system
plików jest ³adowany z drugiej dyskietki. U¿ytkownik uruchamia skrypt
<CODE>setup</CODE> który rozpoczyna instalacjê. Zamiast korzystaæ z j±dra opartego
na modu³ach, Slackware daje u¿ytkownikowi do dyspozycji wiele ró¿nych j±der,
do wyboru zale¿nie od konfiguracji sprzêtowej.
<P>
<P>RedHat (v.4.0) tak¿e korzysta z LILO. £aduje skompresowany ramdysk z
pierwszej dyskietki, który uruchamia specjalnie napisany program <CODE>init</CODE>.
Program ten pyta o sterowniki i, je¶li to konieczne, ³aduje pliki z dodatkowej
dyskietki.
<P>Debian (v.1.3) jest prawdopodobnie najbardziej skomplikowanym zestawem
dyskietek startowych. Korzysta on z programu ³aduj±cego SYSLINUX, który
ustala osopowiednie parametry, a nastêpnie u¿ywa obrazu
<CODE>initrd</CODE> aby poprowadziæ u¿ytkownika przez procedurê
instalacji. Wygl±da na to, ¿e korzysta on zarówno z przerobionego programu
<CODE>init</CODE>, jak i z przerobionej pow³oki.
<P>
<H2><A NAME="s10">10. Najczê¶ciej zadawane pytania (FAQ).</A></H2>

<P>
<P><B>Q. Próbuje wystartowaæ system z dyskietki, ale nic siê nie dzieje.
Co mam zrobiæ?</B>
<P>
<P>Zajrzyj do dzia³u 
<A HREF="#troubleshooting">Rozwi±zywanie problemów</A>
powy¿ej.
<P><B>Q. Jak dzia³aj± dyskietki startowe dystrybucji Slackware/Debian/RedHat?</B>
<P>
<P>Zajrzyj do dzia³u 
<A HREF="#pros">Jak to robi± profesjonali¶ci</A> powy¿ej.
<P><B>Q. W jaki sposób stworzyæ dyskietkê startow± ze sterownikiem XYZ?</B>
<P>
<P>Naj³atwiej zdobyæ j±dro z dystrybucji Slackware. J±dra Slackware zawieraj±
sterowniki do jak najwiêkszej ilo¶ci urz±dzeñ, wiêc je¶li posiadasz
kontroler IDE lub SCSI, istniej± du¿e szanse, ¿e sterownik do urz±dzenia jest
do³±czony do jednego z j±der Slackware.
<P>Przejdz do katalogu <CODE>a1</CODE> i wybierz j±dro odpowiednie dla posiadanego
typu kontrolera. Sprawdz w pliku xxxxkern.cfg dla odpowiedniego j±dra
czy zawiera ono odpowiednie sterowniki. Je¶li urz±dzenie jest na tej li¶cie,
to j±dro to powinno wystartowaæ twój system. ¦ci±gnij plik xxxxkern.tgz i
skopiuj go na dyskietkê, tak jak opisano powy¿ej, w dziale na temat
tworzenia dyskietek startowych. 
<!--
sterowniki urz±dzeñ
-->
<P>Nastêpnie musisz sprawdziæ g³ówne urz±dzenie tego j±dra, korzystaj±c
z komendy rdev:
<P>
<PRE>
      rdev zImage
</PRE>
<P>Komenda <CODE>rdev</CODE> wy¶wietli aktualne g³ówne urz±dzenie dla tego j±dra.
Je¶li nie odpowiada ono twojemu g³ównemu urz±dzeniu, u¿yj <CODE>rdev</CODE> aby
je zmieniæ. Na przyk³ad j±dro korzysta z /dev/sda2, ale moja
g³ówna partycja SCSI znajduje siê na urz±dzeniu /dev/sda8.
Aby zmieniæ g³ówne urz±dzenie na dyskietkê, musisz u¿yæ komendy:
<P>
<PRE>
      rdev zImage /dev/fd0
</PRE>
<P>Informacje na temat tworzenia g³ównych dyskietek Slackware wykraczaj± poza
zakres tego dokumentu, wiêc sugeruje zajrzeæ do Linux Install Guide lub
zdobyæ dystrybucjê Slackware. Zobacz tak¿e dzia³ ``Odno¶niki'' w tym HOWTO.
<P><B>Q. Jak uaktualniæ j±dro na mojej dyskietce?</B>
<P>
<!--
j±dro, uaktualnianie
-->
<P>Je¶li dyskietka startowa nie zawiera systemu plików, po prostu skopiuj j±dro
za pomoc± komendy <CODE>dd</CODE>. W przypadku dyskietki startowej/g³ównej u¿yj
komendy <CODE>cp</CODE>. Zajrzyj do dzia³u ``Startowanie'' aby dowiedzieæ siê
szczegó³ów na temat tworzenia dyskietki startowej. Ten opis odnosi siê tak¿e
do uaktualniania j±dra.
<P><B>Q. Jak dodaæ nowe pliki do mojej g³ównej dyskietki?</B>
<P>
<!--
g³ówny system plików, uaktualnianie
-->
<P>Najprostszym sposobem jest skopiowanie systeku plików z dyskietki z powrotem
do u¿ytego URZ¡DZENIA (z dzia³u 
<A HREF="#creatingrootfs">Tworzenie systemu plików</A> powy¿ej). Nastêpnie zamontuj system plików i dokonaj zmian.
Musisz wiedzieæ, w którym bloku zaczyna³ siê system plików i ile bloków
zajmowa³:
<P>
<PRE>
      dd if=/dev/fd0 bs=1k skip=POCZ¡TEK count=BLOKI | gunzip > URZ¡DZENIE
      mount -t ext2 URZ¡DZENIE /mnt
</PRE>
<P>Po dokonaniu zmian, postêpuj tak jak poprzednio (w dziale 
<A HREF="#wrappingitup">Tworzenie dyskietki</A>) i przenie¶ g³ówny system
plików z powrotem na dyskietkê. Nie musisz przenosiæ ponownie j±dra czy
ponownie przeliczaæ s³owa ramdysku je¶li nie zmieni³e¶ pozycji nowego
systemu plików.
<P><B>Q. Jak mogê usun±æ LILO aby ponownie korzystaæ ze startowania DOS?</B>
<P>
<!--
LILO
-->

<!--
Master Boot Record (MBR)
-->
<P>Tak na prawdê ten temat nie dotyczy dyskietek startowych, ale ludzie czêsto
o to pytaj±. Z poziomu Linuxa mo¿esz u¿yæ komendy:
<P>
<BLOCKQUOTE><CODE>
<PRE>
      /sbin/lilo -u
</PRE>
</CODE></BLOCKQUOTE>
<P>Mo¿esz tak¿e wykorzystaæ <CODE>dd</CODE> aby przenie¶æ kopiê zapasow± stworzon±
przez LILO z powrotem do bootsektora. Zajrzyj do dokumentacji LILO, je¶li
chcesz siê dowiedzieæ jak to zrobiæ.
<P>Z poziomu systemu DOS lub Windows mo¿esz skorzystaæ z polecenia DOS'a:
<P>
<BLOCKQUOTE><CODE>
<PRE>
      FDISK /MBR
</PRE>
</CODE></BLOCKQUOTE>
<P>MBR oznacza Master Boot Record i zastêpuje bootsektor nowym DOS'owym,
nie zmieniaj±c przy tym tablicy partycji. Niektórzy pury¶ci nie zgadzaj± siê
z tym, ale nawet autor LILO, Werner Almesberger, sugeruje to rozwi±zanie.
Jest ono proste, no i dzia³a.
<P><B>Q. Jak mogê wystartowaæ system je¶li zgubi³em j±dro <EM>oraz</EM> moj±
dyskietkê startow±?</B>
<P>
<P>Je¶li nie masz dyskietki startowej, to najprostszym sposobem bêdzie zdobycie
odpowiedniego j±dra Slackware jak to opisano powy¿ej w odpowiedzi na pytanie
``Jak mogê stworzyæ dyskietkê startow± ze sterownikiem XXX?''. Nastêpnie
mo¿esz wystartowaæ komputer u¿ywaj±c tego j±dra i naprawiæ wszystkie
problemy.
<P>J±dro to mo¿e nie mieæ ustawionego odpowiedniego g³ównego urz±dzenia.
Na przyk³ad typowe j±dro SCSI Slackware za g³ówne urz±dzenie uznaje
/dev/sda2, a moja g³ówna partycja Linuxowa to
/dev/sda8. W tej sytuacji g³ówne urz±dzenie w j±drze musi
zostaæ zmienione.
<P>G³ówne urz±dzenie oraz warto¶æ s³owa ramdysku mo¿esz zmieniæ nawet wtedy,
gdy posiadasz jedynie j±dro i jaki¶ inny system operacyjny, na przyk³ad DOS.
<P>Polecenie <CODE>rdev</CODE> zmienia ustawienia poprzez zmianê warto¶ci konkretnych
bajtów w pliku j±dra, wiêc mo¿esz zrobiæ to samo, je¶li tylko posiadasz
edytor heksadecymalny pracuj±cy pod innym dzia³aj±cym systemem
-- przyk³adowo Norton Disk Editor z pakietu Norton Utilities pod DOS.
Nastêpnie musisz sprawdziæ i, je¶li to konieczne, zmieniæ warto¶ci pod
nastêpuj±cymi przesuniêciami:
<!--
s³owo ramdysku
-->
<!--
rdev
-->
<P>
<BLOCKQUOTE><CODE>
<PRE>
HEX     DEC  OPIS
0x01F8  504  M³odszy bajt s³owa ramdysku
0x01F9  505  Starszy bajt s³owa ramdysku
0x01FC  508  Poboczny numer urz±dzenia - patrz ni¿ej
0X01FD  509  G³ówny numer urz±dzenia - patrz ni¿ej
</PRE>
</CODE></BLOCKQUOTE>
<P>Znaczenie s³owa ramdysku zosta³o opisane w dziale 
<A HREF="#ramdiskword">Ustawianie s³owa ramdysku</A> powy¿ej.
<P>Poboczny i g³owny numer musi odpowiadaæ urz±dzeniu, na którym znajduje siê
g³ówny system plików. Niektóre najczê¶ciej u¿ywane warto¶ci to:
<P>
<BLOCKQUOTE><CODE>
<PRE>
DEVICE          G£ÓWNY POBOCZNY
/dev/fd0            2     0   Pierwsza stacja dysków
/dev/hda1           3     1   Pierwsza partycja na pierwszym dysku IDE
/dev/sda1           8     1   Pierwsza partycja na pierwszym dysku SCSI
/dev/sda8           8     8   Ósma partycja na pierwszym dysku SCSI
</PRE>
</CODE></BLOCKQUOTE>
<P>Gdy ju¿ ustawisz odpowiednie warto¶ci, mo¿esz zapisaæ plik na dyskietce
korzystaj±c z Norton Utilities Disk Editor, albo programu <CODE>rawrite.exe</CODE>,
który znajduje siê we wszystkich dystrybucjach. Jest to program DOS'owy
który zapisuje dane w czystej postaci zaczynaj±c od boot sektora dyskietki,
zamiast zapisywaæ do systemu plików. Je¶li u¿ywasz Norton Utilities, musisz
zapisaæ plik do fizycznej dyskietki zaczynaj±c od jej pocz±tku.
<P><B>Q. W jaki sposób mogê stworzyæ dodatkowe kopie dyskietek?</B>
<P>
<P>Jako ¿e no¶niki magnetyczne z czasem trac± swe w³a¶ciwo¶ci, powiniene¶
posiadaæ kilka kopii swoich dyskietek ratunkowych, w razie gdyby orygina³y
uleg³y uszkodzeniu.
<P>Najprostsz± metod± tworzenia kopii ka¿dej dyskietki, w³±czaj±c w to
dyskietki startowe czy narzêdziowe, jest u¿ycie komendy <CODE>dd</CODE> aby
skopiowaæ zawarto¶æ oryginalnej dyskietki do pliku na dysku twardym, a
nastêpnie u¿yæ tej samej komendy aby skopiowaæ plik z powrotem na dyskietkê.
Zauwa¿, ¿e nie powiniene¶ montowaæ dyskietek, poniewa¿ <CODE>dd</CODE> korzysta
bezpo¶rednio z urz±dzenia.
<P>Aby skopiowaæ orygina³, u¿yj polecenia:
<P>
<BLOCKQUOTE><CODE>
<PRE>
      dd if=URZ¡DZENIE of=PLIK
      gdzie   URZ¡DZENIE jest nazw± urz±dzenia stacji dyskietek
      a       PLIK jest nazw± docelowego pliku na twardym dysku
</PRE>
</CODE></BLOCKQUOTE>
<P>Pominiêcie parametru <CODE>count</CODE> powoduje skopowanie ca³ej dyskietki
(2880 bloków je¶li jest to dyskietka HD).
<P>Aby skopiowaæ plik spowrotem na dyskietkê, w³ó¿ dyskietkê do stacji i
u¿yj komendy:
<P>
<BLOCKQUOTE><CODE>
<PRE>
      dd if=PLIK of=URZ¡DZENIE
</PRE>
</CODE></BLOCKQUOTE>
<P>Zauwa¿, ¿e powy¿szy opis zak³ada, ¿e posiadasz tylko jedn± stacjê dysków.
Je¶li posiadasz dwa napêdy tego samego typu, mo¿esz skopiowaæ dyskietki
u¿ywaj±c komendy:
<P>
<BLOCKQUOTE><CODE>
<PRE>
      dd if=/dev/fd0 of=/dev/fd1
</PRE>
</CODE></BLOCKQUOTE>
<P><B>Q. Jak wystartowaæ system bez wpisywania za ka¿dym razem
"ahaxxxx,nn,nn,nn"?</B>
<P>
<!--
j±dro, parametry
-->
<P>Je¶li dysk nie mo¿e zostaæ automatycznie wykryty, koniecznie jest
dostarczenie parametrów do j±dra, takich jak:
<P>
<BLOCKQUOTE><CODE>
<PRE>
      aha152x=0x340,11,3,1
</PRE>
</CODE></BLOCKQUOTE>
<P>Ten parametr mo¿e zostaæ dostarczony na kilka sposobów, korzystaj±c z LILO:
<P>
<UL>
<LI>Poprzez wpisywanie go za ka¿dym razem w linii poleceñ LILO, jednak
jest to mêcz±ce.
</LI>
<LI>U¿ywaj±c s³owa kluczowego LILO ``<CODE>lock</CODE>'' aby linia poleceñ zosta³a
zachowana jako domy¶lna, u¿ywana przy ka¿dym starcie systemu.
</LI>
<LI>U¿ywaj±c opcji <CODE>append=</CODE> w pliku konfiguracyjnym LILO. Pamiêtaj, ¿e
parametr musi zostaæ ujêty w cudzys³owy.
</LI>
</UL>
<P>Przyk³adaowa linia poleceñ dla podanego powy¿ej parametru mo¿e wygl±daæ
nastêpuj±co:
<P>
<BLOCKQUOTE><CODE>
<PRE>
      zImage  aha152x=0x340,11,3,1 root=/dev/sda1 lock
</PRE>
</CODE></BLOCKQUOTE>
<P>Przeka¿e ona opcje urz±dzenia do j±dra, ustawi w j±drze g³ówne urz±dzenie na
/dev/sda1 i zapisze linie poleceñ do u¿ycia przy ka¿dym
nastêpnym starcie systemu.
<P>Przyk³adowa opcja <CODE>append</CODE> wygl±da nastêpuj±co
<BLOCKQUOTE><CODE>
<PRE>
      append = "aha152x=0x340,11,3,1"
</PRE>
</CODE></BLOCKQUOTE>
<P>Pamiêtaj, ¿e parametr w linii poleceñ <EM>nie</EM> mo¿e byæ ujêty w cudzy³owy,
ale <EM>musi</EM> byæ ujêty w cudzys³owy je¶li wystêpuje w opcji <CODE>append</CODE>.
<P>Pamiêtaj tak¿e, ¿e w j±drze musi znajdowaæ siê sterownik dla podanego typu
urz±dzenia. Je¶li tak nie jest, bêdziesz musia³ przekompilowaæ j±dro
aby zawiera³o odpowiednie sterowniki. Szczegó³y na temat rekompilacji j±dra
znajdziesz w pliku <CODE>README</CODE> w katalogu /usr/src/linux oraz w
Linux FAQ i Installation HOWTO. Ewentualnie mo¿esz zdobyæ odpowiednie j±dro
dla tego urz±dzenia i zainstalowaæ je.
<P>Przed ekperymentami z LILO zalecane jest zapoznanie siê z jego dokumentacj±.
Nieprawid³owe u¿ycie opcji <CODE>BOOT</CODE> mo¿e uszkodziæ partycjê.
<P><B>Q. Podczas staru otrzymuje komunikat b³êdu "<CODE>A: cannot execute
B</CODE>". Co to oznacza?</B>
<P>
<!--
sta³e lokalizacje
-->
<P>W niektórych przypadkach ¶cie¿ki do plików s± na sta³e zapisane w niektórych
programach. Nie zdarza siê to zawsze, ale mo¿e wyja¶niæ dlaczego program nie
mo¿e zostaæ odnaleziony w twoim systemie nawet je¶li jeste¶ pewien ¿e siê
tam znajduje. Mo¿esz sprawdziæ, czy program ma zapisan± na sta³e lokalizacjê
jakiego¶ innego programu korzystaj±c z komendy <CODE>strings</CODE> i przepuszczaj±c
jej wyj¶cie przez filtr <CODE>grep</CODE>.
<P>Niektóre znane przypadki zapisanych na sta³e lokalizacji:
<UL>
<LI>Niektóre wersje <CODE>shutdown</CODE> maj± zapisan± na sta³e lokalizacjê
/etc/reboot, tak wiêc <CODE>reboot</CODE> musi zostaæ umieszczony
w katalogu <CODE>/etc</CODE>.
</LI>
<LI>Czasem j±dro nie mo¿e odnale¼æ programu <CODE>init</CODE>.
</LI>
</UL>
<P>Aby naprawiæ ten problem przenie¶ program do odpowiedniego katalogu, lub
zmieñ pliki konfiguracyjne (np. <CODE>inittab</CODE>) aby wskazywa³y na poprawny
katalog. Je¶li masz w±tpliwo¶ci, umie¶æ program w tym samym katalogu,
w którym znajdowa³ siê na dysku twardym oraz u¿yj tych samych plików
<CODE>inittab</CODE> i /etc/rc.d.
<P><B>Q. Moje j±dro posiada obs³ugê ramdysku, ale inicjuje go z wielko¶ci± 0K.</B>
<P>
<P>W takiej sytuacji podczas startu systemu pojawi siê informacja: 
<!--
ramdysk
-->
<P>
<PRE>
      Ramdisk driver initialized : 16 ramdisks of 0K size
</PRE>
<P>Dzieje siê tak dlatego, ¿e rozmiar ramdysko zosta³ ustawiony na 0 przez
j±dro podczas startu systemu. Najprawdopodobniej dzieje siê tak przez
parametr w pliku konfiguracyjnym LILO:
<P>
<BLOCKQUOTE><CODE>
<PRE>
ramdisk= 0
</PRE>
</CODE></BLOCKQUOTE>
<P>Który w starszych dystrybucjach zosta³ umieszczany w przyk³adowym pliku
konfiguracyjnym LILO. Je¶li posiadasz tak± liniê, usuñ j±.
<P>Skutki korzystania z ramdysku o rozmiarze 0K s± nieprzewidywalne i mog±
doprowadziæ do b³êdów j±dra.
<P>
<H2>Appendix</H2>
<H2><A NAME="references"></A> <A NAME="s11">11. Odno¶niki</A>.</H2>

<P>
<P>Gdy ¶ci±gasz pakiet, zawsze znajd¼ jego najnowsz± wersjê, chyba ¿e masz dobre 
powody aby tego nie robiæ.
<P>
<H2>11.1 Gotowe dyskietki.</H2>

<P>
<A NAME="distbootdisks"></A> <P>Poni¿ej znajduj± siê odno¶niki do dyskietek startowych poszczególnych
dystrybucji. <EM>Zawsze korzystaj z mirrorów, aby zredukowaæ obci±¿enie
serwera.</EM>
<P>
<UL>
<LI> 
<A HREF="http://metalab.unc.edu/pub/Linux/distributions/slackware/bootdsks.144/">Dyskietki startowe Slackware</A>, 
<A HREF="http://metalab.unc.edu/pub/Linux/distributions/slackware/current/rootdsks name="></A>³ówne"> oraz 
<A HREF="http://www.slackware.com/getslack/">Mirrory Slackware</A>
</LI>
<LI> 
<A HREF="http://metalab.unc.edu/pub/Linux/distributions/redhat/current/i386/images/">Dyskietki startowe RedHat</A> oraz 
<A HREF="http://www.redhat.com/mirrors.html">Mirrory RedHat</A>
</LI>
<LI> 
<A HREF="ftp://ftp.debian.org/pub/debian/stable/disks-i386">Dyskietki startowe Debian</A> oraz 
<A HREF="ftp://ftp.debian.org/pub/debian/README.mirrors.html">Mirrory Debian</A>
</LI>
</UL>
<P>Oprócz tych dyskietek dystrybucyjnych, dostêpne s± tak¿e poni¿sze dyskietki
ratunkowe. S± one dostêpne w katalogu 
<A HREF="http://metalab.unc.edu/pub/Linux/system/recovery/!INDEX.html">http://metalab.unc.edu/pub/Linux/system/recovery/!INDEX.html</A>, chyba
¿e podano inaczej.
<P>
<P>
<UL>
<LI><CODE>tomsrtbt</CODE>, autorstwa Toma Oehser, to pojedyncza dyskietka
startowa/g³ówna oparta na j±drze 2.0 z du¿a ilo¶ci± dodatkowych funkcji i
programów. Obs³uguje IDE, SCSI, napêd ta¶mowy, karty sieciowe, PCMCIA i inne.
Zawartych jest ponad 100 programów narzêdziowych do naprawy i odtwarzania
dysków. Pakiet zawiera tak¿e skrypty s³u¿±ce do roz³o¿enia i z³o¿enia z
powrotem obrazu dyskietki tak, aby mo¿na by³o zmodyfikowaæ jej zawarto¶æ.<P>
<P>
</LI>
<LI><CODE>rescue02</CODE>, autorstwa Johna Comyns, to dyskietka ratunkowa oparta na
j±drze 1.2.84, z obs³ug± IDE, Adaptec 1542 oraz NCR53C7,8xx. Korzysta z
plików wykonywalnych ELF, ale ma wystarczaj±co du¿o komend, wiêc mo¿e zostaæ
wykorzystana pod ka¿dym systemem. Zawiera modu³y dla pozosta³ych kart SCSI,
które mog± zostaæ za³adowane po wystartowaniu systemu. Prawdopodobnie
dyskietka ta nie bêdzie dzia³aæ na systemach z 4MB RAM, poniewa¿
korzysta z ramdysku wielko¶ci 3MB.<P>
<P>
</LI>
<LI><CODE>resque_disk-2.0.22</CODE>, autorstwa Sergei'a Viznyuk, to
dyskietka startowa oparta o j±dro 2.0.22 z wbudowan± obs³ug± IDE, wielu
ró¿nych kontrolerów SCSI oraz ELF/a.out. Dodatkowo zawiera wiele modu³ów i
u¿ytecznych narzêdzi do naprawy i odtwarzania twardego dysku.<P>
<P>
</LI>
<LI>Obrazy dyskietek <CODE>cramdisk</CODE> oparte na j±drze 2.0.23 dzia³aj± ju¿ na
maszynach z 4 i 8MB RAM. Zawieraj± emulacjê koprocesora, obs³ugê sieci (PPP,
NE2000, 3C509) lub obs³ugê napêdu ZIP. Te dyskietki wystartuj± na komputerze
386 z 4MB RAM. Obs³uguj± DOS, wiêc mo¿esz ¶ci±gn±æ je z sieci na partycjê
DOS.
<P>
<A HREF="http://metalabs.unc.edu/pub/Linux/system/recovery/images/">http://metalabs.unc.edu/pub/Linux/system/recovery/images/</A><P>
</LI>
</UL>
<P>
<H2>11.2 Pakiety ratunkowe.</H2>

<P>
<P>Na metalab.unc.edu mo¿na znale¼æ kilka pakietów do tworzenia dyskietek
ratunkowych. Korzystaj±c z tych pakietów najczê¶ciej wybierasz pliki do
za³±czenia na dyskietce, a reszta dzieje siê automatycznie (do pewnego
stopnia). Aby uzyskaæ wiêcej informacji przeczytaj plik 
<A HREF="http://metalab.unc.edu/pub/Linux/system/recovery/!INDEX.html">http://metalab.unc.edu/pub/Linux/system/recovery/!INDEX.html</A>.
<B>Sprawd¼ daty utworzenia poszczególnych pakietów</B> -- niektóre z nich nie
by³y uaktualniane od kilku lat i nie pozwalaj± na tworzenie skompresowanego
systemu plików ³adowanego do ramdysku. Z tego co wiem jedynie Yard posiada
obs³ugê ramdysku.
<P>
<H2>11.3 Skrypty pow³oki Grahama Chapman'a</H2>

<P>
<P>Graham Chapman napisa³ zestaw skryptów u¿ytecznych jako przyk³ady jak
tworzyæ dyskietki startowe. Skrypty te w poprzedniej wersji tego dokumentu
znajdowa³y siê w za³±czniku, ale zosta³y z niego usuniête i umieszczone na
stronie WWW:
<P>
<A HREF="http://www.zeta.org.au/~grahamc/linux.html">http://www.zeta.org.au/~grahamc/linux.html</A><P>Skrypty te mog± okazaæ siê po¿yteczne, ale zawsze czytaj uwa¿nie instrukcje
do nich do³±czone -- je¶li przyk³adowo wybierzesz z³e urz±dzenie wymiany,
twój g³ówny system plików zostanie w ca³o¶ci i nieodwracalnie usuniêty.
Upewnij siê ¿e skonfigurowa³e¶ wszystko poprawnie zanim u¿yjesz skryptów!
<P>
<H2>11.4 LILO (LInux LOader) -- program ³aduj±cy Linuxa.</H2>

<P>
<!--
LILO
-->
<P>Napisany przez Wernera Almesberger. Doskona³y program ³aduj±cy, zawieraj±cy
w dokumentacji informacje na temat bootsektora oraz pierwszych faz
startowania systemu.
<P>Znajdziesz go pod adresem 
<A HREF="ftp://tsx-11.mit.edu/pub/linux/packages/lilo/">ftp://tsx-11.mit.edu/pub/linux/packages/lilo/</A>. Jest on tak¿e dostêpny
na Metalab i jego mirrorach.
<P>
<H2>11.5 Linux FAQ i HOWTO.</H2>

<P>
<P>Dokumenty te dostêpne s± one z wielu ¼róde³. Przegl±dnij grupê usenet
<CODE>news.answers</CODE> oraz <CODE>comp.os.linux.announce</CODE>.
<P>FAQ jest dostêpne pod adresem 
<A HREF="http://metalab.unc.edu/pub/Linux/docs/faqs/linux-faq">http://metalab.unc.edu/pub/Linux/docs/faqs/linux-faq</A> a dokumenty HOWTO
pod adresem 
<A HREF="http://metalab.unc.edu/pub/Linux/docs/HOWTO">http://metalab.unc.edu/pub/Linux/docs/HOWTO</A>.
<P>Wiêkszo¶æ dokumentacji do Linuxa dostêpna jest na stronie
<A HREF="http://metalab.unc.edu/LDP/">The Linux Documentation Project homepage</A>.
<P>Ewentualnie mo¿esz wys³aæ list pod adres <CODE>mail-server@rtfm.mit.edu</CODE>
ze s³owem ``<CODE>help</CODE>'' w tre¶ci wiadomo¶ci, i robiæ to, co podaj± otrzymane
instrukcje.
<P>Od t³umacza: Polskie wersje dokumentów HOWTO znajdziesz pod adresem 
<A HREF="http://www.jtz.org.pl">Jak To Zrobiæ</A>.
<P>
<H2>11.6 Korzystanie z ramdysku.</H2>

<P>
<!--
ramdisk
-->
<P>Doskona³y opis dzia³ania ramdysku znajduje siê w dokumentacji dostarczanej
razem z j±drem Linuxa. Zajrzyj do pliku
/usr/src/linux/Documentation/ramdisk.txt. Zosta³ on napisany
przez Paula Gortmaker i zawiera dzia³ na temat tworzenia skompresowanego
ramdysku.
<P>
<H2>11.7 Proces startowania Linuxa.</H2>

<P>
<!--
proces startowania
-->
<P>Wiêcej szczegó³ow na temat procesu startowania Linuxa znajdziesz w
nastêpuj±cych miejscach:
<P>
<UL>
<LI>W The Linux System Administrators' Guide znajduje siê dzia³ na temat
startowania systemu. Zajrzyj pod adres
<A HREF="http://metalab.unc.edu/LDP/LDP/sag/c1582.html">http://metalab.unc.edu/LDP/LDP/sag/c1582.html</A>
</LI>
<LI>The LILO ``Technical overview'' 
<A HREF="http://metalab.unc.edu/pub/Linux/system/boot/lilo/lilo-t-21.ps.gz">http://metalab.unc.edu/pub/Linux/system/boot/lilo/lilo-t-21.ps.gz</A>
zawiera szczegó³owy opis startowania systemu na najni¿szym poziomie, a¿ do
za³adowania j±dra.
</LI>
<LI>Najlepszym przewodnikiem jest kod ¼ród³owy. Poni¿ej podano kilka
plików j±dra powi±zanych z procesem startowania. Je¶li posiadasz kod
¼ród³owy Linuxa, znajduje siê on w katalogu /usr/src/linux.
Ewentualnie pod adresem 
<A HREF="http://wafu.netgate.net/linux/">http://wafu.netgate.net/linux/</A>
znajduje siê hipertekstowa przegl±darka kodu ¼ród³owego j±dra autorstwa
Shigio Yamaguchi (<CODE>shigio@wafu.netgate.net</CODE>). Poni¿ej znajduj± siê
niektóre interesuj±ce pliki:

<DL>
<P>
<DT><B>arch/i386/boot/bootsect.S,setup.S</B><DD><P>Zawiera kod w assemblerze dotycz±cy bootsektora.
<P>
<DT><B>arch/i386/boot/compressed/misc.c</B><DD><P>Zawiera kod dekompresuj±cy j±dro.
<P>
<DT><B>arch/i386/kernel/</B><DD><P>Katalog zawieraj±cy kod inicjuj±cy j±dro. Plik <CODE>setup.c</CODE> zawiera s³owo
ramdysku
<P>
<DT><B>drivers/block/rd.c</B><DD><P>Zawiera sterownik ramdysku. Procedury <CODE>rd_load</CODE> oraz
<CODE>rd_load_image</CODE> ³aduj± bloki z urz±dzenia do ramdysku.
<P>Procedura <CODE>identify_ramdisk_image</CODE> ustala, jaki tym
systemu plików zosta³ znaleziony oraz czy jest on skompresowany.
<P>
</DL>

</LI>
</UL>
<P>
<P>
<H2><A NAME="s12">12. Kody b³êdów LILO.</A></H2>

<P>
<!--
LILO, kody b³êdów
-->
<P>W usenecie ludzie czêsto zadaj± pytania na ten temat, wiêc umie¶cili¶my je
tutaj dla szerszego grona. To podsumowanie pochodzi z LILO User
Documentation Wernera Almsberger, dostêpnego pod adresem 
<A HREF="ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/lilo-u-21.ps.gz">ftp://metalab.unc.edu/pub/Linux/system/boot/lilo/lilo-u-21.ps.gz</A>.
<P>Gdy LILO ³aduje siê, wy¶wietla s³owo ``<CODE>LILO</CODE>''. Ka¿da litera jest
wy¶wietlana po lub przed wykonaniem jakiej¶ czynno¶ci. Je¶li w pewnym
momencie wyst±pi b³±d, mo¿na wykorzystaæ litery do zidentyfikowania
problemu.
<P>
<DL>
<P>
<DT><B>(nic)</B><DD><P>¯adna czê¶æ LILO nie zosta³a za³adowana. LILO nie zosta³ zainstalowany, albo
partycja w której bootsektorze LILO zosta³ zainstalowany nie jest aktywna.
<P>
<DT><B>L</B><DD><P>Rozpoczê³a siê pierwsza faza programu ³aduj±cego, ale niemo¿liwe jest
przej¶cie do drugiej fazy. Dwucyfrowy kod b³êdu oznacza rodzaj b³êdu (patrz
tak¿e dzia³ ``Disk error codes''). Zwykle dzieje siê tak z powodu awarii
no¶nika lub z³ych parametrów dysku.
<P>
<DT><B>LI</B><DD><P>Program ³aduj±cy pierwszej fazy za³adowa³ drug± fazê, ale nie uda³o mu siê
jej uruchomiæ. Mo¿e byæ to spowodowane b³ednymi parametrami dysku lub
przeniesieniem pliku /boot/boot.b bez wywo³ania instalatora.
<P>
<DT><B>LIL</B><DD><P>Rozpocz±³ siê program ³aduj±cy drugiej fazy, ale nie uda³o mu siê za³adaowaæ
tablicy deskryptorów z pliku mapy. Najczê¶ciej jest to spowodowane awari±
no¶nika lub b³êdnymi parametrami dysku.
<P>
<DT><B>LIL?</B><DD><P>Program ³aduj±cy drugiej fazy zosta³ za³adowany pod nieprawid³owym adresem.
Zwykle jest to spowodowane b³êdnymi parametrami dysku lub przeniesieniem
pliku /boot/boot.b bez uruchomienia instalatora.
<P>
<DT><B>LIL-</B><DD><P>Tablica deskryptorów jest nieprawid³owa. Mo¿e to byæ spowodowane b³êdnymi
parametrami dysku lub przeniesieniem pliku /boot/map bez
uruchomienia istalatora mapy.
<P>
<DT><B>LILO</B><DD><P>Wszystkie elementy LILO zosta³y prawid³owo za³adowane.
<P>
</DL>
<P>Je¶li BIOS zasygnalizuje b³±d gdy LILO próbuje za³adowaæ obraz startowy,
wy¶wietlany jest odpowiedni kod b³êdu. Kody te s± z zakresu od <CODE>0x00</CODE> do
<CODE>0xbb</CODE>. W LILO User Guide znajduje siê ich wyja¶nienie.
<P>
<H2><A NAME="s13">13. Lista plików przyk³adowej g³ównej dyskietki.</A></H2>

<P>
<A NAME="listings"></A> 
<!--
g³ówny system plików
-->
<P>Poni¿ej znajduje siê zawarto¶æ przyk³adowej dyskietki g³ównej i narzêdziowej.
<P>
<P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
Root directory:
drwx--x--x   2 root     root         1024 Nov  1 15:39 bin
drwx--x--x   2 root     root         4096 Nov  1 15:39 dev
drwx--x--x   3 root     root         1024 Nov  1 15:39 etc
drwx--x--x   4 root     root         1024 Nov  1 15:39 lib
drwx--x--x   5 root     root         1024 Nov  1 15:39 mnt
drwx--x--x   2 root     root         1024 Nov  1 15:39 proc
drwx--x--x   2 root     root         1024 Nov  1 15:39 root
drwx--x--x   2 root     root         1024 Nov  1 15:39 sbin
drwx--x--x   2 root     root         1024 Nov  1 15:39 tmp
drwx--x--x   7 root     root         1024 Nov  1 15:39 usr
drwx--x--x   5 root     root         1024 Nov  1 15:39 var

/bin:
-rwx--x--x   1 root     root        62660 Nov  1 15:39 ash
-rwx--x--x   1 root     root         9032 Nov  1 15:39 cat
-rwx--x--x   1 root     root        10276 Nov  1 15:39 chmod
-rwx--x--x   1 root     root         9592 Nov  1 15:39 chown
-rwx--x--x   1 root     root        23124 Nov  1 15:39 cp
-rwx--x--x   1 root     root        23028 Nov  1 15:39 date
-rwx--x--x   1 root     root        14052 Nov  1 15:39 dd
-rwx--x--x   1 root     root        14144 Nov  1 15:39 df
-rwx--x--x   1 root     root        69444 Nov  1 15:39 egrep
-rwx--x--x   1 root     root          395 Nov  1 15:39 false
-rwx--x--x   1 root     root        69444 Nov  1 15:39 fgrep
-rwx--x--x   1 root     root        69444 Nov  1 15:39 grep
-rwx--x--x   3 root     root        45436 Nov  1 15:39 gunzip
-rwx--x--x   3 root     root        45436 Nov  1 15:39 gzip
-rwx--x--x   1 root     root         8008 Nov  1 15:39 hostname
-rwx--x--x   1 root     root        12736 Nov  1 15:39 ln
-rws--x--x   1 root     root        15284 Nov  1 15:39 login
-rwx--x--x   1 root     root        29308 Nov  1 15:39 ls
-rwx--x--x   1 root     root         8268 Nov  1 15:39 mkdir
-rwx--x--x   1 root     root         8920 Nov  1 15:39 mknod
-rwx--x--x   1 root     root        24836 Nov  1 15:39 more
-rws--x--x   1 root     root        37640 Nov  1 15:39 mount
-rwx--x--x   1 root     root        12240 Nov  1 15:39 mt
-rwx--x--x   1 root     root        12932 Nov  1 15:39 mv
-r-x--x--x   1 root     root        12324 Nov  1 15:39 ps
-rwx--x--x   1 root     root         5388 Nov  1 15:39 pwd
-rwx--x--x   1 root     root        10092 Nov  1 15:39 rm
lrwxrwxrwx   1 root     root            3 Nov  1 15:39 sh -> ash
-rwx--x--x   1 root     root        25296 Nov  1 15:39 stty
-rws--x--x   1 root     root        12648 Nov  1 15:39 su
-rwx--x--x   1 root     root         4444 Nov  1 15:39 sync
-rwx--x--x   1 root     root       110668 Nov  1 15:39 tar
-rwx--x--x   1 root     root        19712 Nov  1 15:39 touch
-rwx--x--x   1 root     root          395 Nov  1 15:39 true
-rws--x--x   1 root     root        19084 Nov  1 15:39 umount
-rwx--x--x   1 root     root         5368 Nov  1 15:39 uname
-rwx--x--x   3 root     root        45436 Nov  1 15:39 zcat

/dev:
lrwxrwxrwx   1 root     root            6 Nov  1 15:39 cdrom -> cdu31a
brw-rw-r--   1 root     root      15,   0 May  5  1998 cdu31a
crw-------   1 root     root       4,   0 Nov  1 15:29 console
crw-rw-rw-   1 root     uucp       5,  64 Sep  9 19:46 cua0
crw-rw-rw-   1 root     uucp       5,  65 May  5  1998 cua1
crw-rw-rw-   1 root     uucp       5,  66 May  5  1998 cua2
crw-rw-rw-   1 root     uucp       5,  67 May  5  1998 cua3
brw-rw----   1 root     floppy     2,   0 Aug  8 13:54 fd0
brw-rw----   1 root     floppy     2,  36 Aug  8 13:54 fd0CompaQ
brw-rw----   1 root     floppy     2,  84 Aug  8 13:55 fd0D1040
brw-rw----   1 root     floppy     2,  88 Aug  8 13:55 fd0D1120
brw-rw----   1 root     floppy     2,  12 Aug  8 13:54 fd0D360
brw-rw----   1 root     floppy     2,  16 Aug  8 13:54 fd0D720
brw-rw----   1 root     floppy     2, 120 Aug  8 13:55 fd0D800
brw-rw----   1 root     floppy     2,  32 Aug  8 13:54 fd0E2880
brw-rw----   1 root     floppy     2, 104 Aug  8 13:55 fd0E3200
brw-rw----   1 root     floppy     2, 108 Aug  8 13:55 fd0E3520
brw-rw----   1 root     floppy     2, 112 Aug  8 13:55 fd0E3840
brw-rw----   1 root     floppy     2,  28 Aug  8 13:54 fd0H1440
brw-rw----   1 root     floppy     2, 124 Aug  8 13:55 fd0H1600
brw-rw----   1 root     floppy     2,  44 Aug  8 13:55 fd0H1680
brw-rw----   1 root     floppy     2,  60 Aug  8 13:55 fd0H1722
brw-rw----   1 root     floppy     2,  76 Aug  8 13:55 fd0H1743
brw-rw----   1 root     floppy     2,  96 Aug  8 13:55 fd0H1760
brw-rw----   1 root     floppy     2, 116 Aug  8 13:55 fd0H1840
brw-rw----   1 root     floppy     2, 100 Aug  8 13:55 fd0H1920
lrwxrwxrwx   1 root     root            7 Nov  1 15:39 fd0H360 -> fd0D360
lrwxrwxrwx   1 root     root            7 Nov  1 15:39 fd0H720 -> fd0D720
brw-rw----   1 root     floppy     2,  52 Aug  8 13:55 fd0H820
brw-rw----   1 root     floppy     2,  68 Aug  8 13:55 fd0H830
brw-rw----   1 root     floppy     2,   4 Aug  8 13:54 fd0d360
brw-rw----   1 root     floppy     2,   8 Aug  8 13:54 fd0h1200
brw-rw----   1 root     floppy     2,  40 Aug  8 13:54 fd0h1440
brw-rw----   1 root     floppy     2,  56 Aug  8 13:55 fd0h1476
brw-rw----   1 root     floppy     2,  72 Aug  8 13:55 fd0h1494
brw-rw----   1 root     floppy     2,  92 Aug  8 13:55 fd0h1600
brw-rw----   1 root     floppy     2,  20 Aug  8 13:54 fd0h360
brw-rw----   1 root     floppy     2,  48 Aug  8 13:55 fd0h410
brw-rw----   1 root     floppy     2,  64 Aug  8 13:55 fd0h420
brw-rw----   1 root     floppy     2,  24 Aug  8 13:54 fd0h720
brw-rw----   1 root     floppy     2,  80 Aug  8 13:55 fd0h880
brw-rw----   1 root     disk       3,   0 May  5  1998 hda
brw-rw----   1 root     disk       3,   1 May  5  1998 hda1
brw-rw----   1 root     disk       3,   2 May  5  1998 hda2
brw-rw----   1 root     disk       3,   3 May  5  1998 hda3
brw-rw----   1 root     disk       3,   4 May  5  1998 hda4
brw-rw----   1 root     disk       3,   5 May  5  1998 hda5
brw-rw----   1 root     disk       3,   6 May  5  1998 hda6
brw-rw----   1 root     disk       3,  64 May  5  1998 hdb
brw-rw----   1 root     disk       3,  65 May  5  1998 hdb1
brw-rw----   1 root     disk       3,  66 May  5  1998 hdb2
brw-rw----   1 root     disk       3,  67 May  5  1998 hdb3
brw-rw----   1 root     disk       3,  68 May  5  1998 hdb4
brw-rw----   1 root     disk       3,  69 May  5  1998 hdb5
brw-rw----   1 root     disk       3,  70 May  5  1998 hdb6
crw-r-----   1 root     kmem       1,   2 May  5  1998 kmem
crw-r-----   1 root     kmem       1,   1 May  5  1998 mem
lrwxrwxrwx   1 root     root           12 Nov  1 15:39 modem -> ../dev/ttyS1
lrwxrwxrwx   1 root     root           12 Nov  1 15:39 mouse -> ../dev/psaux
crw-rw-rw-   1 root     root       1,   3 May  5  1998 null
crwxrwxrwx   1 root     root      10,   1 Oct  5 20:22 psaux
brw-r-----   1 root     disk       1,   1 May  5  1998 ram
brw-rw----   1 root     disk       1,   0 May  5  1998 ram0
brw-rw----   1 root     disk       1,   1 May  5  1998 ram1
brw-rw----   1 root     disk       1,   2 May  5  1998 ram2
brw-rw----   1 root     disk       1,   3 May  5  1998 ram3
brw-rw----   1 root     disk       1,   4 May  5  1998 ram4
brw-rw----   1 root     disk       1,   5 May  5  1998 ram5
brw-rw----   1 root     disk       1,   6 May  5  1998 ram6
brw-rw----   1 root     disk       1,   7 May  5  1998 ram7
brw-rw----   1 root     disk       1,   8 May  5  1998 ram8
brw-rw----   1 root     disk       1,   9 May  5  1998 ram9
lrwxrwxrwx   1 root     root            4 Nov  1 15:39 ramdisk -> ram0
***  Do³±czy³em jedynie urz±dzenia IDE dla partycji których u¿ywam.
***  Je¶li korzystasz ze SCSI, u¿yj zamiast nich urz±dzeñ /dev/sdXX.
crw-------   1 root     root       4,   0 May  5  1998 tty0
crw--w----   1 root     tty        4,   1 Nov  1 15:39 tty1
crw-------   1 root     root       4,   2 Nov  1 15:29 tty2
crw-------   1 root     root       4,   3 Nov  1 15:29 tty3
crw-------   1 root     root       4,   4 Nov  1 15:29 tty4
crw-------   1 root     root       4,   5 Nov  1 15:29 tty5
crw-------   1 root     root       4,   6 Nov  1 15:29 tty6
crw-------   1 root     root       4,   7 May  5  1998 tty7
crw-------   1 root     tty        4,   8 May  5  1998 tty8
crw-------   1 root     tty        4,   9 May  8 12:57 tty9
crw-rw-rw-   1 root     root       4,  65 Nov  1 12:17 ttyS1
crw-rw-rw-   1 root     root       1,   5 May  5  1998 zero

/etc:
-rw-------   1 root     root          164 Nov  1 15:39 conf.modules
-rw-------   1 root     root          668 Nov  1 15:39 fstab
-rw-------   1 root     root           71 Nov  1 15:39 gettydefs
-rw-------   1 root     root          389 Nov  1 15:39 group
-rw-------   1 root     root          413 Nov  1 15:39 inittab
-rw-------   1 root     root           65 Nov  1 15:39 issue
-rw-r--r--   1 root     root          746 Nov  1 15:39 ld.so.cache
***  Plik ld.so.cache jest tworzony przez ldconfig i przechowuje
***  lokalizacje bibliotek. Podczas startowania wyst±pi wiele b³êdów
***  je¶li brakuje ld.so.cache. Mo¿esz odtworzyæ go po stworzeniu
***  dyskietki, albo dodaæ ldconfig do dyskietki i uruchamiaæ go ze
***  skryptu rc.x.
-rw-------   1 root     root           32 Nov  1 15:39 motd
-rw-------   1 root     root          949 Nov  1 15:39 nsswitch.conf
drwx--x--x   2 root     root         1024 Nov  1 15:39 pam.d
-rw-------   1 root     root          139 Nov  1 15:39 passwd
-rw-------   1 root     root          516 Nov  1 15:39 profile
-rwx--x--x   1 root     root          387 Nov  1 15:39 rc
-rw-------   1 root     root           55 Nov  1 15:39 shells
-rw-------   1 root     root          774 Nov  1 15:39 termcap
-rw-------   1 root     root           78 Nov  1 15:39 ttytype
lrwxrwxrwx   1 root     root           15 Nov  1 15:39 utmp -> ../var/run/utmp
lrwxrwxrwx   1 root     root           15 Nov  1 15:39 wtmp -> ../var/log/wtmp

/etc/pam.d:
-rw-------   1 root     root          356 Nov  1 15:39 other

/lib:
*** Posiadam system ELF z glibc, wiêc potrzebujê loadera ld-2.so
-rwxr-xr-x   1 root     root        45415 Nov  1 15:39 ld-2.0.7.so
lrwxrwxrwx   1 root     root           11 Nov  1 15:39 ld-linux.so.2 -> ld-2.0.7.so
-rwxr-xr-x   1 root     root       731548 Nov  1 15:39 libc-2.0.7.so
lrwxrwxrwx   1 root     root           13 Nov  1 15:39 libc.so.6 -> libc-2.0.7.so
lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libcom_err.so.2 -> libcom_err.so.2.0
-rwxr-xr-x   1 root     root         6209 Nov  1 15:39 libcom_err.so.2.0
-rwxr-xr-x   1 root     root       153881 Nov  1 15:39 libcrypt-2.0.7.so
lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libcrypt.so.1 -> libcrypt-2.0.7.so
-rwxr-xr-x   1 root     root        12962 Nov  1 15:39 libdl-2.0.7.so
lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libdl.so.2 -> libdl-2.0.7.so
lrwxrwxrwx   1 root     root           16 Nov  1 15:39 libext2fs.so.2 -> libext2fs.so.2.4
-rwxr-xr-x   1 root     root        81382 Nov  1 15:39 libext2fs.so.2.4
-rwxr-xr-x   1 root     root        25222 Nov  1 15:39 libnsl-2.0.7.so
lrwxrwxrwx   1 root     root           15 Nov  1 15:39 libnsl.so.1 -> libnsl-2.0.7.so
-rwx--x--x   1 root     root       178336 Nov  1 15:39 libnss_files-2.0.7.so
lrwxrwxrwx   1 root     root           21 Nov  1 15:39 libnss_files.so.1 -> libnss_files-2.0.7.so
lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libpam.so.0 -> libpam.so.0.64
-rwxr-xr-x   1 root     root        26906 Nov  1 15:39 libpam.so.0.64
lrwxrwxrwx   1 root     root           19 Nov  1 15:39 libpam_misc.so.0 -> libpam_misc.so.0.64
-rwxr-xr-x   1 root     root         7086 Nov  1 15:39 libpam_misc.so.0.64
-r-xr-xr-x   1 root     root        35615 Nov  1 15:39 libproc.so.1.2.6
lrwxrwxrwx   1 root     root           15 Nov  1 15:39 libpwdb.so.0 -> libpwdb.so.0.54
-rw-r--r--   1 root     root       121899 Nov  1 15:39 libpwdb.so.0.54
lrwxrwxrwx   1 root     root           19 Nov  1 15:39 libtermcap.so.2 -> libtermcap.so.2.0.8
-rwxr-xr-x   1 root     root        12041 Nov  1 15:39 libtermcap.so.2.0.8
-rwxr-xr-x   1 root     root        12874 Nov  1 15:39 libutil-2.0.7.so
lrwxrwxrwx   1 root     root           16 Nov  1 15:39 libutil.so.1 -> libutil-2.0.7.so
lrwxrwxrwx   1 root     root           14 Nov  1 15:39 libuuid.so.1 -> libuuid.so.1.1
-rwxr-xr-x   1 root     root         8039 Nov  1 15:39 libuuid.so.1.1
drwx--x--x   3 root     root         1024 Nov  1 15:39 modules
drwx--x--x   2 root     root         1024 Nov  1 15:39 security

/lib/modules:
drwx--x--x   4 root     root         1024 Nov  1 15:39 2.0.35

/lib/modules/2.0.35:
drwx--x--x   2 root     root         1024 Nov  1 15:39 block
drwx--x--x   2 root     root         1024 Nov  1 15:39 cdrom

/lib/modules/2.0.35/block:
-rw-------   1 root     root         7156 Nov  1 15:39 loop.o

/lib/modules/2.0.35/cdrom:
-rw-------   1 root     root        24108 Nov  1 15:39 cdu31a.o

/lib/security:
-rwx--x--x   1 root     root         8771 Nov  1 15:39 pam_permit.so

***  Katalogi do montowania.
/mnt:
drwx--x--x   2 root     root         1024 Nov  1 15:39 SparQ
drwx--x--x   2 root     root         1024 Nov  1 15:39 cdrom
drwx--x--x   2 root     root         1024 Nov  1 15:39 floppy

/proc:

/root:
-rw-------   1 root     root          176 Nov  1 15:39 .bashrc
-rw-------   1 root     root          182 Nov  1 15:39 .cshrc
-rw-------   1 root     root           47 Nov  1 15:39 .glintrc
-rwx--x--x   1 root     root          455 Nov  1 15:39 .profile
-rw-------   1 root     root         4014 Nov  1 15:39 .tcshrc

/sbin:
-rwx--x--x   1 root     root        23976 Nov  1 15:39 depmod
-rwx--x--x   2 root     root       274600 Nov  1 15:39 e2fsck
-rwx--x--x   1 root     root        41268 Nov  1 15:39 fdisk
-rwx--x--x   1 root     root         9396 Nov  1 15:39 fsck
-rwx--x--x   2 root     root       274600 Nov  1 15:39 fsck.ext2
-rwx--x--x   1 root     root        29556 Nov  1 15:39 getty
-rwx--x--x   1 root     root         6620 Nov  1 15:39 halt
-rwx--x--x   1 root     root        23116 Nov  1 15:39 init
-rwx--x--x   1 root     root        25612 Nov  1 15:39 insmod
-rwx--x--x   1 root     root        10368 Nov  1 15:39 kerneld
-rwx--x--x   1 root     root       110400 Nov  1 15:39 ldconfig
-rwx--x--x   1 root     root         6108 Nov  1 15:39 lsmod
-rwx--x--x   2 root     root        17400 Nov  1 15:39 mke2fs
-rwx--x--x   1 root     root         4072 Nov  1 15:39 mkfs
-rwx--x--x   2 root     root        17400 Nov  1 15:39 mkfs.ext2
-rwx--x--x   1 root     root         5664 Nov  1 15:39 mkswap
-rwx--x--x   1 root     root        22032 Nov  1 15:39 modprobe
lrwxrwxrwx   1 root     root            4 Nov  1 15:39 reboot -> halt
-rwx--x--x   1 root     root         7492 Nov  1 15:39 rmmod
-rwx--x--x   1 root     root        12932 Nov  1 15:39 shutdown
lrwxrwxrwx   1 root     root            6 Nov  1 15:39 swapoff -> swapon
-rwx--x--x   1 root     root         5124 Nov  1 15:39 swapon
lrwxrwxrwx   1 root     root            4 Nov  1 15:39 telinit -> init
-rwx--x--x   1 root     root         6944 Nov  1 15:39 update

/tmp:

/usr:
drwx--x--x   2 root     root         1024 Nov  1 15:39 bin
drwx--x--x   2 root     root         1024 Nov  1 15:39 lib
drwx--x--x   3 root     root         1024 Nov  1 15:39 man
drwx--x--x   2 root     root         1024 Nov  1 15:39 sbin
drwx--x--x   3 root     root         1024 Nov  1 15:39 share
lrwxrwxrwx   1 root     root           10 Nov  1 15:39 tmp -> ../var/tmp

/usr/bin:
-rwx--x--x   1 root     root        37164 Nov  1 15:39 afio
-rwx--x--x   1 root     root         5044 Nov  1 15:39 chroot
-rwx--x--x   1 root     root        10656 Nov  1 15:39 cut
-rwx--x--x   1 root     root        63652 Nov  1 15:39 diff
-rwx--x--x   1 root     root        12972 Nov  1 15:39 du
-rwx--x--x   1 root     root        56552 Nov  1 15:39 find
-r-x--x--x   1 root     root         6280 Nov  1 15:39 free
-rwx--x--x   1 root     root         7680 Nov  1 15:39 head
-rwx--x--x   1 root     root         8504 Nov  1 15:39 id
-r-sr-xr-x   1 root     bin          4200 Nov  1 15:39 passwd
-rwx--x--x   1 root     root        14856 Nov  1 15:39 tail
-rwx--x--x   1 root     root        19008 Nov  1 15:39 tr
-rwx--x--x   1 root     root         7160 Nov  1 15:39 wc
-rwx--x--x   1 root     root         4412 Nov  1 15:39 whoami

/usr/lib:
lrwxrwxrwx   1 root     root           17 Nov  1 15:39 libncurses.so.4 -> libncurses.so.4.2
-rw-r--r--   1 root     root       260474 Nov  1 15:39 libncurses.so.4.2

/usr/sbin:
-r-x--x--x   1 root     root        13684 Nov  1 15:39 fuser
-rwx--x--x   1 root     root         3876 Nov  1 15:39 mklost+found

/usr/share:
drwx--x--x   4 root     root         1024 Nov  1 15:39 terminfo

/usr/share/terminfo:
drwx--x--x   2 root     root         1024 Nov  1 15:39 l
drwx--x--x   2 root     root         1024 Nov  1 15:39 v

/usr/share/terminfo/l:
-rw-------   1 root     root         1552 Nov  1 15:39 linux
-rw-------   1 root     root         1516 Nov  1 15:39 linux-m
-rw-------   1 root     root         1583 Nov  1 15:39 linux-nic

/usr/share/terminfo/v:
-rw-------   2 root     root         1143 Nov  1 15:39 vt100
-rw-------   2 root     root         1143 Nov  1 15:39 vt100-am

/var:
drwx--x--x   2 root     root         1024 Nov  1 15:39 log
drwx--x--x   2 root     root         1024 Nov  1 15:39 run
drwx--x--x   2 root     root         1024 Nov  1 15:39 tmp

/var/log:
-rw-------   1 root     root            0 Nov  1 15:39 wtmp

/var/run:
-rw-------   1 root     root            0 Nov  1 15:39 utmp

/var/tmp:
</PRE>
</CODE></BLOCKQUOTE>
<P>
<H2><A NAME="s14">14. Spis plików przyk³adowej dyskietki narzêdziowej.</A></H2>

<P>
<A NAME="utilitylist"></A> 
<!--
dyskietka narzêdziowa
-->
<P>
<BLOCKQUOTE><CODE>
<PRE>
total 579
-rwxr-xr-x   1 root     root        42333 Jul 28 19:05 cpio*
-rwxr-xr-x   1 root     root        32844 Aug 28 19:50 debugfs*
-rwxr-xr-x   1 root     root       103560 Jul 29 21:31 elvis*
-rwxr-xr-x   1 root     root        29536 Jul 28 19:04 fdisk*  
-rw-r--r--   1 root     root       128254 Jul 28 19:03 ftape.o
-rwxr-xr-x   1 root     root        17564 Jul 25 03:21 ftmt*  
-rwxr-xr-x   1 root     root        64161 Jul 29 20:47 grep*
-rwxr-xr-x   1 root     root        45309 Jul 29 20:48 gzip*
-rwxr-xr-x   1 root     root        23560 Jul 28 19:04 insmod*
-rwxr-xr-x   1 root     root          118 Jul 28 19:04 lsmod*
lrwxrwxrwx   1 root     root            5 Jul 28 19:04 mt -> mt-st*
-rwxr-xr-x   1 root     root         9573 Jul 28 19:03 mt-st*
lrwxrwxrwx   1 root     root            6 Jul 28 19:05 rmmod -> insmod*
-rwxr-xr-x   1 root     root       104085 Jul 28 19:05 tar*
lrwxrwxrwx   1 root     root            5 Jul 29 21:35 vi -> elvis*
</PRE>
</CODE></BLOCKQUOTE>
<P>
</BODY>
</HTML>