/usr/share/doc/lilo-doc/html/user_21-5.html is in lilo-doc 1:24.2-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 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 | <?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd-->
<html xmlns="http://www.w3.org/1999/xhtml"
>
<head><title>LILO
Generic boot loader for Linux
Version 21.5
User’s guide</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Bluefish 2.2.3" />
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)" />
<!-- xhtml,charset=utf-8,html -->
<meta name="src" content="user_21-5.tex" />
<meta name="date" content="2013-06-07T14:16:51+0200" />
<link rel="stylesheet" type="text/css" href="user_21-5.css" />
</head><body
>
<div class="maketitle">
<h2 class="titleHead">LILO<br />
Generic boot loader for Linux<br />
Version 21.5<br />
 <br />
User’s guide</h2>
<div class="author" ><span
class="cmr-12">Werner Almesberger</span>
<br /> <span
class="cmr-12">John R. Coffman</span>
<br /><span
class="cmti-12">(reconstructed by Joachim Wiedorn)</span></div>
<br />
<div class="date" ><span
class="cmr-12">July 17, 2000</span></div>
</div>
<h3 class="likesectionHead"><a
id="x1-1000"></a>Contents</h3>
<div class="tableofcontents">
<span class="sectionToc" >1 <a
href="#x1-20001" id="QQ2-1-2">Overview</a></span>
<br /> <span class="subsectionToc" >1.1 <a
href="#x1-30001.1" id="QQ2-1-3">Easy rules</a></span>
<br /> <span class="subsectionToc" >1.2 <a
href="#x1-40001.2" id="QQ2-1-4">System overview</a></span>
<br /><span class="sectionToc" >2 <a
href="#x1-50002" id="QQ2-1-5">Introduction</a></span>
<br /> <span class="subsectionToc" >2.1 <a
href="#x1-60002.1" id="QQ2-1-6">Disk organization</a></span>
<br /> <span class="subsectionToc" >2.2 <a
href="#x1-70002.2" id="QQ2-1-7">Booting basics</a></span>
<br />  <span class="subsubsectionToc" >2.2.1 <a
href="#x1-80002.2.1" id="QQ2-1-8">MS-DOS alone</a></span>
<br />  <span class="subsubsectionToc" >2.2.2 <a
href="#x1-90002.2.2" id="QQ2-1-9">LOADLIN</a></span>
<br />  <span class="subsubsectionToc" >2.2.3 <a
href="#x1-100002.2.3" id="QQ2-1-10">LILO started by DOS-MBR</a></span>
<br />  <span class="subsubsectionToc" >2.2.4 <a
href="#x1-110002.2.4" id="QQ2-1-11">Several alternate branches</a></span>
<br />  <span class="subsubsectionToc" >2.2.5 <a
href="#x1-120002.2.5" id="QQ2-1-12">LILO started by <span
class="cmss-10x-x-109">BOOTACTV</span><span class="footnote-mark"><sup class="textsuperscript">1</sup></span></a></span>
<br />  <span class="subsubsectionToc" >2.2.6 <a
href="#x1-130002.2.6" id="QQ2-1-13">LILO alone</a></span>
<br />  <span class="subsubsectionToc" >2.2.7 <a
href="#x1-140002.2.7" id="QQ2-1-14">Names</a></span>
<br /> <span class="subsectionToc" >2.3 <a
href="#x1-150002.3" id="QQ2-1-15">Choosing the “right” boot concept</a></span>
<br />  <span class="subsubsectionToc" >2.3.1 <a
href="#x1-160002.3.1" id="QQ2-1-16">BIOS restrictions</a></span>
<br />  <span class="subsubsectionToc" >2.3.2 <a
href="#x1-170002.3.2" id="QQ2-1-17">One disk, Linux on a primary partition</a></span>
<br />  <span class="subsubsectionToc" >2.3.3 <a
href="#x1-180002.3.3" id="QQ2-1-18">One disk, Linux on a logical partition</a></span>
<br />  <span class="subsubsectionToc" >2.3.4 <a
href="#x1-190002.3.4" id="QQ2-1-19">Two disks, Linux (at least partially) on the first disk</a></span>
<br />  <span class="subsubsectionToc" >2.3.5 <a
href="#x1-200002.3.5" id="QQ2-1-20">Two disks, Linux on second disk, first disk has an extended partition</a></span>
<br />  <span class="subsubsectionToc" >2.3.6 <a
href="#x1-210002.3.6" id="QQ2-1-21">Two disks, Linux on second disk, first disk has no extended partition</a></span>
<br />  <span class="subsubsectionToc" >2.3.7 <a
href="#x1-220002.3.7" id="QQ2-1-22">More than two disks</a></span>
<br />  <span class="subsubsectionToc" >2.3.8 <a
href="#x1-230002.3.8" id="QQ2-1-23"><span
class="cmtt-10x-x-109">/boot </span>on a DOS partition</a></span>
<br /><span class="sectionToc" >3 <a
href="#x1-240003" id="QQ2-1-24">The boot prompt</a></span>
<br /> <span class="subsectionToc" >3.1 <a
href="#x1-250003.1" id="QQ2-1-25">Boot command-line options</a></span>
<br />  <span class="subsubsectionToc" >3.1.1 <a
href="#x1-260003.1.1" id="QQ2-1-26">Standard options</a></span>
<br />  <span class="subsubsectionToc" >3.1.2 <a
href="#x1-270003.1.2" id="QQ2-1-27">Device-specific options</a></span>
<br />  <span class="subsubsectionToc" >3.1.3 <a
href="#x1-280003.1.3" id="QQ2-1-28">Other options</a></span>
<br />  <span class="subsubsectionToc" >3.1.4 <a
href="#x1-290003.1.4" id="QQ2-1-29">Repeating options</a></span>
<br />  <span class="subsubsectionToc" >3.1.5 <a
href="#x1-300003.1.5" id="QQ2-1-30">Implicit options</a></span>
<br /> <span class="subsectionToc" >3.2 <a
href="#x1-310003.2" id="QQ2-1-31">Boot image selection</a></span>
<br /><span class="sectionToc" >4 <a
href="#x1-320004" id="QQ2-1-32">Map installer</a></span>
<br /> <span class="subsectionToc" >4.1 <a
href="#x1-330004.1" id="QQ2-1-33">Command-line options</a></span>
<br />  <span class="subsubsectionToc" >4.1.1 <a
href="#x1-340004.1.1" id="QQ2-1-34">Show current installation</a></span>
<br />  <span class="subsubsectionToc" >4.1.2 <a
href="#x1-350004.1.2" id="QQ2-1-35">Create or update map</a></span>
<br />  <span class="subsubsectionToc" >4.1.3 <a
href="#x1-360004.1.3" id="QQ2-1-36">Change default command line</a></span>
<br />  <span class="subsubsectionToc" >4.1.4 <a
href="#x1-370004.1.4" id="QQ2-1-37">Kernel name translation</a></span>
<br />  <span class="subsubsectionToc" >4.1.5 <a
href="#x1-380004.1.5" id="QQ2-1-38">De-installation</a></span>
<br />  <span class="subsubsectionToc" >4.1.6 <a
href="#x1-390004.1.6" id="QQ2-1-39">Print version number</a></span>
<br />  <span class="subsubsectionToc" >4.1.7 <a
href="#x1-400004.1.7" id="QQ2-1-40">Options corresponding to configuration variables</a></span>
<br /> <span class="subsectionToc" >4.2 <a
href="#x1-410004.2" id="QQ2-1-41">Configuration</a></span>
<br />  <span class="subsubsectionToc" >4.2.1 <a
href="#x1-420004.2.1" id="QQ2-1-42">Syntax</a></span>
<br />  <span class="subsubsectionToc" >4.2.2 <a
href="#x1-430004.2.2" id="QQ2-1-43">Global options</a></span>
<br />  <span class="subsubsectionToc" >4.2.3 <a
href="#x1-440004.2.3" id="QQ2-1-44">General per-image options</a></span>
<br />  <span class="subsubsectionToc" >4.2.4 <a
href="#x1-450004.2.4" id="QQ2-1-45">Per-image options for kernels</a></span>
<br /> <span class="subsectionToc" >4.3 <a
href="#x1-460004.3" id="QQ2-1-46">Boot image types</a></span>
<br />  <span class="subsubsectionToc" >4.3.1 <a
href="#x1-470004.3.1" id="QQ2-1-47">Booting kernel images from a file</a></span>
<br />  <span class="subsubsectionToc" >4.3.2 <a
href="#x1-480004.3.2" id="QQ2-1-48">Booting kernel images from a device</a></span>
<br />  <span class="subsubsectionToc" >4.3.3 <a
href="#x1-490004.3.3" id="QQ2-1-49">Booting a foreign operating system</a></span>
<br /> <span class="subsectionToc" >4.4 <a
href="#x1-500004.4" id="QQ2-1-50">Disk geometry</a></span>
<br />  <span class="subsubsectionToc" >4.4.1 <a
href="#x1-510004.4.1" id="QQ2-1-51">Obtaining the geometry</a></span>
<br />  <span class="subsubsectionToc" >4.4.2 <a
href="#x1-520004.4.2" id="QQ2-1-52">Specifying the geometry</a></span>
<br /> <span class="subsectionToc" >4.5 <a
href="#x1-530004.5" id="QQ2-1-53">Partition table manipulation</a></span>
<br />  <span class="subsubsectionToc" >4.5.1 <a
href="#x1-540004.5.1" id="QQ2-1-54">Partition activation</a></span>
<br />  <span class="subsubsectionToc" >4.5.2 <a
href="#x1-550004.5.2" id="QQ2-1-55">Partition type change rules</a></span>
<br />  <span class="subsubsectionToc" >4.5.3 <a
href="#x1-560004.5.3" id="QQ2-1-56">Partition type changes</a></span>
<br /> <span class="subsectionToc" >4.6 <a
href="#x1-570004.6" id="QQ2-1-57">Keyboard translation</a></span>
<br />  <span class="subsubsectionToc" >4.6.1 <a
href="#x1-580004.6.1" id="QQ2-1-58">Compiling keyboard translation tables</a></span>
<br />  <span class="subsubsectionToc" >4.6.2 <a
href="#x1-590004.6.2" id="QQ2-1-59">Using keyboard translation tables</a></span>
<br /><span class="sectionToc" >5 <a
href="#x1-600005" id="QQ2-1-60">Installation and updates</a></span>
<br /> <span class="subsectionToc" >5.1 <a
href="#x1-610005.1" id="QQ2-1-61">Installation</a></span>
<br />  <span class="subsubsectionToc" >5.1.1 <a
href="#x1-620005.1.1" id="QQ2-1-62">Compatibility</a></span>
<br />  <span class="subsubsectionToc" >5.1.2 <a
href="#x1-630005.1.2" id="QQ2-1-63">Quick installation</a></span>
<br />  <span class="subsubsectionToc" >5.1.3 <a
href="#x1-640005.1.3" id="QQ2-1-64">Files</a></span>
<br />  <span class="subsubsectionToc" >5.1.4 <a
href="#x1-650005.1.4" id="QQ2-1-65">Normal first-time installation</a></span>
<br />  <span class="subsubsectionToc" >5.1.5 <a
href="#x1-660005.1.5" id="QQ2-1-66">Build-time configuration</a></span>
<br />  <span class="subsubsectionToc" >5.1.6 <a
href="#x1-670005.1.6" id="QQ2-1-67">Floppy disk installation</a></span>
<br /> <span class="subsectionToc" >5.2 <a
href="#x1-680005.2" id="QQ2-1-68">Updates</a></span>
<br />  <span class="subsubsectionToc" >5.2.1 <a
href="#x1-690005.2.1" id="QQ2-1-69">LILO update</a></span>
<br />  <span class="subsubsectionToc" >5.2.2 <a
href="#x1-700005.2.2" id="QQ2-1-70">Kernel update</a></span>
<br />  <span class="subsubsectionToc" >5.2.3 <a
href="#x1-710005.2.3" id="QQ2-1-71">System upgrade</a></span>
<br /> <span class="subsectionToc" >5.3 <a
href="#x1-720005.3" id="QQ2-1-72">LILO de-installation</a></span>
<br /> <span class="subsectionToc" >5.4 <a
href="#x1-730005.4" id="QQ2-1-73">Installation of other operating systems</a></span>
<br /><span class="sectionToc" >6 <a
href="#x1-740006" id="QQ2-1-74">Troubleshooting</a></span>
<br /> <span class="subsectionToc" >6.1 <a
href="#x1-750006.1" id="QQ2-1-75">Map installer warnings and errors</a></span>
<br />  <span class="subsubsectionToc" >6.1.1 <a
href="#x1-760006.1.1" id="QQ2-1-76">Fatal errors</a></span>
<br />  <span class="subsubsectionToc" >6.1.2 <a
href="#x1-770006.1.2" id="QQ2-1-77">Warnings</a></span>
<br /> <span class="subsectionToc" >6.2 <a
href="#x1-780006.2" id="QQ2-1-78">Boot loader messages</a></span>
<br />  <span class="subsubsectionToc" >6.2.1 <a
href="#x1-790006.2.1" id="QQ2-1-79">LILO start message</a></span>
<br />  <span class="subsubsectionToc" >6.2.2 <a
href="#x1-800006.2.2" id="QQ2-1-80">Disk error codes</a></span>
<br /> <span class="subsectionToc" >6.3 <a
href="#x1-810006.3" id="QQ2-1-81">Other problems</a></span>
</div>
<!--l. 124--><p class="noindent" > <br
class="newline" /><span
class="cmbx-10x-x-109">This document has only been partially updated and does reflect the status of Linux (until</span>
<span
class="cmbx-10x-x-109">2.2.16) and of LILO</span><span
class="cmbx-10x-x-109"> (until 21.5) in the year 2000. </span> <br
class="newline" />
</p><!--l. 132--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">1 </span> <a
id="x1-20001"></a>Overview</h3>
<!--l. 134--><p class="noindent" >LILO is a versatile boot loader for Linux. It does not depend on a specific file system, can boot Linux kernel
images from floppy disks and from hard disks and can even act as a “boot manager” for other operating
systems.<span class="footnote-mark"><a
href="user_21-52.html#fn2x0"><sup class="textsuperscript">2</sup></a></span><a
id="x1-2001f2"></a>
</p><!--l. 141--><p class="noindent" >One of up to sixteen different images can be selected at boot time. Various parameters, such as the root
device, can be set independently for each kernel. LILO can even be used as the master boot
record.
</p><!--l. 146--><p class="noindent" >This document introduces the basics of disk organization and booting, continues with an overview of
common boot techniques and finally describes installation and use of LILO in greater detail. The
troubleshooting section at the end describes diagnostic messages and contains suggestions for most problems
that have been observed in the past.
</p><!--l. 152--><p class="noindent" >Please read at least the sections about installation and configuration if you’re already using an older version
of LILO. This distribution is accompanied by a file named <span
class="cmtt-10x-x-109">INCOMPAT </span>that describes further incompatibilities
to older versions.
</p><!--l. 157--><p class="noindent" >For the impatient: there is a quick-installation script to create a simple but quite usable installation. See
section <a
href="#x1-630005.1.2">5.1.2<!--tex4ht:ref: quickinst --></a> for details.
</p>
<h4 class="subsectionHead"><span class="titlemark">1.1 </span> <a
id="x1-30001.1"></a>Easy rules</h4>
<!--l. 164--><p class="noindent" >But wait <span
class="cmmi-10x-x-109">…</span> here are a few easy rules that will help you to avoid most problems people experience with
LILO:
</p>
<ul class="itemize1">
<li class="itemize"><span
class="cmbx-10x-x-109">Don’t panic. </span>If something doesn’t work, try to find out what is wrong, try to verify your
assumption and only then attempt to fix it.
</li>
<li class="itemize">Read the documentation. Especially if what the system does doesn’t correspond to what you
think it should do.
</li>
<li class="itemize">Make sure you have an emergency boot disk, that you know how to use it, and that it is always
kept up to date.
</li>
<li class="itemize">Run <span
class="cmtt-10x-x-109">/sbin/lilo </span><span
class="cmbx-10x-x-109">whenever </span>the kernel or any part of LILO, including its configuration file,
has changed. When in doubt, run it. You can’t run <span
class="cmtt-10x-x-109">/sbin/lilo </span>too many times.
</li>
<li class="itemize">If performing a destructive upgrade and/or erasing your Linux partitions, de-install
LILO <span
class="cmbx-10x-x-109">before </span>that if using it as the MBR.
</li>
<li class="itemize">Don’t trust setup scripts. Always verify the <span
class="cmtt-10x-x-109">/etc/lilo.conf </span>they create before booting.
</li>
<li class="itemize">If using a big disk, be prepared for inconveniences: you may have to use the <span
class="cmtt-10x-x-109">linear </span>option.</li></ul>
<!--l. 188--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">1.2 </span> <a
id="x1-40001.2"></a>System overview</h4>
<!--l. 190--><p class="noindent" >LILO is a collection of several programs and other files:
</p><!--l. 192--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmbx-10x-x-109">The map installer</span> </dt><dd
class="description">is the program you run under Linux to put all files belonging to LILO at the
appropriate places and to record information about the location of data needed at boot time.
This program normally resides in <span
class="cmtt-10x-x-109">/sbin/lilo</span>. It has to be run to refresh that information
whenever any part of the system that LILO knows about changes, e.g. after installing a new
kernel.
</dd><dt class="description">
<span
class="cmbx-10x-x-109">Various files</span> </dt><dd
class="description">contain data LILO needs at boot time, e.g. the boot loader. Those files normally reside
in <span
class="cmtt-10x-x-109">/boot</span>. The most important files are the boot loader (see below) and the map file (<span
class="cmtt-10x-x-109">/boot/map</span>),
where the map installer records the location of the kernel(s).<span class="footnote-mark"><a
href="user_21-53.html#fn3x0"><sup class="textsuperscript">3</sup></a></span><a
id="x1-4001f3"></a>
Another important file is the configuration file, which is normally called <span
class="cmtt-10x-x-109">/etc/lilo.conf</span>
</dd><dt class="description">
<span
class="cmbx-10x-x-109">The boot loader</span> </dt><dd
class="description">is the part of LILO that is loaded by the BIOS and that loads kernels or the
boot sectors of other operating systems. It also provides a simple command-line interface to
interactively select the item to boot and to add boot options.</dd></dl>
<!--l. 215--><p class="noindent" >LILO primarily accesses the following parts of the system:
</p><!--l. 217--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmbx-10x-x-109">The root file system partition</span> </dt><dd
class="description">is important for two reasons: first, LILO sometimes has to tell
the kernel where to look for it. Second, it is frequently a convenient place for many other items
LILO uses, such as the boot sector, the <span
class="cmtt-10x-x-109">/boot </span>directory, and the kernels.
</dd><dt class="description">
<span
class="cmbx-10x-x-109">The boot sector</span> </dt><dd
class="description">contains the first part of LILO’s boot loader. It loads the much larger second-stage
loader. Both loaders are typically stored in the file <span
class="cmtt-10x-x-109">/boot/boot.b</span>
</dd><dt class="description">
<span
class="cmbx-10x-x-109">The kernel</span> </dt><dd
class="description">is loaded and started by the boot loader. Kernels typically reside in the root directory
or in <span
class="cmtt-10x-x-109">/boot</span>.</dd></dl>
<!--l. 229--><p class="noindent" >Note that many of the files LILO needs at boot time have to be accessible with the BIOS. This creates
certain restrictions, see section <a
href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>.
</p><!--l. 233--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">2 </span> <a
id="x1-50002"></a>Introduction</h3>
<!--l. 236--><p class="noindent" >The following sections describe how PCs boot in general and what has to be known when booting Linux
and using LILO in particular.
</p><!--l. 241--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.1 </span> <a
id="x1-60002.1"></a>Disk organization</h4>
<!--l. 244--><p class="noindent" >When designing a boot concept, it is important to understand some of the subtleties of how
PCs typically organize disks. The most simple case are floppy disks. They consist of a boot
sector, some administrative data (FAT or super block, etc.) and the data area. Because that
administrative data is irrelevant as far as booting is concerned, it is regarded as part of the data area for
simplicity.
</p><!--l. 251--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-50x.png" alt="|------------|----------------------|
|-Boot-sector-- |
| |
| Data area |
| |
------------------------------------
" class="math-display" /></center>
<!--l. 271--><p class="noindent" >The entire disk appears as one device (e.g. <span
class="cmtt-10x-x-109">/dev/fd0</span>) on Linux.
</p><!--l. 273--><p class="noindent" >The MS-DOS boot sector has the following structure:
</p><!--l. 275--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-51x.png" alt=" 0x000 |Jump--to-the-program--code-|
|--------------------------|
0x003 | |
| Disk parameters |
|--------------------------|
0x02C/0x03E | |
| Program code |
| |
| |
0x1FE |-Magic-number--(0xAA55-)--|
---------------------------|
" class="math-display" /></center>
<!--l. 308--><p class="noindent" >LILO uses a similar boot sector, but it does not contain the disk parameters part. This is no problem for
Minix, Ext2 or similar file systems, because they don’t look at the boot sector, but putting a LILO boot
sector on an MS-DOS file system would make it inaccessible for MS-DOS.
</p><!--l. 314--><p class="noindent" >Hard disks are organized in a more complex way than floppy disks. They contain several data areas called
partitions. Up to four so-called primary partitions can exist on an MS-DOS hard disk. If more partitions are
needed, one primary partition is used as an extended partition that contains several logical
partitions.
</p><!--l. 320--><p class="noindent" >The first sector of each hard disk contains a partition table, and an extended partition and <span
class="cmbx-10x-x-109">each </span>logical
partition contains a partition table too.
</p><!--l. 324--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-52x.png" alt="|------------------------------------------|
|Partition table /dev/hda |
| |Partition-1-------------------/dev/hda1--|
| | |
| |----------------------------------------|
| |Partition 2 /dev/hda2 |
--------------------------------------------
" class="math-display" /></center>
<!--l. 347--><p class="noindent" >The entire disk can be accessed as <span
class="cmtt-10x-x-109">/dev/hda</span>, <span
class="cmtt-10x-x-109">/dev/hdb</span>, <span
class="cmtt-10x-x-109">/dev/sda</span>, etc. The primary partitions are
<span
class="cmtt-10x-x-109">/dev/hda1</span> <span
class="cmmi-10x-x-109">…</span> <span
class="cmtt-10x-x-109">/dev/hda4</span>.
</p><!--l. 351--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-53x.png" alt="|------------------------------------------|
|Partition-table------------------/dev/hda---|
| |Partition 1 /dev/hda1 |
| |----------------------------------------|
| |Partition 2 /dev/hda2 |
| | |
| |Extended--partition------------/dev/hda3--|
| | |--------------------------------------|
| | |Extended--partition-table---------------|
| | |Partition 3 /dev/hda5 |
| | |--------------------------------------|
| | |Extended--partition-table---------------|
| | |Partition 4 /dev/hda6 |
| | | |
--------------------------------------------
" class="math-display" /></center>
<!--l. 398--><p class="noindent" >This hard disk has two primary partitions and an extended partition that contains two logical partitions.
They are accessed as <span
class="cmtt-10x-x-109">/dev/hda5</span> <span
class="cmmi-10x-x-109">…</span>
</p><!--l. 402--><p class="noindent" >Note that the partition tables of logical partitions are not accessible as the first blocks of some devices,
while the main partition table, all boot sectors and the partition tables of extended partitions
are.
</p><!--l. 406--><p class="noindent" >Partition tables are stored in partition boot sectors. Normally, only the partition boot sector of the entire
disk is used as a boot sector. It is also frequently called the master boot record (MBR). Its structure is as
follows:
</p><!--l. 411--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-54x.png" alt=" |------------------------|
0x000 | |
| Program code |
| |
|------------------------|
0x1BE | Partition table |
| |
|------------------------|
0x1FE -Magic-number--(0xAA55--)--
" class="math-display" /></center>
<!--l. 438--><p class="noindent" >The LILO boot sector is designed to be usable as a partition boot sector. (I.e. there is room for the
partition table.) Therefore, the LILO boot sector can be stored at the following locations:
</p>
<ul class="itemize1">
<li class="itemize">boot sector of a Linux floppy disk. (<span
class="cmtt-10x-x-109">/dev/fd0</span>, <span
class="cmmi-10x-x-109">…</span>)
</li>
<li class="itemize">MBR of the first hard disk. (<span
class="cmtt-10x-x-109">/dev/hda</span>, <span
class="cmtt-10x-x-109">/dev/sda</span>, <span
class="cmmi-10x-x-109">…</span>)
</li>
<li class="itemize">boot sector of a primary Linux file system partition on the first hard disk. (<span
class="cmtt-10x-x-109">/dev/hda1</span>, <span
class="cmmi-10x-x-109">…</span>)
</li>
<li class="itemize">partition boot sector of an extended partition on the first hard disk. (<span
class="cmtt-10x-x-109">/dev/hda1</span>, <span
class="cmmi-10x-x-109">…</span>)<span class="footnote-mark"><a
href="user_21-54.html#fn4x0"><sup class="textsuperscript">4</sup></a></span><a
id="x1-6001f4"></a></li></ul>
<!--l. 455--><p class="noindent" >It <span
class="cmbx-10x-x-109">can’t </span>be stored at any of the following locations:
</p>
<ul class="itemize1">
<li class="itemize">boot sector of a non-Linux floppy disk or primary partition.
</li>
<li class="itemize">a Linux swap partition.
</li>
<li class="itemize">boot sector of a logical partition in an extended partition.<span class="footnote-mark"><a
href="user_21-55.html#fn5x0"><sup class="textsuperscript">5</sup></a></span><a
id="x1-6002f5"></a>
</li>
<li class="itemize">on the second hard disk. (Unless for backup installations, if the current first disk will be removed
or disabled, or if some other boot loader is used, that is capable of loading boot sectors from
other drives.)</li></ul>
<!--l. 471--><p class="noindent" >Although LILO tries to detect attempts to put its boot sector at an invalid location, you should not rely on
that.
</p><!--l. 475--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.2 </span> <a
id="x1-70002.2"></a>Booting basics</h4>
<!--l. 477--><p class="noindent" >When booting from a floppy disk, the first sector of the disk, the so-called boot sector, is loaded. That boot
sector contains a small program that loads the respective operating system. MS-DOS boot sectors also
contain a data area, where disk and file system parameters (cluster size, number of sectors, number of
heads, etc.) are stored.
</p><!--l. 483--><p class="noindent" >When booting from a hard disk, the very first sector of that disk, the so-called master boot
record (MBR) is loaded. This sector contains a loader program and the partition table of the
disk. The loader program usually loads the boot sector, as if the system was booting from a
floppy.
</p><!--l. 488--><p class="noindent" >Note that there is no functional difference between the MBR and the boot sector other than that the MBR
contains the partition information but doesn’t contain any file system-specific information (e.g. MS-DOS
disk parameters).
</p><!--l. 493--><p class="noindent" >The first 446 (0x1BE) bytes of the MBR are used by the loader program. They are followed by the partition
table, with a length of 64 (0x40) bytes. The last two bytes contain a magic number that is sometimes used
to verify that a given sector really is a boot sector.
</p><!--l. 498--><p class="noindent" >There is a large number of possible boot configurations. The most common ones are described in the
following sections.
</p><!--l. 502--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.2.1 </span> <a
id="x1-80002.2.1"></a>MS-DOS alone</h5>
<!--l. 504--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-55x.png" alt="|--------------------------------------------------------|
|Master-Boot-Record-Boot-sector---------Operating system--|
-DOS--MBR--------→----MS--DOS--------→----COMMAND.COM--------
" class="math-display" /></center>
<!--l. 511--><p class="noindent" >This is what usually happens when MS-DOS boots from a hard disk: the DOS-MBR determines the active
partition and loads the MS-DOS boot sector. This boot sector loads MS-DOS and finally passes control to
<span
class="cmtt-10x-x-109">COMMAND.COM</span>. (This is greatly simplified.)
</p><!--l. 517--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.2.2 </span> <a
id="x1-90002.2.2"></a>LOADLIN</h5>
<!--l. 520--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-56x.png" alt="|--------------------------------------------------------------|
|MasterBoot-Record-Boot--sector-------Operating-systems-----------
|DOS -MBR ----→ MS -DOS --- -→ COMMAND.COM
---------------→---LOADLIN-------→---Linux----------------------
" class="math-display" /></center>
<!--l. 528--><p class="noindent" >A typical <span
class="cmss-10x-x-109">LOADLIN </span>setup: everything happens like when booting MS-DOS, but in <span
class="cmtt-10x-x-109">CONFIG.SYS </span>or
<span
class="cmtt-10x-x-109">AUTOEXEC.BAT</span>, LOADLIN is invoked. Typically, a program like <span
class="cmtt-10x-x-109">BOOT.SYS </span>is used to choose among
configuration sections in <span
class="cmtt-10x-x-109">CONFIG.SYS </span>and <span
class="cmtt-10x-x-109">AUTOEXEC.BAT</span>. This approach has the pleasant property that no
boot sectors have to be altered.
</p><!--l. 535--><p class="noindent" >Please refer to the documentation accompanying the LOADLIN package for installation instructions and
further details.
</p><!--l. 539--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.2.3 </span> <a
id="x1-100002.2.3"></a>LILO started by DOS-MBR</h5>
<!--l. 542--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-57x.png" alt="|--------------------------------------------------------|
|Master Boot Record Boot sector Operating system |
|DOS---MBR-------→---LILO-----------→---Linux-------------|
| |
----------------→---other-OS-----------------------------
" class="math-display" /></center>
<!--l. 550--><p class="noindent" >This is a “safe” LILO setup: LILO is booted by the DOS-MBR. No other boot sectors have to be touched.
If the other OS (or one of them, if there are several other operating systems being used) should
be booted without using LILO, the other partition has to be marked “active” with <span
class="cmss-10x-x-109">fdisk </span>or
<span
class="cmss-10x-x-109">activate</span>.
</p><!--l. 556--><p class="noindent" >Installation: </p>
<ul class="itemize1">
<li class="itemize">install LILO with its boot sector on the Linux partition.
</li>
<li class="itemize">use <span
class="cmss-10x-x-109">fdisk </span>or <span
class="cmss-10x-x-109">activate </span>to make that partition active.
</li>
<li class="itemize">reboot.</li></ul>
<!--l. 563--><p class="noindent" >Deinstallation: </p>
<ul class="itemize1">
<li class="itemize">make a different partition active.
</li>
<li class="itemize">install whatever should replace LILO and/or Linux.</li></ul>
<!--l. 570--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.2.4 </span> <a
id="x1-110002.2.4"></a>Several alternate branches</h5>
<!--l. 575--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-58x.png" alt="|--------------------------------------------------------------|
|MasterBoot-Record-Boot--sector-------Operating-systems-----------
|DOS -MBR ----→ MS -DOS --- -→ COMMAND.COM
| -→ LOADLIN ---→ Linux
| -→ LILO ----- --→ Linux
---------------→---MS---DOS--—--⋅⋅⋅------------------------------
" class="math-display" /></center>
<!--l. 585--><p class="noindent" >An extended form of the above setup: the MBR is not changed and both branches can either boot Linux or
MS-DOS. (LILO could also boot other operating systems.)
</p><!--l. 590--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.2.5 </span> <a
id="x1-120002.2.5"></a>LILO started by <span
class="cmss-10x-x-109">BOOTACTV</span><span class="footnote-mark"><a
href="user_21-56.html#fn6x0"><sup class="textsuperscript">6</sup></a></span></h5>
<!--l. 593--><p class="noindent" ><a
id="x1-12001f6"></a>
</p><!--l. 596--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-59x.png" alt="|--------------------------------------------------------|
|Master-Boot-Record-Boot-sector--------Operating-system---|
|BOOTACTV --→ LILO ------- -→ Linux |
| - → other OS
---------------------------------------------------------
" class="math-display" /></center>
<!--l. 604--><p class="noindent" >Here, the MBR is replaced by <span
class="cmss-10x-x-109">BOOTACTV </span>(or any other interactive boot partition
selector) and the choice between Linux and the other operating system(s) can be made
at boot time. This approach should be used if LILO fails to boot the other operating
system(s).<span class="footnote-mark"><a
href="user_21-57.html#fn7x0"><sup class="textsuperscript">7</sup></a></span><a
id="x1-12002f7"></a>
</p><!--l. 612--><p class="noindent" >Installation: </p>
<ul class="itemize1">
<li class="itemize">boot Linux.
</li>
<li class="itemize">make a backup copy of your MBR on a floppy disk, e.g. <br
class="newline" /><span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">dd</span><span
class="cmtt-10x-x-109"> if=/dev/hda</span><span
class="cmtt-10x-x-109"> of=/fd/MBR</span><span
class="cmtt-10x-x-109"> bs=512</span><span
class="cmtt-10x-x-109"> count=1</span></span></span>
</li>
<li class="itemize">install LILO with the boot sector on the Linux partition.
</li>
<li class="itemize">install <span
class="cmss-10x-x-109">BOOTACTV </span>as the MBR, e.g. <br
class="newline" /><span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">dd</span><span
class="cmtt-10x-x-109"> if=bootactv.bin</span><span
class="cmtt-10x-x-109"> of=/dev/hda</span><span
class="cmtt-10x-x-109"> bs=446</span><span
class="cmtt-10x-x-109"> count=1</span></span></span>
</li>
<li class="itemize">reboot.</li></ul>
<!--l. 623--><p class="noindent" >Deinstallation: </p>
<ul class="itemize1">
<li class="itemize">boot Linux.
</li>
<li class="itemize">restore the old MBR, e.g. <br
class="newline" /><span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">dd</span><span
class="cmtt-10x-x-109"> if=/MBR</span><span
class="cmtt-10x-x-109"> of=/dev/hda</span><span
class="cmtt-10x-x-109"> bs=446</span><span
class="cmtt-10x-x-109"> count=1</span></span></span> <br
class="newline" />or <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">FDISK</span><span
class="cmtt-10x-x-109"> /MBR</span></span></span> under MS-DOS.</li></ul>
<!--l. 631--><p class="noindent" >If replacing the MBR appears undesirable and if a second Linux partition exists (e.g. <span
class="cmtt-10x-x-109">/usr</span>,
<span
class="cmbx-10x-x-109">not </span>a swap partition), <span
class="cmss-10x-x-109">BOOTACTV </span>can be merged with the partition table and stored as the
“boot sector” of that partition. Then, the partition can be marked active to be booted by the
DOS-MBR.
</p><!--l. 637--><p class="noindent" >Example:
</p>
<div class="verbatim" id="verbatim-1">
# dd if=/dev/hda of=/dev/hda3 bs=512 count=1
 <br /># dd if=bootactv.bin of=/dev/hda3 bs=446 count=1</div>
