{{TODO}} {{Оновити}}

НАЗВА

lilo.conf - файл настройки lilo

ОПИС

Цей файл, звично /etc/lilo.conf , читає встановник завантажника (boot loader) 'lilo' (дивіться lilo(8) ).

Файл може виглядати так:

#lilo.conf # # ґлобальні опції: boot=/dev/hda prompt timeout=150 lba32 compact vga=normal root=/dev/hda1 read-only menu-title=" Комп'ютер Василя " # # образи ядра для вантаження: image=/boot/zImage-1.5.99 label=try image=/boot/zImage-1.0.9 label=1.0.9 image=/tamu/vmlinuz label=tamu root=/dev/hdb2 vga=ask # # інші операційні системи: other=/dev/hda3 label=dos other=/dev/hdb5 label=os2 loader=/boot/os2_d.b table=E:

Цей файл настройки задає, що lilo вживає Головний Запис Вантаження (MBR) на /dev/hda. (Для обговорення різних шляхів вжитку lilo, і взаємодії з іншими операційними системами, дивіться user.tex з документації lilo.)

При вантаженні, завантажник видає запрошення boot: і чекає поки ви наберете мітку ядра (і будь-які опції), яке ви хочете завантажити. В будь-який момент натисніть [Tab] для списку міток ядер та інших систем. Або, якщо встановлено завантажник boot-menu.b, ви отримаєте меню для вибору варіантів вантаження. Заголовок цього меню перевизначається в цьому файлі настройки. Якщо ви нічого не введете, звичний образ ядра, перший вказаний, (/boot/zImage-1.5.99) завантажиться після затримки у 15 секунд (150 децисекунд). В lilo.conf можна вказати до 16 образів.

Як ви вже бачили, файл настройки починається з ґлобальний опцій (верхні 9 рядків прикладу), далі йдуть описи різних образів. Опція в описі образу скасовує ґлобальну опцію.

Рядки коментарів починаються символом "#", їх можна писати будь-де.

ҐЛОБАЛЬНІ ОПЦІЇ

Є кілька допустимих ключових слів. Опис нижче майже дослівно з user.tex (лише трохи скорочений).