<!--l. 641--><p class="nopar" >
</p><!--l. 643--><p class="noindent" ><span
class="cmbx-10x-x-109">WARNING: </span>Whenever the disk is re-partitioned, the merged boot sector on that “spare” Linux partition
has to be updated too.
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.2.6 </span> <a
id="x1-130002.2.6"></a>LILO alone</h5>
<!--l. 650--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-510x.png" alt="|------------------------------------|
|MasterBoot-Record-Operating-system--|
|LILO --- -----→ Linux |
| -→ other OS |
--------------------------------------
" class="math-display" /></center>
<!--l. 658--><p class="noindent" >LILO can also take over the entire boot procedure. If installed as the MBR, LILO is responsible for either
booting Linux or any other OS. This approach has the disadvantage, that the old MBR is overwritten and
has to be restored (either from a backup copy, with <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">FDISK</span><span
class="cmtt-10x-x-109"> /MBR</span></span></span> on recent versions of MS-DOS or
by overwriting it with something like <span
class="cmss-10x-x-109">BOOTACTV</span>) if Linux should ever be removed from the
system.
</p><!--l. 665--><p class="noindent" >You should verify that LILO is able to boot your other operating system(s) before relying on this
method.
</p><!--l. 668--><p class="noindent" >Installation: </p>
<ul class="itemize1">
<li class="itemize">boot Linux.
</li>
<li class="itemize">make a backup copy of your MBR on a floppy disk, e.g. <br
class="newline" /><span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">dd</span><span
class="cmtt-10x-x-109"> if=/dev/hda</span><span
class="cmtt-10x-x-109"> of=/fd/MBR</span><span
class="cmtt-10x-x-109"> bs=512</span><span
class="cmtt-10x-x-109"> count=1</span></span></span>
</li>
<li class="itemize">install LILO with its boot sector as the MBR.
</li>
<li class="itemize">reboot.</li></ul>
<!--l. 677--><p class="noindent" >Deinstallation: </p>
<ul class="itemize1">
<li class="itemize">boot Linux.
</li>
<li class="itemize">restore the old MBR, e.g. <br
class="newline" /><span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">dd</span><span
class="cmtt-10x-x-109"> if=/fd/MBR</span><span
class="cmtt-10x-x-109"> of=/dev/hda</span><span
class="cmtt-10x-x-109"> bs=446</span><span
class="cmtt-10x-x-109"> count=1</span></span></span></li></ul>
<!--l. 684--><p class="noindent" >If you’ve installed LILO as the master boot record, you have to explicitly specify the boot sector
(configuration variable <span
class="cmtt-10x-x-109">boot=</span><span
class="cmmi-10x-x-109">…</span>) when updating the map. Otherwise, it will try to use the boot sector of
your current root partition, which will usually work, but it will probably leave your system
unbootable.
</p><!--l. 691--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.2.7 </span> <a
id="x1-140002.2.7"></a>Names</h5>
<!--l. 693--><p class="noindent" >The following names have been used to describe boot sectors or parts of operating systems:
</p><!--l. 696--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmbx-10x-x-109">“DOS-MBR”</span> </dt><dd
class="description">is the original MS-DOS MBR. It scans the partition table for a partition that is
marked “active” and loads the boot sector of that partition. Programs like MS-DOS’ <span
class="cmss-10x-x-109">FDISK</span>,
Linux <span
class="cmss-10x-x-109">fdisk </span>or <span
class="cmss-10x-x-109">activate </span>(accompanies LILO) can change the active marker in the partition table.
</dd><dt class="description">
<span
class="cmbx-10x-x-109">“MS-DOS”</span> </dt><dd
class="description">denotes the MS-DOS boot sector that loads the other parts of the system (<span
class="cmtt-10x-x-109">IO.SYS</span>,
etc.).
</dd><dt class="description">
<span
class="cmbx-10x-x-109">“COMMAND.COM”</span> </dt><dd
class="description">is the standard command interpreter of MS-DOS.
</dd><dt class="description">
<span
class="cmbx-10x-x-109">“LOADLIN”</span> </dt><dd
class="description">is a program that loads a Linux kernel image from an MS-DOS partition into memory
and executes it. It is usually invoked from <span
class="cmtt-10x-x-109">CONFIG.SYS </span>and is used in combination with a
<span
class="cmtt-10x-x-109">CONFIG.SYS </span>configuration switcher, like BOOT.SYS.<span class="footnote-mark"><a
href="user_21-58.html#fn8x0"><sup class="textsuperscript">8</sup></a></span><a
id="x1-14001f8"></a>
</dd><dt class="description">
<span
class="cmbx-10x-x-109">“LILO”</span> </dt><dd
class="description">can either load a Linux kernel or the boot sector of any other operating system. It has a first
stage boot sector that loads the remaining parts of LILO from various locations.<span class="footnote-mark"><a
href="user_21-59.html#fn9x0"><sup class="textsuperscript">9</sup></a></span><a
id="x1-14002f9"></a>
</dd><dt class="description">
<span
class="cmbx-10x-x-109">“BOOTACTV”</span> </dt><dd
class="description">permits interactive selection of the partition from which the boot sector should
be read. If no key is pressed within a given interval, the partition marked active is booted.
<span
class="cmss-10x-x-109">BOOTACTV </span>is included in the <span
class="cmss-10x-x-109">pfdisk </span>package. There are also several similar programs, like
PBOOT and OS-BS.<span class="footnote-mark"><a
href="user_21-510.html#fn10x0"><sup class="textsuperscript">10</sup></a></span><a
id="x1-14003f10"></a></dd></dl>
<!--l. 739--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">2.3 </span> <a
id="x1-150002.3"></a>Choosing the “right” boot concept</h4>
<!--l. 741--><p class="noindent" >Although LILO can be installed in many different ways, the choice is usually limited by the present
setup and therefore, typically only a small number of configurations which fit naturally into an
existing system remains. The following sections describe various possible cases. See also section
<a
href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>.
</p><!--l. 747--><p class="noindent" >The configuration file <span
class="cmtt-10x-x-109">/etc/lilo.conf </span>for the examples could look like this:
</p>
<div class="verbatim" id="verbatim-2">
boot = /dev/hda2
 <br />compact
 <br />image = /vmlinuz
 <br />image = /vmlinuz.old
 <br />other = /dev/hda1
 <br />  table = /dev/hda
 <br />  label = msdos</div>
<!--l. 758--><p class="nopar" >
</p><!--l. 760--><p class="noindent" >It installs a Linux kernel image (<span
class="cmtt-10x-x-109">/vmlinuz</span>), an alternate Linux kernel image (<span
class="cmtt-10x-x-109">/vmlinuz.old</span>) and a chain
loader to boot MS-DOS from <span
class="cmtt-10x-x-109">/dev/hda1</span>. The option <span
class="cmtt-10x-x-109">compact </span>on the second line instructs the map installer
to optimize loading.
</p><!--l. 765--><p class="noindent" >In all examples, the names of the IDE-type hard disk devices (<span
class="cmtt-10x-x-109">/dev/hda</span><span
class="cmmi-10x-x-109">…</span>) are used. Everything applies to
other disk types (e.g. SCSI disks; <span
class="cmtt-10x-x-109">/dev/sda</span><span
class="cmmi-10x-x-109">…</span>) too.
</p><!--l. 770--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.3.1 </span> <a
id="x1-160002.3.1"></a>BIOS restrictions</h5>
<!--l. 773--><p class="noindent" >Nowadays, an increasing number of systems is equipped with comparably large disks or even with
multiple disks. At the time the disk interface of the standard PC BIOS has been designed (about
16 years ago), such configurations were apparently considered to be too unlikely to be worth
supporting.
</p><!--l. 778--><p class="noindent" >The most common BIOS restrictions that affect LILO are the limitation to two hard disks and the inability
to access more than 1024 cylinders per disk. LILO can detect both conditions, but in order to work around
the underlying problems, manual intervention is necessary.
</p><!--l. 783--><p class="noindent" >The drive limit does not exist in every BIOS. Some modern motherboards and disk controllers
are equipped with a BIOS that supports more (typically four) disk drives. When attempting
to access the third, fourth, etc. drive, LILO prints a warning message but continues. Unless
the BIOS really supports more than two drives, the system will <span
class="cmbx-10x-x-109">not </span>be able to boot in that
case.<span class="footnote-mark"><a
href="user_21-511.html#fn11x0"><sup class="textsuperscript">11</sup></a></span><a
id="x1-16001f11"></a>
</p><!--l. 792--><p class="noindent" >The cylinder limit is a very common problem with IDE disks. There, the number of cylinders may already
exceed 1024 if the drive has a capacity of more than 504 MB. Many SCSI driver BIOSes present the disk
geometry in a way that makes the limit occur near 1 GB. Modern disk controllers may even push
the limit up to about 8 GB. All cylinders beyond the 1024th are inaccessible for the BIOS.
LILO detects this problem and aborts the installation (unless the <span
class="cmtt-10x-x-109">linear </span>option is used, see section
<a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>).
</p><!--l. 801--><p class="noindent" >Note that large partitions that only partially extend into the “forbidden zone” are still in jeopardy even
if they appear to work at first, because the file system does not know about the restrictions
and may allocate disk space from the area beyond the 1024th cylinder when installing new
kernels. LILO therefore prints a warning message but continues as long as no imminent danger
exists.
</p><!--l. 808--><p class="noindent" >There are four approaches of how such problems can be solved: </p>
<ul class="itemize1">
<li class="itemize">use of a different partition which is on an accessible disk and which does not exceed the 1024
cylinder limit. If there is only a DOS partition which fulfills all the criteria, that partition can
be used to store the relevant files. (See section <a
href="#x1-230002.3.8">2.3.8<!--tex4ht:ref: viados --></a>.)
</li>
<li class="itemize">rearranging partitions and disks. This is typically a destructive operation, so extra care should
be taken to make good backups.
</li>
<li class="itemize">if the system is running DOS or Windows 95, <span
class="cmss-10x-x-109">LOADLIN </span>can be used instead of LILO.
</li>
<li class="itemize">if all else fails, installation of a more capable BIOS, a different controller or a different disk
configuration.</li></ul>
<!--l. 822--><p class="noindent" >LILO depends on the BIOS to load the following items: </p>
<ul class="itemize1">
<li class="itemize"><span
class="cmtt-10x-x-109">/boot/boot.b</span>
</li>
<li class="itemize"><span
class="cmtt-10x-x-109">/boot/map </span>(created when running <span
class="cmtt-10x-x-109">/sbin/lilo</span>)
</li>
<li class="itemize">all kernels
</li>
<li class="itemize">the boot sectors of all other operating systems it boots
</li>
<li class="itemize">the startup message, if one has been defined</li></ul>
<!--l. 831--><p class="noindent" >Normally, this implies that the Linux root file system should be in the “safe” area. However, it is already
sufficient to put all kernels into <span
class="cmtt-10x-x-109">/boot </span>and to either mount a “good” partition on <span
class="cmtt-10x-x-109">/boot </span>or to let <span
class="cmtt-10x-x-109">/boot </span>be a
symbolic link pointing to or into such a partition.
</p><!--l. 837--><p class="noindent" >See also <span
class="cmtt-10x-x-109">/usr/src/linux/Documentation/ide.txt </span>(or <span
class="cmtt-10x-x-109">/usr/src/linux/drivers/block/README.ide </span>in
older kernels) for a detailed description of problems with large disks.
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.3.2 </span> <a
id="x1-170002.3.2"></a>One disk, Linux on a primary partition</h5>
<!--l. 844--><p class="noindent" >If at least one primary partition of the first hard disk is used as a Linux file system (<span
class="cmtt-10x-x-109">/</span>, <span
class="cmtt-10x-x-109">/usr</span>, etc. but <span
class="cmbx-10x-x-109">not </span>as
a swap partition), the LILO boot sector should be stored on that partition and it should be booted by the
original master boot record or by a program like <span
class="cmss-10x-x-109">BOOTACTV</span>.
</p><!--l. 851--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-511x.png" alt=" |------------------------|
|MBR----------/dev/hda---|
| |MS--DOS----/dev/hda1--|
→ ---Linux-/----/dev/hda2---
" class="math-display" /></center>
<!--l. 870--><p class="noindent" >In this example, the <span
class="cmtt-10x-x-109">boot </span>variable could be omitted, because the boot sector is on the root
partition.
</p><!--l. 874--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.3.3 </span> <a
id="x1-180002.3.3"></a>One disk, Linux on a logical partition</h5>
<!--l. 876--><p class="noindent" >If no primary partition is available for Linux, but at least one logical partition of an extended partition on
the first hard disk contains a Linux file system, the LILO boot sector should be stored in the partition
sector of the extended partition and it should be booted by the original master boot record or by a program
like <span
class="cmss-10x-x-109">BOOTACTV</span>.
</p><!--l. 882--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-512x.png" alt=" |------------------------|
|MBR----------/dev/hda---|
| |MS -DOS /dev/hda1 |
→ | |Extended---/dev/hda2--|
| | |Linux---/dev/hda5--|
| | |-------------------|
------...-----/dev/hda6---
" class="math-display" /></center>
<!--l. 909--><p class="noindent" >Because many disk partitioning programs refuse to make an extended partition (in our example <span
class="cmtt-10x-x-109">/dev/hda2</span>)
active, you might have to use <span
class="cmss-10x-x-109">activate</span>, which comes with the LILO distribution.
</p><!--l. 913--><p class="noindent" >OS/2 BootManager should be able to boot LILO boot sectors from logical partitions. The installation on
the extended partition itself is not necessary in this case.
</p><!--l. 918--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.3.4 </span> <a
id="x1-190002.3.4"></a>Two disks, Linux (at least partially) on the first disk</h5>
<!--l. 920--><p class="noindent" >This case is equivalent to the configurations where only one disk is in the system. The Linux boot sector
resides on the first hard disk and the second disk is used later in the boot process.
</p><!--l. 924--><p class="noindent" >Only the location of the boot sector matters – everything else (<span
class="cmtt-10x-x-109">/boot/boot.b</span>, <span
class="cmtt-10x-x-109">/boot/map</span>, the root file
system, a swap partition, other Linux file systems, etc.) can be located anywhere on the second disk,
provided that the constraints described in section <a
href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a> are met.
</p><!--l. 932--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.3.5 </span> <a
id="x1-200002.3.5"></a>Two disks, Linux on second disk, first disk has an extended partition</h5>
<!--l. 934--><p class="noindent" >If there is no Linux partition on the first disk, but there is an extended partition, the LILO boot sector can
be stored in the partition sector of the extended partition and it should be booted by the original master
boot record or by a program like <span
class="cmss-10x-x-109">BOOTACTV</span>.
</p><!--l. 939--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-513x.png" alt=" |-------First-disk-------| |-----Second--disk-------|
|MBR /dev/hda | |MBR /dev/hdb |
| |MS--DOS----/dev/hda1--| | |Linux------/dev/hdb1--|
→ | |Extended--/dev/hda2--| | |...--------/dev/hdb2--|
| | |-------------------| | | |
| | |...-----/dev/hda5--| | | |
------...-----/dev/hda6--- --------------------------
" class="math-display" /></center>
<!--l. 974--><p class="noindent" >The program <span
class="cmss-10x-x-109">activate</span>, that accompanies LILO, may have to be used to set the active marker on an extended
partition, because MS-DOS’ <span
class="cmss-10x-x-109">FDISK </span>and some older version of Linux <span
class="cmss-10x-x-109">fdisk </span>refuse to do that. (Which is
generally a good idea.)
</p><!--l. 981--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.3.6 </span> <a
id="x1-210002.3.6"></a>Two disks, Linux on second disk, first disk has no extended partition</h5>
<!--l. 983--><p class="noindent" >If there is neither a Linux partition nor an extended partition on the first disk, then there’s only one place
left, where a LILO boot sector could be stored: the master boot record.
</p><!--l. 987--><p class="noindent" >In this configuration, LILO is responsible for booting all other operating systems too.
</p><!--l. 991--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-514x.png" alt=" |-------First-disk-------| |-----Second--disk-------|
→ |MBR----------/dev/hda---| |MBR----------/dev/hdb---|
| |MS--DOS----/dev/hda1--| | |Linux------/dev/hdb1--|
----...-------/dev/hda2--- ---...--------/dev/hdb2---
" class="math-display" /></center>
<!--l. 1019--><p class="noindent" >You should back up your old MBR before installing LILO and verify that LILO is able to boot your other
operating system(s) before relying on this approach.
</p><!--l. 1023--><p class="noindent" >The line <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">boot</span><span
class="cmtt-10x-x-109"> =</span><span
class="cmtt-10x-x-109"> /dev/hda2</span></span></span> in <span
class="cmtt-10x-x-109">/etc/lilo.conf </span>would have to be changed to <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">boot</span><span
class="cmtt-10x-x-109"> =</span><span
class="cmtt-10x-x-109"> /dev/hda</span></span></span> in this
example.
</p><!--l. 1027--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.3.7 </span> <a
id="x1-220002.3.7"></a>More than two disks</h5>
<!--l. 1029--><p class="noindent" >On systems with more than two disks, typically only the first two can be accessed. The configuration choices
are therefore the same as with two disks.
</p><!--l. 1033--><p class="noindent" >When attempting to access one of the extra disks, LILO displays a warning message (<span
class="cmtt-10x-x-109">Warning: BIOS</span>
<span
class="cmtt-10x-x-109">drive 0x</span><span
class="cmti-10x-x-109">number </span><span
class="cmtt-10x-x-109">may not be accessible</span>) but does not abort. This is done in order to allow the lucky
few whose BIOS (or controller-BIOS) does support more than two drives to make use of this feature. By all
others, this warning should be considered a fatal error.
</p><!--l. 1040--><p class="noindent" >Note that the two disks restriction is only imposed by the BIOS. Linux normally has no problems using all
disks once it is booted.
</p><!--l. 1044--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">2.3.8 </span> <a
id="x1-230002.3.8"></a><span
class="cmtt-10x-x-109">/boot </span>on a DOS partition</h5>
<!--l. 1047--><p class="noindent" >Recent kernels support all the functions LILO needs to map files also on MS-DOS (or UMSDOS) file
systems. Since DOS partitions tend to occupy exactly the places where BIOS restrictions (see section <a
href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>)
are invisible, they’re an ideal location for <span
class="cmtt-10x-x-109">/boot </span>if the native Linux file systems can’t be used because of
BIOS problems.
</p><!--l. 1053--><p class="noindent" >In order to accomplish this, the DOS partition is mounted read-write, a directory (e.g. <span
class="cmtt-10x-x-109">/dos/linux</span>) is
created, all files from <span
class="cmtt-10x-x-109">/boot </span>are moved to that directory, <span
class="cmtt-10x-x-109">/boot </span>is replaced by a symbolic link to it, the
kernels are also moved to the new directory, their new location is recorded in <span
class="cmtt-10x-x-109">/etc/lilo.conf</span>, and finally
<span
class="cmtt-10x-x-109">/sbin/lilo </span>is run.
</p><!--l. 1060--><p class="noindent" >From then on, new kernels must always be copied into that directory on the DOS partition
before running <span
class="cmtt-10x-x-109">/sbin/lilo</span>, e.g. when recompiling a kernel, the standard procedure changes
from
</p>
<div class="verbatim" id="verbatim-3">
# make zlilo</div>
<!--l. 1066--><p class="nopar" >
</p><!--l. 1068--><p class="noindent" >to
</p>
<div class="verbatim" id="verbatim-4">
# make zImage
 <br /># mv /dos/linux/vmlinuz /dos/linux/vmlinuz.old
 <br /># mv arch/i386/boot/zImage /dos/linux/vmlinuz
 <br /># /sbin/lilo</div>
<!--l. 1075--><p class="nopar" >
</p><!--l. 1077--><p class="noindent" ><span
class="cmbx-10x-x-109">WARNING: </span>De-fragmenting such a DOS partition is likely to make Linux or even the whole
system unbootable. Therefore, the DOS partition should either not be de-fragmented, or a Linux
boot disk should be prepared (and tested) to bring up Linux and to run <span
class="cmtt-10x-x-109">/sbin/lilo </span>after the
de-fragmentation.<span class="footnote-mark"><a
href="user_21-512.html#fn12x0"><sup class="textsuperscript">12</sup></a></span><a
id="x1-23001f12"></a>
</p><!--l. 1087--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">3 </span> <a
id="x1-240003"></a>The boot prompt</h3>
<!--l. 1091--><p class="noindent" >Immediately after it’s loaded, LILO checks whether one of the following is happening:
</p>
<ul class="itemize1">
<li class="itemize">any of the [Shift], [Control] or [Alt] keys is pressed.
</li>
<li class="itemize">[CapsLock] or [ScrollLock] is set.</li></ul>
<!--l. 1100--><p class="noindent" >If this is the case, LILO displays the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">boot:</span></span></span> prompt and waits for the name of a boot
image (i.e. Linux kernel or other operating system). Otherwise, it boots the default boot
image<span class="footnote-mark"><a
href="user_21-513.html#fn13x0"><sup class="textsuperscript">13</sup></a></span><a
id="x1-24001f13"></a>
or – if a delay has been specified – waits for one of the listed activities until that amount of time has
passed.
</p><!--l. 1110--><p class="noindent" >At the boot prompt, the name of the image to boot can be entered. Typing errors can be corrected with
[BackSpace], [Delete], [Ctrl U] and [Ctrl X]. A list of known images can be obtained by pressing [?] or
[Tab].
</p><!--l. 1115--><p class="noindent" >If [Enter] is pressed and no file name has been entered, the default image is booted.
</p>
<h4 class="subsectionHead"><span class="titlemark">3.1 </span> <a
id="x1-250003.1"></a>Boot command-line options</h4>
<!--l. 1121--><p class="noindent" >LILO is also able to pass command-line options to the kernel. Command-line options are words that follow
the name of the boot image and that are separated by spaces.
</p><!--l. 1125--><p class="noindent" >Example:
</p>
<div class="verbatim" id="verbatim-5">
boot: linux single root=200</div>
<!--l. 1128--><p class="nopar" >
</p><!--l. 1130--><p class="noindent" >This document only gives an overview of boot options. Please consult Paul Gortmaker’s BootPrompt-HOWTO
for a more complete and more up to date list. You can get it from
</p><!--l. 1134--><p class="noindent" ><span
class="cmtt-10x-x-109">ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/BootPrompt-HOWTO.gz</span>
</p><!--l. 1136--><p class="noindent" >or from one of the many mirror sites.
</p><!--l. 1139--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">3.1.1 </span> <a
id="x1-260003.1.1"></a>Standard options</h5>
<!--l. 1141--><p class="noindent" >Recent kernels recognize a large number of options, among them are <span
class="cmtt-10x-x-109">debug</span>, <span
class="cmtt-10x-x-109">no387</span>, <span
class="cmtt-10x-x-109">no-hlt</span>, <span
class="cmtt-10x-x-109">ramdisk=</span><span
class="cmti-10x-x-109">size</span>,
<span
class="cmtt-10x-x-109">reserve=</span><span
class="cmti-10x-x-109">base</span><span
class="cmtt-10x-x-109">,</span><span
class="cmti-10x-x-109">size</span><span
class="cmtt-10x-x-109">,</span><span
class="cmmi-10x-x-109">…</span>, <span
class="cmtt-10x-x-109">root=</span><span
class="cmti-10x-x-109">device</span>, <span
class="cmtt-10x-x-109">ro</span>, and <span
class="cmtt-10x-x-109">rw</span>. All current <span
class="cmss-10x-x-109">init </span>programs also recognize the option <span
class="cmtt-10x-x-109">single</span>.
The options <span
class="cmtt-10x-x-109">lock </span>and <span
class="cmtt-10x-x-109">vga </span>are processed by the boot loader itself. Boot command-line options are always
case-sensitive.
</p><!--l. 1149--><p class="noindent" ><span
class="cmtt-10x-x-109">single </span>boots the system in single-user mode. This bypasses most system initialization procedures and
directly starts a root shell on the console. Multi-user mode can typically be entered by exiting the
single-user shell or by rebooting.
</p><!--l. 1154--><p class="noindent" ><span
class="cmtt-10x-x-109">root=</span><span
class="cmti-10x-x-109">device </span>changes the root device. This overrides settings that may have been made in the
boot image and on the LILO command line. <span
class="cmti-10x-x-109">device </span>is either the hexadecimal device number
<span class="footnote-mark"><a
href="user_21-514.html#fn14x0"><sup class="textsuperscript">14</sup></a></span><a
id="x1-26001f14"></a> or the full path name of
the device, e.g. <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">/dev/hda3</span></span></span>.<span class="footnote-mark"><a
href="user_21-515.html#fn15x0"><sup class="textsuperscript">15</sup></a></span><a
id="x1-26002f15"></a>
</p><!--l. 1175--><p class="noindent" ><span
class="cmtt-10x-x-109">reserve=</span><span
class="cmti-10x-x-109">base</span><span
class="cmtt-10x-x-109">,</span><span
class="cmti-10x-x-109">size</span><span
class="cmtt-10x-x-109">,</span><span
class="cmmi-10x-x-109">…</span> reserves IO port regions. This can be used to prevent device drivers from auto-probing
addresses where other devices are located, which get confused by the probing.
</p><!--l. 1179--><p class="noindent" ><span
class="cmtt-10x-x-109">ro </span>instructs the kernel to mount the root file system read-only. <span
class="cmtt-10x-x-109">rw </span>mounts it read-write. If neither <span
class="cmtt-10x-x-109">ro </span>nor <span
class="cmtt-10x-x-109">rw</span>
is specified, the setting from the boot image is used.
</p><!--l. 1183--><p class="noindent" ><span
class="cmtt-10x-x-109">no-hlt </span>avoids executing a <span
class="cmtt-10x-x-109">HLT </span>instructions whenever the system is idle. <span
class="cmtt-10x-x-109">HLT </span>normally significantly reduces
power consumption and therefore also heat dissipation of the CPU, but may not work properly with some
clone CPUs. <span
class="cmtt-10x-x-109">no387 </span>disables using the hardware FPU even if one is present.
</p><!--l. 1189--><p class="noindent" ><span
class="cmtt-10x-x-109">debug </span>enables more verbose console logging.
</p><!--l. 1191--><p class="noindent" >Recent kernels also accept the options <span
class="cmtt-10x-x-109">init=</span><span
class="cmti-10x-x-109">name </span>and <span
class="cmtt-10x-x-109">noinitrd</span>. <span
class="cmtt-10x-x-109">init </span>specifies the name of the <span
class="cmss-10x-x-109">init</span>
program to execute. Therefore, if single mode cannot be entered because <span
class="cmss-10x-x-109">init </span>is mis-configured, one may still
be able to reach a shell using <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">init=/bin/sh</span></span></span>. <span
class="cmtt-10x-x-109">noinitrd </span>disables automatic loading of the initial RAM disk.
Instead, its content is then available on <span
class="cmtt-10x-x-109">/dev/initrd</span>.
</p><!--l. 1198--><p class="noindent" ><span
class="cmtt-10x-x-109">vga=</span><span
class="cmti-10x-x-109">mode </span>alters the VGA mode set at startup. The values <span
class="cmtt-10x-x-109">normal</span>, <span
class="cmtt-10x-x-109">extended</span>, <span
class="cmtt-10x-x-109">ask </span>or a decimal number are
recognized. (See also page <span class="pageref"><a
href="#x1-450004.2.4"><span
class="tcrm-1095">§</span></a></span>.)
</p><!--l. 1202--><p class="noindent" ><span
class="cmtt-10x-x-109">kbd=</span><span
class="cmti-10x-x-109">code</span><span
class="cmtt-10x-x-109">,</span><span
class="cmmi-10x-x-109">…</span> preloads a sequence of keystrokes in the BIOS keyboard buffer. The keystrokes have to be
entered as 16 bit hexadecimal numbers, with the upper byte containing the scan code and the lower byte
containing the ASCII code. Note that most programs only use the ASCII code, so the scan code can
frequently be omitted. Scan code tables can be found in many books on PC hardware. Note that scan codes
depend on the keyboard layout.
</p><!--l. 1210--><p class="noindent" >Finally, <span
class="cmtt-10x-x-109">lock </span>stores the current command-line as the default command-line, so that LILO boots the same
image with the same options (including <span
class="cmtt-10x-x-109">lock</span>) when invoked the next time.
</p>
<h5 class="subsubsectionHead"><span class="titlemark">3.1.2 </span> <a
id="x1-270003.1.2"></a>Device-specific options</h5>
<!--l. 1217--><p class="noindent" >There is also a plethora of options to specify certain characteristics (e.g. IO and memory addresses) of
devices. Some common ones are <span
class="cmtt-10x-x-109">ether</span>, <span
class="cmtt-10x-x-109">floppy</span>, <span
class="cmtt-10x-x-109">hd</span>, <span
class="cmtt-10x-x-109">bmouse</span>, and <span
class="cmtt-10x-x-109">sound</span>. The usage of these options is
<span
class="cmti-10x-x-109">option</span><span
class="cmtt-10x-x-109">=</span><span
class="cmti-10x-x-109">number</span><span
class="cmtt-10x-x-109">,</span><span
class="cmmi-10x-x-109">…</span>. Please consult the corresponding FAQs and HOWTOs for details. For an overview of all
available options, consult the file <span
class="cmtt-10x-x-109">init/main.c </span>in the kernel source tree.
</p><!--l. 1226--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">3.1.3 </span> <a
id="x1-280003.1.3"></a>Other options</h5>
<!--l. 1228--><p class="noindent" >Options of the type <span
class="cmti-10x-x-109">variable</span><span
class="cmtt-10x-x-109">=</span><span
class="cmti-10x-x-109">value </span>which are neither standard options nor device-specific options, cause the
respective variables to be set in the environment passed to <span
class="cmss-10x-x-109">init</span>. The case of the variable name is preserved,
i.e. it isn’t automatically converted to upper case.
</p><!--l. 1234--><p class="noindent" >Note that environment variables passed to <span
class="cmss-10x-x-109">init </span>are typically available in system initialization scripts (e.g.
<span
class="cmtt-10x-x-109">/etc/rc.local</span>), but they’re not visible from ordinary login sessions, because the <span
class="cmss-10x-x-109">login </span>program removes
them from the user’s environment.
</p><!--l. 1240--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">3.1.4 </span> <a
id="x1-290003.1.4"></a>Repeating options</h5>
<!--l. 1242--><p class="noindent" >The effect of repeating boot command-line options depends on the
options.<span class="footnote-mark"><a
href="#fn16x0"><sup class="textsuperscript">16</sup></a></span><a
id="x1-29001f16"></a>
There are three possible behaviours:
</p><!--l. 1252--><p class="noindent" >Options that only enable or disable a certain functionality can be repeated any number of times. <span
class="cmtt-10x-x-109">debug</span>,
<span
class="cmtt-10x-x-109">lock</span>, <span
class="cmtt-10x-x-109">no-hlt</span>, and <span
class="cmtt-10x-x-109">no387 </span>fall into this category.
</p><!--l. 1256--><p class="noindent" >Other options change a global setting whenever they appear, so only the value or presence of the last option
matters. The antagonists <span
class="cmtt-10x-x-109">ro </span>and <span
class="cmtt-10x-x-109">rw </span>are such options. Also, <span
class="cmtt-10x-x-109">ramdisk</span>, <span
class="cmtt-10x-x-109">root</span>, and <span
class="cmtt-10x-x-109">vga </span>work this way.
Example: <span
class="cmtt-10x-x-109">ro rw </span>would mount the root file system read-write.
</p><!--l. 1262--><p class="noindent" >Finally, when <span
class="cmtt-10x-x-109">reserve </span>and many device-specific options are repeated, each occurrence has its own meaning,
e.g.
</p><!--l. 1265--><p class="noindent" ><span
class="cmtt-10x-x-109">hd=</span><span
class="cmmi-10x-x-109">…</span> <span
class="cmtt-10x-x-109">hd=</span><span
class="cmmi-10x-x-109">…</span> would configure two hard disks, and
</p><!--l. 1267--><p class="noindent" ><span
class="cmtt-10x-x-109">reserve=0x300,8 reserve=0x5f0,16 </span>would reserve the ranges 0x300 to 0x307 and 0x5f0 to 0x5ff (which is
equivalent to writing <span
class="cmtt-10x-x-109">reserve=0x300,8,0x5f0,16</span>).
</p>
<h5 class="subsubsectionHead"><span class="titlemark">3.1.5 </span> <a
id="x1-300003.1.5"></a>Implicit options</h5>
<!--l. 1274--><p class="noindent" >LILO always passes the string <span
class="cmtt-10x-x-109">BOOT</span><span
class="cmtt-10x-x-109">_IMAGE=</span><span
class="cmti-10x-x-109">name </span>to the kernel, where <span
class="cmti-10x-x-109">name </span>is the name by which the
kernel is identified (e.g. the label). This variable can be used in <span
class="cmtt-10x-x-109">/etc/rc </span>to select a different behaviour,
depending on the kernel.
</p><!--l. 1279--><p class="noindent" >When booting automatically, i.e. without human intervention, the word <span
class="cmtt-10x-x-109">auto </span>is also passed
on the command line. This can be used by <span
class="cmss-10x-x-109">init </span>to suppress interactive prompts in the boot
phase.
</p><!--l. 1285--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">3.2 </span> <a
id="x1-310003.2"></a>Boot image selection</h4>
<!--l. 1288--><p class="noindent" >The details of selecting the boot image are somewhat complicated. The following tables illustrate them.
First, if neither <span
class="cmtt-10x-x-109">prompt </span>is set nor a shift key is being pressed:
</p><!--l. 1292--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-520x.png" alt=" |
Externally Command | Auto- Booted image
provided line in | matic
cmd. line17 map file18 |boot19
-----No----------No-----|--Yes---Default-image--------------- 17Externally provided command lines could be used to add front- ends to LILO. They would pass the respective 18This command line is set by invoking the map installer with the -R option, by using the boot command -line option
Yes — | Yes Specified by external command string to LILO, which would then interpret it like keyboard input. This feature is currently not used. lock, or if a fallback command line is set (with fallback). 19I.e. the keyword auto is a
|
| command line
No Yes | Yes Specified by command line
| in map file
" class="math-display" /></center>
<!--l. 1320--><p class="noindent" >If <span
class="cmtt-10x-x-109">prompt </span>is not set and a shift key is being pressed:
</p>
<center class="math-display" >
<img
src="user_21-521x.png" alt=" |
Input Empty Extern. Cmd.l. |Auto- Booted image
timeout cmd.l. cmd.l. in map |matic
file |boot
----No------No-------—--------—-----|-No----Specified-by-the-user-
|
No Yes — — | No Default image
Yes n/a — — | Yes Default image
" class="math-display" /></center>
<!--l. 1333--><p class="noindent" >Finally, if the configuration variable <span
class="cmtt-10x-x-109">prompt </span>is set:
</p>
<center class="math-display" >
<img
src="user_21-522x.png" alt=" Input Empty Extern. Cmd.l. |Auto - Booted image
|
timeout cmd.l. cmd.l. in map |matic
------------------------------file---|-boot------------------------
No No No No | No Specified by the user
No Yes No No | No Default image
Yes n/a No No | Yes Default image
n/a n/a Yes — | Yes Specified by external
| command line
|
n/a n/a No Yes | Yes Specified by command
| line in map file
" class="math-display" /></center>
<!--l. 1350--><p class="noindent" >Note that LILO pauses for the amount of time specified in <span
class="cmtt-10x-x-109">delay </span>when at the end of a default command
line. The automatic boot can then be interrupted by pressing a modifier key ([Shift], [Ctrl],
etc.).
</p><!--l. 1354--><p class="noindent" >The default image is the first image in the map file or the image specified with the <span
class="cmtt-10x-x-109">default</span>
variable. However, after an unsuccessful boot attempt, the respective image becomes the default
image.
</p><!--l. 1360--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">4 </span> <a
id="x1-320004"></a>Map installer</h3>
<!--l. 1363--><p class="noindent" >The map installer program <span
class="cmtt-10x-x-109">/sbin/lilo </span>updates the boot sector and creates the map file. If the map
installer detects an error, it terminates immediately and does not touch the boot sector and the map
file.
</p><!--l. 1367--><p class="noindent" >Whenever the map installer updates a boot sector, the original boot sector is copied to <br
class="newline" /><span
class="cmtt-10x-x-109">/boot/boot.</span><span
class="cmti-10x-x-109">number </span><br
class="newline" />where <span
class="cmti-10x-x-109">number </span>is the hexadecimal device number. If such a file already exists, no backup copy is made.
Similarly, a file <br
class="newline" /><span
class="cmtt-10x-x-109">/boot/part.</span><span
class="cmti-10x-x-109">number </span><br
class="newline" />is created if LILO modifies the partition table. (See page <span class="pageref"><a
href="#x1-430004.2.2"><span
class="tcrm-1095">§</span></a></span>.)
</p><!--l. 1377--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">4.1 </span> <a
id="x1-330004.1"></a>Command-line options</h4>
<!--l. 1379--><p class="noindent" >The LILO map installer can be invoked in the following ways:
</p><!--l. 1387--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.1.1 </span> <a
id="x1-340004.1.1"></a>Show current installation</h5>
<!--l. 1390--><p class="noindent" >The currently mapped files are listed. With <span
class="cmtt-10x-x-109">-v</span>, also many parameters are shown.
</p><!--l. 1393-->
<p class="indent" ><span
class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
class="cmtt-10x-x-109">-C </span><span
class="cmti-10x-x-109">config_file</span> <span class="big">]</span> <span
class="cmtt-10x-x-109">-q</span> <span class="big">[</span> <span
class="cmtt-10x-x-109">-m </span><span
class="cmti-10x-x-109">map_file</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-v</span> <span
class="cmmi-10x-x-109">…</span> <span class="big">]</span> <span
class="cmtt-10x-x-109"> </span>
</p><!--l. 1401--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">-C </span><span
class="cmti-10x-x-109">config</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description"> <br
class="newline" />Specifies the configuration file that is used by the map installer (see section <a
href="#x1-410004.2">4.2<!--tex4ht:ref: config --></a>). If <span
class="cmtt-10x-x-109">-C </span>is omitted,
<span
class="cmtt-10x-x-109">/etc/lilo.conf </span>is used.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-m </span><span
class="cmti-10x-x-109">map</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description"> <br
class="newline" />Specifies an alternate map file. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-q</span> </dt><dd
class="description">  <br
class="newline" />Lists the currently mapped files.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-v</span> <span
class="cmmi-10x-x-109">…</span> </dt><dd
class="description"> <br
class="newline" />Increase verbosity. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.</dd></dl>
<!--l. 1415--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.1.2 </span> <a
id="x1-350004.1.2"></a>Create or update map</h5>
<!--l. 1418--><p class="noindent" >A new map is created for the images described in the configuration file <span
class="cmtt-10x-x-109">/etc/lilo.conf </span>and they are
registered in the boot sector.
</p><!--l. 1422-->
<p class="indent" ><span
class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big"><img
src="user_21-529x.png" alt="[" class="left" align="middle" /></span> <span
class="cmtt-10x-x-109">-C </span><span
class="cmti-10x-x-109">config_file</span> <span class="big">] [ <span
class="cmtt-10x-x-109">-b </span><span
class="cmti-10x-x-109">boot_device</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-c</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-l</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-i </span><span
class="cmti-10x-x-109">boot_sector</span> <span class="big">]</span> <br
class="newline" /><span class="big"> [</span> <span
class="cmtt-10x-x-109">-f </span><span
class="cmti-10x-x-109">disk_tab</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-m </span><span
class="cmti-10x-x-109">map_file</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-d </span><span
class="cmti-10x-x-109">delay</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-v</span> <span
class="cmmi-10x-x-109">…</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-t</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-s </span><span
class="cmti-10x-x-109">save_file</span> <span class="big"> | </span> <br
class="newline" /><span class="big"> </span> <span
class="cmtt-10x-x-109">-S </span><span
class="cmti-10x-x-109">save</span><span
class="cmti-10x-x-109">_file</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-P fix</span> <span class="big"> | </span> <span
class="cmtt-10x-x-109">-P ignore</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-r </span><span
class="cmti-10x-x-109">root</span><span
class="cmti-10x-x-109">_dir</span> <span class="big">]</span> <span
class="cmtt-10x-x-109"> </span>
</p><!--l. 1440--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">-b </span><span
class="cmti-10x-x-109">boot<_device</span> </dt><dd
class="description"> <br
class="newline" />Specifies the boot device. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-c</span> </dt><dd
class="description"> <br
class="newline" />Enables map compaction. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-C </span><span
class="cmti-10x-x-109">config</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description"> <br
class="newline" />Specifies an alternate configuration file. See also section <a
href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-d </span><span
class="cmti-10x-x-109">delay</span> </dt><dd
class="description"> <br
class="newline" />Sets the delay before LILO boots the default image. Note that the delay is specified in <span
class="cmbx-10x-x-109">tenths</span>
of a second. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-D </span><span
class="cmti-10x-x-109">name</span> </dt><dd
class="description"> <br
class="newline" />Specifies the default image. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-f </span><span
class="cmti-10x-x-109">disk</span><span
class="cmti-10x-x-109">_tab</span> </dt><dd
class="description"> <br
class="newline" />Specifies a disk parameter table file. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-i </span><span
class="cmti-10x-x-109">boot</span><span
class="cmti-10x-x-109">_sector</span> </dt><dd
class="description"> <br
class="newline" />Specifies an alternate boot file. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-L</span> </dt><dd
class="description"> <br
class="newline" />Enables lba32 sector addresses. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-l</span> </dt><dd
class="description"> <br
class="newline" />Enables linear sector addresses. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-m </span><span
class="cmti-10x-x-109">map</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description"> <br
class="newline" />Specifies an alternate map file. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-P </span><span
class="cmti-10x-x-109">mode</span> </dt><dd
class="description"> <br
class="newline" />Specifies how invalid partition table entries should be handled. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-r </span><span
class="cmti-10x-x-109">root</span><span
class="cmti-10x-x-109">_directory</span> </dt><dd
class="description">  <br
class="newline" />Chroots to the specified directory before doing anything else. This is useful when running the
map installer while the normal root file system is mounted somewhere else, e.g. when recovering
from an installation failure with a recovery disk. The <span
class="cmtt-10x-x-109">-r </span>option is implied if the environment
variable <span
class="cmtt-10x-x-109">ROOT </span>is set.<span class="footnote-mark"><a
href="user_21-516.html#fn20x0"><sup class="textsuperscript">20</sup></a></span><a
id="x1-35001f20"></a>
The current directory is changed to the new root directory, so using relative paths may not
work.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-s </span><span
class="cmti-10x-x-109">save</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description"> <br
class="newline" />Specifies an alternate boot sector save file. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-S </span><span
class="cmti-10x-x-109">save</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description"> <br
class="newline" />Like <span
class="cmtt-10x-x-109">-s</span>, but overwrites old save files.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-t</span> </dt><dd
class="description">  <br
class="newline" />Test only. This performs the entire installation procedure except replacing the map file, writing
the modified boot sector and fixing partition tables. This can be used in conjunction with the
<span
class="cmtt-10x-x-109">-v </span>option to verify that LILO will use sane values.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-v</span> <span
class="cmmi-10x-x-109">…</span> </dt><dd
class="description"> <br
class="newline" />Increase verbosity. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.</dd></dl>
<!--l. 1489--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.1.3 </span> <a
id="x1-360004.1.3"></a>Change default command line</h5>
<!--l. 1492--><p class="noindent" >Changes LILO’s default command line. See also section <a
href="#x1-310003.2">3.2<!--tex4ht:ref: bootsel --></a>.
</p><!--l. 1494-->
<p class="indent" ><span
class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
class="cmtt-10x-x-109">-C </span><span
class="cmti-10x-x-109">config</span><span
class="cmti-10x-x-109">_file</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-m </span><span
class="cmti-10x-x-109">map</span><span
class="cmti-10x-x-109">_file</span> <span class="big">]</span> <span
class="cmtt-10x-x-109">-R</span> <span class="big">[</span> <span
class="cmti-10x-x-109">word</span> <span
class="cmmi-10x-x-109">…</span> <span class="big">]</span> <span
class="cmtt-10x-x-109"> </span>
</p><!--l. 1501--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">-C </span><span
class="cmti-10x-x-109">config</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description"> <br
class="newline" />Specifies an alternate configuration file. See also section <a
href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-m </span><span
class="cmti-10x-x-109">map</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description"> <br
class="newline" />Specifies an alternate map file. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-R </span><span
class="cmti-10x-x-109">word</span> <span
class="cmmi-10x-x-109">…</span> </dt><dd
class="description">  <br
class="newline" />Stores the specified words in the map file. The boot loader uses those words as the default
command line when booting the next time. That command line is removed from the map file by
the boot loader by overwriting the sector immediately after reading it. The first word has to be
the name of a boot image. If <span
class="cmtt-10x-x-109">-R </span>is not followed by any words, the current default command line in
the map file is erased.<span class="footnote-mark"><a
href="user_21-517.html#fn21x0"><sup class="textsuperscript">21</sup></a></span><a
id="x1-36001f21"></a>
If the command line isn’t valid, the map installer issues an error message and returns a non-zero
exit code.</dd></dl>
<!--l. 1523--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.1.4 </span> <a
id="x1-370004.1.4"></a>Kernel name translation</h5>
<!--l. 1525--><p class="noindent" >Determines the path of the kernel.
</p><!--l. 1527--><p class="indent" ><span
class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
class="cmtt-10x-x-109">-C </span><span
class="cmti-10x-x-109">config_file</span> <span class="big">]</span> <span
class="cmtt-10x-x-109">-I </span><span
class="cmti-10x-x-109">name</span> <span class="big">[</span> <span
class="cmti-10x-x-109">options</span> <span class="big">]</span> <span
class="cmtt-10x-x-109"> </span>
</p><!--l. 1534--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">-C </span><span
class="cmti-10x-x-109">config</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description"> <br
class="newline" />Specifies an alternate configuration file. See also section <a
href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-I </span><span
class="cmti-10x-x-109">name </span>[ <span
class="cmti-10x-x-109">options </span>] </dt><dd
class="description">  <br
class="newline" />Translates the specified label name to the path of the corresponding kernel image and prints that
path on standard output. This can be used to synchronize files that depend on the kernel (e.g.
the <span
class="cmss-10x-x-109">ps </span>database). The image name can be obtained from the environment variable <span
class="cmtt-10x-x-109">BOOT</span><span
class="cmtt-10x-x-109">_IMAGE</span>.
An error message is issued and a non-zero exit code is returned if no matching label name can
be found. The existence of the image file is verified if the option character <span
class="cmtt-10x-x-109">v </span>is added.</dd></dl>
<!--l. 1549--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.1.5 </span> <a
id="x1-380004.1.5"></a>De-installation</h5>
<!--l. 1551--><p class="noindent" >Restores the boot sector that was used before the installation of LILO. Note that this option only works
properly if LILO’s directories (e.g. <span
class="cmtt-10x-x-109">/boot</span>) have not been touched since the first installation. See also section
<a
href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a>.
</p><!--l. 1556--><p class="indent" ><span
class="cmtt-10x-x-109">/sbin/lilo</span> <span class="big">[</span> <span
class="cmtt-10x-x-109">-C </span><span
class="cmti-10x-x-109">config_file</span> <span class="big">] [</span> <span
class="cmtt-10x-x-109">-s </span><span
class="cmti-10x-x-109">save_file</span> <span class="big">]</span> <span
class="cmtt-10x-x-109">-u</span> <span class="big"> | </span> <span
class="cmtt-10x-x-109">-U</span> <span class="big">[</span> <span
class="cmti-10x-x-109">boot_device</span> <span class="big">]</span> <span
class="cmtt-10x-x-109"> </span>
</p><!--l. 1564--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">-C </span><span
class="cmti-10x-x-109">config</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description"> <br
class="newline" />Specifies an alternate configuration file. See also section <a
href="#x1-340004.1.1">4.1.1<!--tex4ht:ref: invshow --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-s </span><span
class="cmti-10x-x-109">save</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description"> <br
class="newline" />Specifies an alternate boot sector save file. See also sections <a
href="#x1-400004.1.7">4.1.7<!--tex4ht:ref: corropt --></a> and <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-u </span>[ <span
class="cmti-10x-x-109">device_name </span>] </dt><dd
class="description">  <br
class="newline" />Restores the backup copy of the specified boot sector. If no device is specified, the value of the
<span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">boot</span></span></span> variable is used. If this one is also unavailable, LILO uses the current root device. The
name of the backup copy is derived from the device name. The <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">-s</span></span></span> option or the <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">backup</span></span></span> variable
can be used to override this. LILO validates the backup copy by checking a time stamp.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">-U </span>[ <span
class="cmti-10x-x-109">device_name </span>] </dt><dd
class="description">  <br
class="newline" />Like <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">-u</span></span></span>, but does not check the time stamp.</dd></dl>
<!--l. 1581--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.1.6 </span> <a
id="x1-390004.1.6"></a>Print version number</h5>
<!--l. 1583--><p class="indent" ><span
class="cmtt-10x-x-109">/sbin/lilo -V </span><span
class="cmtt-10x-x-109"> </span>
</p><!--l. 1587--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">-V</span> </dt><dd
class="description">  <br
class="newline" />Print the version number and exit.</dd></dl>
<!--l. 1593--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.1.7 </span> <a
id="x1-400004.1.7"></a>Options corresponding to configuration variables</h5>
<!--l. 1596--><p class="noindent" >There are also many command-line options that correspond to configuration variables. See section <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a> for
a description.
</p><!--l. 1599--><p class="noindent" >
</p>
<center class="math-display" >
<img
src="user_21-574x.png" alt=" |
-Command----line option|Con-figuration-variable-----
-b bootxdevice |boot=bootxdevice
-c |compact
-d tsecs |delay=tsecs
|
-D name |default=name
-i bootxsector |install=bootxsector
-L |lba32
-l |linear
-m mapxfile |map=mapx file
-P fix |fix -table
-P ignore |ignore -table
|
-s backupx file |backup=backupx file
-S backupx file |force -backup=backupx file
-v ... |verbose=level
" class="math-display" /></center>
<!--l. 1620--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">4.2 </span> <a
id="x1-410004.2"></a>Configuration</h4>
<!--l. 1623--><p class="noindent" >The configuration information is stored in the file <span
class="cmtt-10x-x-109">/etc/lilo.conf </span>and consists of variable
assignments.
</p><!--l. 1627--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.2.1 </span> <a
id="x1-420004.2.1"></a>Syntax</h5>
<!--l. 1630--><p class="noindent" >The following syntax rules apply:
</p>
<ul class="itemize1">
<li class="itemize">flag variables consist of a single word and are followed by whitespace or the end of the file.
</li>
<li class="itemize">string variables consist of the variable name, optional whitespace, an equal sign, optional
whitespace, the value and required whitespace, or the end of the file.
</li>
<li class="itemize">a non-empty sequence of blanks, tabs, newlines and comments counts as whitespace.
</li>
<li class="itemize">variable names are case-insensitive. Values are usually case-sensitive, but there are a few
exceptions. (See below.)
</li>
<li class="itemize">tabs and newlines are special characters and may not be part of a variable name or a value.
The use of other control characters and non-ASCII characters is discouraged.
</li>
<li class="itemize">blanks and equal signs may only be part of a variable name or a value if they are escaped by
a backslash or if the value is embedded in double quotes. An equal sign may not be the only
character in a name or value.
</li>
<li class="itemize">an escaped tab is converted to an escaped blank. An escaped newline is removed from the input
stream. An escaped backslash (i.e. two backslashes) is converted to a backslash. Inside quoted
strings, only double quotes, backslashes, dollar signs, and newlines can be escaped.
</li>
<li class="itemize">quoted strings can be continued over several lines by ending each incomplete line with a
backslash. A single space is inserted in the string for the line end and all spaces or tabs that
follow immediately on the next line.
</li>
<li class="itemize">environment variables can be used by specifying them in the form <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">$</span></span></span><span
class="cmti-10x-x-109">name </span>or <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">${</span></span></span><span
class="cmti-10x-x-109">name</span><span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">}</span></span></span>. Dollar
signs can be escaped.
</li>
<li class="itemize">comments begin with a number sign and end with the next newline. All characters (including
backslashes) until the newline are ignored.</li></ul>
<!--l. 1664--><p class="noindent" >Example:
</p>
<div class="verbatim" id="verbatim-6">
boot = $FD
 <br />install = $MNT/boot.b
 <br />map = $MNT/map
 <br />compact
 <br />read-only
 <br />append = "nfsroot=/home/linux-install/root \
 <br />  nfsaddrs=128.178.156.28:128.178.156.24::255.255.255.0:lrcinst"
 <br />image = $MNT/zImage</div>