**backup=** _<файл-резерву>_ Копіювати початковий завантажник до _файлу-резерву_ (що може бути й пристроєм, наприклад _/dev/null_ ), а не до _/boot/boot.NNNN_ .
**boot=** _<пристрій-вантаження>_ Задає назву пристрою (наприклад розділ жорсткого диску) що містить завантажник. Якщо ключове слово опущене, завантажник читається з (і, можливо, пишеться на) пристрій нині змонтований коренем.
**change-rules** Визначає зміни номерів розділів при завантаженні ('ховання'). change-rules reset type=DOS12 normal=1 hidden=0x11 type=DOS16_small normal=4 hidden=0x14 type=DOS16_big normal=0x06 hidden=0x16 Цей витяг з файлу настройки вказує, що всі звичні _правила-зміни (change-rules)_ видаляються ("reset"), і задає правила зміни для трьох типів розділів. Без _reset_, ці три типи додалися б до існуючих звичних правил зміни. Переважно, звичних правил досить. Рядки, що задають типи розділів вжиті в секції _change_ (див. далі), мають суфікси "_normal" або "_hidden". Дивіться частину "Partition type change rules" у user.tex для подробиць.
**compact** Вказує спробувати об'єднати запити читання суміжних секторів у один запит. Це значно покращує час завантаження і зменшує мапу. Особливо варто вживати 'compact' при завантаженні з дискети.
**default=** _<назва>_ Зробити вказаний образ образом для звичного вантаження. Якщо 'default' опущено, використовується перший образ у файлі настройки.
**delay=** _<дсек>_ Вказує яку кількість десятих частин секунди завантажник буде чекати перед вантаженням звичного образу. Це важливо на системах, що одразу вантажаться з жорсткого диску. Завантажник не чекає, якщо 'delay' опущено чи виставлено нулем, але на його поведінку може впливати задання опцій _prompt_ і _timeout_.
**disk=** _<назва-пристрою>_ Задає нетипові параметри для вказаного диска. Дивіться частину "Disk geometry" в user.tex для подробиць. Особливо корисний параметр 'bios='. BIOS нумерує ваші диски 0x80, 0x81 тощо, і неможливо визначити який диск Linux відповідає якому диску BIOS (оскільки це залежить від типу та настройки BIOS), тому, якщо у вас незвична настройка, ви маєте задати відповідність між дисками Linux та дисками BIOS. Наприклад, disk=/dev/sda bios=0x80 disk=/dev/hda bios=0x81 вказує, що ваш диск SCSI є першим диском BIOS, а ваш (перший головний - primary master) диск IDE є другим диском BIOS.
**disktab=** __ Задає таблицю параметрів диску. При опущенні використовується _/etc/disktab_ . Користати цю опцію не радиться.
**fix-table** Дозволяє lilo виставляти 3 В(имірні) адреси в таблицях розділів. Кожний запис розділу містить 3В (сектор/голівка/циліндр) та лінійну адреси першого та останнього сектору розділу. Якщо розділ не вирівняний на границю доріжки і якщо деякі інші операційні системи (наприклад PC/MS-DOS чи OS/2) вживають цей диск, вони можуть змінити 3В адресу. lilo може зберігати свій сектор завантаження лише на розділах з відповідністю між обома адресами. lilo виправляє невірні початкові 3В адреси якщо виставлено 'fix-table'. ПОПЕРЕДЖЕННЯ: Це не гарантує, що інша операційна система не пробуватиме знову встановити адресу. Теж, ймовірно, це виправлення може мати іншу, неочікувану, побічну дію. Вірне поладження - перерозділити диск програмою, що вирівнює розділи відносно доріжок. Також, з певними дисками (наприклад, деякими великим дисками EIDE з включеним перетворенням адреси), за певних умов, неминуче мати суперечливі записи таблиці розділів.
**force-backup=** _<файл-резерву>_ Як 'backup', але перезаписати існуючий старий файл резерву.
**ignore-table** Каже lilo іґнорувати хибні таблиці розділів.
**install=** _<завантажник>_ Встановити вказаний файл новим завантажником. Починаючи з версії 21.5, є два завантажника: _boot-text.b_ та _boot-menu.b_, і _boot.b_ є символьним посиланням до останнього. Обидва завантажника однаково дозволяють опції командного рядка ядра. Обидва мають повну підтримку послідовного порту (serial line) (див. **serial=** далі), хоча можливість меню не доступна на послідовному терміналі. Попередній наявний для строгої сумісності з попередніми версіями LILO. При опущенні 'install', _/boot/boot.b_ вибирається за замовчанням.
**lba32** Створювати 32-бітні Логічні Адреси Блоку (LBA) замість адрес сектор/голівка/циліндр. Якщо BIOS підтримує пакетне адресування, пакетні виклики можуть бути використані для доступу до диску. Це дозволяє завантаження з будь-якого розділу диску, що має більш ніж 1024 циліндри. Якщо BIOS не підтримує пакетне адресування, адреси 'lba32' перетворюються в C:H:S, як і лінійні ('linear'). Всі посилання на дискету залишаються в формі C:H:S. Радиться вживати 'lba32' на всіх системах після 1998.
**linear** Створювати лінійні адреси секторів замість адрес сектор/голівка/циліндр. Лінійні адреси перетворюються під час запуску і не залежать від геометрії диску. Вживаючи 'linear' на великих дисках, _/sbin/lilo_ може створити посилання до недоступних зон диску, оскільки 3В адреси сектора не відомі до завантаження. 'lba32' уникає багатьох таких пасток вживаючи пакетне адресування, але потребує сучасний BIOS.
**lock** Вмикає автоматичий запис командних рядків завантаження як звичних для наступних завантажень. Таким чином, lilo "замикає" вибір поки він не буде перевизначений руками.
**map=** _<файл-мапи>_ Вказує положення файлу мапи. Якщо 'map' опущено, вживається _/boot/map_.
**menu-title=** _<рядок-заголовку>_ Вказує рядок заголовку (до 37 символів) для меню завантаження. Цей заголовок замінює звичний рядок заголовку "LILO Boot Menu" . Якщо _boot-menu.b_ не встановлений завантажником (Див. опцію _install=_) , цей рядок не має дії.
**menu-scheme=** _<кольоровий-мотив>_ Звичний кольоровий мотив меню завантаження може бути перевизначений на VGA дисплеях цією опцією. (Кольоровий мотив MDA дисплеїв сталий.) Загалом, рядок _кольоровий-мотив_ має таку форму: <текст>:<підсвітка>:<рамка>:<заголовок> де кожна складова є двома символами що визначають колір тексту і тла. Лише перша складова обов'язкова. Звично підсвітка зворотня до кольору тексту; колір тексту є звичним кольором для рамки та заголовку. Кольори визначаються літерами **kbgcrmyw**, **K** - чорний, **B** - синій, **G** - зелений, **C** - голубий, **R** - червоний, **M** пурпурний, **Y** - жовтий та **W** - білий: великими для яскравого (лише текст), малими для тьмяного. Приклади кольорових мотивів menu-scheme=Wm яскравий білий на пурпурному menu-scheme=wr:bw:wr:Yr звичний мотив LILO menu-scheme=Yk:kw яскраво-жовтий на чорному Якщо _boot-menu.b_ не встановлений завантажником , цей рядок не має дії.
**message=** _<файл-повідомлення>_ Задає файл з повідомленням, що відображається перед запрошенням завантаження. Повідомлення не виводиться, при очікуванні натиску shift після виводу "LILO ". У повідомленні, символ FF ([Ctrl L]) очищує локальний екран. Це небажано, коли встановлено завантажник _boot-menu.b_ . Довжина повідомлення обмежена 65535 байтами. Необхідно оновити файл мапи, якщо файл повідомлення змінено чи перенесено.
**nowarn** Вимикає попередження про можливі майбутні небезпеки.
**optional** Опція для образу 'optional' (див. далі) застосована до всіх образів.
**password=** __ Опція для образу 'password=...' (див. далі) застосована до всіх образів.
**prompt** Завантажник видасть запрошення _boot:_ і чекатиме дій користувача (див. _timeout_ далі). перевантаження без втручання неможливі при виставленому 'prompt' і не виставленому 'timeout'.
**restricted** Опція для образу 'restricted' (див. далі) застосована до всіх образів.
**serial=** _<параметри>_ Дозволяє керування через послідовний порт. Заданий послідовний порт ініціалізується і завантажник приймає ввід з нього та з клавіатури ПК. Посилання розриву (break) послідовним портом відповідає натисненню клавіші shift в консолі для отримання уваги завантажника. Всі образи завантаження повинні бути захищені паролем якщо доступ послідовним портом небезпечніший за консоль, наприклад, якщо порт з'эднаний з модемом. Рядок параметра має наступний синтакс: <порт>[,[<парність>[<біти>]]] <порт>: номер послідовного порту, починаючи з нуля. 0 відповідає псевдоніму COM1 - /dev/ttyS0, тощо. Можна вживати всі 4 порти (при наявності). : швидкість в бодах послідовного порту. Підтримуються наступні : 110, 150, 300, 600, 1200, 2400(звична), 4800, 9600, та додаткові 19200, 38400 і 57600(56000). 115200 дозволено, але може не працювати з кожним залізом COM портів. <парність>: Парність вживана для послідовного порту. Завантажник іґнорує парність вводу і відкидає 8-ий біт. Наступні (великі чи малі) літери описують парність: "n" без парності, "e" перевірка на парність і "o" перевірка на непарність. <біти>: Кількість бітів у символі. Підтримується лише 7 та 8. Звично 8 , якщо немає парності, 7, якщо перевіряється парність чи непарність. Якщо задано 'serial', значення 'delay' автоматично збільшується до 20. Приклад: "serial=0,2400n8" ініціалізує COM1 звичними параметрами.
**timeout=** _<дсек>_ встановлює затримку (в десятих частинах секунди) очікування вводу у запрошенні _boot:_. "timeout" має смисл лише при вказаному "prompt". Якщо за вказаний час не натиснута клавіша, завантажується звичний образ. Також, ввід паролю обривається, якщо користувач не діє задовго. Звична затримка необмежена.
**verbose=** _<число>_ Вмикає багато повідомлень. Більші числа дають докладніший вивід. Якщо -v додатково вказаний в командному рядку lilo, рівень збільшується відповідно. Максимальний рівень докладності 5.

Також можна вказати такі параметри настойки ядра : append , ramdisk , read-only , read-write , root і vga у секції ґлобальних опцій. Вони вживаються як звичні, якщо не вказані у секціях настройки відповідних образів ядра.

СЕКЦІЇ ДЛЯ КОЖНОГО ОБРАЗУ

Секція образу починається рядком

    image=<назва_шляху>

що вказує файл чи пристрій, що містить образ завантаження ядра Linux, або рядком

    other=<пристрій>

що вказує завантаження довільної системи.

В першому випадку, якщо рядок image вказує завантаження з пристою, необхідно вказати проміжок секторів для відображення за допомогою

    range=<початок>-<кінець>
    range=<початок>+<кількість_секторів>
    range=<сектор>

в третьому випадку, кількість секторів покладається одиниці.

ІНША СИСТЕМА

У випадку завантаження іншої системи є такі опції:

**loader=** _<ланцюговий-завантажник>_ Вказує, який вжити ланцюговий завантажник (chain loader). Звично вживається _/boot/chain.b_ . Цей ланцюговий завантажник не передає дані про розділ сектору завантаження. Інший ланцюговий завантажник, _/boot/os2_d.b_ передає дані про диск та розділ у форматі придатному для OS/2 та DOS (див. _table=_ далі).
**table=** _<пристрій>_ Вказує пристрій, що містить таблицю розділів. Завантажник передасть звичні дані про розділ завантаженій операційній системі, якщо ця змінна опущена. (Деякі операційні системи не мають інших засобів взнати з якого розділу вони завантажені. Наприклад, MS-DOS звичайно зберігає геометрію диску чи розділу завантаження в своєму секторі завантаження.) Зауважте, що /sbin/lilo треба знов запустити якщо таблиця розділів на яку посилається 'table' змінена.
**table=** _<буква-диску>_ Особливий випадок для ланцюгового завантажника _os2_d.b_. Визначає літеру диску DOS для розділу, що буде завантажений. Це _обов'язково_ при завантаженні OS/2, встановленої на розширеному розділі. Букву диску можна вказати як з кінцевою двокрапкою, так і без неї.
**change** Це ключове слово починає секцію, що описує, як змінюються ідентифікатори основних розділів, та як основні розділи активуються і деактивуються. Якщо **change** опущено, правила зміни створюються, як при вказаному ключовому слові _automatic_. Наприклад, other=/dev/hda2 label=dos table=/dev/hda change automatic partition=/dev/hda1 set=DOS12_hidden deactivate partition=/dev/hda2 set=DOS16_big_normal activate вказує, що при завантаженні /dev/hda2, будуть задіяні автоматичні правила зміни; додатково, розділ 1, розділ DOS12, буде схований та деактивований. Також, розділ 2, буде зроблено нормальним та активовано. Активація ставить прапорець завантаження в таблиці розділів. Ключове слово _automatic_ може конфліктувати зі звичними правилами зміни, тож рядки _set=_ вище можуть бути зайвими.
**map-drive=** _<номер>_ Відображає виклики BIOS для вказаного диску до номера диску вказаного в наступному рядку **to=**<номер>. Це відображення вживане для завантаження операційних систем, таких як DOS, з другого жорсткого диску. Наступне обмінює диски C: і D:, map-drive=0x80 to=0x81 map-drive=0x81 to=0x80
**unsafe** Не звертатись до сектора завантаження при створенні мапи. Це вимикає деякі перевірки правильності, включно з перевіркою таблиці розділів. Якщо сектор завантаження на пристрої гнучких дисків фіксованого формату, UNSAFE дозволяє уникнути потреби класти диск, що читається, до пристрою при встановленні мапи. 'unsafe' і 'table' взаємовиключні.