<!--l. 1674--><p class="nopar" >
</p><!--l. 1677--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.2.2 </span> <a
id="x1-430004.2.2"></a>Global options</h5>
<!--l. 1680--><p class="noindent" ><span
class="cmtt-10x-x-109">/etc/lilo.conf </span>begins with a possibly empty global options section. Many global options can also be
set from the command line, but storing permanent options in the configuration file is more
convenient.
</p><!--l. 1684--><p class="noindent" >The following global options are recognized:
</p><!--l. 1686--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">backup=</span><span
class="cmti-10x-x-109">backup</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description">Copy the original boot sector to <span
class="cmti-10x-x-109">backup</span><span
class="cmti-10x-x-109">_file </span>(which may also be a device, e.g.
<span
class="cmtt-10x-x-109">/dev/null</span>) instead of <span
class="cmtt-10x-x-109">/boot/boot.</span><span
class="cmti-10x-x-109">number</span>
</dd><dt class="description">
<span
class="cmtt-10x-x-109">boot=</span><span
class="cmti-10x-x-109">boot</span><span
class="cmti-10x-x-109">_device</span> </dt><dd
class="description">Sets the name of the device (e.g. a hard disk partition) that contains the boot
sector. If <span
class="cmtt-10x-x-109">boot </span>is omitted, the boot sector is read from (and possibly written to) the device that
is currently mounted as root.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">change-rules</span> </dt><dd
class="description">Defines partition type numbers. See section <a
href="#x1-550004.5.2">4.5.2<!--tex4ht:ref: ptcr --></a> for details.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">compact</span> </dt><dd
class="description">Tries to merge read requests for adjacent sectors into a single read request. This drastically
reduces load time and keeps the map smaller. Using <span
class="cmtt-10x-x-109">compact </span>is especially recommended when
booting from a floppy disk. <span
class="cmtt-10x-x-109">compact </span>may conflict with <span
class="cmtt-10x-x-109">linear </span>or <span
class="cmtt-10x-x-109">lba32</span>, see section <a
href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">default=</span><span
class="cmti-10x-x-109">name</span> </dt><dd
class="description">Uses the specified image as the default boot image. If <span
class="cmtt-10x-x-109">default </span>is omitted, the image
appearing first in the configuration file is used.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">delay=</span><span
class="cmti-10x-x-109">tsecs</span> </dt><dd
class="description">Specifies the number of <span
class="cmbx-10x-x-109">tenths </span>of a second LILO should wait before booting the first
image. This is useful on systems that immediately boot from the hard disk after enabling the
keyboard. LILO doesn’t wait if <span
class="cmtt-10x-x-109">delay </span>is omitted or if <span
class="cmtt-10x-x-109">delay </span>is set to zero.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">disk=</span><span
class="cmti-10x-x-109">device</span><span
class="cmti-10x-x-109">_name</span> </dt><dd
class="description">Defines non-standard parameters for the specified disk. See section <a
href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a> for details.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">fix-table</span> </dt><dd
class="description">Allows LILO to adjust 3D addresses in partition tables. Each partition entry contains
a 3D (sector/head/cylinder) and a linear 32-bit address of the first and the last sector of
the partition. If a partition is not track-aligned and if certain other operating systems (e.g.
PC/MS-DOS or OS/2) are using the same disk, they may change the 3D address. LILO can
store its boot sector only on partitions where both address types correspond. LILO re-adjusts
incorrect 3D start addresses if <span
class="cmtt-10x-x-109">fix-table </span>is set.
<!--l. 1724--><p class="noindent" ><span
class="cmbx-10x-x-109">WARNING: </span>This does not guarantee that other operating systems may not attempt to reset
the address later. It is also possible that this change has other, unexpected side-effects. The
correct fix is to re-partition the drive with a program that does align partitions to tracks. Also,
with some disks (e.g. some large EIDE disks with address translation enabled), under some
circumstances, it may even be unavoidable to have conflicting partition table entries.
</p></dd><dt class="description">
<span
class="cmtt-10x-x-109">force-backup=</span><span
class="cmti-10x-x-109">backup</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description">Like <span
class="cmtt-10x-x-109">backup</span>, but overwrite an old backup copy if it exists. <br
class="newline" /><span
class="cmtt-10x-x-109">backup=</span><span
class="cmti-10x-x-109">backup</span><span
class="cmti-10x-x-109">_file </span>is ignored if <span
class="cmtt-10x-x-109">force-backup </span>appears in the same configuration file.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">ignore-table</span> </dt><dd
class="description">Tells LILO to ignore corrupt partition tables and to put the boot sector even on
partitions that appear to be unsuitable for that.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">install=</span><span
class="cmti-10x-x-109">boot</span><span
class="cmti-10x-x-109">_sector</span> </dt><dd
class="description">Install the specified file as the new boot sector. If <span
class="cmtt-10x-x-109">install </span>is omitted, <br
class="newline" /><span
class="cmtt-10x-x-109">/boot/boot.b </span>is used as the default.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">keytable=</span><span
class="cmti-10x-x-109">table</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description">Re-map the keyboard as specified in this file. See section <a
href="#x1-570004.6">4.6<!--tex4ht:ref: keytab --></a> for details.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lba32</span> </dt><dd
class="description">Generate 32-bit Logical Block Addresses instead of sector/head/cylinder addresses. If the
BIOS supports packet addressing, then packet calls will be used to access the disk. This allows
booting from any partition on disks with more than 1024 cylinders. If the BIOS does not
support packet addressing, then <span
class="cmtt-10x-x-109">lba32 </span>addresses are translated to C:H:S, just as for <span
class="cmtt-10x-x-109">linear</span>.
All floppy disk references are retained in C:H:S form. Use of <span
class="cmtt-10x-x-109">lba32 </span>is recommended on all
post-1998 systems. <span
class="cmtt-10x-x-109">lba32 </span>may conflict with <span
class="cmtt-10x-x-109">compact</span>, see section <a
href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">linear</span> </dt><dd
class="description">Generate linear sector addresses instead of sector/head/cylinder addresses. Linear addresses
are translated at run time and do not depend on disk geometry. Note that boot disks may
not be portable if <span
class="cmtt-10x-x-109">linear </span>is used, because the BIOS service to determine the disk geometry
does not work reliably for floppy disks. When using <span
class="cmtt-10x-x-109">linear </span>with large disks, <span
class="cmtt-10x-x-109">/sbin/lilo </span>may
generate references to inaccessible disk areas (see section <a
href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>), because 3D sector addresses
are not known before boot time. <span
class="cmtt-10x-x-109">linear </span>may conflict with <span
class="cmtt-10x-x-109">compact</span>, see section <a
href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">map=</span><span
class="cmti-10x-x-109">map</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description">Specifies the location of the map file. If <span
class="cmtt-10x-x-109">map </span>is omitted, a file <span
class="cmtt-10x-x-109">/boot/map </span>is used.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">message=</span><span
class="cmti-10x-x-109">message</span><span
class="cmti-10x-x-109">_file</span> </dt><dd
class="description">Specifies a file containing a message that is displayed before the boot prompt.
No message is displayed while waiting for a modifier key ([Shift], etc.) after printing “LILO ”.
In the message, the <span
class="cmtt-10x-x-109">FF </span>character ([Ctrl L]) clears the local screen. The size of the message file
is limited to 65535 bytes. The map file has to be rebuilt if the message file is changed or moved.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">nowarn</span> </dt><dd
class="description">Disables warnings about possible future dangers.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">prompt</span> </dt><dd
class="description">Forces entering the boot prompt without expecting any prior key-presses. Unattended
reboots are impossible if <span
class="cmtt-10x-x-109">prompt </span>is set and <span
class="cmtt-10x-x-109">timeout </span>isn’t.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">serial=</span><span
class="cmti-10x-x-109">parameters</span> </dt><dd
class="description">Enables control from a serial line. The specified serial port is initialized and LILO is
accepting input from it and from the PC’s keyboard. Sending a break on the serial line corresponds
to pressing a shift key on the console in order to get LILO’s attention. All boot images
should be password-protected if the serial access is less secure than access to the console,
e.g. if the line is connected to a modem. The parameter string has the following syntax:
<br
class="newline" /><span
class="cmti-10x-x-109">port</span><span
class="cmtt-10x-x-109">,</span><span
class="cmti-10x-x-109">bps parity bits </span><br
class="newline" />The components <span
class="cmti-10x-x-109">bps</span>, <span
class="cmti-10x-x-109">parity </span>and <span
class="cmti-10x-x-109">bits </span>can be omitted. If a component is omitted, all following
components have to be omitted too. Additionally, the comma has to be omitted if only the port
number is specified.
<dl class="description"><dt class="description">
<span
class="cmti-10x-x-109">port</span> </dt><dd
class="description">the number of the serial port, zero-based. 0 corresponds to <span
class="cmtt-10x-x-109">COM1 </span>alias <span
class="cmtt-10x-x-109">/dev/ttyS0</span>, etc.
All four ports can be used (if present).
</dd><dt class="description">
<span
class="cmti-10x-x-109">bps</span> </dt><dd
class="description">the baud rate of the serial port. The following baud rates are supported: 110, 300, 1200,
2400, 4800, 9600, 19200, and 38400 bps. Default is 2400 bps.
</dd><dt class="description">
<span
class="cmti-10x-x-109">parity</span> </dt><dd
class="description">the parity used on the serial line. LILO ignores input parity and strips the 8th bit. The
following (upper or lower case) characters are used to describe the parity: <span
class="cmtt-10x-x-109">n </span>for no parity,
<span
class="cmtt-10x-x-109">e </span>for even parity and <span
class="cmtt-10x-x-109">o </span>for odd parity.
</dd><dt class="description">
<span
class="cmti-10x-x-109">bits</span> </dt><dd
class="description">the number of bits in a character. Only 7 and 8 bits are supported. Default is 8 if parity
is “none”, 7 if parity is “even” or “odd”.</dd></dl>
<!--l. 1803--><p class="noindent" >If <span
class="cmtt-10x-x-109">serial </span>is set, the value of <span
class="cmtt-10x-x-109">delay </span>is automatically raised to 20.
</p><!--l. 1806--><p class="noindent" >Example: <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">serial=0,2400n8</span></span></span> initializes <span
class="cmtt-10x-x-109">COM1 </span>with the default parameters.
</p></dd><dt class="description">
<span
class="cmtt-10x-x-109">timeout=</span><span
class="cmti-10x-x-109">tsecs</span> </dt><dd
class="description">Sets a timeout (in tenths of a second) for keyboard input. If no key is pressed for the
specified time, the first image is automatically booted. Similarly, password input is aborted if the user
is idle for too long. The default timeout is infinite.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">verbose=</span><span
class="cmti-10x-x-109">level</span> </dt><dd
class="description">Turns on lots of progress reporting. Higher numbers give more verbose output. If <span
class="cmtt-10x-x-109">-v </span>is
additionally specified on the command line, <span
class="cmti-10x-x-109">level </span>is increased accordingly. The following verbosity
levels exist:
<dl class="description"><dt class="description">
<span
class="cmmi-10x-x-109"><</span><span
class="cmbx-10x-x-109">0</span> </dt><dd
class="description">only warnings and errors are shown
</dd><dt class="description">
<span
class="cmbx-10x-x-109">0</span> </dt><dd
class="description">prints one line for each added or skipped image
</dd><dt class="description">
<span
class="cmbx-10x-x-109">1</span> </dt><dd
class="description">mentions names of important files and devices and why they are accessed. Also displays
informational messages for exceptional but harmless conditions and prints the version
number.
</dd><dt class="description">
<span
class="cmbx-10x-x-109">2</span> </dt><dd
class="description">displays statistics and processing of temporary files and devices
</dd><dt class="description">
<span
class="cmbx-10x-x-109">3</span> </dt><dd
class="description">displays disk geometry information and partition table change rules
</dd><dt class="description">
<span
class="cmbx-10x-x-109">4</span> </dt><dd
class="description">lists sector mappings as they are written into the map file (i.e. after compaction, in a format
suitable to pass it to the BIOS)
</dd><dt class="description">
<span
class="cmbx-10x-x-109">5</span> </dt><dd
class="description">lists the mapping of each sector (i.e. before compaction, raw)</dd></dl>
<!--l. 1830--><p class="noindent" >When using the <span
class="cmtt-10x-x-109">-q </span>option, the levels have a slightly different meaning:
</p><dl class="description"><dt class="description">
<span
class="cmbx-10x-x-109">0</span> </dt><dd
class="description">displays only image names
</dd><dt class="description">
<span
class="cmbx-10x-x-109">1</span> </dt><dd
class="description">also displays all global and per-image settings
</dd><dt class="description">
<span
class="cmbx-10x-x-109">2</span> </dt><dd
class="description">displays the address of the first map sector</dd></dl>
</dd></dl>
<!--l. 1839--><p class="noindent" >Additionally, the kernel configuration parameters <span
class="cmtt-10x-x-109">append</span>, <span
class="cmtt-10x-x-109">initrd</span>, <span
class="cmtt-10x-x-109">ramdisk</span>, <span
class="cmtt-10x-x-109">read-only</span>, <span
class="cmtt-10x-x-109">read-write</span>, <span
class="cmtt-10x-x-109">root</span>
and <span
class="cmtt-10x-x-109">vga</span>, and the general per-image options <span
class="cmtt-10x-x-109">fallback</span>, <span
class="cmtt-10x-x-109">lock</span>, <span
class="cmtt-10x-x-109">optional</span>, <span
class="cmtt-10x-x-109">password</span>, <span
class="cmtt-10x-x-109">restricted</span>, and
<span
class="cmtt-10x-x-109">single-key </span>can be set in the global options section. They are used as defaults if they aren’t specified in the
configuration sections of the respective images. See below for a description.
</p><!--l. 1848--><p class="noindent" >The plethora of options may be intimidating at first, but in “normal” configurations, hardly any options but
<span
class="cmtt-10x-x-109">boot</span>, <span
class="cmtt-10x-x-109">compact</span>, <span
class="cmtt-10x-x-109">delay</span>, <span
class="cmtt-10x-x-109">root</span>, and <span
class="cmtt-10x-x-109">vga </span>are used.
</p><!--l. 1853--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.2.3 </span> <a
id="x1-440004.2.3"></a>General per-image options</h5>
<!--l. 1856--><p class="noindent" >The following options can be specified for all images, independent of their type:
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">alias=</span><span
class="cmti-10x-x-109">name</span> </dt><dd
class="description">Specifies a second name for the current entry.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">fallback=</span><span
class="cmti-10x-x-109">command</span><span
class="cmti-10x-x-109">_line</span> </dt><dd
class="description">Specifies a string that is stored as the default command line if the current
image is booted. This is useful when experimenting with kernels which may crash before allowing
interaction with the system. If using the <span
class="cmtt-10x-x-109">fallback </span>option, the next reboot (e.g. triggered
by a manual reset or by a watchdog timer) will load a different (supposedly stable) kernel.
The command line by the fallback mechanism is cleared by removing or changing the default
command line with the <span
class="cmtt-10x-x-109">-R </span>option, see <a
href="#x1-360004.1.3">4.1.3<!--tex4ht:ref: invcmd --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">label=</span><span
class="cmti-10x-x-109">name</span> </dt><dd
class="description">By default, LILO uses the main file name (without its path) of each image specification
to identify that image. A different name can be used by setting the variable <span
class="cmtt-10x-x-109">label</span>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lock</span> </dt><dd
class="description">Enables automatic recording of boot command lines as the defaults for the following boots.
This way, LILO “locks” on a choice until it is manually overridden.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">optional</span> </dt><dd
class="description">Omit this image if its main file is not available at map creation time. This is useful to
specify test kernels that are not always present.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">password=</span><span
class="cmti-10x-x-109">password</span> </dt><dd
class="description">Ask the user for a password when trying to load this image. Because the
configuration file contains unencrypted passwords when using this option, it should only be
readable for the super-user. Passwords are always case-sensitive.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">restricted</span> </dt><dd
class="description">Relaxes the password protection by requiring a password only if parameters are specified
on the command line (e.g. <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">single</span></span></span>). <span
class="cmtt-10x-x-109">restricted </span>can only be used together with <span
class="cmtt-10x-x-109">password</span>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">single-key</span> </dt><dd
class="description">Enables booting the image by hitting a single key, without the need to press [Enter]
afterwards. <span
class="cmtt-10x-x-109">single-key </span>requires that either the image’s label or its alias (or both) is a single
character. Furthermore, no other image label or alias may start with that character, e.g. an
entry specifying a label <span
class="cmtt-10x-x-109">linux </span>and an alias <span
class="cmtt-10x-x-109">l </span>is not allowed with <span
class="cmtt-10x-x-109">single-key</span>. Note that you
can’t specify command-line parameters for an entry for which only <span
class="cmtt-10x-x-109">single-key</span>ed names exist.</dd></dl>
<!--l. 1898--><p class="noindent" >All general per-image options, with the exception of <span
class="cmtt-10x-x-109">label </span>and <span
class="cmtt-10x-x-109">alias</span>, can also be set in the global options
section as defaults for all images.
</p><!--l. 1902--><p class="noindent" >Example:
</p>
<div class="verbatim" id="verbatim-7">
password = Geheim
 <br />single-key
 <br />image = /vmlinuz
 <br />  label = linux
 <br />  alias = 1
 <br />  restricted
 <br />other = /dev/hda1
 <br />  label = dos
 <br />  alias = 2</div>
<!--l. 1913--><p class="nopar" >
</p><!--l. 1916--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.2.4 </span> <a
id="x1-450004.2.4"></a>Per-image options for kernels</h5>
<!--l. 1919--><p class="noindent" >Each (kernel or non-kernel) image description begins with a special variable (see section <a
href="#x1-460004.3">4.3<!--tex4ht:ref: bootimg --></a>) which is
followed by optional variables. The following variables can be used for all image descriptions that describe a
Linux kernel:
</p><!--l. 1926--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">append=</span><span
class="cmti-10x-x-109">string</span> </dt><dd
class="description">Appends the options specified in <span
class="cmti-10x-x-109">string </span>to the parameter line passed to the kernel.
This is typically used to specify parameters of hardware that can’t be entirely auto-detected,
e.g.<br
class="newline" /><span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">append</span><span
class="cmtt-10x-x-109"> =</span><span
class="cmtt-10x-x-109"> "aha152x=0x140,11"</span></span></span>
</dd><dt class="description">
<span
class="cmtt-10x-x-109">initrd=</span><span
class="cmti-10x-x-109">name</span> </dt><dd
class="description">Specifies the file that will be loaded at boot time as the initial RAM disk.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">literal=</span><span
class="cmti-10x-x-109">string</span> </dt><dd
class="description">like <span
class="cmtt-10x-x-109">append</span>, but removes all other options (e.g. setting of the root device). Because
vital options can be removed unintentionally with <span
class="cmtt-10x-x-109">literal</span>, this option cannot be set in the
global options section.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">ramdisk=</span><span
class="cmti-10x-x-109">size</span> </dt><dd
class="description">Specifies the size of the optional RAM disk. A value of zero indicates that no RAM
disk should be created. If this variable is omitted, the RAM disk size configured into the boot
image is used.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">read-only</span> </dt><dd
class="description">Specifies that the root file system should be mounted read-only. Typically, the system
startup procedure re-mounts the root file system read-write later (e.g. after fsck’ing it).
</dd><dt class="description">
<span
class="cmtt-10x-x-109">read-write</span> </dt><dd
class="description">specifies that the root file system should be mounted read-write.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">root=</span><span
class="cmti-10x-x-109">root</span><span
class="cmti-10x-x-109">_device</span> </dt><dd
class="description">Specifies the device that should be mounted as root. If the special name <span
class="cmtt-10x-x-109">current</span>
is used, the root device is set to the device on which the root file system is currently mounted.
If the root has been changed with <span
class="cmtt-10x-x-109">-r</span>, the respective device is used. If the variable <span
class="cmtt-10x-x-109">root </span>is
omitted, the root device setting contained in the kernel image is used. It can be changed with
the <span
class="cmss-10x-x-109">rdev </span>program.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">vga=</span><span
class="cmti-10x-x-109">mode</span> </dt><dd
class="description"> Specifies the VGA text mode that should be selected when booting. The following values are
recognized (case is ignored):
<dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">normal</span> </dt><dd
class="description">select normal 80x25 text mode.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">extended</span> </dt><dd
class="description">select 80x50 text mode. The word <span
class="cmtt-10x-x-109">extended </span>can be abbreviated to <span
class="cmtt-10x-x-109">ext</span>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">ask</span> </dt><dd
class="description">stop and ask for user input (at boot time).
</dd><dt class="description">
<span
class="cmti-10x-x-109">number</span> </dt><dd
class="description">use the corresponding text mode. A list of available modes can be obtained by booting
with <span
class="cmtt-10x-x-109">vga=ask </span>and pressing [Enter].</dd></dl>
<!--l. 1966--><p class="noindent" >If this variable is omitted, the VGA mode setting contained in the kernel image is used. <span
class="cmss-10x-x-109">rdev </span>supports
manipulation of the VGA text mode setting in the kernel image.</p></dd></dl>
<!--l. 1971--><p class="noindent" >All kernel per-image options but <span
class="cmtt-10x-x-109">literal </span>can also be set in the global options section as defaults for all
kernels.
</p><!--l. 1974--><p class="noindent" >If one of <span
class="cmtt-10x-x-109">ramdisk</span>, <span
class="cmtt-10x-x-109">read-only</span>, <span
class="cmtt-10x-x-109">read-write</span>, <span
class="cmtt-10x-x-109">root</span>, or <span
class="cmtt-10x-x-109">vga </span>is omitted in the configuration file and
the corresponding value in the kernel image is changed, LILO or the kernel will use the new
value.
</p><!--l. 1979--><p class="noindent" >It is perfectly valid to use different settings for the same image, because LILO stores them in the image
descriptors and not in the images themselves.
</p><!--l. 1983--><p class="noindent" >Example:
</p>
<div class="verbatim" id="verbatim-8">
image = /vmlinuz
 <br />  label = lin-hd
 <br />  root = /dev/hda2
 <br />image = /vmlinuz
 <br />  label = lin-fd
 <br />  root = /dev/fd0</div>
<!--l. 1991--><p class="nopar" >
</p><!--l. 1994--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">4.3 </span> <a
id="x1-460004.3"></a>Boot image types</h4>
<!--l. 1997--><p class="noindent" >LILO can boot the following types of images: </p>
<ul class="itemize1">
<li class="itemize">kernel images from a file.
</li>
<li class="itemize">kernel images from a block device. (E.g. a floppy disk.)
</li>
<li class="itemize">the boot sector of some other operating system.</li></ul>
<!--l. 2004--><p class="noindent" >The image type is determined by the name of the initial variable of the configuration section.
</p><!--l. 2007--><p class="noindent" >The image files can reside on any media that is accessible at boot time. There’s no need to put them on the
root device, although this certainly doesn’t hurt.
</p><!--l. 2012--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.3.1 </span> <a
id="x1-470004.3.1"></a>Booting kernel images from a file</h5>
<!--l. 2014--><p class="noindent" >The image is specified as follows: <span
class="cmtt-10x-x-109">image=</span><span
class="cmti-10x-x-109">name</span>
</p><!--l. 2016--><p class="noindent" >Example:
</p>
<div class="verbatim" id="verbatim-9">
image = /linux</div>
<!--l. 2019--><p class="nopar" >
</p><!--l. 2021--><p class="noindent" >See sections <a
href="#x1-440004.2.3">4.2.3<!--tex4ht:ref: cfggen --></a> and <a
href="#x1-450004.2.4">4.2.4<!--tex4ht:ref: cfgkern --></a> for the options that can be added in a kernel image section.
</p><!--l. 2025--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.3.2 </span> <a
id="x1-480004.3.2"></a>Booting kernel images from a device</h5>
<!--l. 2027--><p class="noindent" >The range of sectors that should be mapped has to be specified. Either a range (<span
class="cmti-10x-x-109">start</span><span
class="cmtt-10x-x-109">-</span><span
class="cmti-10x-x-109">end</span>) or a start and a
distance (<span
class="cmti-10x-x-109">start</span><span
class="cmtt-10x-x-109">+</span><span
class="cmti-10x-x-109">number</span>) have to be specified. <span
class="cmti-10x-x-109">start </span>and <span
class="cmti-10x-x-109">end </span>are zero-based. If only the start is specified,
only that sector is mapped.
</p><!--l. 2034--><p class="noindent" >The image is specified as follows: <span
class="cmtt-10x-x-109">image=</span><span
class="cmti-10x-x-109">device</span><span
class="cmti-10x-x-109">_name </span>Additionally, the <span
class="cmtt-10x-x-109">range </span>variable must be
set.
</p><!--l. 2037--><p class="noindent" >Example:
</p>
<div class="verbatim" id="verbatim-10">
image = /dev/fd0
 <br />  range = 1+512</div>
<!--l. 2041--><p class="nopar" >
</p><!--l. 2043--><p class="noindent" >All kernel options can also be used when booting the kernel from a device.
</p><!--l. 2046--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.3.3 </span> <a
id="x1-490004.3.3"></a>Booting a foreign operating system</h5>
<!--l. 2049--><p class="noindent" >LILO can even boot other operating systems, i.e. MS-DOS. To boot an other operating system, the name of
a loader program, the device or file that contains the boot sector and the device that contains the partition
table have to be specified.
</p><!--l. 2055--><p class="noindent" >The boot sector is merged with the partition table and stored in the map file.
</p><!--l. 2057--><p class="noindent" >Currently, the loaders <span
class="cmtt-10x-x-109">chain.b </span>and <span
class="cmtt-10x-x-109">os2</span><span
class="cmtt-10x-x-109">_d.b </span>exist. <span
class="cmtt-10x-x-109">chain.b </span>simply starts the specified boot
sector.<span class="footnote-mark"><a
href="user_21-518.html#fn22x0"><sup class="textsuperscript">22</sup></a></span><a
id="x1-49001f22"></a>
<span
class="cmtt-10x-x-109">os2</span><span
class="cmtt-10x-x-109">_d.b </span>it a variant of <span
class="cmtt-10x-x-109">chain.b </span>that can boot OS/2 from the second hard disk. The <span
class="cmtt-10x-x-109">map-drive </span>option has
to be used with <span
class="cmtt-10x-x-109">os2</span><span
class="cmtt-10x-x-109">_d.b </span>to actually swap the drives.
</p><!--l. 2065--><p class="noindent" >The image is specified as follows: <span
class="cmtt-10x-x-109">other=</span><span
class="cmti-10x-x-109">device</span><span
class="cmti-10x-x-109">_name </span>or <span
class="cmtt-10x-x-109">other=</span><span
class="cmti-10x-x-109">file</span><span
class="cmti-10x-x-109">_name</span>
</p><!--l. 2068--><p class="noindent" >In addition to the options listen in section <a
href="#x1-440004.2.3">4.2.3<!--tex4ht:ref: cfggen --></a>, the following variables are recognized:
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">change</span> </dt><dd
class="description">Change the partition table according to the rules specified in this <span
class="cmtt-10x-x-109">change </span>section. This option
is intended for booting systems which find their partitions by examining the partition table.
See section <a
href="#x1-560004.5.3">4.5.3<!--tex4ht:ref: ptch --></a> for details.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">loader=</span><span
class="cmti-10x-x-109">chain</span><span
class="cmti-10x-x-109">_loader</span> </dt><dd
class="description">Specifies the chain loader that should be used. If it is omitted, <span
class="cmtt-10x-x-109">/boot/chain.b</span>
is used.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">map-drive=</span><span
class="cmti-10x-x-109">bios</span><span
class="cmti-10x-x-109">_device</span><span
class="cmti-10x-x-109">_code</span> </dt><dd
class="description">Instructs <span
class="cmtt-10x-x-109">chain.b </span>to installs a resident driver that re-maps the floppy
or hard disk drives. This way, one can boot any operating system from a hard disk different
from the first one, as long as that operating system uses <span
class="cmbx-10x-x-109">only </span>the BIOS to access that hard
disk.<span class="footnote-mark"><a
href="user_21-519.html#fn23x0"><sup class="textsuperscript">23</sup></a></span><a
id="x1-49002f23"></a>
This is known to work for PC/MS-DOS.
<!--l. 2089--><p class="noindent" ><span
class="cmtt-10x-x-109">map-drive </span>is followed by the variable <span
class="cmtt-10x-x-109">to=</span><span
class="cmti-10x-x-109">bios</span><span
class="cmti-10x-x-109">_device</span><span
class="cmti-10x-x-109">_code </span>which specifies the drive that should
effectively be accessed instead of the original one. The list of mappings is only searched until
the first match is found. It is therefore possible to “swap” drives, see the second example below.
</p></dd><dt class="description">
<span
class="cmtt-10x-x-109">table=</span><span
class="cmti-10x-x-109">device</span> </dt><dd
class="description">Specifies the device that contains the partition table. LILO does not pass partition
information to the booted operating system if this variable is omitted. (Some operating systems
have other means to determine from which partition they have been booted. E.g. MS-DOS
usually stores the geometry of the boot disk or partition in its boot sector.) Note that
<span
class="cmtt-10x-x-109">/sbin/lilo </span>must be re-run if a partition table mapped referenced with <span
class="cmtt-10x-x-109">table </span>is modified.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">unsafe</span> </dt><dd
class="description">Do not access the boot sector at map creation time. This disables some sanity checks,
including a partition table check. If the boot sector is on a fixed-format floppy disk device, using
<span
class="cmtt-10x-x-109">unsafe </span>avoids the need to put a readable disk into the drive when running the map installer.
<span
class="cmtt-10x-x-109">unsafe </span>and <span
class="cmtt-10x-x-109">table </span>are mutually incompatible.</dd></dl>
<!--l. 2109--><p class="noindent" >None of these options can be set in the global options section.
</p><!--l. 2111--><p class="noindent" >Examples:
</p>
<div class="verbatim" id="verbatim-11">
other = /dev/hda2
 <br />  label = dos
 <br />  table = /dev/hda</div>
<!--l. 2116--><p class="nopar" >
</p>
<div class="verbatim" id="verbatim-12">
other = /dev/hdb2
 <br />  label = os2
 <br />  loader = /boot/os2_d.b
 <br />  map-drive = 0x80
 <br />    to = 0x81
 <br />  map-drive = 0x81
 <br />    to = 0x80</div>
<!--l. 2126--><p class="nopar" >
</p>
<h4 class="subsectionHead"><span class="titlemark">4.4 </span> <a
id="x1-500004.4"></a>Disk geometry</h4>
<!--l. 2132--><p class="noindent" >For floppies and most hard disks, LILO can obtain the disk geometry information from the kernel.
Unfortunately, there are some exotic disks or adapters which may either not supply this information or
which may even return incorrect information.
</p><!--l. 2137--><p class="noindent" >If no geometry information is available, LILO reports either the error <br
class="newline" /><span
class="cmtt-10x-x-109">geo</span><span
class="cmtt-10x-x-109">_query</span><span
class="cmtt-10x-x-109">_dev HDIO</span><span
class="cmtt-10x-x-109">_GETGEO (dev 0x</span><span
class="cmti-10x-x-109">number</span><span
class="cmtt-10x-x-109">) </span><br
class="newline" />or <br
class="newline" /><span
class="cmtt-10x-x-109">Device 0x</span><span
class="cmti-10x-x-109">number</span><span
class="cmtt-10x-x-109">: Got bad geometry </span><span
class="cmti-10x-x-109">sec</span><span
class="cmtt-10x-x-109">/</span><span
class="cmti-10x-x-109">hd</span><span
class="cmtt-10x-x-109">/</span><span
class="cmti-10x-x-109">cyl</span>
</p><!--l. 2143--><p class="noindent" >If incorrect information is returned, booting may fail in several ways, typically with a partial “LILO”
banner message. In this document, that is called a “geometry mismatch”.
</p><!--l. 2147--><p class="noindent" >The next step should be to attempt setting the <span
class="cmtt-10x-x-109">lba32 </span>or <span
class="cmtt-10x-x-109">linear </span>configuration variable or the <span
class="cmtt-10x-x-109">-L </span>or <span
class="cmtt-10x-x-109">-l</span>
command-line option. If this doesn’t help, the entire disk geometry has to be specified explicitly. Note that
<span
class="cmtt-10x-x-109">linear </span>doesn’t always work with floppy disks.
</p><!--l. 2152--><p class="noindent" >Another common use of disk sections is if an (E)IDE and a SCSI drive are used in the same system and the
BIOS is configured to use the SCSI drive as the first drive. (Normally, the (E)IDE drive would be the first
drive and the SCSI drive would be the second one.) Since LILO doesn’t know how the BIOS
is configured, it needs to be told explicitly about this arrangement. (See the second example
below.)
</p><!--l. 2160--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.4.1 </span> <a
id="x1-510004.4.1"></a>Obtaining the geometry</h5>
<!--l. 2162--><p class="noindent" >The disk geometry parameters can be obtained by booting MS-DOS and running the program <span
class="cmtt-10x-x-109">DPARAM.COM</span>
with the hexadecimal BIOS code of the drive as its argument, e.g. <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">dparam</span><span
class="cmtt-10x-x-109"> 0x80</span></span></span> for the first hard disk. It
displays the number of sectors per track, the number of heads per cylinder and the number of cylinders. All
three numbers are one-based.
</p><!--l. 2169--><p class="noindent" >Alternatively, the geometry may also be determined by reading the information presented by the “setup”
section of the ROM-BIOS or by using certain disk utilities under operating systems accessing the disk
through the BIOS.
</p><!--l. 2174--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.4.2 </span> <a
id="x1-520004.4.2"></a>Specifying the geometry</h5>
<!--l. 2177--><p class="noindent" >Disk geometry parameters are specified in the options section of the configuration file. Each disk parameter
section begins with <span
class="cmtt-10x-x-109">disk=</span><span
class="cmti-10x-x-109">disk</span><span
class="cmti-10x-x-109">_device</span>, similar to the way how boot images are specified. It is suggested to
group disk parameter sections together, preferably at the beginning or the end of the options
section.
</p><!--l. 2184--><p class="noindent" >For each disk, the following variables can be specified:
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">bios=</span><span
class="cmti-10x-x-109">bios</span><span
class="cmti-10x-x-109">_device</span><span
class="cmti-10x-x-109">_code</span> </dt><dd
class="description">Is the number the BIOS uses to refer to that device. Normally, it’s <span
class="cmtt-10x-x-109">0x80 </span>for
the first hard disk and <span
class="cmtt-10x-x-109">0x81 </span>for the second hard disk. Note that hexadecimal numbers have to
begin with “0x”. If <span
class="cmtt-10x-x-109">bios </span>is omitted, LILO tries to “guess” that number.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">sectors=</span><span
class="cmti-10x-x-109">sectors</span> </dt><dd
class="description">and
</dd><dt class="description">
<span
class="cmtt-10x-x-109">heads=</span><span
class="cmti-10x-x-109">heads</span> </dt><dd
class="description">specify the number of sectors per track and the number of heads, i.e. the number of
tracks per cylinder. Both parameters have to be either specified together or they have to be
entirely omitted. If omitted, LILO tries to obtain that geometry information from the kernel.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">cylinders=</span><span
class="cmti-10x-x-109">cylinders</span> </dt><dd
class="description">Specifies the number of cylinders. This value is only used for sanity checks.
If <span
class="cmtt-10x-x-109">cylinders </span>is omitted, LILO uses the information obtained from the kernel if geometry
information had to be requested in order to determine some other parameter. Otherwise,<span class="footnote-mark"><a
href="user_21-520.html#fn24x0"><sup class="textsuperscript">24</sup></a></span><a
id="x1-52001f24"></a>
it just assumes the number of cylinders to be 1024, which is the cylinder limit imposed by the
BIOS.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">inaccessible</span> </dt><dd
class="description">Marks the device as inaccessible (for the BIOS). This is useful if some disks on
the system can’t be read by the BIOS, although LILO “thinks” they can. If one accidentally
tries to use files located on such disks for booting, the map installer won’t notice and the
system becomes unbootable. The most likely use of <span
class="cmtt-10x-x-109">inaccessible </span>is to prevent repetition after
experiencing such a situation once. No other variables may be specified if a device is configured
as <span
class="cmtt-10x-x-109">inaccessible</span>.</dd></dl>
<!--l. 2217--><p class="noindent" >Additionally, partition subsections can be added with <span
class="cmtt-10x-x-109">partition=</span><span
class="cmti-10x-x-109">partition</span><span
class="cmti-10x-x-109">_device</span>. Each partition section
can contain only one variable:
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">start=</span><span
class="cmti-10x-x-109">partition</span><span
class="cmti-10x-x-109">_offset</span> </dt><dd
class="description">Specifies the zero-based number of the start sector of that partition. The
whole disk always has a partition offset of zero. The partition offset is only necessary when
using devices for which the kernel does not provide that information, e.g. CD-ROMs.</dd></dl>
<!--l. 2228--><p class="noindent" >Examples:
</p>
<div class="verbatim" id="verbatim-13">
disk = /dev/sda
 <br />  bios = 0x80
 <br />  sectors = 32
 <br />  heads = 64
 <br />  cylinders = 632
 <br />  partition = /dev/sda1
 <br />    start = 2048
 <br />  partition = /dev/sda2
 <br />    start = 204800
 <br />  partition = /dev/sda3
 <br />    start = 500000
 <br />  partition = /dev/sda4
 <br />    start = 900000</div>
<!--l. 2243--><p class="nopar" >
</p>
<div class="verbatim" id="verbatim-14">
disk = /dev/sda
 <br />  bios = 0x80
 <br />disk = /dev/hda
 <br />  bios = 0x81</div>
<!--l. 2250--><p class="nopar" >
</p><!--l. 2253--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">4.5 </span> <a
id="x1-530004.5"></a>Partition table manipulation</h4>
<!--l. 2256--><p class="noindent" >Some non-Linux operating systems obtain information about their partitions (e.g. their equivalent of the
root file system) from the partition table. If more than one such operating system is installed on a PC,
they may have conflicting interpretations of the content of the partition table. Those problems
can be avoided by changing the partition table, depending on which operating system is being
booted.
</p><!--l. 2263--><p class="noindent" >Partition table changes are specified in a <span
class="cmtt-10x-x-109">change </span>section in the configuration file section describing the
foreign operating system. Note that <span
class="cmtt-10x-x-109">change </span>sections are only accepted if the build-time option
<span
class="cmtt-10x-x-109">REWRITE</span><span
class="cmtt-10x-x-109">_TABLE </span>is set.
</p><!--l. 2268--><p class="noindent" >The <span
class="cmtt-10x-x-109">change </span>section contains subsections for each partition whose table entry needs to be modified.
Partitions are specified with <span
class="cmtt-10x-x-109">partition=</span><span
class="cmti-10x-x-109">device</span><span
class="cmti-10x-x-109">_name</span>
</p><!--l. 2272--><p class="noindent" >Changes are applied in the sequence in which they appear in the configuration file. Configurations
containing changes that are redundant either by repeating a previous change or by changing its result
further are invalid and refused by the map installer.
</p><!--l. 2277--><p class="noindent" >Internally, all changes are expressed as rules which specify the location (disk and offset in the
partition table), the value this location must contain before the change, and the value that
has to be stored. As a safety measure, the rule is ignored if the previous value is found to be
different.
</p><!--l. 2284--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.5.1 </span> <a
id="x1-540004.5.1"></a>Partition activation</h5>
<!--l. 2286--><p class="noindent" >This option is intended for booting systems which determine their boot partition by examining the active
flag in the partition table. The flag is enabled with <span
class="cmtt-10x-x-109">activate </span>and disabled with <span
class="cmtt-10x-x-109">deactivate</span>.
Note that only the current partition is affected. LILO does not automatically change the active
flags of other partitions and it also allows more than one partition to be active at the same
time.
</p><!--l. 2293--><p class="noindent" >Example:
</p>
<div class="verbatim" id="verbatim-15">
other = /dev/sda4
 <br />  label = sco
 <br />  change
 <br />    partition = /dev/sda4
 <br />      activate
 <br />    partition = /dev/sda3
 <br />      deactivate</div>
<!--l. 2303--><p class="nopar" >
</p><!--l. 2306--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.5.2 </span> <a
id="x1-550004.5.2"></a>Partition type change rules</h5>
<!--l. 2309--><p class="noindent" >Partition type changes are normally a transition between two possible values, e.g. a typical convention is to
set the lowest bit in the upper nibble of the partition type (i.e. 0x10) in order to “hide”, and to clear it to
“unhide” a partition. LILO performs these changes based on a set of rules. Each rule defines
the name of a partition type, its normal value, and the value when hidden. Those rules are
defined in the options section of the configuration file. The section defining them begins with
<span
class="cmtt-10x-x-109">change-rules</span>.
</p><!--l. 2318--><p class="noindent" >The following options and variables can appear in the section:
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">reset</span> </dt><dd
class="description">Removes all previously defined rules. This is needed if a user doesn’t wish to use the pre-defined
rules (see below).
</dd><dt class="description">
<span
class="cmtt-10x-x-109">type=</span><span
class="cmti-10x-x-109">name</span> </dt><dd
class="description">Adds a rule for the type with the specified name. Type names are case-insensitive. The
values are defined with <span
class="cmtt-10x-x-109">normal=</span><span
class="cmti-10x-x-109">byte </span>and <span
class="cmtt-10x-x-109">hidden=</span><span
class="cmti-10x-x-109">byte</span>. Values can be specified as decimal or as
hexadecimal numbers with a leading <span
class="cmtt-10x-x-109">0x</span>. If only one of the values is present, the other value is
assumed to be the same number, but with the most significant bit inverted.</dd></dl>
<!--l. 2331--><p class="noindent" >LILO pre-defines rules for the three partition types of DOS partitions. The following example removes the
pre-defined rules and creates them again:
</p>
<div class="verbatim" id="verbatim-16">
change-rules
 <br />  reset
 <br />  type = DOS12
 <br />    normal = 0x01
 <br />    hidden = 0x11
 <br />  type = DOS16_small
 <br />    normal = 4 # hidden is 0x14
 <br />  type = DOS16_big
 <br />    hidden = 0x16</div>
<!--l. 2344--><p class="nopar" >
</p><!--l. 2347--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.5.3 </span> <a
id="x1-560004.5.3"></a>Partition type changes</h5>
<!--l. 2350--><p class="noindent" >Partition type changes are specified in the partition section as <span
class="cmtt-10x-x-109">set=</span><span
class="cmti-10x-x-109">name</span><span
class="cmtt-10x-x-109">_</span><span
class="cmti-10x-x-109">state</span>, where <span
class="cmti-10x-x-109">name </span>is the name of
the partition type, and <span
class="cmti-10x-x-109">state </span>is its state, i.e. <span
class="cmtt-10x-x-109">normal </span>or <span
class="cmtt-10x-x-109">hidden</span>.
</p><!--l. 2355--><p class="noindent" >Example:
</p>
<div class="verbatim" id="verbatim-17">
other = /dev/sda3
 <br />  label = dos
 <br />  change
 <br />    partition = /dev/sda2
 <br />      set = dos16_big_normal
 <br />    partition = /dev/sda3
 <br />      activate
 <br />      set = DOS16_big_normal</div>
<!--l. 2366--><p class="nopar" >
</p><!--l. 2368--><p class="noindent" >Only one <span
class="cmtt-10x-x-109">set </span>variable is allowed per partition section. In the rare event that more than one <span
class="cmtt-10x-x-109">set </span>variable is
needed, further partition sections can be used.
</p><!--l. 2373--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">4.6 </span> <a
id="x1-570004.6"></a>Keyboard translation</h4>
<!--l. 2376--><p class="noindent" >The PC keyboard emits so-called scan codes, which are basically key numbers. The BIOS then translates
those scan codes to the character codes of the characters printed on the key-caps. By default, the BIOS
normally assumes that the keyboard has a US layout. Once an operating system is loaded, this operating
system can use a different mapping.
</p><!--l. 2382--><p class="noindent" >At boot time, LILO only has access to the basic services provided by the BIOS and therefore receives the character
codes for an US keyboard. It provides a simple mechanism to re-map the character codes to what is appropriate for the
actual layout.<span class="footnote-mark"><a
href="user_21-521.html#fn25x0"><sup class="textsuperscript">25</sup></a></span><a
id="x1-57001f25"></a>
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.6.1 </span> <a
id="x1-580004.6.1"></a>Compiling keyboard translation tables</h5>
<!--l. 2394--><p class="noindent" >LILO obtains layout information from the keyboard translation tables Linux uses for the text
console. They are usually stored in <span
class="cmtt-10x-x-109">/usr/lib/kbd/keytables</span>. LILO comes with a program
<span
class="cmss-10x-x-109">keytab-lilo.pl </span>that reads those tables and generates a table suitable for use by the map installer.
<span
class="cmss-10x-x-109">keytab-lilo.pl </span>invokes the program <span
class="cmss-10x-x-109">loadkeys </span>to print the tables in a format that is easy to parse.
<span class="footnote-mark"><a href="user_21-522.html#fn26x0"><sup class="textsuperscript">26</sup></a>
</span>
</p><!--l. 2404--><p class="noindent" ><span
class="cmss-10x-x-109">keytab-lilo.pl </span>is used as follows:
</p><!--l. 2406--><p class="indent" ><span
class="cmtt-10x-x-109">keytab-lilo.pl</span> <span class="big">[</span> <span
class="cmtt-10x-x-109">-p </span><span
class="cmti-10x-x-109">old_code</span><span
class="cmtt-10x-x-109">=</span><span
class="cmti-10x-x-109">new_code</span> <span class="big">]</span> <span
class="cmmi-10x-x-109">…</span> <span class="big">[</span><span
class="cmti-10x-x-109">path</span><span class="big">]</span><span
class="cmti-10x-x-109">default_layout</span><span class="big">[</span><span
class="cmtt-10x-x-109">.extension</span><span class="big">]</span> <br
class="newline" /><span class="big"> [</span><span
class="cmti-10x-x-109">path</span><span class="big">]</span><span
class="cmti-10x-x-109">kbd_layout</span><span class="big">[</span><span
class="cmtt-10x-x-109">.extension</span><span class="big">]</span> <span
class="cmtt-10x-x-109"> </span>
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">-p </span><span
class="cmti-10x-x-109">old_code</span><span
class="cmtt-10x-x-109">=</span><span
class="cmti-10x-x-109">new_code</span> </dt><dd
class="description"> <br
class="newline" />Specifies corrections (“patches”) to the mapping obtained from the translation table files. E.g.
if pressing the upper case “A” should yield an at sign, <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">-p</span><span
class="cmtt-10x-x-109"> 65=64</span></span></span> would be used. The <span
class="cmtt-10x-x-109">-p </span>option
can be repeated any number of times. The codes can also be given as hexadecimal or as octal
numbers if they are prefixed with <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">0x</span></span></span> or <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">0</span></span></span>, respectively.
</dd><dt class="description">
<span
class="cmti-10x-x-109">path</span> </dt><dd
class="description">The directory in which the file resides. The default path is <span
class="cmtt-10x-x-109">/usr/lib/kbd/keytables</span>.
</dd><dt class="description">
<span
class="cmti-10x-x-109">extension</span> </dt><dd
class="description">Usually the trailing <span
class="cmtt-10x-x-109">.map</span>, which is automatically added if the file name doesn’t contain dots.
</dd><dt class="description">
<span
class="cmti-10x-x-109">default_layout</span> </dt><dd
class="description">Is the layout which specifies the translation by the BIOS. If none is specified, <span
class="cmtt-10x-x-109">us </span>is assumed.
</dd><dt class="description">
<span
class="cmti-10x-x-109">kbd_layout</span> </dt><dd
class="description">Is the actual layout of the keyboard.</dd></dl>
<!--l. 2430--><p class="noindent" ><span
class="cmss-10x-x-109">keytab-lilo.pl </span>writes the resulting translation table as a binary string to standard output. Such tables can be
stored anywhere with any name, but the suggested naming convention is <span
class="cmtt-10x-x-109">/boot/</span><span
class="cmti-10x-x-109">kbd</span><span
class="cmtt-10x-x-109">.ktl </span>(“<span class="underline">K</span>eyboard <span class="underline">T</span>able
for <span class="underline">L</span>ilo”), where <span
class="cmti-10x-x-109">kbd </span>is the name of the keyboard layout.
</p><!--l. 2436--><p class="noindent" >Example:
</p>
<div class="verbatim" id="verbatim-18">
keytab-lilo.pl de >/boot/de.ktl</div>
<!--l. 2439--><p class="nopar" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">4.6.2 </span> <a
id="x1-590004.6.2"></a>Using keyboard translation tables</h5>
<!--l. 2444--><p class="noindent" >The keyboard translation table file is specified with the global configuration option <span
class="cmtt-10x-x-109">keytable=</span><span
class="cmti-10x-x-109">table</span><span
class="cmti-10x-x-109">_file</span>. The
complete name of the file has to be given.
</p><!--l. 2448--><p class="noindent" >Example:
</p>
<div class="verbatim" id="verbatim-19">
keytable = /boot/de.klt</div>
<!--l. 2451--><p class="nopar" >
</p><!--l. 2454--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">5 </span> <a
id="x1-600005"></a>Installation and updates</h3>
<!--l. 2458--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.1 </span> <a
id="x1-610005.1"></a>Installation</h4>
<!--l. 2460--><p class="noindent" >This section describes the installation of LILO. See section <a
href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a> for how to uninstall LILO.
</p><!--l. 2464--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">5.1.1 </span> <a
id="x1-620005.1.1"></a>Compatibility</h5>
<!--l. 2466--><p class="noindent" >The kernel header files have to be in <span
class="cmtt-10x-x-109">/usr/include/linux </span>and the kernel usually has to be configured by
running <span
class="cmtt-10x-x-109">make config </span>before LILO can be compiled.
</p><!--l. 2470--><p class="noindent" ><span
class="cmtt-10x-x-109">/bin/sh </span>has to be a real Bourne shell. <span
class="cmss-10x-x-109">bash </span>is sufficiently compatible, but some <span
class="cmss-10x-x-109">ksh </span>clones may cause
problems.
</p><!--l. 2473--><p class="noindent" >A file named <span
class="cmtt-10x-x-109">INCOMPAT </span>is included in the distribution. It describes incompatibilities to older versions of
LILO and may also contain further compatibility notes.
</p><!--l. 2478--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">5.1.2 </span> <a
id="x1-630005.1.2"></a>Quick installation</h5>
<!--l. 2481--><p class="noindent" >If you want to install LILO on your hard disk and if you don’t want to use all its features, you can use the
quick installation script. Read <span
class="cmtt-10x-x-109">QuickInst </span>for details.
</p><!--l. 2485--><p class="noindent" ><span
class="cmss-10x-x-109">QuickInst </span>can only be used for first-time installations or to entirely replace an existing installation, <span
class="cmbx-10x-x-109">not </span>to
update or modify an existing installation of LILO. Be sure you’ve extracted LILO into a directory that
doesn’t contain any files of other LILO installations.
</p><!--l. 2492--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">5.1.3 </span> <a
id="x1-640005.1.3"></a>Files</h5>
<!--l. 2494--><p class="noindent" >Some of the files contained in <span
class="cmtt-10x-x-109">lilo-21.tar.gz</span>:
</p><!--l. 2496--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">lilo/README</span> </dt><dd
class="description"> <br
class="newline" />This documentation in plain ASCII format. Some sections containing complex tables are only
included in the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
class="E">E</span>X</span></span> version in <span
class="cmtt-10x-x-109">doc/user.tex</span>
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/INCOMPAT</span> </dt><dd
class="description"> <br
class="newline" />List of incompatibilities to previous versions of LILO.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/CHANGES</span> </dt><dd
class="description"> <br
class="newline" />Change history.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/VERSION</span> </dt><dd
class="description"> <br
class="newline" />The version number of the respective release.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/QuickInst</span> </dt><dd
class="description"> <br
class="newline" />Quick installation script.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/lilo-</span><span
class="cmti-10x-x-109">version</span><span
class="cmtt-10x-x-109">.lsm</span> </dt><dd
class="description"> <br
class="newline" />The LSM (“<span class="underline">L</span>inux <span class="underline">S</span>oftware <span class="underline">M</span>ap”) entry of the respective LILO release.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/Makefile</span> </dt><dd
class="description"> <br
class="newline" />Makefile to generate everything else.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/*.c</span><span
class="cmbx-10x-x-109">, </span><span
class="cmtt-10x-x-109">lilo/*.h</span> </dt><dd
class="description"> <br
class="newline" />LILO map installer C source and common header files.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/*.S</span> </dt><dd
class="description"> <br
class="newline" />LILO boot loader assembler source.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/activate.c</span> </dt><dd
class="description"> <br
class="newline" />C source of a simple boot partition setter.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/dparam.s</span> </dt><dd
class="description"> <br
class="newline" />Assembler source of a disk parameter dumper.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/mkdist</span> </dt><dd
class="description"> <br
class="newline" />Shell script used to create the current LILO distribution.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/keytab-lilo.pl</span> </dt><dd
class="description"> <br
class="newline" />Perl script to generate keyboard translation tables.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/doc/README</span> </dt><dd
class="description"> <br
class="newline" />Description of how to generate the documentation.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/doc/Makefile</span> </dt><dd
class="description"> <br
class="newline" />Makefile used to convert the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
class="E">E</span>X</span></span> source into either DVI output or the plain ASCII
README file.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/doc/user.tex</span> </dt><dd
class="description"> <br
class="newline" /><span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
class="E">E</span>X</span></span> source of LILO’s user’s guide (this document).
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/doc/tech.tex</span> </dt><dd
class="description"> <br
class="newline" /><span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
class="E">E</span>X</span></span> source of LILO’s technical overview.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/doc/*.fig</span> </dt><dd
class="description"> <br
class="newline" />Various <span
class="cmss-10x-x-109">xfig </span>pictures used in the technical overview.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/doc/fullpage.sty</span> </dt><dd
class="description"> <br
class="newline" />Style file to save a few square miles of forest.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/doc/rlatex</span> </dt><dd
class="description"> <br
class="newline" />Shell script that invokes <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
class="E">E</span>X</span></span> repeatedly until all references have settled.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/doc/t2a.pl</span> </dt><dd
class="description"> <br
class="newline" /><span
class="cmss-10x-x-109">Perl </span>script to convert the <span class="LATEX">L<span class="A">A</span><span class="TEX">T<span
class="E">E</span>X</span></span> source of the user’s guide to plain ASCII.</dd></dl>
<!--l. 2547--><p class="noindent" >Files created after <span
class="cmtt-10x-x-109">make </span>in <span
class="cmtt-10x-x-109">lilo/ </span>(among others):
</p><!--l. 2549--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">lilo/boot.b</span> </dt><dd
class="description"> <br
class="newline" />Combined boot sector. <span
class="cmtt-10x-x-109">make install </span>puts this file into <span
class="cmtt-10x-x-109">/boot</span>
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/chain.b</span> </dt><dd
class="description"> <br
class="newline" />Generic chain loader. <span
class="cmtt-10x-x-109">make install </span>puts this file into <span
class="cmtt-10x-x-109">/boot</span>
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/os2</span><span
class="cmtt-10x-x-109">_d.b</span> </dt><dd
class="description"> <br
class="newline" />Chain loader to load <span
class="cmss-10x-x-109">OS/2 </span>from the second hard disk. <span
class="cmtt-10x-x-109">make install </span>puts this file into <span
class="cmtt-10x-x-109">/boot</span>
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/lilo</span> </dt><dd
class="description"> <br
class="newline" />LILO (map) installer. <span
class="cmtt-10x-x-109">make install </span>puts this file into <span
class="cmtt-10x-x-109">/sbin</span>
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/activate</span> </dt><dd
class="description"> <br
class="newline" />Simple boot partition setter.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">lilo/dparam.com</span> </dt><dd
class="description"> <br
class="newline" />MS-DOS executable of the disk parameter dumper.</dd></dl>
<!--l. 2566--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">5.1.4 </span> <a
id="x1-650005.1.4"></a>Normal first-time installation</h5>
<!--l. 2569--><p class="noindent" >First, you have to install the LILO files:
</p>
<ul class="itemize1">
<li class="itemize">extract all files from <span
class="cmtt-10x-x-109">lilo-</span><span
class="cmti-10x-x-109">version</span><span
class="cmtt-10x-x-109">.tar.gz </span>in a new directory.<span class="footnote-mark"><a
href="user_21-523.html#fn27x0"><sup class="textsuperscript">27</sup></a></span><a
id="x1-65001f27"></a>
</li>
<li class="itemize">configure the <span
class="cmtt-10x-x-109">Makefile </span>(see section <a
href="#x1-660005.1.5">5.1.5<!--tex4ht:ref: cfgmf --></a>)
</li>
<li class="itemize">run <span
class="cmtt-10x-x-109">make </span>to compile and assemble all parts.
</li>
<li class="itemize">run <span
class="cmtt-10x-x-109">make install </span>to copy all LILO files to the directories where they’re installed. <span
class="cmtt-10x-x-109">/sbin</span>
should now contain the file <span
class="cmtt-10x-x-109">lilo</span>, <span
class="cmtt-10x-x-109">/usr/sbin </span>should contain <span
class="cmtt-10x-x-109">keytab-lilo.pl</span>, and <span
class="cmtt-10x-x-109">/boot </span>should
contain <span
class="cmtt-10x-x-109">boot.b</span>, <span
class="cmtt-10x-x-109">chain.b</span>, and <span
class="cmtt-10x-x-109">os2</span><span
class="cmtt-10x-x-109">_d.b</span>.</li></ul>
<!--l. 2584--><p class="noindent" >If you want to use LILO on a non-standard disk, you might have to determine the parameters of your
disk(s) and specify them in the configuration file. See section <a
href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a> for details. If you’re using
such a non-standard system, the next step is to test LILO with the boot sector on a floppy
disk:
</p>
<ul class="itemize1">
<li class="itemize">insert a blank (but low-level formatted) floppy disk into <span
class="cmtt-10x-x-109">/dev/fd0</span>.
</li>
<li class="itemize">run <span
class="cmtt-10x-x-109">echo image=</span><span
class="cmti-10x-x-109">kernel</span><span
class="cmti-10x-x-109">_image</span><span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109"> |</span></span></span><br
class="newline" /><span
class="cmtt-10x-x-109">/sbin/lilo -C - -b /dev/fd0 -v -v -v </span><br
class="newline" />If you’ve already installed LILO on your system, you might not want to overwrite your old
map file. Use the <span
class="cmtt-10x-x-109">-m </span>option to specify an alternate map file name.
</li>
<li class="itemize">reboot. LILO should now load its boot loaders from the floppy disk and then continue loading
the kernel from the hard disk.</li></ul>
<!--l. 2602--><p class="noindent" >Now, you have to decide, which boot concept you want to use. Let’s assume you have a Linux partition on
<span
class="cmtt-10x-x-109">/dev/hda2 </span>and you want to install your LILO boot sector there. The DOS-MBR loads the LILO boot
sector.
</p>
<ul class="itemize1">
<li class="itemize">get a working boot disk, e.g. an install or recovery disk. Verify that you can boot with this
setup and that you can mount your Linux partition(s) with it.
</li>
<li class="itemize">if the boot sector you want to overwrite with LILO is of any value (e.g. it’s the MBR or if
it contains a boot loader you might want to use if you encounter problems with LILO), you
should mount your boot disk and make a backup copy of your boot sector to a file on that
floppy, e.g. <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">dd</span><span
class="cmtt-10x-x-109"> if=/dev/hda</span><span
class="cmtt-10x-x-109"> of=/fd/boot_sector</span><span
class="cmtt-10x-x-109"> bs=512</span><span
class="cmtt-10x-x-109"> count=1</span></span></span>
</li>
<li class="itemize">create the configuration file <span
class="cmtt-10x-x-109">/etc/lilo.conf</span>, e.g. <br
class="newline" /><span
class="cmti-10x-x-109">global settings </span><br
class="newline" /><span
class="cmti-10x-x-109">image specification </span><br
class="newline" /><span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109"> </span><span
class="cmtt-10x-x-109"> </span></span></span><span
class="cmti-10x-x-109">per-image options </span><br
class="newline" /><span
class="cmmi-10x-x-109">…</span> <br
class="newline" />Be sure to use absolute paths for all files. Relative paths may cause unexpected behaviour when
using the <span
class="cmtt-10x-x-109">-r </span>option.
</li>
<li class="itemize">now, you can check what LILO would do if you were about to install it on your hard disk: <br
class="newline" /><span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">/sbin/lilo</span><span
class="cmtt-10x-x-109"> -v</span><span
class="cmtt-10x-x-109"> -v</span><span
class="cmtt-10x-x-109"> -v</span><span
class="cmtt-10x-x-109"> -t</span></span></span>
</li>
<li class="itemize">if you need some additional boot utility (i.e. <span
class="cmss-10x-x-109">BOOTACTV</span>), you should install that now
</li>
<li class="itemize">run <span
class="cmtt-10x-x-109">/sbin/lilo </span>to install LILO on your hard disk
</li>
<li class="itemize">if you have to change the active partition, use <span
class="cmss-10x-x-109">fdisk </span>or <span
class="cmss-10x-x-109">activate </span>to do that
</li>
<li class="itemize">reboot</li></ul>
<!--l. 2634--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">5.1.5 </span> <a
id="x1-660005.1.5"></a>Build-time configuration</h5>
<!--l. 2637--><p class="noindent" >Certain build-time parameters can be configured. They can either be edited in the top-level <span
class="cmtt-10x-x-109">Makefile </span>or
they can be stored in a file <span
class="cmtt-10x-x-109">/etc/lilo.defines</span>. Settings in the <span
class="cmtt-10x-x-109">Makefile </span>are ignored if that file
exists.
</p><!--l. 2642--><p class="noindent" >The following items can be configured:
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">BEEP</span> </dt><dd
class="description">Enables beeping after displaying “LILO”. This is useful on machines which don’t beep at the
right time when booting and when working over a serial console. This option is disabled by
default.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">IGNORECASE</span> </dt><dd
class="description">Makes image name matching case-insensitive, i.e. “linux” and “Linux” are identical.
This option is enabled by default. Note that password matching is always case-sensitive.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">LARGE</span><span
class="cmtt-10x-x-109">_EBDA</span> </dt><dd
class="description">Loads LILO at a lower address in order to leave more space for the EBDA (Extended
BIOS Data Area). This is necessary on some recent MP systems. Note that enabling <span
class="cmtt-10x-x-109">LARGE</span><span
class="cmtt-10x-x-109">_EBDA</span>
reduces the maximum size of “small” images (e.g. “Image” or “zImage”).
</dd><dt class="description">
<span
class="cmtt-10x-x-109">NO1STDIAG</span> </dt><dd
class="description">Do not generate diagnostics on read errors in the first stage boot loader. This avoids
possibly irritating error codes if the disk controller has transient read problems. This option is
disabled by default.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">NODRAIN</span> </dt><dd
class="description">The boot loader empties the keyboard buffer when starting, because it may contain garbage
on some systems. Draining the keyboard buffer can be disabled by setting the <span
class="cmtt-10x-x-109">NODRAIN </span>option.
<span
class="cmtt-10x-x-109">NODRAIN </span>is disabled by default.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">NOINSTDEF</span> </dt><dd
class="description">If the option <span
class="cmtt-10x-x-109">install </span>is omitted, don’t install a new boot sector, but try to modify the
old boot sector instead. This option is disabled by default.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">ONE</span><span
class="cmtt-10x-x-109">_SHOT</span> </dt><dd
class="description">Disables the command-line timeout (configuration variable <span
class="cmtt-10x-x-109">timeout</span>) if any key is pressed.
This way, very short timeouts can be used if <span
class="cmtt-10x-x-109">prompt </span>is set. <span
class="cmtt-10x-x-109">ONE</span><span
class="cmtt-10x-x-109">_SHOT </span>is disabled by default.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">READONLY</span> </dt><dd
class="description">Disallows overwriting the default command line sector of the map file. This way, command
lines set with <span
class="cmtt-10x-x-109">-R </span>stay in effect until they are explicitly removed. <span
class="cmtt-10x-x-109">READONLY </span>also disables <span
class="cmtt-10x-x-109">lock</span>,
<span
class="cmtt-10x-x-109">fallback</span>, and everything enabled by <span
class="cmtt-10x-x-109">REWRITE</span><span
class="cmtt-10x-x-109">_TABLE</span>. This option is disabled by default.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">REWRITE</span><span
class="cmtt-10x-x-109">_TABLE</span> </dt><dd
class="description">Enables rewriting the partition table at boot time. This may be necessary to boot
certain operating systems who expect the active flag to be set on their partition or who need
changes in partition types. See also section <a
href="#x1-530004.5">4.5<!--tex4ht:ref: ptman --></a>. This option is <span
class="cmbx-10x-x-109">dangerous </span>and it is disabled by
default.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">USE</span><span
class="cmtt-10x-x-109">_TMPDIR</span> </dt><dd
class="description">Use the directory indicated in the <span
class="cmtt-10x-x-109">TMPDIR </span>environment variable when creating temporary
device files. If <span
class="cmtt-10x-x-109">TMPDIR </span>is not set or if LILO is compiled without <span
class="cmtt-10x-x-109">USE</span><span
class="cmtt-10x-x-109">_TMPDIR</span>, temporary device
files are created in <span
class="cmtt-10x-x-109">/tmp</span>.<span class="footnote-mark"><a
href="user_21-524.html#fn28x0"><sup class="textsuperscript">28</sup></a></span><a
id="x1-66001f28"></a>
This option is disabled by default.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">VARSETUP</span> </dt><dd
class="description">Enables the use of variable-size setup segments. This option is enabled by default and is
only provided to fall back to fixed-size setup segments in the unlikely case of problems when
using prehistoric kernels.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">XL</span><span
class="cmtt-10x-x-109">_SECS=</span><span
class="cmti-10x-x-109">sectors</span> </dt><dd
class="description">Enable support for extra large (non-standard) floppy disks. The number of sectors
is set in the BIOS disk parameter table to the specified value. Note that this hack may yield
incorrect behaviour on some systems. This option is disabled by default.</dd></dl>
<!--l. 2701--><p class="noindent" ><span
class="cmtt-10x-x-109">/etc/lilo.defines </span>should be used if one wishes to make permanent configuration changes. The usual
installation procedures don’t touch that file. Example:
</p>
<div class="verbatim" id="verbatim-20">
-DIGNORECASE -DONE_SHOT</div>
<!--l. 2707--><p class="nopar" >
</p><!--l. 2709--><p class="noindent" >After changing the build-time configuration, LILO has to be recompiled with the following
commands:
</p>
<div class="verbatim" id="verbatim-21">
make spotless
 <br />make</div>
<!--l. 2715--><p class="nopar" >
</p><!--l. 2718--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">5.1.6 </span> <a
id="x1-670005.1.6"></a>Floppy disk installation</h5>
<!--l. 2720--><p class="noindent" >In some cases<span class="footnote-mark"><a
href="user_21-525.html#fn29x0"><sup class="textsuperscript">29</sup></a></span><a
id="x1-67001f29"></a>,
it may be desirable to install LILO on a floppy disk in a way that it can boot a kernel without accessing the
hard disk.
</p><!--l. 2724--><p class="noindent" >The basic procedure is quite straightforward (see also section <a
href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a>): </p>
<ul class="itemize1">
<li class="itemize">a file system has to be created on the file system
</li>
<li class="itemize">the kernel and <span
class="cmtt-10x-x-109">boot.b </span>have to be copied to the floppy disk
</li>
<li class="itemize"><span
class="cmtt-10x-x-109">/sbin/lilo </span>has to be run to create the map file</li></ul>
<!--l. 2731--><p class="noindent" >This can be as easy as
</p>
<div class="verbatim" id="verbatim-22">
/sbin/mke2fs /dev/fd0
 <br />[ -d /fd ] || mkdir /fd
 <br />mount /dev/fd0 /fd
 <br />cp /boot/boot.b /fd
 <br />cp /zImage /fd
 <br />echo image=/fd/zImage label=linux |
 <br />  /sbin/lilo -C - -b /dev/fd0 -i /fd/boot.b -c -m /fd/map
 <br />umount /fd</div>
<!--l. 2741--><p class="nopar" >
</p><!--l. 2743--><p class="noindent" >The command line of <span
class="cmtt-10x-x-109">/sbin/lilo </span>is a little tricky. <span
class="cmtt-10x-x-109">-C - </span>takes the configuration from standard input
(naturally, one could also write the configuration into a file), <span
class="cmtt-10x-x-109">-b /dev/fd0 </span>specifies that the boot
sector is written to the floppy disk, <span
class="cmtt-10x-x-109">-i /fd/boot.b </span>takes the first and second stage loaders from
the floppy, <span
class="cmtt-10x-x-109">-c </span>speeds up the load process, and <span
class="cmtt-10x-x-109">-m /fd/map </span>puts the map file on the floppy
too.
</p>
<h4 class="subsectionHead"><span class="titlemark">5.2 </span> <a
id="x1-680005.2"></a>Updates</h4>
<!--l. 2753--><p class="noindent" >LILO is affected by updates of kernels, the whole system and (trivially) of LILO itself. Typically, only
<span
class="cmtt-10x-x-109">/sbin/lilo </span>has to be run after any of those updates and everything will be well again (at least as far as
LILO is concerned).
</p><!--l. 2759--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">5.2.1 </span> <a
id="x1-690005.2.1"></a>LILO update</h5>
<!--l. 2762--><p class="noindent" >Before updating to a new version of LILO, you should read at least the file <span
class="cmtt-10x-x-109">INCOMPAT </span>which describes
incompatibilities with previous releases.
</p><!--l. 2766--><p class="noindent" >After that, the initial steps are the same as for a first time installation: extract all files, configure the
<span
class="cmtt-10x-x-109">Makefile</span>, run <span
class="cmtt-10x-x-109">make </span>to build the executables and run <span
class="cmtt-10x-x-109">make install </span>to install the files.
</p><!--l. 2771--><p class="noindent" >The old versions of <span
class="cmtt-10x-x-109">boot.b</span>, <span
class="cmtt-10x-x-109">chain.b</span>, etc. are automatically renamed to <span
class="cmtt-10x-x-109">boot.old</span>, <span
class="cmtt-10x-x-109">chain.old</span>, etc. This is
done to ensure that you can boot even if the installation procedure does not finish. <span
class="cmtt-10x-x-109">boot.old</span>, <span
class="cmtt-10x-x-109">chain.old</span>,
etc. can be deleted after the map file is rebuilt.
</p><!--l. 2777--><p class="noindent" >Because the locations of <span
class="cmtt-10x-x-109">boot.b</span>, <span
class="cmtt-10x-x-109">chain.b</span>, etc. have changed and because the map file format may be
different too, you have to update the boot sector and the map file. Run <span
class="cmtt-10x-x-109">/sbin/lilo </span>to do
this.
</p><!--l. 2782--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">5.2.2 </span> <a
id="x1-700005.2.2"></a>Kernel update</h5>
<!--l. 2785--><p class="noindent" >Whenever any of the kernel files that are accessed by LILO is moved or overwritten, the map has to be
re-built.<span class="footnote-mark"><a
href="user_21-526.html#fn30x0"><sup class="textsuperscript">30</sup></a></span><a
id="x1-70001f30"></a>
Run <span
class="cmtt-10x-x-109">/sbin/lilo </span>to do this.
</p><!--l. 2791--><p class="noindent" >The kernel has a make target “zlilo” that copies the kernel to <span
class="cmtt-10x-x-109">/vmlinuz </span>and runs <span
class="cmtt-10x-x-109">/sbin/lilo</span>.
</p>
<h5 class="subsubsectionHead"><span class="titlemark">5.2.3 </span> <a
id="x1-710005.2.3"></a>System upgrade</h5>
<!--l. 2797--><p class="noindent" >Normally, system upgrades (i.e. installation or removal of packages, possibly replacement of a large part of
the installed binaries) do not affect LILO. Of course, if a new kernel is installed in the process, the normal
kernel update procedure has to be followed (see section <a
href="#x1-700005.2.2">5.2.2<!--tex4ht:ref: kernupd --></a>). Also, if kernels are removed or added, it may
be necessary to update the configuration file.
</p><!--l. 2804--><p class="noindent" >If LILO is updated by this system upgrade, <span
class="cmtt-10x-x-109">/sbin/lilo </span>should be run before booting the upgraded system.
It is generally a good idea not to rely on the upgrade procedure to perform this essential step
automatically.
</p><!--l. 2808--><p class="noindent" >However, system upgrades which involve removal and re-creation of entire partitions (e.g. <span
class="cmtt-10x-x-109">/</span>, <span
class="cmtt-10x-x-109">/usr</span>, etc.) are
different. First, they should be avoided, because they bear a high risk of losing other critical files, e.g. the
<span
class="cmtt-10x-x-109">/etc/XF86Config </span>you’ve spent the last week fiddling with. If an upgrade really has to be performed in such
a brute-force way, this is equal with total removal of LILO, followed by a new installation. Therefore, the
procedures described in the sections <a
href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a> and <a
href="#x1-690005.2.1">5.2.1<!--tex4ht:ref: liloupd --></a> have to be performed. If you’ve forgotten to make a
backup copy of <span
class="cmtt-10x-x-109">/etc/lilo.conf </span>before the destructive upgrade, you might also have to go through section
<a
href="#x1-650005.1.4">5.1.4<!--tex4ht:ref: install --></a> again.
</p><!--l. 2820--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">5.3 </span> <a
id="x1-720005.3"></a>LILO de-installation</h4>
<!--l. 2823--><p class="noindent" >In order to stop LILO from being invoked when the system boots, its boot sector has to be either removed
or disabled. All other files belonging to LILO can be deleted <span
class="cmbx-10x-x-109">after </span>removing the boot sector, if
desired.<span class="footnote-mark"><a
href="user_21-527.html#fn31x0"><sup class="textsuperscript">31</sup></a></span><a
id="x1-72001f31"></a>
</p><!--l. 2830--><p class="noindent" >Again, <span
class="cmbx-10x-x-109">when removing Linux, LILO</span><span
class="cmbx-10x-x-109"> must be de-installed before (!) its files (</span><span
class="cmtt-10x-x-109">/boot</span><span
class="cmbx-10x-x-109">, etc.) are</span>
<span
class="cmbx-10x-x-109">deleted. </span>This is especially important if LILO is operating as the MBR.
</p><!--l. 2834--><p class="noindent" >LILO 14 (and newer) can be de-installed with <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">lilo</span><span
class="cmtt-10x-x-109"> -u</span></span></span>. If LILO 14 or newer is currently installed, but the
first version of LILO installed was older than 14, <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">lilo</span><span
class="cmtt-10x-x-109"> -U</span></span></span> may work. When using <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">-U</span></span></span>, the warning at the
end of this section applies.
</p><!--l. 2839--><p class="noindent" >If LILO’s boot sector has been installed on a primary partition and is booted by the “standard” MBR or
some partition switcher program, it can be disabled by making a different partition active. MS-DOS’
FDISK, Linux <span
class="cmss-10x-x-109">fdisk </span>or LILO’s <span
class="cmss-10x-x-109">activate </span>can do that.
</p><!--l. 2844--><p class="noindent" >If LILO’s boot sector is the master boot record (MBR) of a disk, it has to be replaced with a different
MBR, typically MS-DOS’ “standard” MBR. When using MS-DOS 5.0 or above, the MS-DOS
MBR can be restored with <span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">FDISK</span><span
class="cmtt-10x-x-109"> /MBR</span></span></span>. This only alters the boot loader code, not the partition
table.
</p><!--l. 2850--><p class="noindent" >LILO automatically makes backup copies when it overwrites boot sectors. They are named
<br
class="newline" /><span
class="cmtt-10x-x-109">/boot/boot.</span><span
class="cmti-10x-x-109">nnnn</span>, with <span
class="cmti-10x-x-109">nnnn </span>corresponding to the device number, e.g. <span
class="cmtt-10x-x-109">0300 </span>is <span
class="cmtt-10x-x-109">/dev/hda</span>, <span
class="cmtt-10x-x-109">0800 </span>is
<span
class="cmtt-10x-x-109">/dev/sda</span>, etc. Those backups can be used to restore the old MBR if no easier method is available. The
commands are <br
class="newline" /><span
class="cmtt-10x-x-109">dd if=/boot/boot.0300 of=/dev/hda bs=446 count=1 </span>or <br
class="newline" /><span
class="cmtt-10x-x-109">dd if=/boot/boot.0800 of=/dev/sda bs=446 count=1 </span><br
class="newline" />respectively.
</p><!--l. 2860--><p class="noindent" ><span
class="cmbx-10x-x-109">WARNING: </span>Some Linux distributions install <span
class="cmtt-10x-x-109">boot.</span><span
class="cmti-10x-x-109">nnnn </span>files from the system where the distribution was
created. Using those files may yield unpredictable results. Therefore, the file creation date should be
carefully checked.
</p>
<h4 class="subsectionHead"><span class="titlemark">5.4 </span> <a
id="x1-730005.4"></a>Installation of other operating systems</h4>
<!--l. 2870--><p class="noindent" >Some other operating systems (e.g. MS-DOS 6.0) appear to modify the MBR in their install procedures. It
is therefore possible that LILO will stop to work after such an installation and Linux has to be
booted from floppy disk. The original state can be restored by either re-running <span
class="cmtt-10x-x-109">/sbin/lilo </span>(if
LILO is installed as the MBR) or by making LILO’s partition active (if it’s installed on a primary
partition).
</p><!--l. 2877--><p class="noindent" >It is generally a good idea to install LILO after the other operating systems have been installed. E.g. OS/2
is said to cause trouble when attempting to add it to an existing Linux system. (However, booting from
floppy and running <span
class="cmtt-10x-x-109">/sbin/lilo </span>should get around most interferences.)
</p><!--l. 2883--><p class="noindent" >Typically, the new operating system then has to be added to LILO’s configuration (and <span
class="cmtt-10x-x-109">/sbin/lilo </span>has to
be re-run) in order to boot it.
</p><!--l. 2887--><p class="noindent" >See also section <a
href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a> for a list of known problems with some other operating systems.
</p><!--l. 2891--><p class="noindent" >
</p>
<h3 class="sectionHead"><span class="titlemark">6 </span> <a
id="x1-740006"></a>Troubleshooting</h3>
<!--l. 2894--><p class="noindent" >All parts of LILO display some messages that can be used to diagnose problems.
</p><!--l. 2898--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">6.1 </span> <a
id="x1-750006.1"></a>Map installer warnings and errors</h4>
<!--l. 2900--><p class="noindent" >Most messages of the map installer (<span
class="cmtt-10x-x-109">/sbin/lilo</span>) should be self-explanatory. Some messages that indicate
common errors are listed below. They are grouped into fatal errors and warnings (non-fatal
errors).
</p><!--l. 2906--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">6.1.1 </span> <a
id="x1-760006.1.1"></a>Fatal errors</h5>
<!--l. 2908--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">Boot sector of </span><span
class="cmti-10x-x-109">device</span><span
class="cmti-10x-x-109">_name </span><span
class="cmtt-10x-x-109">doesn’t have a boot signature</span> </dt><dd
class="description">
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Boot sector of </span><span
class="cmti-10x-x-109">device</span><span
class="cmti-10x-x-109">_name </span><span
class="cmtt-10x-x-109">doesn’t have a LILO signature</span> </dt><dd
class="description"> <br
class="newline" />The sector from which LILO should be uninstalled doesn’t appear to be a LILO boot sector.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Can’t put the boot sector on logical partition </span><span
class="cmti-10x-x-109">number</span> </dt><dd
class="description"> <br
class="newline" />An attempt has been made to put LILO’s boot sector on the current root file system partition
which is on a logical partition. This usually doesn’t have the desired effect, because common
MBRs can only boot primary partitions. This check can be bypassed by explicitly specifying
the boot partition with the <span
class="cmtt-10x-x-109">-b </span>option or by setting the configuration variable <span
class="cmtt-10x-x-109">boot</span>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Checksum error</span> </dt><dd
class="description"> <br
class="newline" />The descriptor table of the map file has an invalid checksum. Refresh the map file <span
class="cmbx-10x-x-109">immediately</span>
!
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Device 0x</span><span
class="cmti-10x-x-109">number</span><span
class="cmtt-10x-x-109">: Configured as inaccessible.</span> </dt><dd
class="description"> <br
class="newline" />There is a <span
class="cmtt-10x-x-109">disk </span>section entry indicating that the device is inaccessible from the BIOS. You
should check carefully that all files LILO tries to access when booting are on the right device.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Device 0x</span><span
class="cmti-10x-x-109">number</span><span
class="cmtt-10x-x-109">: Got bad geometry </span><span
class="cmti-10x-x-109">sec</span><span
class="cmtt-10x-x-109">/</span><span
class="cmti-10x-x-109">hd</span><span
class="cmtt-10x-x-109">/</span><span
class="cmti-10x-x-109">cyl</span> </dt><dd
class="description"> <br
class="newline" />The device driver for your SCSI controller does not support geometry detection. You have to
specify the geometry explicitly (see section <a
href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>).
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Device 0x</span><span
class="cmti-10x-x-109">number</span><span
class="cmtt-10x-x-109">: Invalid partition table, entry </span><span
class="cmti-10x-x-109">number</span> </dt><dd
class="description"> <br
class="newline" />The 3D and linear addresses of the first sector of the specified partition don’t correspond. This
is typically caused by partitioning a disk with a program that doesn’t align partitions to tracks
and later using PC/MS-DOS or OS/2 on that disk. LILO can attempt to correct the problem,
see page <span class="pageref"><a
href="#x1-430004.2.2"><span
class="tcrm-1095">§</span></a></span>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Device 0x</span><span
class="cmti-10x-x-109">number</span><span
class="cmtt-10x-x-109">: Partition type 0x</span><span
class="cmti-10x-x-109">number</span> </dt><dd
class="description"> <br
class="newline" /><span
class="cmtt-10x-x-109">does not seem suitable for a LILO boot sector</span> <br
class="newline" />The location where the LILO boot sector should be placed does not seem to be suitable for
that. (See also also section <a
href="#x1-60002.1">2.1<!--tex4ht:ref: diskorg --></a>). You should either adjust the partition type to reflect the actual
use or put the boot sector on a different partition. This consistency check only yields a warning
(i.e. LILO continues) if the option <span
class="cmtt-10x-x-109">ignore-table </span>is set.
</dd><dt class="description">
<span
class="cmti-10x-x-109">device</span><span
class="cmti-10x-x-109">_name </span><span
class="cmtt-10x-x-109">is not a valid partition device</span> </dt><dd
class="description"> <br
class="newline" />The specified device is either not a device at all, a whole disk, or a partition on a different disk
than the one in whose section its entry appears.
</dd><dt class="description">
<span
class="cmti-10x-x-109">device</span><span
class="cmti-10x-x-109">_name </span><span
class="cmtt-10x-x-109">is not a whole disk device</span> </dt><dd
class="description"> <br
class="newline" />Only the geometry of whole disks (e.g. <span
class="cmtt-10x-x-109">/dev/hda</span>, <span
class="cmtt-10x-x-109">/dev/sdb</span>, etc.) can be redefined when using
<span
class="cmtt-10x-x-109">disk </span>sections.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">DISKTAB and DISK are mutually exclusive</span> </dt><dd
class="description"> <br
class="newline" />You cannot use a <span
class="cmtt-10x-x-109">disktab </span>file and disk geometry definitions in the configuration file at
the same time. Maybe <span
class="cmtt-10x-x-109">/etc/disktab </span>was accidentally used, because that’s the default for
backward-compatibility. You should delete <span
class="cmtt-10x-x-109">/etc/disktab </span>after completing the transition to
<span
class="cmtt-10x-x-109">disk </span>sections.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Duplicate entry in partition table</span> </dt><dd
class="description"> <br
class="newline" />A partition table entry appears twice. The partition table has to be fixed with <span
class="cmss-10x-x-109">fdisk</span>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Duplicate geometry definition for </span><span
class="cmti-10x-x-109">device</span><span
class="cmti-10x-x-109">_name</span> </dt><dd
class="description"> <br
class="newline" />A disk or partition geometry definition entry for the same device appears twice in the
configuration file. Note that you mustn’t write a partition section for the whole disk — its start
sector is always the first sector of the disk.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">First sector of </span><span
class="cmti-10x-x-109">device </span><span
class="cmtt-10x-x-109">doesn’t have a valid boot signature</span> </dt><dd
class="description"> <br
class="newline" />The first sector of the specified device does not appear to be a valid boot sector. You might have
confused the device name.<span class="footnote-mark"><a
href="user_21-528.html#fn32x0"><sup class="textsuperscript">32</sup></a></span><a
id="x1-76001f32"></a>
</dd><dt class="description">
<span
class="cmtt-10x-x-109">geo</span><span
class="cmtt-10x-x-109">_comp</span><span
class="cmtt-10x-x-109">_addr: Cylinder </span><span
class="cmti-10x-x-109">number </span><span
class="cmtt-10x-x-109">beyond end of media (</span><span
class="cmti-10x-x-109">number</span><span
class="cmtt-10x-x-109">)</span> </dt><dd
class="description"> <br
class="newline" />A file block appears to be located beyond the last cylinder of the disk. This probably indicates
an error in the disk geometry specification (see section <a
href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>) or a file system corruption.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">geo</span><span
class="cmtt-10x-x-109">_comp</span><span
class="cmtt-10x-x-109">_addr: Cylinder number is too big (</span><span
class="cmti-10x-x-109">number </span><span
class="cmmi-10x-x-109">> </span><span
class="cmtt-10x-x-109">1023)</span> </dt><dd
class="description"> <br
class="newline" />Blocks of a file are located beyond the 1024th cylinder of a hard disk. LILO can’t access such
files, because the BIOS limits cylinder numbers to the range 0<span
class="cmmi-10x-x-109">…</span>1023. Try moving the file to a
different place, preferably a partition that is entirely within the first 1024 cylinders of the disk.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Hole found in map file (</span><span
class="cmti-10x-x-109">location</span><span
class="cmtt-10x-x-109">)</span> </dt><dd
class="description"> <br
class="newline" />The map installer is confused about the disk organization. Please report this error.
</dd><dt class="description">
<span
class="cmti-10x-x-109">item </span><span
class="cmtt-10x-x-109">doesn’t have a valid LILO signature</span> </dt><dd
class="description"> <br
class="newline" />The specified item has been located, but is not part of LILO.
</dd><dt class="description">
<span
class="cmti-10x-x-109">item </span><span
class="cmtt-10x-x-109">has an invalid stage code (</span><span
class="cmti-10x-x-109">number</span><span
class="cmtt-10x-x-109">)</span> </dt><dd
class="description"> <br
class="newline" />The specified item has probably been corrupted. Try re-building LILO.
</dd><dt class="description">
<span
class="cmti-10x-x-109">item </span><span
class="cmtt-10x-x-109">is version </span><span
class="cmti-10x-x-109">number</span><span
class="cmtt-10x-x-109">. Expecting version</span><span
class="cmti-10x-x-109">number</span><span
class="cmtt-10x-x-109">.</span> </dt><dd
class="description"> <br
class="newline" />The specified entity is either too old or too new. Make sure all parts of LILO (map installer,
boot loaders and chain loaders) are from the same distribution. <span class="footnote-mark"><a
href="#fn33x0"><sup class="textsuperscript">33</sup></a></span><a
id="x1-76002f33"></a>
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Kernel </span><span
class="cmti-10x-x-109">name </span><span
class="cmtt-10x-x-109">is too big</span> </dt><dd
class="description"> <br
class="newline" />The kernel image (without the setup code) is bigger than 512 kbytes (or 448 kbytes, if built with
<span
class="cmtt-10x-x-109">LARGE</span><span
class="cmtt-10x-x-109">_EBDA</span>). LILO would overwrite itself when trying to load such a kernel. This limitation
only applies to old kernels which are loaded below 0x10000 (e.g. “Image” or “zImage”). Try
building the kernel with “bzImage”. If this is undesirable for some reason, try removing some
unused drivers and compiling the kernel again. This error may also occur if the kernel image is
damaged or if it contains trailing “junk”, e.g. as the result of copying an entire boot floppy to
the hard disk.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">LOCK and FALLBACK are mutually exclusive</span> </dt><dd
class="description"> <br
class="newline" />Since <span
class="cmtt-10x-x-109">lock </span>and <span
class="cmtt-10x-x-109">fallback </span>both change the default command line, they can’t be reasonably used
together.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Map </span><span
class="cmti-10x-x-109">path </span><span
class="cmtt-10x-x-109">is not a regular file.</span> </dt><dd
class="description"> <br
class="newline" />This is probably the result of an attempt to omit writing a map file, e.g. with <span
class="cmtt-10x-x-109">-m /dev/null</span>.
The <span
class="cmtt-10x-x-109">-t </span>option should be used to accomplish this.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Must specify SECTORS and HEADS together</span> </dt><dd
class="description"> <br
class="newline" />It is assumed that disks with a “strange” number of sectors will also have a “strange” number
of heads. Therefore, it’s all or nothing.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">No geometry variables allowed if INACCESSIBLE</span> </dt><dd
class="description"> <br
class="newline" />If a device is configured as <span
class="cmtt-10x-x-109">inaccessible </span>(see section <a
href="#x1-520004.4.2">4.4.2<!--tex4ht:ref: diskspec --></a>), its <span
class="cmtt-10x-x-109">disk </span>section must not contain
any geometry variables.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">No image </span><span
class="cmti-10x-x-109">image </span><span
class="cmtt-10x-x-109">is defined</span> </dt><dd
class="description"> <br
class="newline" />The command line specified either with the <span
class="cmtt-10x-x-109">-R </span>option or with <span
class="cmtt-10x-x-109">fallback </span>does not contain the
name of a valid image. Note that optional images which have not been included in the map file
are not considered as valid.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Partition entry not found</span> </dt><dd
class="description"> <br
class="newline" />The partition from which an other operating system should be booted isn’t listed in the specified
partition table. This either means that an incorrect partition table has been specified or that
you’re trying to boot from a logical partition. The latter usually doesn’t work. You can bypass
this check by omitting the partition table specification (e.g. omitting the variable <span
class="cmtt-10x-x-109">table</span>).
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Single-key clash: "</span><span
class="cmti-10x-x-109">name</span><span
class="cmtt-10x-x-109">" vs. "</span><span
class="cmti-10x-x-109">name</span><span
class="cmtt-10x-x-109">"</span> </dt><dd
class="description"> <br
class="newline" />The specified image labels or aliases conflict because one of them is a single character and has
the <span
class="cmtt-10x-x-109">single-key </span>option set, and the other name begins with that character.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Sorry, don’t know how to handle device </span><span
class="cmti-10x-x-109">number</span> </dt><dd
class="description"> <br
class="newline" />LILO uses files that are located on a device for which there is no easy way to determine the
disk geometry. Such devices have to be explicitly described, see section <a
href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">This LILO is compiled READONLY and doesn’t support</span> <span
class="cmmi-10x-x-109">…</span> </dt><dd
class="description"> <br
class="newline" />If LILO is not allowed to write to the disk at boot time (see section <a
href="#x1-660005.1.5">5.1.5<!--tex4ht:ref: cfgmf --></a>), options like <span
class="cmtt-10x-x-109">lock</span>
and <span
class="cmtt-10x-x-109">fallback </span>are unavailable.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">This LILO is compiled without REWRITE</span><span
class="cmtt-10x-x-109">_TABLE and doesn’t support</span> <span
class="cmmi-10x-x-109">…</span> </dt><dd
class="description"> <br
class="newline" />If LILO is not allowed to rewrite partition tables at boot time (see section <a
href="#x1-530004.5">4.5<!--tex4ht:ref: ptman --></a>), options like
<span
class="cmtt-10x-x-109">activate </span>and <span
class="cmtt-10x-x-109">set </span>(in a <span
class="cmtt-10x-x-109">change </span>section) are unavailable. You may also get this error if LILO is
compiled with <span
class="cmtt-10x-x-109">READONLY </span>enabled.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Timestamp in boot sector of </span><span
class="cmti-10x-x-109">device </span><span
class="cmtt-10x-x-109">differs from date of </span><span
class="cmti-10x-x-109">file</span> </dt><dd
class="description"> <br
class="newline" />The backup copy of the boot sector does not appear to be an ancestor of the current boot
sector. If you are absolutely sure that the boot sector is indeed correct, you can bypass this
check by using <span
class="cmtt-10x-x-109">-U </span>instead of <span
class="cmtt-10x-x-109">-u</span>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Trying to map files from unnamed device 0x</span><span
class="cmti-10x-x-109">number </span><span
class="cmtt-10x-x-109">(NFS ?)</span> </dt><dd
class="description"> <br
class="newline" />This is probably the same problem as described below, only with the root file system residing
on NFS.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Trying to map files from your RAM disk.</span> </dt><dd
class="description"> <br
class="newline" /><span
class="cmtt-10x-x-109">Please check -r option or ROOT environment variable.</span> <br
class="newline" />Most likely, you or some installation script is trying to invoke LILO in a way that some of the
files is has to access reside on the RAM disk. Normally, the <span
class="cmtt-10x-x-109">ROOT </span>environment variable should
be set to the mount point of the effective root device if installing LILO with a different root
directory. See also sections <a
href="#x1-350004.1.2">4.1.2<!--tex4ht:ref: creupd --></a> and <a
href="#x1-650005.1.4">5.1.4<!--tex4ht:ref: install --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">VGA mode presetting is not supported by your kernel.</span> </dt><dd
class="description"> <br
class="newline" />Your kernel sources appear to be very old (’93 ?). LILO may work on your system if you remove
the <span
class="cmtt-10x-x-109">vga </span>option.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">write </span><span
class="cmti-10x-x-109">item</span><span
class="cmtt-10x-x-109">: </span><span
class="cmti-10x-x-109">error</span><span
class="cmti-10x-x-109">_reason</span> </dt><dd
class="description"> <br
class="newline" />The disk is probably full or mounted read-only.</dd></dl>
<!--l. 3087--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">6.1.2 </span> <a
id="x1-770006.1.2"></a>Warnings</h5>
<!--l. 3090--><p class="noindent" >Messages labeled with “Warning” can be turned off with the <span
class="cmtt-10x-x-109">nowarn </span>option.
</p><!--l. 3093--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">FIGETBSZ </span><span
class="cmti-10x-x-109">file</span><span
class="cmti-10x-x-109">_name</span><span
class="cmtt-10x-x-109">: </span><span
class="cmti-10x-x-109">error</span><span
class="cmti-10x-x-109">_reason</span> </dt><dd
class="description"> <br
class="newline" />The map installer is unable to determine the block size of a file system. It assumes a block size
of two sectors (1kB).
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Ignoring entry ’</span><span
class="cmti-10x-x-109">variable</span><span
class="cmti-10x-x-109">_name</span><span
class="cmtt-10x-x-109">’</span> </dt><dd
class="description"> <br
class="newline" />The command-line option corresponding to the specified variable is set. Therefore, the
configuration file entry is ignored.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Setting DELAY to 20 (2 seconds)</span> </dt><dd
class="description"> <br
class="newline" />Because accidentally booting the wrong kernel or operating system may be very inconvenient
on systems that are not run from a local display, the minimum delay is two seconds if the
<span
class="cmtt-10x-x-109">serial </span>variable is set.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">(temp) </span><span
class="cmti-10x-x-109">item</span><span
class="cmtt-10x-x-109">: </span><span
class="cmti-10x-x-109">error</span><span
class="cmti-10x-x-109">_reason</span> </dt><dd
class="description"> <br
class="newline" />Deleting a temporary file has failed for the specified reason.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Warning: BIOS drive 0x</span><span
class="cmti-10x-x-109">number </span><span
class="cmtt-10x-x-109">may not be accessible</span> </dt><dd
class="description"> <br
class="newline" />Because most BIOS versions only support two floppies and two hard disks, files located on
additional disks may be inaccessible. This warning indicates that some kernels or even the
whole system may be unbootable.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Warning: COMPACT may conflict with LINEAR on some systems</span> </dt><dd
class="description"> <br
class="newline" />Please see section <a
href="#x1-810006.3">6.3<!--tex4ht:ref: othpro --></a> for a description of this problem.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Warning: </span><span
class="cmti-10x-x-109">config</span><span
class="cmti-10x-x-109">_file </span><span
class="cmtt-10x-x-109">should be owned by root</span> </dt><dd
class="description"> <br
class="newline" />In order to prevent users from compromising system integrity, the configuration file should be
owned by root and write access for all other users should be disabled.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Warning: </span><span
class="cmti-10x-x-109">config</span><span
class="cmti-10x-x-109">_file </span><span
class="cmtt-10x-x-109">should be readable only for root if using PASSWORD</span> </dt><dd
class="description"> <br
class="newline" />Users should not be allowed to read the configuration file when using the <span
class="cmtt-10x-x-109">password </span>option,
because then, it contains unencrypted passwords.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Warning: </span><span
class="cmti-10x-x-109">config</span><span
class="cmti-10x-x-109">_file </span><span
class="cmtt-10x-x-109">should be writable only for root</span> </dt><dd
class="description"> <br
class="newline" />See “<span
class="cmtt-10x-x-109">Warning: </span><span
class="cmti-10x-x-109">config</span><span
class="cmti-10x-x-109">_file </span><span
class="cmtt-10x-x-109">should be owned by root</span>”.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Warning: device 0x</span><span
class="cmti-10x-x-109">number </span><span
class="cmtt-10x-x-109">exceeds 1024 cylinder limit</span> </dt><dd
class="description"> <br
class="newline" />A disk or partition exceeds the 1024 cylinder limit imposed by the BIOS. This may result in
a fatal error in the current installation run or in later installation runs. See “<span
class="cmtt-10x-x-109">geo</span><span
class="cmtt-10x-x-109">_comp</span><span
class="cmtt-10x-x-109">_addr:</span>
<span
class="cmtt-10x-x-109">Cylinder number is too big (</span><span
class="cmti-10x-x-109">number </span><span
class="cmmi-10x-x-109">> </span><span
class="cmtt-10x-x-109">1023)</span>” for details.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">Warning: </span><span
class="cmti-10x-x-109">device </span><span
class="cmtt-10x-x-109">is not on the first disk</span> </dt><dd
class="description"> <br
class="newline" />The specified partition is probably not on the first disk. LILO’s boot sector can only be booted
from the first disk unless some special boot manager is used.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">WARNING: The system is unbootable !</span> </dt><dd
class="description"> <br
class="newline" />One of the last installation steps has failed. This warning is typically followed by a fatal error
describing the problem.</dd></dl>
<!--l. 3137--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">6.2 </span> <a
id="x1-780006.2"></a>Boot loader messages</h4>
<!--l. 3139--><p class="noindent" >The boot loader generates three types of messages: progress and error messages while it is loading, messages
indicating disk access errors, and error messages in response to invalid command-line input.
Since messages of the latter type are usually self-explanatory, only the two other categories are
explained.
</p><!--l. 3146--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">6.2.1 </span> <a
id="x1-790006.2.1"></a>LILO start message</h5>
<!--l. 3148--><p class="noindent" >When LILO loads itself, it displays the word “LILO”. Each letter is printed before or after performing some
specific action. If LILO fails at some point, the letters printed so far can be used to identify the problem.
This is described in more detail in the technical overview.
</p><!--l. 3153--><p class="noindent" >Note that some hex digits may be inserted after the first “L” if a transient disk problem occurs. Unless
LILO stops at that point, generating an endless stream of error codes, such hex digits do not indicate a
severe problem.
</p><!--l. 3158--><p class="noindent" >
</p><dl class="description"><dt class="description">
(<span
class="cmti-10x-x-109">nothing</span>) </dt><dd
class="description">No part of LILO has been loaded. LILO either isn’t installed or the partition on which
its boot sector is located isn’t active.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">L </span><span
class="cmti-10x-x-109">error</span> <span
class="cmmi-10x-x-109">…</span> </dt><dd
class="description">The first stage boot loader has been loaded and started, but it can’t load the second
stage boot loader. The two-digit error codes indicate the type of problem. (See also section
<a
href="#x1-800006.2.2">6.2.2<!--tex4ht:ref: bioserr --></a>.) This condition usually indicates a media failure or a geometry mismatch (e.g. bad disk
parameters, see section <a
href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>).
</dd><dt class="description">
<span
class="cmtt-10x-x-109">LI</span> </dt><dd
class="description">The first stage boot loader was able to load the second stage boot loader, but has failed to execute
it. This can either be caused by a geometry mismatch or by moving <span
class="cmtt-10x-x-109">/boot/boot.b </span>without
running the map installer.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">LIL</span> </dt><dd
class="description">The second stage boot loader has been started, but it can’t load the descriptor table from the
map file. This is typically caused by a media failure or by a geometry mismatch.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">LIL?</span> </dt><dd
class="description">The second stage boot loader has been loaded at an incorrect address. This is typically caused
by a subtle geometry mismatch or by moving <span
class="cmtt-10x-x-109">/boot/boot.b </span>without running the map installer.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">LIL-</span> </dt><dd
class="description">The descriptor table is corrupt. This can either be caused by a geometry mismatch or by
moving <span
class="cmtt-10x-x-109">/boot/map </span>without running the map installer.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">LILO</span> </dt><dd
class="description">All parts of LILO have been successfully loaded.</dd></dl>
<!--l. 3185--><p class="noindent" >
</p>
<h5 class="subsubsectionHead"><span class="titlemark">6.2.2 </span> <a
id="x1-800006.2.2"></a>Disk error codes</h5>
<!--l. 3188--><p class="noindent" >If the BIOS signals an error when LILO is trying to load a boot image, the respective error code is
displayed. The following BIOS error codes are known:
</p><!--l. 3192--><p class="noindent" >
</p><dl class="description"><dt class="description">
<span
class="cmtt-10x-x-109">0x00</span> </dt><dd
class="description">“Internal error”. This code is generated by the sector read routine of the LILO boot loader
whenever an internal inconsistency is detected. This might be caused by corrupt files. Try
re-building the map file. Another possible cause for this error are attempts to access cylinders
beyond 1024 while using the <span
class="cmtt-10x-x-109">linear </span>option. See section <a
href="#x1-160002.3.1">2.3.1<!--tex4ht:ref: broken --></a> for more details and for how to
solve the problem.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x01</span> </dt><dd
class="description">“Illegal command”. This shouldn’t happen, but if it does, it may indicate an attempt to access
a disk which is not supported by the BIOS. See also “Warning: BIOS drive 0x<span
class="cmti-10x-x-109">number </span>may not
be accessible” in section <a
href="#x1-770006.1.2">6.1.2<!--tex4ht:ref: warnings --></a>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x02</span> </dt><dd
class="description">“Address mark not found”. This usually indicates a media problem. Try again several times.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x03</span> </dt><dd
class="description">“Write-protected disk”. This should only occur on write operations.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x04</span> </dt><dd
class="description">“Sector not found”. This typically indicates a geometry mismatch. If you’re booting a
raw-written disk image, verify whether it was created for disks with the same geometry as the
one you’re using. If you’re booting from a SCSI disk or a large IDE disk, you should check,
whether LILO has obtained correct geometry data from the kernel or whether the geometry
definition corresponds to the real disk geometry. (See section <a
href="#x1-500004.4">4.4<!--tex4ht:ref: diskgeo --></a>.) Removing <span
class="cmtt-10x-x-109">compact </span>may help
too. So may adding <span
class="cmtt-10x-x-109">lba32 </span>or <span
class="cmtt-10x-x-109">linear</span>.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x06</span> </dt><dd
class="description">“Change line active”. This should be a transient error. Try booting a second time.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x07</span> </dt><dd
class="description">“Invalid initialization”. The BIOS failed to properly initialize the disk controller. You should
control the BIOS setup parameters. A warm boot might help too.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x08</span> </dt><dd
class="description">“DMA overrun”. This shouldn’t happen. Try booting again.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x09</span> </dt><dd
class="description">“DMA attempt across 64k boundary”. This shouldn’t happen, but may inicate a disk geometry
mis-match. Try omitting the <span
class="cmtt-10x-x-109">compact </span>option. You may need to specify the disk geometry
yourself.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x0C</span> </dt><dd
class="description">“Invalid media”. This shouldn’t happen and might be caused by a media error. Try booting
again.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x10</span> </dt><dd
class="description">“CRC error”. A media error has been detected. Try booting several times, running the map
installer a second time (to put the map file at some other physical location or to write “good
data” over the bad spot), mapping out the bad sectors/tracks and, if all else fails, replacing
the media.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x11</span> </dt><dd
class="description">“ECC correction successful”. A read error occurred, but was corrected. LILO does not
recognize this condition and aborts the load process anyway. A second load attempt should
succeed.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x20</span> </dt><dd
class="description">“Controller error”. This shouldn’t happen.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x40</span> </dt><dd
class="description">“Seek failure”. This might be a media problem. Try booting again.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0x80</span> </dt><dd
class="description">“Disk timeout”. The disk or the drive isn’t ready. Either the media is bad or the disk isn’t
spinning. If you’re booting from a floppy, you might not have closed the drive door. Otherwise,
trying to boot again might help.
</dd><dt class="description">
<span
class="cmtt-10x-x-109">0xBB</span> </dt><dd
class="description">“BIOS error”. This shouldn’t happen. Try booting again. If the problem persists, removing the
<span
class="cmtt-10x-x-109">compact </span>option or adding/removing <span
class="cmtt-10x-x-109">linear </span>or <span
class="cmtt-10x-x-109">lba32 </span>might help.</dd></dl>
<!--l. 3252--><p class="noindent" >If the error occurred during a write operation, the error code (two hex digits) is prefixed with a “W”.
Although write errors don’t affect the boot process, they might indicate a severe problem, because
they usually imply that LILO has tried to write to an invalid location. If spurious write errors
occur on a system, it might be a good idea to configure LILO to run read-only (see section
<a
href="#x1-660005.1.5">5.1.5<!--tex4ht:ref: cfgmf --></a>).
</p><!--l. 3259--><p class="noindent" >Generally, invalid geometry and attempts to use more than two disks without a very modern BIOS may
yield misleading error codes. Please check carefully if <span
class="cmtt-10x-x-109">/sbin/lilo </span>doesn’t emit any warnings. Then try
using the <span
class="cmtt-10x-x-109">linear </span>or <span
class="cmtt-10x-x-109">lba32 </span>option (see section <a
href="#x1-430004.2.2">4.2.2<!--tex4ht:ref: cfgglo --></a>).
</p><!--l. 3265--><p class="noindent" >
</p>
<h4 class="subsectionHead"><span class="titlemark">6.3 </span> <a
id="x1-810006.3"></a>Other problems</h4>
<!--l. 3268--><p class="noindent" >This section contains a collection of less common problems that have been observed. See also section <a
href="#x1-730005.4">5.4<!--tex4ht:ref: instoth --></a> for
general remarks on using LILO with other operating systems. Some of the problems are obscure and so are
the work-arounds.
</p>
<ul class="itemize1">
<li class="itemize">If LILO doesn’t go away even if you erase its files, format your Linux partition, etc., you’ve
probably installed LILO as your MBR and you’ve forgotten to deinstall it before deleting its
files. See section <a
href="#x1-720005.3">5.3<!--tex4ht:ref: deinst --></a> for what you can do now.
</li>
<li class="itemize">For yet unknown reasons, LILO may fail on some systems with AMI BIOS if the “Hard Disk
Type 47 RAM area” is set to “0:300” instead of “DOS 1K”.
</li>
<li class="itemize">Some disk controller BIOSes perform disk geometry/address translations that are incompatible
with the way the device’s geometry is seen from Linux, i.e. without going through the BIOS.
Particularly, large IDE disks and some PCI SCSI controllers appear to have this problem. In
such cases, either the translated geometry has to be specified in a <span
class="cmtt-10x-x-109">disk </span>section or the sector
address translation can be deferred by using the <span
class="cmtt-10x-x-109">linear </span>option. In a setup where floppies are
not normally used for booting, the <span
class="cmtt-10x-x-109">linear </span>approach should be preferred, because this avoids
the risk of specifying incorrect numbers.
</li>
<li class="itemize">OS/2 is said to be bootable from a logical partition with LILO acting as the primary boot
selector if LILO is installed on the MBR, the OS/2 BootManager is on an active primary
partition and LILO boots BootManager. Putting LILO on an extended partition instead is
said to crash the OS/2 FDISK in this scenario.
<!--l. 3298--><p class="noindent" >Note that booting LILO from BootManager (so BootManager is the primary selector) or
booting OS/2 directly from a primary partition (without BootManager) should generally work.
See also section <a
href="#x1-730005.4">5.4<!--tex4ht:ref: instoth --></a>.
</p></li>
<li class="itemize">Windows NT is reported to be bootable with LILO when LILO acts as the MBR and the
Windows NT boot loader is on the DOS partition. However, NT’s disk manager complains
about LILO’s MBR when trying to edit the partition table.
</li>
<li class="itemize">Some PC UNIX systems (SCO and Unixware have been reported to exhibit this problem)
depend on their partition being active. See section <a
href="#x1-530004.5">4.5<!--tex4ht:ref: ptman --></a> for how this can be accomplished.
</li>
<li class="itemize">Future Domain TMC-1680 adapters with the BIOS versions 3.4 and 3.5 assign BIOS device
numbers in the wrong order, e.g. on a two-disk system, <span
class="cmtt-10x-x-109">/dev/sda </span>becomes <span
class="cmtt-10x-x-109">0x81 </span>and <span
class="cmtt-10x-x-109">/dev/sdb</span>
becomes <span
class="cmtt-10x-x-109">0x80</span>. This can be fixed with the following <span
class="cmtt-10x-x-109">disk </span>section:<br
class="newline" /><span class="obeylines-h"><span class="verb"><span
class="cmtt-10x-x-109">disk=/dev/sda</span><span
class="cmtt-10x-x-109"> bios=0x81</span><span
class="cmtt-10x-x-109"> disk=/dev/sdb</span><span
class="cmtt-10x-x-109"> bios=0x80</span></span></span><br
class="newline" />Note that this is only valid for a two-disk system. In three-disk systems, <span
class="cmtt-10x-x-109">/dev/sdc </span>would
become <span
class="cmtt-10x-x-109">0x80</span>, etc. Also, single-disk systems don’t have this problem (and the “fix” would break
them).
</li>
<li class="itemize">Some BIOSes don’t properly recognize disks with an unusual partition table (e.g. without any
partition marked active) and refuse to boot from them. This can also affect the second hard
disk and the problem may only occur if the system is booted in a particular way (e.g. only after
a cold boot).
</li>
<li class="itemize">On some systems, using <span
class="cmtt-10x-x-109">linear </span>and <span
class="cmtt-10x-x-109">compact </span>or <span
class="cmtt-10x-x-109">lba32 </span>and <span
class="cmtt-10x-x-109">compact </span>together leads to a boot
failure. The exact circumstances under which this happens are still unknown.
</li>
<li class="itemize">If the kernel crashes after booting on a multi-processor system, LILO may have overwritten
data structures set up by the BIOS. Try the option <span
class="cmtt-10x-x-109">LARGE</span><span
class="cmtt-10x-x-109">_EBDA </span>in this case.</li></ul>
<div class="center"
>
<!--l. 3334--><p class="noindent" >
</p><!--l. 3335--><p class="noindent" ><span
class="cmti-10x-x-109">Last updated by John R. Coffman on July 17, 2000</span><br />
<span
class="cmti-10x-x-109">reconstructed by Joachim Wiedorn on January 29, 2011</span></p></div>
</body></html>
|