СПІЛЬНІ ОПЦІЇ (image= & other=)

В обох випадках, image= та other=, діють наступні опції.

**label=** _<назва>_ Завантажувач використовує назву файлу (без шляху) кожного опису образу для визначення цього образу. Можна задати іншу назву встановивши змінну 'label'.
**alias=** _<назва>_ Друга назва (псевдонім) для того ж елементу задається 'alias'.
**lock** (Див. вище)
**optional** Пропустити образ, якщо він не доступний при створенні мапи. Корисно для пробних ядер, що не завжди можуть бути присутні.
**password=** _<пароль>_ Захистити образ паролем.
**restricted** Для образу потрібний пароль тільки коли в командному рядку вказані параметри (наприклад 'single').

ОПЦІЇ ЯДРА (image=)

Якщо образ завантаження - ядро Linux, можна передати йому параметри в командному рядку.

**append=** _<рядок>_ Додає вказані опції до рядку параметрів, що передається ядру. Це звично вживається для вказування параметрів заліза, що не може бути повністю самовизначене, або визначення якого може бути небезпечним. Приклад: append="hd=576,64,32"
**initrd=** _<назва>_ Вказує образ початкового диску в оперативній пам'яті (ramdisk) для завантаження з ядром. Образ міститиме модулі, потрібні під час завантаження, такі як драйвери сітки та scsi. Дивіться сторінку допомоги для _mkinitrd(8)_.
**literal=** _<рядок>_ Як 'append', але видаляє всі інші опції (наприклад установку кореневого пристрою). Оскільки 'literal' може ненароком видалити важливі опції, її не можна вказувати в секції ґлобальних опцій.
**ramdisk=** _<розмір>_ Вказує розмір (наприклад, "4096k") необов'язкового RAM диску. Значення 0 вказує, що RAM диск не треба створювати. Якщо ця змінна опущена, розмір RAM диску настроюється за образом завантаження.
**read-only** Вказує під'єднувати кореневу файлову систему лише для читання. Звично, процедура завантаження системи потім перепід'єднує кореневу файлову систему для читання/запису (наприклад, після fsck).
**read-write** Вказує під'єднувати кореневу файлову систему для читання/запису.
**root=** _<кореневий-пристрій>_ Вказує пристрій для під'єднання кореневим. Якщо вказана спеціальна назва **current**, то кореневий пристрій встановлюється той, що в цей момент під'єднаний кореневим. Якщо корінь був змінений за допомогою -r , вживається відповідний пристрій. Якщо змінна 'root' опущена, використовується настройка кореневого пристрою, що міститься в образі ядра. (І встановлюється під час компіляції змінною ROOT_DEV у Makefile ядра, і може бути змінена потім програмою ?**rdev**(8) ).
**vga=** _<режим>_ Вказує який текстовий режим VGA вибирати при завантаженні. Розпізнаються наступні значення (реґістр не має значення): **normal** : звичайний текстовий режим 80x25. **extended** (чи **ext** ): текстовий режим 80x50. **ask** : запитати користувача при завантаженні. <число>: Вибрати відповідний текстовий режим. Список наявних режимів можна отримати завантаживши з _vga=ask_ і натиснувши [Enter]. Якщо ця змінна опущена, використовується настройка VGA режиму, що міститься в образі ядра. (І встановлюється під час компіляції змінною SVGA_MODE у Makefile ядра, і може бути змінена потім програмою ?**rdev**(8) ).

ДИВИСЬ ТАКОЖ

lilo(8), ?mkinitrd(8), ?rdev(8).
lilo йде з дуже докладною документацією, малу частину якої ви прочитали вище (lilo-21.6.2)

Переклав Ілля Корнійко k_ilya@ukr.net